Semanas atrás recibí unos de estos modems. El objetivo es utilizarlo para una conexión de emergencia, en caso de caída de la conexión principal cableada; tengo que levantar la conexión mediante un script. ANTEL entrega estos módems como oferta de conexión inalámbrica. Probado en mi notebook la velocidad de conexión es buena, la conexión estable.
ANTEL informa que el módem esta soportado en Ubuntu. Fuera de esa mención, no hay más datos para hacerlo funcionar en Linux. Buscando información llegue al blog de Fernando da Rosa, donde cuenta en una entrada su experiencia y da instrucciones para utilizar el modem. La información del blog de Fernando es muy clara, pero en mi caso necesito establecer la conexión desde un script sin intervención de un usuario/operador, seguí buscando información. Otra entrada en el blog Marvin Rebooted me dio una idea. El soporte técnico del fabricante me envió un PDF, con indicaciones similares a lo publicado en los blogs antemencionados. Con un script armado, que no funcionaba bien, hice una pregunta en la lista UYLUG-Linux.
Modem BnadLuxe (foto del sitio del fabricante) |
Por correo, Fernando da Rosa me sugirió ver otra pagina, cuyo autor seria también Uruguayo. Esta menciona a USB-Modeswitch, a lo que podría dedicarle un entrada entera del blog. Uno de los primeros escollos que enfrenté era no tener instalado este paquete, que resolví conversando con Enrique Verdes. Sin él, el módem es reconocido como un disco USB o pendrive. Esta ultima pagina hace un estudio bastante exhaustivo del módem, presentando varias alternativas para utilizarlo. Después de varias pruebas, y una tarde de dedicación casi exclusiva al problema, tengo un script que establece la conexión.
Configuración Inicial
Para trabajar con más comodidad, decidí sacarle el PIN a la SIM del MÓDEM. Hecho esto, con las instrucciones de Fernando da Rosa seleccioné la conexion de ANTEL. Hecho esto, el modem se puede utilizar con el script que publico a continuación.El Script
#!/bin/sh# Start Internet connection with BandLuxe C505 LTE modem
# (c) 2014 Andres Tarallo (atarallo
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, version 3 of the License.
# Path might be customized to your particular installation
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
if [ "$(id -u)" != "0" ]; then
echo "This script must be run as root" 1>&2
exit 1
fi
if [ "$( dmesg|grep 'Manufacturer: BandRich, Inc.' |wc -l)" = "0" ]; then
echo "No modem availiable"
exit 1
else
# Modem detected, lets get it's parameters and info
for i in $(dmesg |grep 'GSM modem (1-port) converter now attached'|tail -1); do SERIAL_PORT=${i}; done
ETHERNET_PORT=$(dmesg |grep 'cdc_ether'|grep ': register '|awk '{print $5}'|cut -f1 -d':'|tail -1)
echo "Modem detected"
if [ -c "/dev/${SERIAL_PORT}" ]; then
TTY="/dev/${SERIAL_PORT}"
else
echo "No terminal found, modem might be misconfigured"
echo "make sure you have usb-modeswitch installed"
exit 1
fi
if [ ! -n ${ETHERNET_PORT} ]; then
echo "Ethernet port not present or missconfigured"
exit 1
fi
fi
echo "\nConfiguring Modem (${TTY}) "
echo "at\$wancall=1" > ${TTY}
echo "\nConfiguring Network Card (${ETHERNET_PORT})"
dhclient -4 ${ETHERNET_PORT}
echo "Done !!!!!"
Pendientes (To do list)
El script publicado funciona correctamente, admite mejoras. Lo probé en mi notebook con OpenSuSE; basado en el mismo tengo en producción, en un PC con Ubuntu 12.04, una versión que agrega algunas rutas estáticas necesarias donde se utiliza el módem.
Algunos pendientes:
- Documentación: Un README y quizás manpage.
- Programación defensiva: Chequear que la conexión no esté activa, verificar que la conexión luego de establecida. Esto ultimo podría hacerse con pings a los DNS de Google o alguna otra IP publica que admita pings. En la misma linea, seria interesante chequear la configuración de DNS. Otros chequeos útiles (necesarios) es verificar que los comandos utilizados sean ejecutables por el script.
- Parametrización: El script tiene algunos valores cableados. Seria util tener un archivo de configuración.
- Empaquetarlo: Para facilitarle la vida a usuarios finales y administradores de sistemas. Seria útil contar con paquetes DEB y RPM, para las distribuciones más populares.
- Gestion de proyecto: Subir el script a algún repositorio que permita hacer versionado y llevar listas de bugs. Algo tipo Sourceforge o Savannah
yo estoy con problemas tambien , puedes pasarme el pdf que te enviaron? este escript se tranca en configurando eth1
ResponderEliminarEnvíame un correo privado, o escribí a la dirección de soporte de bandluxe, para mandarte el archivo.
EliminarAntes de utilizar el script, deberías conectarte manualmente, como esta explicado en el blog de Fernando da Rosa. Otro tema, este script funciona en ANTEL, no necesariamente en otras operadoras. He visto que estos modems pueden trabajar con conexiones PPPoE.
Hola, tengo la version de Ubuntu 14.04 y me pasa lo mismo q Erlin Pons en el blog de Fernando Darosa, no puedo dar el comando de at+cgdcont?.
ResponderEliminarDesde ya gracias.
No conozco el caso que mencionas. Lo primero que deberias hacer es fijarte con el comando dmesg si el modem es detectado por tu equipo.
EliminarUn problema que me encontré en ubuntu es que esta distribución no instala por defecto USB-modeswitch. En su momento me costó darme cuenta del problema. El script me corría bien en OpenSuSE, no lo podia hacer andar en Ubuntu.
Si queres mandame un correo por privado he intento ayudarte.
Llegué a esta pagina por google, ya que estoy tratando de configurar un modem Bandrich en un router tp-link 3220. Alguien como hacer para que reconozca el router al modem?
ResponderEliminardesde ya muchas gracias.
Hola. No tengo experiencia con el Router tp-link. Solo he utilizado el modem bandrich en PCs, con el script que viste aquí o manualmente.
EliminarHola: Alguien ha probado en Ubuntu 16.04 LTS?
ResponderEliminarActualmente no utilizo el script, ni siquiera tengo un modem Bandluxe. Si lo probas en Ubuntu, por favor comparti tu experiencia.
Eliminar