1
+ gobi_loader
2
+
3
+ gobi_loader is a firmware loader for Qualcomm Gobi USB chipsets. These devices
4
+ appear in an uninitialised state when power is applied and require firmware
5
+ to be loaded before they can be used as modems. gobi_loader adds a udev rule
6
+ that will trigger loading of the firmware and make the modem usable.
7
+
8
+ Installing:
9
+
10
+ make; make install
11
+
12
+ You also need the qcserial driver. This is included in kernels 2.6.30 and
13
+ later. Ensure that it has the IDs for your device. If not, add a line like
14
+
15
+ {USB_DEVICE(0x1234, 0x5678)},
16
+
17
+ to the id_table structure in drivers/usb/serial/qcserial.c and
18
+ rebuilt. This device is the firmware loading device and is not usable
19
+ as a modem. When loaded, qcserial should create a /dev/ttyUSB
20
+ device. Check that /etc/udev/rules.d/60-gobi.rules has an entry for your device
21
+ - if not, copy one of the existing lines and change the vendor and product IDs.
22
+ Note that a device line is only needed for the firmware loading ID, not the
23
+ modem ID.
24
+
25
+ Now you need the modem firmware. This can be obtained from a Windows
26
+ install - alternatively it may be possible to download from your
27
+ vendor's site and extracted with wine. You need the amss.mbn and
28
+ apps.mbn files corresponding to your mobile provider. For Gobi 2000
29
+ devices you also need UQCN.mbn. As yet, I don't have a good mapping
30
+ between devices and the appropriate firmware, so you'll need to figure
31
+ this out yourself. Remember that some mobile providers use CDMA and
32
+ some use GSM - the CDMA firmware will typically be a smaller file than
33
+ the GSM firmware (approximately 5MB for CDMA firmware, approximately
34
+ 9MB for GSM firmware). On my install, these files could be found in a
35
+ QDLService/Packages directory.
36
+
37
+ Please don't ask me for firmware. It's copyright Qualcomm and I can't
38
+ redistribute it.
39
+
40
+ Copy the appropriate firmware into /lib/firmware/gobi. Unload and
41
+ reload the qcserial driver or reboot your machine. Assuming you
42
+ installed the application and rules correctly, and assuming that
43
+ qcserial and the rules file both contain your modem devices, your
44
+ firmware will now load. The firmware loading device will now detach
45
+ from your system and reattach with a different ID. If you had to add
46
+ the firmware loading device to qcserial.c then you will probably also
47
+ need to add the modem device. However, the modem device does not need
48
+ to be added to the udev rules file.
49
+
50
+ A /dev/ttyUSB device will now exist for your modem. Recent versions of
51
+ network-manager should automatically pick it up - older versions (and
52
+ any other modem management software) may need more assistence.
53
+
54
+ Author:
55
+
56
+ This code was writte by Matthew Garrett <
[email protected] > and is
57
+ released under the terms of version 2 of the GNU General Public
58
+ License. It is based on code written by Alexander Shumakovitch and
59
+ contains crc generation code from the Linux kernel. Gobi 2000 support
60
+ was provided by Anssi Hannula. The code was written by examining USB
61
+ traffic dumps under Windows - the Qualcomm drivers or firmware have
62
+ not been reverse engineered or disassembled in any way.
0 commit comments