Wednesday, November 28, 2007
Monday, November 26, 2007
How to get Reliance ZTE MG880 working with Ubuntu Linux 7.04
I tried searching on Google but couldn't find all the information in one place as a simple TODO. So here's my contribution back to the Linux user's out there:
Just in case this did not work for you and you had to tweak the process, please post it in the comments section and I'll update the post accordingly.
Update: I noticed that if I do the modprobe with the modem inserted in the USB slot, the /dev/ttyUSB* devices are not created. So, first modprobe, and then insert the modem.
- I've been successful in configuring Reliance ZTE MG880 modem/data card over the USB bus. I'm not sure whether this model is available as a PCMCIA card, but I don't know whether it'll work for it.
- Plug in the smart looking black little thingie in a USB slot. dmesg should give weird message like this:
[37246.516000] usb 2-1: new full speed USB device using uhci_hcd and address 15
[37246.640000] usb 2-1: device descriptor read/64, error -71
[37246.864000] usb 2-1: device descriptor read/64, error -71
[37247.080000] usb 2-1: new full speed USB device using uhci_hcd and address 16
[37247.200000] usb 2-1: device descriptor read/64, error -71
[37247.424000] usb 2-1: device descriptor read/64, error -71
[37247.640000] usb 2-1: new full speed USB device using uhci_hcd and address 17
[37248.048000] usb 2-1: device not accepting address 17, error -71
[37248.536000] usb 2-1: new full speed USB device using uhci_hcd and address 19
[37248.760000] usb 2-1: configuration #1 chosen from 1 choice - Don't worry. Just execute the following command and look for ZTE in the output:
$ cat/proc/bus/usb/devices
[...]
T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 19 Spd=12 MxCh= 0
D: Ver= 1.01 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=16 #Cfgs= 1
P: Vendor=19d2 ProdID=fffd Rev= 0.00
S: Manufacturer=ZTE, Incorporated
S: Product=ZTE CDMA Tech
[...] - Look for the Vendor ID and Product ID (in bold above). Issue the following command:
$ sudo modprobe usbserial vendor=0x19d2 product=0xfffd
A dmesg should give you similar looking output at the end:[38360.764000] usbcore: registered new interface driver usbserial
[38360.764000] drivers/usb/serial/usb-serial.c: USB Serial support registered for generic
[38360.940000] usbserial_generic 2-1:1.0: generic converter detected
[38360.940000] usb 2-1: generic converter now attached to ttyUSB0
[38360.940000] usbserial_generic 2-1:1.1: generic converter detected
[38360.940000] usb 2-1: generic converter now attached to ttyUSB1
[38360.940000] usbserial_generic 2-1:1.2: generic converter detected
[38360.940000] usb 2-1: generic converter now attached to ttyUSB2
[38360.940000] usbcore: registered new interface driver usbserial_generic
[38360.940000] drivers/usb/serial/usb-serial.c: USB Serial Driver core - Now run a wvdialconf:
$ sudo wvdialconf
Editing `/etc/wvdial.conf'.
Scanning your serial ports for a modem.
Modem Port Scan<*1>: S0 S1 S2 S3
WvModem<*1>: Cannot get information for serial port.
ttyUSB0<*1>: ATQ0 V1 E1 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 Z -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyUSB0<*1>: Modem Identifier: ATI -- ZTEiT, Incorporated
ttyUSB0<*1>: Speed 4800: AT -- OK
ttyUSB0<*1>: Speed 9600: AT -- OK
ttyUSB0<*1>: Speed 19200: AT -- OK
ttyUSB0<*1>: Speed 38400: AT -- OK
ttyUSB0<*1>: Speed 57600: AT -- OK
ttyUSB0<*1>: Speed 115200: AT -- OK
ttyUSB0<*1>: Speed 230400: AT -- OK
ttyUSB0<*1>: Speed 460800: AT -- OK
ttyUSB0<*1>: Max speed is 460800; that should be safe.
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
WvModem<*1>: Cannot get information for serial port.
ttyUSB1<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyUSB1<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud
ttyUSB1<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
WvModem<*1>: Cannot get information for serial port.
ttyUSB2<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyUSB2<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud
ttyUSB2<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
Found a modem on /dev/ttyUSB0.
Modem configuration written to /etc/wvdial.conf.
ttyUSB0: Speed 460800; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0" - Finally edit /etc/wvdial.conf to make sure it looks like the following. I've added emphasis to the stuff which I had to edit. I'm not sure the "Stupid Mode = 1" line is need or not. It was required for the older Reliance data cards so I just put it in there:
[Dialer zte]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = Analog Modem
Phone = #777
Username = 9324979856
Password = 9324979856
ISDN = 0
SetVolume = 0
FlowControl = Hardware (CRTSCTS)
Modem = /dev/ttyUSB0
Dial Command = ATDT
Baud = 460800
Stupid Mode = 1
Just in case this did not work for you and you had to tweak the process, please post it in the comments section and I'll update the post accordingly.
Update: I noticed that if I do the modprobe with the modem inserted in the USB slot, the /dev/ttyUSB* devices are not created. So, first modprobe, and then insert the modem.
Subscribe to:
Comments (Atom)