Cross blog promotion

Wednesday, November 28, 2007

New post about The Pavilion, ITC Grand Central over at Foodie For Life.

How to get Reliance ZTE MG880 working with Ubuntu Linux 7.04

Monday, November 26, 2007

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:

  1. 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.

  2. 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


  3. 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
    [...]

  4. 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

  5. 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"

  6. 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.

Labels:


This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]