Integración del Driver USB para controlar los modem MTX en Linux Objetivos Integrar el driver USB necesario para controlar los modem MTX‐Terminals Iniciar una comunicación PPP. Requisitos Código fuente del kernel de Linux. Toolchain para cros‐compilación. Instalar aplicación pppd. Notas Adicionales En el guión se han utilizado como referencia los módulos VOIPAC iMX25 y TQMa28 y los módems MTX‐HSDPA‐EU3 y MTX‐HSPA‐PH8. Configuración del Kernel. Para añadir el soporte necesario para controlar los módem vía usb en el kernel se debe modificar el archivo .config (archivo de configuración del kernel) para añadir los siguientes parámetros: Añadir el driver usbeserial como módulo: CONFIG_USB_SERIAL=m CONFIG_USB_SERIAL_GENERIC=y Añadir la funcionalidad de load/unload de módulos: CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y Por otro lado necesitaremos añadir el soporte necesario para la comunicación PPP: Añadir el soporte para PPP en el kernel: CONFIG_PPP=y CONFIG_PPP_ASYNC=y Carga del módulo Para cargar el módulo necesitamos conocer los parámetros VENDOR y PRODUCT del módem. Una vez conectado el módem, podemos utilizar el comando “lsusb” para conocer esos valores: MTX‐HSDPA‐EU3 modprobe usbserial vendor=0x1e2d product=0x0051 MTX‐HSPA‐PH8+G modprobe usbserial vendor=0x1e2d product=0x0053 Utilización del módem Dependiendo del módem asociado se generarán una serie de nodos que nos permitirán acceder al mismo: MTX‐HSDPA‐EU3 Se generarán los siguientes nodos: /dev/ttyUSB0: interfaz auxiliar /dev/ttyUSB1: interfaz no disponible /dev/ttyUSB2: interfaz de modem MTX‐HSPA‐PH8 Se generarán los siguientes nodos /dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2 /dev/ttyUSB3: interfaz de modem /dev/ttyUSB4 Configuración PPP Necesitaremos configurar los siguientes ficheros para poder iniciar una conexión PPP: En el fichero /etc/ppp/options introduciremos los datos relativos al puerto/nodo en el que tengamos asociado la interfaz del módem (ver apartado Utilización del Módem): #nodetach #debug /dev/ttyUSB2 crtscts lock En los ficheros /etc/ppp/chap‐secrets y /etc/ppp/pap‐secrets introduciremos el usuario/password asociados a nuestro operador: MOVISTAR * MOVISTAR En el fichero /etc/ppp/peers/gsm introduciremos los parámetros relativos a la conexión: linkname ppp0 115200 defaultroute ipcp‐max‐failure 4 ipcp‐restart 10 usepeerdns noauth novj user MOVISTAR connect '/usr/sbin/chat ‐v ‐t 90 ‐f /etc/ppp/peers/gsm_chat' Por último, dentro del fichero /etc/ppp/peers/gsm_chat incluiremos los comandos AT necesarios para establecer la comunicación: SAY "GSM chat\n" ECHO OFF ABORT 'NO DIAL TONE' ABORT 'NO DIALTONE' ABORT 'NO ANSWER' ABORT 'NO CARRIER' ABORT 'DELAYED' ABORT 'VOICE' ABORT 'BUSY' '' 'AT' OK 'ATZ' OK 'AT+CSQ' OK 'AT+CGDCONT=1,"IP","movistar.es"' SAY "Dialing...\n" OK 'ATD*99***1#' SAY "Waiting for CONNECT...\n" TIMEOUT 120 CONNECT '' SAY "Connected\n" Para establecer la comunicación ejecutaremos el siguiente: pppd call gsm