OLD | NEW |
(Empty) | |
| 1 Qualcomm Gobi 2000 driver |
| 2 ------------------------- |
| 3 |
| 4 This directory contains a driver for the Qualcomm Gobi 2000 CDMA/GSM modem. The |
| 5 device speaks a protocol called QMI with its host; this driver's responsibility |
| 6 is to multiplex transactions over QMI connections. Note that the relatively |
| 7 simple encoding defined in qmi.h and qmi.c is only the encapsulating protocol; |
| 8 the device speaks a more complex set of protocols embodied in the closed-source |
| 9 Gobi SDK which are necessary to use advanced features of the device. |
| 10 Furthermore, firmware (also proprietary) is needed to make the device useful. An |
| 11 open-source firmware loader exists: http://www.codon.org.uk/~mjg59/gobi_loader/. |
| 12 |
| 13 Interfaces: |
| 14 This driver presents two separate interfaces to userspace: |
| 15 - usbN, an ordinary usb network interface |
| 16 - /dev/qcqmiN, a channel to speak to the device using QMI messages |
| 17 The latter is for use by the Gobi SDK. |
| 18 |
| 19 History: |
| 20 This driver's original incarnation (of which this is a rewrite) was released |
| 21 under GPLv2 by Qualcomm on their Code Aurora site: |
| 22 https://www.codeaurora.org/gitweb/quic/la/?p=kernel/msm.git;a=commit;h=b5135a880
f8942f990e8c2e383f7f876beacc55b |
| 23 |
| 24 Issues: |
| 25 Help and commentary on any of the issues below would be appreciated. |
| 26 - The locking in devqmi_close() is not threadsafe: we're walking a list of tasks |
| 27 without holding a lock on the list. The original driver did this and I have |
| 28 left it intact because I do not fully understand what's going on here. |
| 29 - The driver seems to deadlock very occasionally (one in ~6000 reboots during |
| 30 stress testing). I've had no luck tracking this problem down. |
OLD | NEW |