Ubuntu – 3G USB Modem Not Working in 12.04

12.043gusb-modem

When I connect my 3G USB Modem to my laptop with 12.04, nothing shows up in Network-Manager. This modem is working in 11.10 and the modem is shown in Network-Manager but not in 12.04 !!

Here are the outputs of lsusb and usb-devices on two machines , one with 11.10 and the other with 12.04 :

Ubuntu-11.10 :

$ lsusb
    Bus 002 Device 009: ID 1c9e:6061  

$ usb-devices
    T:  Bus=02 Lev=02 Prnt=02 Port=03 Cnt=01 Dev#=  9 Spd=12  MxCh= 0
    D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
    P:  Vendor=1c9e ProdID=6061 Rev=00.00
    S:  Manufacturer=3G USB Modem        ￴￴
    S:  SerialNumber=000000000002
    C:  #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=500mA
    I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
    I:  If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
    I:  If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
    I:  If#= 3 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage

Ubuntu-12.04 :

$ lsusb
    Bus 002 Device 003: ID 1c9e:6061 OMEGA TECHNOLOGY WL-72B 3.5G MODEM

$ usb-devices
    T:  Bus=02 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  3 Spd=12  MxCh= 0
    D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
    P:  Vendor=1c9e ProdID=6061 Rev=00.00
    S:  Manufacturer=Qualcomm, Incorporated
    S:  Product=USB MMC Storage
    S:  SerialNumber=000000000002
    C:  #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA
    I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=(none)

As the output of the above commands show, the device is detected as a modem in 11.10 but in 12.04 it is detected as a USB storage (the device is both a 3G Modem and a SD-card USB adapter).

Any help ?!

Best Answer

After a lot of searching and reading in different forums I found a solution to my problem. Please note that while the other answers didn't solve my problem, they might be helpful to others facing problems with 3G USB Modems (specially the sakis-3g script).

I found my solution in this thread, which I will detail in the following:

When connecting my USB modem, it is detected as a USB storage. According to that thread, running sudo modprobe option could make the device be detected as a modem. If not, it is also suggested to execute the following commands:

sudo su
echo 1c9e 6061 > /sys/bus/usb-serial/drivers/option1/new_id

where 1c9e 6061 is the device ID obtained from the lsusb command. This worked for my device and it was detected in Network-Manager. Note that you must become root using sudo su and running the command with sudo won't work.

To automate things, the following steps are presented:

  1. sudo su
  2. nano /usr/bin/usbModemScript and put the following in the file:

       #!/bin/bash
       echo 1c9e 6061 > /sys/bus/usb-serial/drivers/option1/new_id
    

    Then save the file (Ctrl+O) and exit nano (Ctrl+X).

  3. chmod +x /usr/bin/usbModemScript

  4. nano /etc/udev/rules.d/option.rules and put the following in the file:

        ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="6061", RUN+="/usr/bin/usbModemScript"
        ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="6061", RUN+="/sbin/modprobe option"
    

    Then save the file (Ctrl+O) and exit nano (Ctrl+X).

  5. reboot

NOTE : You should replace the values 1c9e and 6061 with the appropriate device ID values of your own modem.

After reboot, your modem should be detected when connecting it to the computer. Of course, this might not be the case (as it wasn't for me)! My device wasn't detected correctly after the first time it was connected to the computer. Instead, I had to disconnect and then reconnect it, and this time it was correctly detected as a modem in the Network-Manger. Some people might also need to restart the network-manager service (as I did):

sudo service network-manager restart

================================================================================

Another potential solution is to use wvdial.

  1. Installation: sudo apt-get install wvdial
  2. Connect your modem to the computer.
  3. Run: sudo wvdialconf /etc/wvdial.conf. If it says 'no modem found' then you are out of luck!
  4. If the modem is found, run: sudo nano /etc/wvdial.conf and input your ISP information where needed by filling the fields you know about. Run man wvdial.conf in a separate terminal for information about the options. Once you are ready, save the file (Ctrl+O) and exit nano (Ctrl+X).
  5. Now try to connect: sudo wvdial

For more information on wvdial, read the man page (i.e. man wvdial).

Hope this helps :)

Related Question