-
Notifications
You must be signed in to change notification settings - Fork 4
3G modem Vodafone MD950
cheap device available from dx.com
Device works out of the box on Ubuntu 12.04 (via Network Manager). on RPi the device required bit more hacking to make use of it.
Default device lsusb
status is 0471:1210 Philips (or NXP)
just for curiosity, the device can be mounted using:
mkdir /media/cd && mount /dev/sr0 /media/cd
ls /media/cd
autorun.exe Autorun.inf edge.tag Setup.exe wireless.ico
we run usb_modeswitch
to switch the device to 3G modem.
however, usb_modeswitch -v 0471 -p 1210
wont switch the device properly.
this works:
usb_modeswitch -W -I -c /usr/share/usb_modeswitch/0471\:1210\:uMa\=Wisue -v 0471 -p 1210
lsusb
Bus 001 Device 005: ID 1dbc:0005
we run usb_modeswitch manually, so we set DisableSwitching=1
in /etc/usb_modeswitch.conf
.
we can communicate with the device via /dev/ttyACM0
, e.g.
screen /dev/ttyACM0 115200
AT
OK
now we try to create proper wvdial configuration using wvdialconf
:
Editing `/etc/wvdial.conf'.
Scanning your serial ports for a modem.
ttyACM0<*1>: ATQ0 V1 E1 -- OK
ttyACM0<*1>: ATQ0 V1 E1 Z -- ERROR
ttyACM0<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- ERROR
ttyACM0<*1>: Modem Identifier: ATI -- WYLESS_600
ttyACM0<*1>: Speed 4800: AT -- OK
ttyACM0<*1>: Speed 9600: AT -- OK
ttyACM0<*1>: Speed 19200: AT -- OK
ttyACM0<*1>: Speed 38400: AT -- OK
ttyACM0<*1>: Speed 57600: AT -- OK
ttyACM0<*1>: Speed 115200: AT -- OK
ttyACM0<*1>: Speed 230400: AT -- OK
ttyACM0<*1>: Speed 460800: AT -- OK
ttyACM0<*1>: Max speed is 460800; that should be safe.
ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
Found an USB modem on /dev/ttyACM0.
/etc/wvdial.conf<Warn>: Can't open '/etc/wvdial.conf' for reading: No such file or directory
/etc/wvdial.conf<Warn>: ...starting with blank configuration.
Modem configuration written to /etc/wvdial.conf.
ttyACM0<Info>: Speed 460800; init "ATQ0 V1 E1 S0=0 &C1 &D2"
content of wvdial.conf
is:
[Dialer Defaults]
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2
Modem Type = USB Modem
; Phone = <Target Phone Number>
ISDN = 0
; Username = <Your Login Name>
Init1 = ATZ
; Password = <Your Password>
Modem = /dev/ttyACM0
Baud = 460800
if we try wvdial
, we get:
wvdial
--> WvDial: Internet dialer version 1.61
--> Initializing modem.
--> Sending: ATZ
ATZ
ERROR
--> Bad init string.
that is weird. one hour later, I got following wvdial.conf
:
[Dialer Defaults]
Init1 = AT
;Init2 = AT+CPIN="0000"
Init4 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","internet"
Phone = *99***1#
ISDN = 1
Username = internet
Password = internet
Modem = /dev/ttyACM0
Baud = 460800
Stupid Mode = on
and now I connect successfully:
root@raspberrypi:~# wvdial
--> WvDial: Internet dialer version 1.61
--> Initializing modem.
--> Sending: AT
AT
OK
--> Sending: AT+CGDCONT=1,"IP","internet"
AT+CGDCONT=1,"IP","internet"
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Modem initialized.
--> Sending: ATDT*99***1#
--> Waiting for carrier.
ATDT*99***1#
CONNECT
--> Carrier detected. Starting PPP immediately.
--> Starting pppd at Mon Apr 29 20:32:42 2013
--> Pid of pppd: 4211
--> pppd: [10]gv[01]
--> Using interface ppp0
--> pppd: [10]gv[01]
--> pppd: [10]gv[01]
--> pppd: [10]gv[01]
--> pppd: [10]gv[01]
--> pppd: [10]gv[01]
--> pppd: [10]gv[01]
--> pppd: [10]gv[01]
--> pppd: [10]gv[01]
--> pppd: [10]gv[01]
--> pppd: [10]gv[01]
--> Authentication (PAP) started
--> pppd: [10]gv[01]
--> Authentication (PAP) successful
--> pppd: [10]gv[01]
--> pppd: [10]gv[01]
--> pppd: [10]gv[01]
--> pppd: [10]gv[01]
--> pppd: [10]gv[01]
--> pppd: [10]gv[01]
--> pppd: [10]gv[01]
--> pppd: [10]gv[01]
--> pppd: [10]gv[01]
--> pppd: [10]gv[01]
--> pppd: [10]gv[01]
--> local IP address 10.145.87.179
--> pppd: [10]gv[01]
--> remote IP address 192.200.1.21
--> pppd: [10]gv[01]
--> primary DNS address 213.151.200.31
--> pppd: [10]gv[01]
--> secondary DNS address 85.237.225.250
--> pppd: [10]gv[01]
--> pppd: [10]gv[01]
--> Script /etc/ppp/ip-up run successful
--> Default route Ok.
--> warning, can't find address for `www.suse.de`
--> warning, address lookup does not work
--> Nameserver (DNS) failure, the connection may not work.
--> Connected... Press Ctrl-C to disconnect
--> pppd: [10]gv[01]
Other notes:
- device is unable to list missed calls (AT returns CME ERROR: 23 - Memory Failure) - I assume the vendor did not intented the device to be used for calling at all.
Some useful links: