Index of /cdma/source

Icon  Name                                 Last modified      Size  
[DIR] Parent Directory - [   ] acm.c.patch-2.4.27-qualcomm-2.md5 06-Apr-2007 11:02 64 [   ] acm.c.patch-2.4.27-qualcomm 06-Apr-2007 11:02 1.6K [   ] acm.c.patch-2.4.27-qualcomm-2 06-Apr-2007 11:02 1.6K [   ] acm.c.patch-2.4.27-qualcomm.md5 06-Apr-2007 11:02 62 [   ] cdc-acm.c.patch-2.6.8.1-qualcomm 06-Apr-2007 11:02 1.5K [   ] cdc-acm.c.patch-2.6.8.1-qualcomm.md5 06-Apr-2007 11:02 67 [   ] linux-2.6.11-qualcomm-3.patch 06-Apr-2007 11:02 3.5K [   ] linux-2.6.11-qualcomm-3.patch.sha1 06-Apr-2007 11:02 72 [   ] linux-2.6.8.1-qualcomm-3.patch 06-Apr-2007 11:02 3.4K [   ] linux-2.6.8.1-qualcomm-3.patch.sha1 06-Apr-2007 11:02 73
Latest patch version: 3
Updated: 2005-04-26
History:
- fixed command quotation in this README
- version 3 for 2.6.11 vanilla kernel (submitted by Ondrej Kubecka)
- version 3 for 2.6.8.1 kernel is still appliable to vanilla 2.6.10 kernel
- MD5sums were replaced by SHA1sums because of Chinese who are good in
  cryptology
- Patches version 3 and above for 2.6.8.1 apply given packet size only to
  Qualcomm CDMA Wireless Modem (e.g. Gtran GPC-6420). Other ACM devices will be
  untouched. 'max_packet_size' parameter was renamed to
  'qualcomm_max_packet_size'
- Fixed patch for 2.4.27 (not compilable -- bad parameter definition)
- Fixed bad diffs (was not possible to apply them)


BEFORE READING AND DOING ANYTHING ELSE
Please, use the latest version of apropriate patch. In the text bellow replace
file names with names of files, that YOU downloaded. 


DESCRIPTION
This directory contains patches for LKMs acm (vanilla 2.4.27) and cdc-acm
(vanilla 2.6.8.1) which are used for driving of GPC-6420 CDMA modem (made by
Gtran Korea, Inc.) identified itself as Qualcomm, Inc. CDMA Wireless Modem.

This modem is badly known due to its power bugs. But the significant bug is
misreporting maximal size of USB packet. The device reports 64. That limits
maximal transfer rate about 256 kbps.


APPLYING PATCHES
These patches add new module parameter 'max_packet_size'
('qualcomm_max_packet_size' in case patch version 3) which can force another
packet size. The patch files were made accross standalone C source
files (acm.c and cdc-acm.c) by version 2. In case version 3 were made accross
the whole kernel source tree. You can patch as follows in case 2.4.27 kernel

$ patch /usr/src/linux-2.4.27/drivers/usb/acm.c \
< acm.c.patch-2.4.27-qualcomm

and in case 2.6.8.1 kernel patch version 2

$ patch /usr/src/linux-2.6.8.1/drivers/usb/class/cdc-acm.c \
<cdc-acm.c.patch-2.6.8.1-qualcomm

and in case 2.6.8.1 kernel patch version 3
$ patch -p1 -d /usr/src/linux-2.6.8.1 <linux-2.6.8.1-qualcomm.patch


USING PATCHED MODULES
After compiling and installing you can add new module with new parameter
max_packet_size (or qualcomm_max_packet_size). If you doesn't use this
parameter or if you put value 0 ('zero'), it will use the orignal value
reported by the modem, e.g.

$ modprobe cdc-acm max_packet_size=1024

(or

$ modprobe cdc-acm qualcomm_max_packet_size=1024

)

After plugin your modem into USB port you should see message 'forcing new
wMaxPacketSize NNNN' (or 'forcing new wMaxPacketSize for Qualcomm device:
NNNN'), where NNNN is a value of given parameter max_packet_size
(qualcomm_max_pcket_size). 


Please, test this patch and different values and report me any success or fails.

--Petr Pisar
<xpisar@fi.muni.cz>