Translate

lunes, abril 24, 2017

Configurar modem GSM en la Orange Pi 2G IoT (Orange España)

Configurar modem GSM en la Orange Pi 2G IoT
Comentaros que necesitáis unos conocimientos más o menos básicos para poder seguir esto, pero vamos, está todo cortado y pelado.
Empezamos. Abrimos terminal.
sudo apt-get install  ppp wvdial

Hacemos
sudo vim /etc/wvdial.conf
Y metemos:
[Dialer defaults]
Modem = /dev/modem0
Baud = 30720000
Dial Command = ATDT
Init1 = ATE1
Init2 = AT+CGDCONT=1,"IP","internet","",0,0
FlowControl = CRTSCTS
Init3 = ATM0
Phone = *99#
Username = orange
Password = orange
Stupid Mode = 1
"internet" es donde va el nombre del APN, que en el caso de Orange es, precisamente ese, internet. El username y password de Orange son orange para ambos, si teneis otra compañía estos datos serán diferentes. De hecho, quizá estas configuraciones no funcionen para ellos. NOTA: Lo he probado exitosamente también con Vodafone con el APN "airtelnet.es" y como usuario y contraseña vodafone.
Hacemos
sudo vim /etc/ppp/peers/wvdial
y metemos:
hide-password
noauth
name wvdial
debug
usepeerdns
defaultroute
noipdefault
mtu 472
Ahora hacemos
sudo vim /etc/ppp/peers/wvdial-pipe
y metemos:
noauth
name wvdial
plugin passwordfd.so
defaultroute
replacedefaultroute
Hacemos, finalmente,
sudo wvdial
Y a volar!!!!!!!!!! Para ahora deberíais estar conectados. Si no obtenéis conexión, puede deberse a varias cosas. Podríais tener una conexión abierta de otra red (LAN, Wireless) mientras conectábais al móvil, luego la habéis cerrado para probar la conexión móvil, y ésta no funciona. Desactivad otras redes antes de conectar con el móvil.
También podrían ser las DNS, vamos a descubrirlo.
ping -w 3 www.google.es
Si os responde correctamente, es que estáis conectados. Si no, probad:
ping -w 3 8.8.8.8
Si os responde este, pero no el anterior, es que os fallan las DNS. La solución es sencilla:
sudo echo "nameserver 208.67.222.222" >/etc/resolv.conf
sudo echo "nameserver 208.67.220.220" >>/etc/resolv.conf
Con estos dos comandos hemos añadido las DNS de OpenDNS. Ahora todo debería funcionar correctamente.
Hay unas últimas consideraciones a hacer.
Ya lo hemos configurado todo, pero ¿cómo desconectamos? y ¿cómo volvemos a conectar?
Los procesos "sudo rfcomm connect 0" y "sudo wvdial" se cierran haciendo Ctrl+C en la consola donde se ejecutan. Otra forma para cerrar ambos es matarlos mediante
sudo killall wvdial pppd rfcomm
Para volver a conectar, podemos hacer un script. El primero que os propongo es "silencioso", "ciego":
sudo rfcomm connect 0 & sleep 5 && sudo wvdial
El segundo que os propongo abre dos pantallas de xterm mostrando los procesos (debéis tener instalado xterm; sudo apt-get install xterm):
echo -e 'sudo xterm -e rfcomm connect 0 & sleep 5 && sudo xterm -e wvdial' >> ~/.conectbt.sh
chmod +x  ~/.conectbt.sh
Ahora teneis el script hecho, sólo teneis que crear un acceso directo a
gksudo sh ~/.conectbt.sh
Para desconectar, vamos a las pantallas donde se ejecutan los procesos, y hacemos Ctrl+C
Espero que os haya sido de utilidad!!

33 comentarios:

Anónimo dijo...

Hola Juan.
Muchas gracias por el tutorial, he llegado aquí desde el foro de orange pi, como primera referencia de alguien que consigue comunicarse con el modem 2G de la orange PI IOT.

¿Seria posible que pusieras una publicacion con la informacion basica de coo iniciarse con esta tarjeta? que imagen y como comenzar a usarla, seguro que es de gran interes para muchos usuarios de la comunidad, incluyendome a mi.

Un saludo
Manuel

Juan Carlos Barrientos dijo...

Buenas, ..
La verdad que ando dándome la paliza para terminar de dejarlo operativo con los datos gratuitos de Freedompop.. usarlo con esta pequeña tarjeta (la orange pi 2G IoT) no es nada fácil al principio, pero ya lo estoy consiguiendo.
El modem que trae es GSM y primero hay que registrarlo en la red GSM (movistar), esa ha sido la principal pega en la pelea que me he dado.
Este hilo no lo tengo pulido puesto que me he centrado en usar la tarjeta de freedompop.

Link para configurarlo, yo uso el ubuntu server que esta en la pagina de descarga de orange pi.

http://surfero.blogspot.com.es/2017/04/freedompop-orange-pi-2g-iot.html

nayive guerrero dijo...
Este comentario ha sido eliminado por el autor.
Manuel Garcia Bernal dijo...

Soy el del comentario anonimo de antes.
Realmente genial y currado, ando con una sim freedompop también precisamente.

Gracias de nuevo es de gran utilidad a la comunidad esta información

nayive guerrero dijo...

Hola como estan, actualmente tengo este error, ya configure al archivo wvdial.conf para colombia pero me sale lo siguiente y no conecta:

--> WvDial: Internet dialer version 1.61
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: AT+CGDCONT=1,"IP","web.vmc.com.co"
AT+CGDCONT=1,"IP","web.vmc.com.co"
OK
--> Modem initialized.
--> Sending: ATDT*99#
--> Waiting for carrier.
ATDT*99#
CONNECT
--> Carrier detected. Starting PPP immediately.
--> Starting pppd at Fri Apr 28 02:26:24 2017
--> Pid of pppd: 926
--> pppd: ▒)
--> Using interface ppp0
--> pppd: ▒)
--> pppd: ▒)
--> pppd: ▒)
--> pppd: ▒)
--> pppd: ▒)
--> pppd: ▒)
--> pppd: ▒)
--> pppd: ▒)
--> pppd: ▒)
--> pppd: ▒)
--> pppd: ▒)
--> pppd: ▒)
--> pppd: ▒)
--> pppd: ▒)
--> pppd: ▒)
--> pppd: ▒)
--> pppd: ▒)
--> pppd: ▒)
--> pppd: ▒)
--> pppd: ▒)
--> Terminate Request (Message: "No network protocols running" )
--> pppd: ▒)
--> pppd: ▒)
--> pppd: ▒)
--> Disconnecting at Fri Apr 28 02:26:55 2017
--> The PPP daemon has died: PPP negotiation failed (exit code = 10)
--> man pppd explains pppd error codes in more detail.
--> I guess that's it for now, exiting
--> The PPP daemon has died. (exit code = 10)


Por favor si me pueden colaborar

Juan Carlos Barrientos dijo...

Tu configuración de wvdial.conf podría ser esta, prueba y suerte:
[Dialer defaults]
Modem Type = Analog Modem
Phone = *99#
ISDN = 0
Baud = 460800
Username = " "
Password = " "
Modem = /dev/modem0
;Init1 = ATZ
New PPPD = yes
Init2 = AT+CFUN=4
Init3 = AT+CFUN=1
Init4 = AT+COPS=0
Init5 = AT+CGATT=1
Init6 = at+cgdcont=1,"IP","web.vmc.com.co"
Init7 = AT+CGACT=1,1
Stupid Mode = 1

Juan Carlos Barrientos dijo...

Manuel Garcia Bernal, muchas gracias!!
Una cosa, ¿podríais indicarme en que proyectos vais a incorporar la Orange Pi? yo tengo intención de controlar diversos sensores (temperatura, humedad CO2, etc..) orientado a domótica.
Un saludo

Hector Ceballos Garcia dijo...

Buenas, yo quiero usarla como un medidor energético, pero llevo una tarde entera formateando tarjetas SD de 8 clase 4 8 clase 10 y 16gb clase 10 y siempre recibo el mismo mensaje
RDA8810 Boot_ROM V1.6
HW_CFG: 4286
SW_CFG: 0000
Load EMMC
Open eMMC
EMMC OCR timeout
Open eMMC card Failed
Load EMMC Fail
Load SD
Open SD card
mcd_Open
Card is SDHC
Inserted Card is a SD card
Response is Time out
CMD xx Response Error
CMD2 Fail
Open SD card Failed
Load SD Fail
Setup USB PLL done
Setup BUS PLL done
reset musb otg core...
Press 'Q' to quit PDL loading
wait for connect....
Open eMMC card Failed6

alguien puede echarme un cable? no se que hago mal

utilizo el sd formatter y le cambio el parámetro a ON y luego con el win32disk.... tanto si pongo armbian o Ubuntu pero nada..

se agradece cualquier comentario

Un saludo

Juan Carlos Barrientos dijo...

Qué velocidad tienes puesta para conectar con la Orange Pi?, debes tener 115200bps para ubuntu server para debían y Armbian más de 900.0000bps ahora mismo de esta velocidad no me acuerdo. Por otro lado he teñido problemas con tarjetas de más de 8gb, de echo ahora mismo uso una de 2gb. Creo que esta tarjeta es en realidad un móvil chico de hace más de 5 años reempaquetado como producto IoT, por lo tanto hay ciertas cosas actuales que no sorporta como tipos de memorias modernas... pero esto es una sospecha.

Juan Carlos Barrientos dijo...

Perdón para android y armbian más de 900.000bps quería decir..

Hector Ceballos Garcia dijo...

Si he probado varias velocidades, asi todo la velocidad influira para el buen funcionamiento de la conexion serie, no debiera influir para la buena lectura de la tarjeta SD no?

Juan Carlos Barrientos dijo...

Igual te digo una tontería pero ¿estás seguro de haber puesto bien el switch para que arranque desde microsd? Por otro lado ¿tienes a mano una tarjeta microsd de menos de 8Gb? Te recomendaría que probaras con 4gb o incluso 2gb...

¿Que hardware emplearas para usar la placa como medidor energético? Cuando tenga tiempo voy a conectar un display oled y empezar a mostrar información útil... también tengo de camino placas solares, sensores de temperatura, humedad, CO2... además ya he echo la primera carcasa en 3D.
Creo que esta placa da mucho juego, de echo no he podido evitar comprar otras dos, ya están de camino....

Hector Ceballos Garcia dijo...

Buenas, he tenido que rescatar una tarjeta SD de 2GB para que funcione, me parece un poco de traca, nose si ira el tema por si son HC o no
https://es.wikipedia.org/wiki/SDHC
yo tengo un proyecto en marcha ya con raspberry y para abaratar costes voy a probar con orange pi pero esto de la tarjeta SD no me ha dado buena espina
lo voy a meter todo en cajas como esta
https://es.aliexpress.com/store/product/szomk-din-rail-plastic-enclosure-electronics-junction-box-with-wire-connector-1-pc-155-110-110mm/1006252_32590091950.html?spm=2114.04010208.3.266.Z98ah6&ws_ab_test=searchweb0_0,searchweb201602_1_10152_10065_10151_10068_10136_10137_10157_10060_10138_10155_10062_10156_10154_10056_10055_10054_10059_10099_10103_10102_10096_10109_10052_10053_10142_10107_10050_10051_10084_10083_10119_10080_10082_10081_10110_10111_10176_10112_10113_10114_10181_10182_10078_10079_10073_10070_10123_10120-10120,searchweb201603_9,ppcSwitch_5&btsid=9f882e49-3e68-4303-861a-dd04c8836346&algo_expid=9ca79b40-7382-4c94-bbaf-367d376571ef-36&algo_pvid=9ca79b40-7382-4c94-bbaf-367d376571ef

con este lcd

https://www.aliexpress.com/item/I2C-IIC-16x2-RGB-LCD-Display-Shield-1602-Blue-Backlight-For-Raspberry-Pi-B-B/32772412372.html?spm=2114.01010208.3.18.6FYnke&ws_ab_test=searchweb0_0,searchweb201602_1_10152_10065_10151_10068_10136_10137_10157_10060_10138_10155_10062_10156_10154_10056_10055_10054_10059_10099_10103_10102_10096_10109_10052_10053_10142_10107_10050_10051_10084_10083_10119_10080_10082_10081_10110_10111_10176_10112_10113_10114_10181_10182_10078_10079_10073_10070_10123_10120-10120,searchweb201603_9,ppcSwitch_5&btsid=de0e180c-0e38-4679-a4e4-ce60b36a683d&algo_expid=f6f2437b-f43d-4422-9347-b4c09e8cbd0d-2&algo_pvid=f6f2437b-f43d-4422-9347-b4c09e8cbd0d

esta bateria,
https://www.aliexpress.com/item/Raspberry-lithium-power-expansion-board-dual-USB-output-for-Pi3-independent-field-power-supply-mobile-power/32785832463.html?spm=2114.01010208.3.105.uIIhCR&ws_ab_test=searchweb0_0,searchweb201602_1_10152_10065_10151_10068_10136_10137_10157_10060_10138_10155_10062_10156_10154_10056_10055_10054_10059_10099_10103_10102_10096_10109_10052_10053_10142_10107_10050_10051_10084_10083_10119_10080_10082_10081_10110_10111_10176_10112_10113_10114_10181_10182_10078_10079_10073_10070_10123_10120-10120,searchweb201603_9,ppcSwitch_5&btsid=eaddb54d-5c17-4e17-be34-78a74fcf4310&algo_expid=8091dfa5-50ff-480d-9773-6ac516b6afb0-13&algo_pvid=8091dfa5-50ff-480d-9773-6ac516b6afb0

mas placa de reles, medidores de voltaje, frm01 como watchdog, conversor rs485 para leer un analizador trifasico, etc,

Juan Carlos Barrientos dijo...

Que te funcione una microsd vieja de 2gb encaja con mi teoría de que nos han vendido un smartphone chino de hace 6 años como un dispositivo iOT, sin embargo quizás para nuestros proyectos domoticos no necesitemos más, casi prefiero pagar los 12€ que ha costado esta pequeña maravilla que pagar bastante más por hardware que me va a sobrar...:
De momento no he visto mucho más de esta placa salvo algo realmente importante y es que los 40 pines son compatibles con los de raspberry pi. En casa uso domoticz como controlador domotico y una tarjeta z-wave (razberry) como hardware para controlar luces, consumo energético, esp8266 con sensores de temperatura, etc...
voy a investigar a ver qué pantalla vale para la salida LCD que tiene, me interesa ver que android arranca de su memoria flash. He intentado configurar el Bluetooth pero he tenido pegas, seguiré viendo y comentando lo que encuentre.

Hector Ceballos Garcia dijo...

yo con raspberry uso la que he puesto antes por i2c, confio en que funcione me gusta que tenga el led rgb para poder mostrar el estado por codigos de colores, por cierto, conoces airpi?, tengo componentes de sobra compre para montar 10.

Juan Carlos Barrientos dijo...

Héctor, no lo conozco pero parece muyyy interesante. De momento los sensores los he montado con arduino y esp8266... me ha llegado un modem gsm para arduino, quiero montar una placa con con este modem, un arduino mano y multitud de sensores (dht22, mq135, pantalla oled, etc..) tiene que mandar los datos por gprs, bien por SMS o por mail, si hay otro camino ya lo veré. Interesa que los datos sean interpretados y graficados por un software como domoticz o jeedom, debe ser alimentado por una batería y esta debe ser cargada con paneles solares. Los paneles solares para mí son todo un descubrimiento en aliexpress, por 1€ puesto en casa los hay con potencia ente 3v y 6v y hasta 1w, no estoy muy puesto en potencias y consumos, por eso aprendo sobre la marcha...bueno tiempo es lo que falta....

Este es el link del panel solar:

http://s.aliexpress.com/uqEvyIrU

Alberto Biencinto Alba dijo...

Muy buenas y felicidades tanto por la guia como por tu iniciativa de compartirlo. MI problema es que no inicializa el modem con el comando VWDIAL :(

Juan Carlos Barrientos dijo...

Pon por aquí tu fichero wvdial.conf....

Javier Rodriguez dijo...

Amigo Como hizo para resgistrar la OP 2g iot en la red? osea que Imei le coloco? o la board tiene imei interno?

Alberto Biencinto Alba dijo...

He probado tanto con el de Orange como con el de Freedompop...mismo resultado :(

Juan Carlos Barrientos dijo...

Puedes poner el log que te da? El mensaje de error?

La uso con simyo, freedompop y Orange

Mira el apartado de freedompop y simyo: http://surfero.blogspot.com/2017/04/configurar-modem-gsm-en-la-orange-pi-2g.html?ext-ref=comm-sub-email

Alberto Biencinto Alba dijo...

Buenas Juan Carlos, esto es lo que me dice (configuración clónica a la que has puesto para Freedompop):

alberto@orangepi2g:~$ sudo wvdial
--> WvDial: Internet dialer version 1.61
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: AT+COPS=0
AT+COPS=0
--> Sending: ATQ0
ATQ0
+CME ERROR:50
--> Re-Sending: AT+COPS=0
AT+COPS=0
--> Modem not responding.
alberto@orangepi2g:~$

Alberto Biencinto Alba dijo...

Añado esta traza al hace un wvdialconf, es como si el modem no estuviera:

sudo wvdialconf
Editing `/etc/wvdial.conf'.

Scanning your serial ports for a modem.

ttyS0<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyS0<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud
ttyS0<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
ttyS1<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyS1<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud
ttyS1<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
ttyS2<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyS2<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud
ttyS2<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.


Sorry, no modem was detected! Is it in use by another program?
Did you configure it properly with setserial?

Please read the FAQ at http://alumnit.ca/wiki/?WvDial

Juan Carlos Barrientos dijo...

wvdialconf es la aplicacion para configurar wvdial.conf, no la uses porque busca el modem en los puertos serie (ttyS0, ttyS1..) el nuestro usa uno propio /dev/modem0, supongo que está integrado en la placa y lo administra de forma interna.
Una cosa: veo que no lanzas wvdial como root, ¿usas el usuario "orangepi"? esta ese usuario en sudoers? en todo caso prueba primero como root, inténtalo varias veces, incluso apaga y enciende la orange pi, a veces se queda el puerto del modem bloqueado.
Otra cosa ¿tienes activado un PIN en la tarjeta sim? en caso afirmativo hay que incluir otro parametro con el pin de tu tarjeta.

Con AT+COPS=0 le decimos al modem GPRS que busque el operador predeterminado de nuestra tarjeta, con AT+CFUN=1 le decimos que active los servicios de datos GPRS y con AT+CGACT=1,1 le decimos que se registre en la red de datos GPRS de nuestro operador.

Mi log para freedompop es este:

--> Sending: AT+COPS=0
AT+COPS=0
OK
+CGREG: 5
--> Sending: AT+CFUN=1
AT+CFUN=1
OK
--> Sending: AT+CGATT=1
AT+CGATT=1
+CGATT:1
OK
--> Sending: AT+CGDCONT=1,"IP","freedompop.foggmobile.com"
AT+CGDCONT=1,"IP","freedompop.foggmobile.com"
OK
--> Sending: AT+CGACT=1,1
AT+CGACT=1,1
OK
--> Modem initialized.
--> Sending: ATDT*99***1#
--> Waiting for carrier.
ATDT*99***1#
CONNECT
--> Carrier detected. Starting PPP immediately.
--> Starting pppd at Sat May 6 08:52:19 2017
--> Pid of pppd: 792
--> Using interface ppp0
--> pppd: ▒`
--> t[01]▒[01]t[01][01]
--> pppd: ▒`
--> t[01]▒[01]t[01][01]
--> pppd: ▒`
--> t[01]▒[01]t[01][01]
--> pppd: ▒`
--> t[01]▒[01]t[01][01]
--> local IP address 10.186.73.222
--> pppd: ▒`
--> t[01]▒[01]t[01][01]
--> remote IP address 192.200.1.21
--> pppd: ▒`
--> t[01]▒[01]t[01][01]
--> primary DNS address 8.8.8.8
--> pppd: ▒`
--> t[01]▒[01]t[01][01]

Alberto Biencinto Alba dijo...

Como puedo listar el/los modem activos? en /dev/ veo el modem0 y el modem1

Alberto Biencinto Alba dijo...

Buenas, finalmente creo que es un mal funcionamiento de la placa, porque en instalaciones limpias me hace cosas raras, he pedido otra :(

Juan Carlos Barrientos dijo...

Yo seguiría investigando, estas placas son muy duras .

Alberto Biencinto Alba dijo...

Si pero no mosquea que una disti recien metida en la SD ....configure red y todo y segun salgo del asistente...reinicio y ya no arranca , sin tocar nada.

Además las distris que hay en el repositorio de OrangePi son un desastre, están repetidas con distinto nombre

Juan Carlos Barrientos dijo...

Ha vale, en ubuntu server hay problemas con los alsa Drivers es de sonido y el módulo del wifi. De hay que tras configurar el wifi en el siguiente boot ocurra un crash que deja inútil la placa.
Haz esto: inducía la primera sesión y desinstalar los deivers Alsa:

apt-get purge alsa*

Configura tu wifi y reinicia.

Alberto Biencinto Alba dijo...

Probaré eso , lo he probado pero no se si antes de configurar el wifi o despues.... luego sin falta enredo ;)

Gracias

Yoel Mendoza dijo...

eso es verdad despues de confugurar wifi deja de arrancar, llevo varios dias en esto, actualmente corro el sistema en una sd de 4gb pero hace algunos dias compre una sd 8gb ultra rápida que me costó super cara y al cabo de unos reinicios dejo de arrancar la orange con esa sd (aunque la misma formatea correctamente y funciona en otros dispositivos), tuve que colocarle una mas pequeña (la que uso actualmente), pero no he podido confugurarla por completo, en general muchos problemas para solo comenzar a utilizarla.

Prof. André Curvello dijo...

Hi there!
Nice to see all your work.

I've received an unit of the Orange Pi 2G IoT, and your post/blog still be one of the most clarifying on the web.

By now, are you still using the Orange Pi 2G IoT?

I'm having quite the same problem as "nayvive guerrero", receiving this error:
"The PPP daemon has died: PPP negotiation failed (exit code = 10)", using your suggested configuration, but adapting it to my provider (in Brazil, I'm using Claro with "claro.com.br" as apn and "claro"/"claro" as user/pass.)

The only image which worked with me was the Debian Server at orangepi download site.

Could you help me?

Thanks,
Andre Curvello

Anónimo dijo...

alguien me puede ayudar estoy intentanto configurar el modem GSM con una sim de movistar pero me da un error

--> WvDial: Internet dialer version 1.61
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATE1
ATE1
OK
--> Sending: AT+CGDCONT=1,"IP","movistar.es"
AT+CGDCONT=1,"IP","movistar.es"
+CME ERROR:50
--> Bad init string.
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATE1
ATE1
OK
--> Sending: AT+CGDCONT=1,"IP","movistar.es"
AT+CGDCONT=1,"IP","movistar.es"
+CME ERROR:50
--> Bad init string.
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATE1
ATE1
OK
--> Sending: AT+CGDCONT=1,"IP","movistar.es"
AT+CGDCONT=1,"IP","movistar.es"
+CME ERROR:50
--> Bad init string.


mi fichero wvdial.conf
Modem = /dev/modem0
Baud = 30720000
Dial Command = ATDT
Init1 = ATE1
Init2 = AT+CGDCONT=1,"IP","movistar.es"
FlowControl = CRTSCTS
Init3 = ATM0
#Phone = *99#
Username = movistar
Password = movistar
Stupid Mode = 1