miércoles, 30 de diciembre de 2009

PCTel Winmodem Debian Testing

Linux anaconda-server 2.6.30-2-686 #1 SMP Fri Dec 4 00:53:20 UTC 2009 i686 GNU/Linux

1.- Creamos un directorio temporal

mkdir tmp
cd tmp

2.- Descargamos el driver de http://linmodems.technion.ac.il/pctel-linux/pctel-0.9.7-9-rht-10.tar.gz
wget http://linmodems.technion.ac.il/pctel-linux/pctel-0.9.7-9-rht-10.tar.gz

3.- Descomprimimos

tar -xvzf pctel-0.9.7-9-rht-10.tar.gz
cd pctel-0.9.7-9-rht-10


tratamos de instalar logueandonos como root (o en su defecto con sudo si es que lo tenemos habilitado para el usuario)

sudo ./setup
checking for running kernel version...2.6.30
checking for ptserial...ptserial-2.6.c
checking for gcc...4.3.4
checking for kernel gcc version...4.3.4
searching for kernel includes...found at /lib/modules/2.6.30-2-686/build/include
checking for autoconf.h.../lib/modules/2.6.30-2-686/build/include/linux/autoconf.h
checking for asm/mach-default...** error <


Después de andar busque y busque por internet no encontré nada, así que me dí a la tarea de ver el directorio de los source y headers del kernel. Para mi sorpresa el mach-default no existe, así que procedí a modificar el archivo configure dentro del src

vim src/configure

Ubicamos la línea siguente (línea 424)
echo -n "checking for asm/mach-default..."
kernel_inc2=${kernel_inc}
if [ ! -d ${kernel_inc}/asm/mach-default ]
then
# SuSE 9.3 doesn't have 'asm' under the build directory, so revert to
# /usr/src/linux
if [ -d /usr/src/linux/include/asm/mach-default ]
then
kernel_inc2=/usr/src/linux/include
else
echo "** error"
echo include/asm/mach-default directory could not be found
echo you probably need to configure your kernel, please read the FAQ
echo about no include/asm/mach-default directory.
exit 1
fi
fi
echo "yes"
extra_includes=-I${kernel_inc2}/asm/mach-default



y las modificamos para que quede


echo -n "checking for asm..."
kernel_inc2=${kernel_inc}
if [ ! -d ${kernel_inc}/asm ]
then
# SuSE 9.3 doesn't have 'asm' under the build directory, so revert to
# /usr/src/linux
if [ -d /usr/src/linux/include/asm/mach-default ]
then
kernel_inc2=/usr/src/linux/include
else
echo "** error"
echo include/asm directory could not be found
echo you probably need to configure your kernel, please read the FAQ
echo about no include/asm/mach-default directory.
exit 1
fi
fi
echo "yes"
extra_includes=-I${kernel_inc2}/asm


Quitamos todo lo referente a /mach-default (líneas 424,426 y 442)


~/tmp/pctel-0.9.7-9-rht-10$ sudo ./setup
checking for running kernel version...2.6.30
checking for ptserial...ptserial-2.6.c
checking for gcc...4.3.4
checking for kernel gcc version...4.3.4
searching for kernel includes...found at /lib/modules/2.6.30-2-686/build/include
checking for autoconf.h.../lib/modules/2.6.30-2-686/build/include/linux/autoconf.h
checking for asm/mach-default...yes
checking for kernel version in utsrelease.h...UTS_RELEASE is 2.6.30-2-686
checking type of tty_struct.count...int
checking for presence of udev...present (kernel version 2.6.13 or later)
detecting your modem...found. Your modem is a cm8738 type modem.

compilation done

installation done

modem activated

~/tmp/pctel-0.9.7-9-rht-10$ ls -l /dev/modem
lrwxrwxrwx 1 root root 11 dic 30 21:49 /dev/modem -> ttyS_PCTEL0

Por lo que se ve ya esta funcionando, para probarlo

sudo minicom -s

con las flechas nos movemos hasta configuración de la puerta serial y le damos enter

Presionamos A para modificar la ruta del dispositivo colocando /dev/modem

Le damos un segundo enter para regresar al menu anterior y con la flechas buscamos Salir y le damos enter, despues de esto vamos a ver que el minicom consulta al modem.

Welcome to minicom 2.4-rc1

OPCIONES: I18n
Compilado en Nov 23 2009, 17:11:14.
Port /dev/modem

Presione CTRL-A Z para obtener ayuda sobre teclas especiales

AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0
OK


Si aparece algo como lo de arriba, quiere decir que si esta trabajando el modem.