gobi_loader is a firmware loader for Qualcomm Gobi USB chipsets. These devices appear in an uninitialised state when power is applied and require firmware to be loaded before they can be used as modems. gobi_loader adds a udev rule that will trigger loading of the firmware and make the modem usable.
make; make install
You also need the qcserial driver. This is included in kernels 2.6.30 and later. Ensure that it has the IDs for your device. If not, add a line like
to the id_table structure in drivers/usb/serial/qcserial.c and rebuilt. This device is the firmware loading device and is not usable as a modem. When loaded, qcserial should create a /dev/ttyUSB device. Check that /etc/udev/rules.d/60-gobi.rules has an entry for your device - if not, copy one of the existing lines and change the vendor and product IDs. Note that a device line is only needed for the firmware loading ID, not the modem ID.
Now you need the modem firmware. This can be obtained from a Windows install - alternatively it may be possible to download from your vendor's site and extracted with wine. You need the amss.mbn and apps.mbn files corresponding to your mobile provider, along with UQCN.mbn if you have a Gobi 2000 device. As yet, I don't have a good mapping between devices and the appropriate firmware, so you'll need to figure this out yourself. Remember that some mobile providers use CDMA and some use GSM - the CDMA firmware will typically be a smaller file than the GSM firmware (approximately 5MB for CDMA firmware, approximately 9MB for GSM firmware). On my install, these files could be found in a QDLService/Packages directory.
Please don't ask me for firmware. It's copyright Qualcomm and I can't redistribute it.
Copy the appropriate firmware into /lib/firmware/gobi. Unload and reload the qcserial driver or reboot your machine. Assuming you installed the application and rules correctly, and assuming that qcserial and the rules file both contain your modem devices, your firmware will now load. The firmware loading device will now detach from your system and reattach with a different ID. If you had to add the firmware loading device to qcserial.c then you will probably also need to add the modem device. However, the modem device does not need to be added to the udev rules file.
A /dev/ttyUSB device will now exist for your modem. Recent versions of network-manager should automatically pick it up - older versions (and any other modem management software) may need more assistence.
This code was writte by Matthew Garrett