after a long hiatus I’ve finally found a something annoying enough to share with you: namely, my 3g modem.
I have spoken at lengths about 3g on linux before.
I have a Thinkapd X201 laptop and it has a Qualcomm Gobi 2000 3g modem. This modem does some fancy mode switching, but not in the regular way by getting some control bytes. Therefore, usb-modeswitch can’t help you.
Instead, the modem needs firmware loaded to switch from usb id 05c6:9204 to usb id 05c6:9205.
On linux, the firmare loading is achieved with gobi-loader.
All this is nicely documented at thinkwiki, unfortunately it doesn’t make it one bit easier for the regular joe.
The trouble is, the firmware is not redistributable, so the whole thing is quite tricky!
- download 7xwc48ww.exe from the Thinkpad support site,
- unpack the drivers with wine or cabextract. I used wine:
cp 7xwc48ww.exe ~/.wine/drive_c wine 7xwc48ww.exe
Make sure you run the driver installation after extraction, otherwise execute setup again:
- copy the firmware:
cd ~/.wine/drive_c/Program Files/QUALCOMM/Images/Lenovo sudo mkdir /lib/firmware/gobi sudo cp 6/UQCN.mbn UMTS/* /lib/firmware/gobi/
This was the tricky part, unpacking and selecting the correct firmware out of the 12 different sets of files provided in that directory.
- reload the driver:
modprobe -r qcserial; modprobe qcserial
- dmesg should now show you have three USB serial devices /dev/ttyUSB0 (control interface), /dev/ttyUSB1 (the actual modem), and /dev/ttyUSB2 (the GPS, which you need windows to enable once).
usb 2-1.4: Product: Qualcomm Gobi 2000 usb 2-1.4: Manufacturer: Qualcomm Incorporated qcserial 2-1.4:1.1: Qualcomm USB modem converter detected usb 2-1.4: Qualcomm USB modem converter now attached to ttyUSB0 qcserial 2-1.4:1.2: Qualcomm USB modem converter detected usb 2-1.4: Qualcomm USB modem converter now attached to ttyUSB1 qcserial 2-1.4:1.3: Qualcomm USB modem converter detected usb 2-1.4: Qualcomm USB modem converter now attached to ttyUSB2
If you have gotten this far, your 3g modem is basically working and you can set up wvdial as in my previoius post pointing at the /dev/ttyUSB1 modem.
Note however you still need to enable the modem with
echo enable > /proc/acpi/ibm/wan