..:: JoNiuX ::..

Ubuntu y la Huawei 226 – Ubuntu 3G

escrito por el 3-agosto-2008, en Internet, Linux, Programación

huawei-e2261.jpgContinuando con la historia de como trabajar con Ubuntu y olvidarse de Vista, ahora como configurar rápidamente el modem Huawei 3G Huawei para navegar.

Por trabajo necesito que mi notebook utilice el modem Huawei 3G, obviamente dentro de los drivers que trae el mismo dispositivo no viene nada para Linux. Nuevamente San Google, luego de unos minutos encontré información de que Vodaphone en Europa entrega el software para Linux, y luego encontre otro artículo que describía como conectar un Eeepc con la red 3G de Entel PCS. Lo mas entretenido (al menos para mí) era que la conexión se realiza desde una ventana de terminal y no mediante una aplicación.

El modem Huawei es eso, un modem, asi que responde a los comandos AT, y como la idea no es digitar cada comando a mano, para eso es el WvDial.

Para empezar, primero editar el archivo de configuración de WvDial, abrir una ventana de terminal y en ella digitar:

sudo gedit /etc/wvdial.conf

Con esto editamos el archivo de configuración como super usuario, el script que estoy utilizando para pruebas es el siguiente:

[Dialer Defaults]
Carrier Check = off
Init1 = ATZ
Init2 = ATQ V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init5 = ATZ+cgdcont=1,»IP»,»imovil.entelpcs.cl»
Password = entelpcs
Ask Password = 0
Check Def Route = 1
Phone = *99#
Idle Seconds = 0
Modem Type = Analog Modem
Stupid Mode = 1
Compuserve = 0
Baud = 460800
Auto DNS = off
Dial Command = ATDT
Modem = /dev/ttyUSB0
ISDN = 0
Username = entelpcs

[Dialer entelpcs]
Stupid Mode = on
Password = entelpcs
Auto Reconnect = off
Username = entelpcs
Phone = *99#

Esta configuración esta pensada para que el modem Huawei este conectado al puerto USB0 del computador (/dev/ttyUSB0). Con este script el WvDial es capaz de activar el modem e iniciar el llamado (como los primeros tiempos cuando entrar a internet significaba escuchar el sonido del modem).El modem intentará «atacharse» a la red 3G de Entel PCS, especificamente a la APN (Access Point Network) imovil.entelpcs.cl de acuerdo a como esta configurado en el script. luego de conseguir «carrier» (onda portadora) hace el llamado, si pasa por todas las validaciones (que son varias) conseguirá que se le asigne un IP y los servidores DNS necesarios para navegar.

Se debe ejecutar el WvDial como super usuario, por eso primero hacer un sudo -i y luego ejecutarlo indicando como parámetro las connfiguraciones específicas, en este caso entelpcs:

joniux@portatil:~$ sudo -i
[sudo] password for joniux:
root@portatil:~# wvdial entelpcs
–> WvDial: Internet dialer version 1.60
–> Cannot get information for serial port.
–> Initializing modem.
–> Sending: ATZ
ATZ
OK
–> Sending: ATQ V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
–> Sending: ATZ+cgdcont=1,»IP»,»imovil.entelpcs.cl»
ATZ+cgdcont=1,»IP»,»imovil.entelpcs.cl»
OK
–> Modem initialized.
–> Sending: ATDT*99#
–> Waiting for carrier.
ATDT*99#
CONNECT
–> Carrier detected.  Starting PPP immediately.
–> Starting pppd at Sun Aug  3 20:13:43 2008
–> Pid of pppd: 6274
–> Using interface ppp0
–> local  IP address 10.109.45.254
–> remote IP address 10.64.64.64
–> primary   DNS address 10.11.12.13
–> secondary DNS address 10.11.12.14

No se aun porque motivo, pero en la primera conexión siempre obtiene dos DNS que no corresponden a la configuración de Entel PCS, al parecer es un problema del modem, porque en los servidores veo que los DNS estan configurados correctamente.

Asi que simplemente Control+C y nuevamente «wvdial entelpcs», al ejecutar por segunda vez, obtiene el ip y los dns correctos.

Caught signal 2:  Attempting to exit gracefully…
–> Terminating on signal 15
–> Connect time 1.4 minutes.
–> Disconnecting at Sun Aug  3 20:15:15 2008
root@notebook:~# wvdial entelpcs
–> WvDial: Internet dialer version 1.60
–> Cannot get information for serial port.
–> Initializing modem.
–> Sending: ATZ
ATZ
OK
–> Sending: ATQ V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
–> Sending: ATZ+cgdcont=1,»IP»,»imovil.entelpcs.cl»
ATZ+cgdcont=1,»IP»,»imovil.entelpcs.cl»
OK
–> Modem initialized.
–> Sending: ATDT*99#
–> Waiting for carrier.
ATDT*99#
CONNECT
–> Carrier detected.  Starting PPP immediately.
–> Starting pppd at Sun Aug  3 20:15:17 2008
–> Pid of pppd: 6303
–> Using interface ppp0
–> local  IP address 10.109.73.46
–> remote IP address 10.64.64.64
–> primary   DNS address 164.77.252.249
–> secondary DNS address 164.77.252.215

Como es un script de prueba, esta ventana de terminal debe quedar abierta para continuar navegando.

Esta es la primera versión, por ahora me ha permitido navegar desde mi modem y seguir trabajando desde cualquier lado, donde tenga red 3G obviamente.  Con un poco mas de tiempo perfeccionaré el script, ya que hay que regular velocidades y corregir los servidores dns que quedan incorrectos la primera vez.

Actualización: Pueden encontrar un artículo mas actualizado en mi nuevo sitio web Internet de las Cosas

:, , , , , , ,

28 Comments for this entry

  • MrAnderson

    Mmmm porque usas /dev/ttyUSB0 en vez de /dev/sdb0. No soy muy linuxero pero me parece que ttyUSB0 es una nomenclatura antigua y las distribuciones mas nuevas usan sdb0…

    No estoy seguro que sea asi pero al menos mis pendrive montan en en dicha localizacion. Saludos.

  • joniux

    MrAnderson: uso /deb/ttyUSB0 simplemente porque cuando conecto el modem asi es reconocido por el Ubuntu, que lo asocia inmediatamente como un modem y no como un dispositivo tipo disco (que es el caso de un pendrive) que normalmente se monta como partición. El modem a su vez también es un pendrive, pero Ubuntu es bastante inteligente y no lo monta (al menos en mi notebook porque he visto que a veces lo monta como disco).

  • MrAnderson

    Ahi me queda mas claro… Tienes toda la razon 😉 Saludos.

  • aldak

    WEEEEENA Sorraund… bueno y util el articulo aunque con el driver de vodafono funciona perfecto…

  • Balaram

    Estimado amigo Joinux tengo el modem E226 de entel chile y segui tus instrucciones que das anteriormente y me sale lo siguiente:

    ecochamachi@Ecochamachi-desktop:~$ sudo -i
    sudo: unable to resolve host Ecochamachi-desktop
    [sudo] password for ecochamachi:
    root@Ecochamachi-desktop:~# wvdial entelpcs
    –> WvDial: Internet dialer version 1.60
    –> Cannot get information for serial port.
    –> Initializing modem.
    –> Sending: ATZ
    ATZ
    OK
    –> Sending: ATQ V1 E1 S0=0 &C1 &D2 +FCLASS=0
    ATQ V1 E1 S0=0 &C1 &D2 +FCLASS=0
    OK
    –> Sending: ATZ+cgdcont=1,”IP”,”imovil.entelpcs.cl”
    ATZ+cgdcont=1,b [1d]IPb [1d],b [1d]imovil.entelpcs.clb [1d]
    ERROR
    –> Bad init string.
    –> Cannot get information for serial port.
    –> Initializing modem.
    –> Sending: ATZ
    ATZ
    OK
    –> Sending: ATQ V1 E1 S0=0 &C1 &D2 +FCLASS=0
    ATQ V1 E1 S0=0 &C1 &D2 +FCLASS=0
    OK
    –> Sending: ATZ+cgdcont=1,”IP”,”imovil.entelpcs.cl”
    ATZ+cgdcont=1,b [1d]IPb [1d],b [1d]imovil.entelpcs.clb [1d]
    ERROR
    –> Bad init string.
    –> Cannot get information for serial port.
    –> Initializing modem.
    –> Sending: ATZ
    ATZ
    OK
    –> Sending: ATQ V1 E1 S0=0 &C1 &D2 +FCLASS=0
    ATQ V1 E1 S0=0 &C1 &D2 +FCLASS=0
    OK
    –> Sending: ATZ+cgdcont=1,”IP”,”imovil.entelpcs.cl”
    ATZ+cgdcont=1,b [1d]IPb [1d],b [1d]imovil.entelpcs.clb [1d]
    ERROR
    –> Bad init string.
    root@Ecochamachi-desktop:~#

    Que puedo hacer? no se si son los Init o no encuentra el modem o que pasa, sera que me puedes guiar un poco, pues no soy muy experto en linux, muchas gracias.
    balaram

  • joniux

    balaram: Por lo que se ve en el error, el linux no esta reconociendo al modem, prueba en otro puerto usb o encendiendo el linux con el modem instalado.

  • MacPC

    –> Sending: ATZ + cgdcont=1, ”IP”, ”imovil.entelpcs.cl”
    ATZ + cgdcont=1, b [1d]IPb [1d], b [1d]imovil.entelpcs.clb [1d]
    ERROR

    Tengo ese problema, uso como modem un teléfono Sony Ericsson Z750 con un chip de internet movil que venia en un Modem Samsung B1100 pero que por alguna razón Ubuntu no detecta.

    Si detecta el Sony, niun drama con todo lo demás, de hecho adapte mi fichero de configuración previamente creado al conectar mi telefono al pc con sudo wvdialconf, se generó solo y el resto lo agregue de tu post.

  • jeico

    Estimado Joinux e segido todos los pasos y e reiniciado mas aun e probado con las 6 entradas usb que tengo pero aun no me reconoce el modem e226 entel pcs chile

  • mario bros

    ¡Excelente!
    Y supe por qué no reconocía el modem; ciertamente el motivo exacto no lo sé, pero sí sé que lo reconoce en windows y, cuando se reinicia, queda «tomado» y funciona correctamente en ubuntu.

    ¡Saludos!

  • mario bros

    ¡Ah! y para que no me diera el error del string, simplemente quité el string 5.

    ¡Saludos!

  • Sepu-

    Esos problemas son con las comillas, editenlas a mano usando vi y veran q el simbolo es distinto.
    yo tengo un problema con:

    utils/wvtask.cc:198: WvTaskMan::WvTaskMan(): Assertion `getcontext(&get_stack_return) == 0′ failed.

    saben q onda puede ser?

  • andres

    Init5 = ATZ+cgdcont=1,”IP”,”imovil.entelpcs.cl”

    este comando me proboca un errror para conectar el huawei e226 de entelpcs chile en ubuntu 8.0.4 pero al eliminarlo se activa el modem pero no tengo coneccion que me ¡recomiendan!

  • Sergio Munita

    Hola crees que seria posible conectar mas de un PC al modem 3G Huawei

  • kiurro

    Jeico,

    Para verificar si te esta reconociendo el modem, haz lo siguiente:
    -Conectar el modem a un puerto USB
    -ejecutar dmesg en la linea de comandos y verificar a que archivo asocia tu dispositivo por lo general es a /dev/ttyUSB0

  • Carlos Rock

    Hola.
    Me siento aliviado al ver este tema.
    Recientemente adquirí un Eeepc con Xandros.
    Me parece que servirá el mismo método para mi internet movil Entel.

    He tratado y tratado y algo sucede que está concretado, pero nunca llega nada.
    NO conozco nada de Linux, supongo que debo bajar el porgrama WvDial. Veré luego entonces como instalarlo.
    Mi gran duda es; qué es hacer un «sudo -i» ??? y Cómo se hace ?

    Muchas gracias de antemano

  • joniux

    Carlos: Con respecto al «suido -i» es un comando que se ejecuta en una ventana de terminal. En linux xandros puedes sacar un terminal con [Ctrl] + [Alt] + [T]
    Y para que tengas mas «alivio» tengo en mis manos un Eee PC 900, y una tarjeta 3G de Entel PCS, asi que creo que me dedicare unas horas a ver si puedo conectarlo a internet y cuento como me fue.

  • joniux

    Sergio: He visto unos equipos que hacen esa gracia mira Saro.
    Tambien puedes lograr lo mismo con un linux, una tarjeta 3g, una tarjeta de red y configurar al linux como un router.

  • Osvaldo Pavez C

    Estimado,
    A mi se me conecta, me muestra las IP’s, pero no navega… :(

  • Osvaldo Pavez C

    Estimado yo otra vez, (con entelpcs huawei 227) ahora cargue la version 8.10 de ubuntu desktop y tiene el conector para entel, sin embargo solo puedo navegar por IP.

    Probe con ping al dns de telmex para ver si salia a la red y responden todas las IP.
    Me conecte por VPNC y todo bien.

    Tengo que poner en el link:
    http://200.xxx.xxx.xxx/index.asp por ejemplo y navega.

    Como puedo hacer que firefox entienda los DNS?
    Es un problema de la configuracion de ubuntu?

    :( Falta poquito…

  • joniux

    Osvaldo: Al parecer es un problema de Ubuntu ya que me pasa exactamente lo mismo. Al conectarte te asigna como dns el 10.10.10.10 y el 10.10.10.11, como se ve esto, debes hacer desde una ventana de terminal

    cat /etc/resolv.conf

    Intente colocarle los DNS en forma manual en la configuracion del Gnome PPP pero aun asi no los toma.

    Por ahora lo solucioné mediante un simple script que ejecuto una vez que me conecto, esto debe hacerse como super usuario o utilizando sudo.

    El script puede llamarse como quieras en mi caso «dns_entel.sh» y debe contener:

    echo «nameserver 164.77.252.249″ > /etc/resolv.conf
    echo «nameserver 164.77.252.215″ >> /etc/resolv.conf

    Lo colocas dentro de /usr/bin o donde se pueda ejecutar le das permiso de ejecucion

    chmod +x /usr/bin/dns_entel.sh

    y luego cada vez que te conectes haces un

    sudo -i dns_entel.sh

    eso por ahora, con mas tiempo vere como forzar a que gnome ppp tome los dns de forma manual.

  • Osvaldo

    Tu tambien tienes la version 8.10?
    Esta version deja el modem en la lista de conectores de red, junto con las de wifi.

  • Osvaldo

    Amigo,
    Asi quedo finalmente la shell.

    #
    # Este script define los dns de entelpcs #
    #

    echo «nameserver 164.77.252.249″ > /etc/resolv.conf
    echo «nameserver 164.77.252.215″ >> /etc/resolv.conf

    saludos,

    opavez

  • joniux

    Si, la tengo instalada en dos notebooks y en mi computador de escritorio. Y si, efectivamente habia un error en el script, sorry y sin copy & paste se me fue el «nameserver».

    Ahora esta corregido.

  • Rodrigo

    Hola buenas, espero que todos esten bien, pasa que soy nuevo en esto e instale linux mint, ya que es bastante amigable, el problema partio con mi modem huawei, el sistema lo reconoce sin problemas y dice que se conecta, pero en realidad no lo hace, e leido foros pero nada, de hecho trate de cambiar el resolv.conf, pero me manda un msje de error que dice que no se puede guardar el archivo porque no tiene los permisos necesarios, alguien me puede orientar por favor, muchas gracias.

  • joniux

    Rodrigo: no puedes editar el archivo porque es un archivo protegido del sistema, solo el super usuario puede editarlo, para eso debes pedir permisos de super usuario con el comando «sudo -i» e ingresar tu misma contraseeña.

    Revisa mi otro post donde esta mas depurado el tema

    http://joniux.x-red.com/2009/02/26/ubuntu-810-con-modem-huawei-e270-entel-pcs

  • sebastian

    pRIMERO MUCHISIMAS GRACIAS POR EL APORTE..
    mira tena el mismo problema que todos pero reemplaze las cremillas (las borre y las escribi denuevo) y me funciono sin problemas o casi

    exactamente igualq ue a ti me da mal los dns pero si termino e inicio denuevo la conexion no me da las correctas

    que puedo hacer?

    muchas gracias salu2

  • Fernando

    Mi pregunta puede sonar muy basica pero apenas me estoy comenzando a involucrar en esta parte de la telefonia celular. ¿Quien debe proveer el codigo dial string?, este es responsabilidad del operador (T-mobile, verizon, etc) o es responsabilidad del fabricante. Muchas gracias de antemano.

  • Martin

    Hola,. quisiera saber con que comando puedo mandar un mismo sms a dos ó tres telefonos al mismo tiempo.
    Estoy usando el CMGS «Tel1;Tel2″
    y me tira error !
    Gracias

Deja un comentario

¿Buscando algo?

Use este formulario para buscar en el sitio:

¿No encontraste lo que buscabas? Déjame un comentario y veré como puedo ayudarte!

Visita a mis amigos

Algunos amigos que tienen sus blogs...