Qualcomm Gobi 2000
- ThinkPad AT&T® Gobi 2000 Broadband Option 78Y1398
- ThinkPad Gobi 2000 Broadband Option 78Y1399
The firmware for this device is not publicly downloadable. It consists of 3 files:
- amss.mbn (firmware stage 1)
- apps.mbn (firmware stage 2)
- UQCN.mbn (firmware stage 3 - includes configuration and carrier specific settings)
Obtaining the Firmware
There are two ways of obtaining the firmware files:
- From the pre-installed Lenovo Windows installation. Or from a clean Windows installation in a virtualizer that supports USB after installing the Qualcomm Gobi 2000 Wireless WAN Driver. The default location for the firmware files is C:\Program Files (x86)\QUALCOMM\Images\Lenovo\
- Using Wine to execute the Qualcomm Gobi 2000 Wireless WAN Driver installer that simply unpacks the real installer named GobiInstaller.msi. Then just extract the firmware images from the MSI file by
$ wine msiexec /a ~/.wine/drive_c/DRIVERS/WWANQL/Driver/GobiInstaller.msi /qb TARGETDIR=C:\\DRIVERS\\GOBI.
Choosing the Right Firmware
The firmware images are located in 11 directories. In general, each "officially" supported carrier has its own directory, as depicted in table "Firmware Images". The revision can be found in every file. The amms and apps files have the same revision and this one is reported by the
AT I command. The internal name of the UQCN file shows whether the firmware is for UMTS or CDMA2000. If your UMTS carrier is not listed, the default firmware and the generic UMTS firmware should work as their revisions match. The table "Non-listed Carrier Compatibility" summarizes the experiences of the Talk page.
|Dir||Carrier||Image||MD5 message digest||Revision||Internal UQCN name|
|6||Generic UMTS||O2 UK? |
|UMTS||Default Firmware||UMTS unlocked, O2 UK? |
Loading the Firmware
The firmware for this device must be loaded prior to using the device. It persists in the memory of the device until the next cold boot. Then, it has to be loaded again. The firmware can be loaded automatically via udev using the gobi_loader application. This application expects the firmware image files (amss.mbn, apps.mbn, and UQCN.mbn) in /lib/firmware/gobi/. Thus, create this directory as root, when it does not exist, and copy the appropriate firmware files into the directory. The previous section helps you to obtain the correct files.
Technically, the firmware loading interface is exposed over USB as id 05c6:9204 which can be accessed as a character (ttyUSB) device under Linux using the qcserial driver. After successfully loading the firmware, the device switches to the USB id 05c6:9205 and exposes three character devices (ttyUSB).
After the firmware is loaded, the modem is exposed over USB as id 05c6:9205 which can be accessed as a character (ttyUSB) device. Normal dial-up software can be used to create a 3G connection.
Since kernel 2.6.37, or with a small kernel patch (submitted upstream: ), two additional serial ports are available: Diagnostics Monitor and NMEA GPS. The three serial ports are:
# /dev/ttyUSB0 -> Diagnostics # /dev/ttyUSB1 -> 3G Modem # /dev/ttyUSB2 -> NMEA GPS port
There is a PPA for the qcserial module for Ubuntu 10.10 which uses DKMS: ppa:dveeden/thinkpad-fixes.
If you have another serial USB device activated before the Gobi the ttyUSB-numbers will certainly change.
The Diagnostics Monitor uses Qualcomm's DM protocol; I used libqcdm (ModemManager) to talk to it, found it working, but at least DM commands 12 and 64 are not implemented on my device (Thinkpad x100e).
The GPS port and how to enable it has been confirmed now in the Gobi 3000 source code at: https://www.codeaurora.org/patches/quic/gobi/ Enable/disable GPS with:
echo "\$GPS_START" > /dev/ttyUSB2 # use GPS echo "\$GPS_STOP" > /dev/ttyUSB2
To verify if the device is in the right mode use gpscat
$ gpscat /dev/ttyUSB2 6,,,,26,,,,13,,,*70 $GPGSV,4,2,16,14,,,,25,,,,08,,,,09,,,*7B $GPGSV,4,3,16,32,,,,24,,,,,11,,,*73
You could use gpsctl to verify if gpsd detected the device correctly:
$ gpsctl gpsctl: /dev/ttyUSB2 identified as Generic NMEA at 9600
Detection can take a few minutes.
If gpsd didn't detect the serial port the use the following line:
sudo /lib/udev/gpsd.hotplug add /dev/ttyUSB2
Use xgps or cgps to verify if the GPS has a fix. If it does have a fix you could use TangoGPS or any other GPS tool which uses gpsd.
To use GPS for time synchronization add the following lines to /etc/ntp.conf:
server 127.127.28.0 minpoll 4 prefer fudge 127.127.28.0 time1 0.183 refid NMEA
The 0.183 is for NMEA 0183
If it works it will look like this:
# ntpq -c peers remote refid st t when poll reach delay offset jitter ============================================================================== *SHM(0) .NMEA. 0 l 15 16 317 0.000 -49.965 5.312
Carrier specific configurations
Each device is intended to be used with a specific carrier, and is shipped with firmware to support that carrier. Notebooks are often also shipped with a pre-installed SIM. Other carriers may work by loading a different firmware version. The 'generic UMTS' stage 3 firmware is known to with with O2, an unsupported UK carrier. See above for a list of known firmware files.
Some users have experienced the modem entering a strange state in which it refuses any attempt of loading the firmware. There seem to be at least two ways to reset the modem to get it working as normally again:
1) try to disable WWAN in BIOS and boot your computer. Then shut down it, and enable WWAN again. OR:
2) remove the AC adapter as well as the battery pack and then hold the power button for some time (approx 30 sec. - 1 min.). Then insert the battery again and boot as usual.
See discussion page (22 - 23 January 2011) for further details. --stman 10:10, 23 January 2011 (UTC)
ThinkPads this device may be found in
AT&T service contract may be required
Verizon service contract may be required
Gobi 2000 WWAN upgradable