|
From: <ga...@vx...> - 2002-12-24 12:20:20
|
hi, here's a bk patch which adds support for almost all devices supported by microsoft activesync. thanks, ganesh # This is a BitKeeper generated patch for the following project: # Project Name: greg k-h's linux 2.4 USB kernel tree # This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas: # ChangeSet 1.859 -> 1.860 # Documentation/usb/usb-serial.txt 1.17 -> 1.18 # drivers/usb/serial/ipaq.h 1.7 -> 1.8 # Documentation/Configure.help 1.130 -> 1.131 # drivers/usb/serial/ipaq.c 1.18 -> 1.19 # # The following is the BitKeeper ChangeSet Log # -------------------------------------------- # 02/12/24 ga...@tu... 1.860 # The ActiveSync USB "protocol" seems to be the same for all WinCE # devices seen so far. So it seems reasonable to pre-emptively support # all devices which work with ActiveSync. # -------------------------------------------- # diff -Nru a/Documentation/Configure.help b/Documentation/Configure.help --- a/Documentation/Configure.help Tue Dec 24 05:36:02 2002 +++ b/Documentation/Configure.help Tue Dec 24 05:36:02 2002 @@ -14010,10 +14010,10 @@ The module will be called visor.o. If you want to compile it as a module, say M here and read <file:Documentation/modules.txt>. -USB Compaq iPAQ Driver +USB PocketPC PDA Driver CONFIG_USB_SERIAL_IPAQ - Say Y here if you want to connect to your Compaq iPAQ, HP Jornada 548/568 - or Casio EM500 running Windows CE 3.0 or PocketPC 2002 using a USB + Say Y here if you want to connect to your Compaq iPAQ, HP Jornada, + or any other PDA running Windows CE 3.0 or PocketPC 2002 using a USB cradle/cable. For information on using the driver, read <file:Documentation/usb/usb-serial.txt>. diff -Nru a/Documentation/usb/usb-serial.txt b/Documentation/usb/usb-serial.txt --- a/Documentation/usb/usb-serial.txt Tue Dec 24 05:36:02 2002 +++ b/Documentation/usb/usb-serial.txt Tue Dec 24 05:36:02 2002 @@ -95,27 +95,27 @@ Kroah-Hartman at gr...@kr... -Compaq iPAQ, HP Jornada and Casio EM500 driver +PocketPC PDA Driver - This driver can be used to connect to Compaq iPAQ, HP Jornada and Casio EM500 - PDAs running Windows CE 3.0 or PocketPC 2002 using a USB cable/cradle. - It's very likely that every device supported by ActiveSync USB works with this - driver. The driver supports the Compaq iPAQ, Jornada 548/568 and the Casio - EM500 out of the box. For others, please use module parameters to specify - the product and vendor id. e.g. modprobe ipaq vendor=0x3f0 product=0x1125 + This driver can be used to connect to Compaq iPAQ, HP Jornada, Casio EM500 + and other PDAs running Windows CE 3.0 or PocketPC 2002 using a USB + cable/cradle. + Most devices supported by ActiveSync are supported out of the box. + For others, please use module parameters to specify the product and vendor + id. e.g. modprobe ipaq vendor=0x3f0 product=0x1125 The driver presents a serial interface (usually on /dev/ttyUSB0) over - which one may run ppp and establish a TCP/IP link to the iPAQ. Once this + which one may run ppp and establish a TCP/IP link to the PDA. Once this is done, you can transfer files, backup, download email etc. The most - significant advantage of using USB is speed - you can get 73 to 113 - kbytes/sec for download/upload to the iPAQ. + significant advantage of using USB is speed - I can get 73 to 113 + kbytes/sec for download/upload to my iPAQ. This driver is only one of a set of components required to utilize the USB connection. Please visit http://synce.sourceforge.net which contains the necessary packages and a simple step-by-step howto. Once connected, you can use Win CE programs like ftpView, Pocket Outlook - from the iPAQ and xcerdisp, synce utilities from the Linux side. + from the PDA and xcerdisp, synce utilities from the Linux side. To use Pocket IE, follow the instructions given at http://www.tekguru.co.uk/EM500/usbtonet.htm to achieve the same thing @@ -130,8 +130,18 @@ If it doesn't work for some reason, load both the usbserial and ipaq module with the module parameter "debug" set to 1 and examine the system log. - You can also try soft-resetting your iPAQ before attempting a connection. + You can also try soft-resetting your PDA before attempting a connection. + Other functionality may be possible depending on your PDA. According to + Wes Cilldhaire <bil...@ho...>, with the Toshiba E570, + ...if you boot into the bootloader (hold down the power when hitting the + reset button, continuing to hold onto the power until the bootloader screen + is displayed), then put it in the cradle with the ipaq driver loaded, open + a terminal on /dev/ttyUSB0, it gives you a "USB Reflash" terminal, which can + be used to flash the ROM, as well as the microP code.. so much for needing + Toshiba's $350 serial cable for flashing!! :D + NOTE: This has NOT been tested. Use at your own risk. + For any questions or problems with the driver, please contact Ganesh Varadarajan <ga...@ve...> diff -Nru a/drivers/usb/serial/ipaq.c b/drivers/usb/serial/ipaq.c --- a/drivers/usb/serial/ipaq.c Tue Dec 24 05:36:02 2002 +++ b/drivers/usb/serial/ipaq.c Tue Dec 24 05:36:02 2002 @@ -9,6 +9,10 @@ * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * + * (12/12/2002) ganesh + * Added support for practically all devices supported by ActiveSync + * on Windows. Thanks to Wes Cilldhaire <bil...@ho...>. + * * (26/11/2002) ganesh * Added insmod options to specify product and vendor id. * Use modprobe ipaq vendor=0xfoo product=0xbar @@ -68,9 +72,9 @@ * Version Information */ -#define DRIVER_VERSION "v0.4" +#define DRIVER_VERSION "v0.5" #define DRIVER_AUTHOR "Ganesh Varadarajan <ga...@ve...>" -#define DRIVER_DESC "USB Compaq iPAQ, HP Jornada, Casio EM500 driver" +#define DRIVER_DESC "USB PocketPC PDA driver" static int product, vendor; @@ -94,10 +98,36 @@ static struct usb_device_id ipaq_id_table [] = { /* The first entry is a placeholder for the insmod-specified device */ { USB_DEVICE(COMPAQ_VENDOR_ID, COMPAQ_IPAQ_ID) }, + { USB_DEVICE(ASKEY_VENDOR_ID, ASKEY_PRODUCT_ID) }, + { USB_DEVICE(BCOM_VENDOR_ID, BCOM_0065_ID) }, + { USB_DEVICE(BCOM_VENDOR_ID, BCOM_0066_ID) }, + { USB_DEVICE(BCOM_VENDOR_ID, BCOM_0067_ID) }, + { USB_DEVICE(CASIO_VENDOR_ID, CASIO_2001_ID) }, + { USB_DEVICE(CASIO_VENDOR_ID, CASIO_EM500_ID) }, { USB_DEVICE(COMPAQ_VENDOR_ID, COMPAQ_IPAQ_ID) }, + { USB_DEVICE(COMPAQ_VENDOR_ID, COMPAQ_0032_ID) }, { USB_DEVICE(HP_VENDOR_ID, HP_JORNADA_548_ID) }, { USB_DEVICE(HP_VENDOR_ID, HP_JORNADA_568_ID) }, - { USB_DEVICE(CASIO_VENDOR_ID, CASIO_EM500_ID) }, + { USB_DEVICE(HP_VENDOR_ID, HP_2016_ID) }, + { USB_DEVICE(HP_VENDOR_ID, HP_2116_ID) }, + { USB_DEVICE(HP_VENDOR_ID, HP_2216_ID) }, + { USB_DEVICE(HP_VENDOR_ID, HP_3016_ID) }, + { USB_DEVICE(HP_VENDOR_ID, HP_3116_ID) }, + { USB_DEVICE(HP_VENDOR_ID, HP_3216_ID) }, + { USB_DEVICE(HP_VENDOR_ID, HP_4016_ID) }, + { USB_DEVICE(HP_VENDOR_ID, HP_4116_ID) }, + { USB_DEVICE(HP_VENDOR_ID, HP_4216_ID) }, + { USB_DEVICE(HP_VENDOR_ID, HP_5016_ID) }, + { USB_DEVICE(HP_VENDOR_ID, HP_5116_ID) }, + { USB_DEVICE(HP_VENDOR_ID, HP_5216_ID) }, + { USB_DEVICE(LINKUP_VENDOR_ID, LINKUP_PRODUCT_ID) }, + { USB_DEVICE(MICROSOFT_VENDOR_ID, MICROSOFT_00CE_ID) }, + { USB_DEVICE(PORTATEC_VENDOR_ID, PORTATEC_PRODUCT_ID) }, + { USB_DEVICE(SAGEM_VENDOR_ID, SAGEM_WIRELESS_ID) }, + { USB_DEVICE(SOCKET_VENDOR_ID, SOCKET_PRODUCT_ID) }, + { USB_DEVICE(TOSHIBA_VENDOR_ID, TOSHIBA_PRODUCT_ID) }, + { USB_DEVICE(HTC_VENDOR_ID, HTC_PRODUCT_ID) }, + { USB_DEVICE(NEC_VENDOR_ID, NEC_PRODUCT_ID) }, { } /* Terminating entry */ }; @@ -106,7 +136,7 @@ /* All of the device info needed for the Compaq iPAQ */ struct usb_serial_device_type ipaq_device = { .owner = THIS_MODULE, - .name = "Compaq iPAQ", + .name = "PocketPC PDA", .id_table = ipaq_id_table, .num_interrupt_in = NUM_DONT_CARE, .num_bulk_in = 1, diff -Nru a/drivers/usb/serial/ipaq.h b/drivers/usb/serial/ipaq.h --- a/drivers/usb/serial/ipaq.h Tue Dec 24 05:36:02 2002 +++ b/drivers/usb/serial/ipaq.h Tue Dec 24 05:36:02 2002 @@ -9,22 +9,66 @@ * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * - * */ #ifndef __LINUX_USB_SERIAL_IPAQ_H #define __LINUX_USB_SERIAL_IPAQ_H +#define ASKEY_VENDOR_ID 0x1690 +#define ASKEY_PRODUCT_ID 0x0601 + +#define BCOM_VENDOR_ID 0x0960 +#define BCOM_0065_ID 0x0065 +#define BCOM_0066_ID 0x0066 +#define BCOM_0067_ID 0x0067 + +#define CASIO_VENDOR_ID 0x07cf +#define CASIO_2001_ID 0x2001 +#define CASIO_EM500_ID 0x2002 #define COMPAQ_VENDOR_ID 0x049f #define COMPAQ_IPAQ_ID 0x0003 +#define COMPAQ_0032_ID 0x0032 #define HP_VENDOR_ID 0x03f0 #define HP_JORNADA_548_ID 0x1016 #define HP_JORNADA_568_ID 0x1116 +#define HP_2016_ID 0x2016 +#define HP_2116_ID 0x2116 +#define HP_2216_ID 0x2216 +#define HP_3016_ID 0x3016 +#define HP_3116_ID 0x3116 +#define HP_3216_ID 0x3216 +#define HP_4016_ID 0x4016 +#define HP_4116_ID 0x4116 +#define HP_4216_ID 0x4216 +#define HP_5016_ID 0x5016 +#define HP_5116_ID 0x5116 +#define HP_5216_ID 0x5216 + +#define LINKUP_VENDOR_ID 0x094b +#define LINKUP_PRODUCT_ID 0x0001 + +#define MICROSOFT_VENDOR_ID 0x045e +#define MICROSOFT_00CE_ID 0x00ce + +#define PORTATEC_VENDOR_ID 0x0961 +#define PORTATEC_PRODUCT_ID 0x0010 + +#define SAGEM_VENDOR_ID 0x5e04 +#define SAGEM_WIRELESS_ID 0xce00 + +#define SOCKET_VENDOR_ID 0x0104 +#define SOCKET_PRODUCT_ID 0x00be -#define CASIO_VENDOR_ID 0x07cf -#define CASIO_EM500_ID 0x2002 +#define TOSHIBA_VENDOR_ID 0x0930 +#define TOSHIBA_PRODUCT_ID 0x0700 + +#define HTC_VENDOR_ID 0x0bb4 +#define HTC_PRODUCT_ID 0x00ce + +#define NEC_VENDOR_ID 0x0409 +#define NEC_PRODUCT_ID 0x00d5 /* * Since we can't queue our bulk write urbs (don't know why - it just @@ -41,8 +85,7 @@ * * The value of PACKET_SIZE was empirically determined by * checking the maximum write sizes sent down by the ppp ldisc. - * URBDATA_QUEUE_MAX is set to 64K, which is the maximum TCP window size - * supported by the iPAQ. + * URBDATA_QUEUE_MAX is set to 64K, which is the maximum TCP window size. */ struct ipaq_packet { This BitKeeper patch contains the following changesets: + ## Wrapped with gzip_uu ## begin 664 bkpatch1071 M'XL(`/*D!SX``\59;7/:2!+^#+^BU[FJ2[)8C-[!==X*`7;#)38LV)M+U56E M1M*`Y@P:3B^VN>/^^_6,`"%A.SB^JVSM&FFZ^YF>GF>Z>[2OX#IA\5EM1B.6 MA/57\$$DZ5DMS>Y3L=1N[WD4<*K=LIBG--%\L4"5L1"HT@S%@C5SN^:=B&^: M6>*=&IIU*E]X-*NCZHBF?@AHGIS5=,W<C:2K)3NKC?N_77_JC.OU\W/HAC2: ML0E+X?R\[MV\"S(VUVYB04--Q+/U3KPV"-&)373#M!QBK(E+='OMN`%U+9.T M;=L*=*;79S&;O<O-T>FRN:$;AD40QB)K8K1;9KT'NM9R"!"CJ1M-PP)BGYG& MF>G\+!\(Y*M\]WA4X&<+3DG]/;S<\V[=AZN00<=/^2V;K"(?KB?OX609BU3X M8GX""6.+!%(!'H,4-1.Z8#`5,=#Y'#[SJ-M'B(#=<I\E4CF"1,"4QAI,!/!T M8Q\SFHB(>G,FH98Q.V6+I9QROH(D6RY%G"*,A-Q"W84<MT[N+MSQ--SS4*M_ M!)VTVFY]5&QD_?29_]3KA)+Z+["4%*F&,8BYI)$D61,9R^F\R9?TGYJOPHH[ MZN@MV[3)6C=;EK'V7--SF=MV;8MYGF-^>PN?GF'+&6*UUKKKMJ6?AWO=$WZV M8%%*4RZB9E=$4S[+8J:%;+[<VWY;-ZTU:3N&OF8MW'.3!33023MH&T?X^:U) M]EVUB6.ZSPUI>!!2RT&L-M,]UW6,=C!E@4.<%X0TK/II&E;+.B*D$DBFF1Q, M2^_3<EC=M>&VV\[:FK9MWR>VXYD&8W;P[+`^/%&)!4;+L57J>FI#'LYF+^=) M-<$=00J]K;<PT1!%BCSGZ:9>SGGDS&H=G_-,.#7_9SFO$P0LV&:>73K;RX(; M$2IM$I+,.CG!AW`:WZE_,8N,GMR0[\A*/2P4N@EZ?;!]D`EY)/P;EHZZ,.IU MH*>(GFO:8.2:#CX`3.@*OD#(8@9\"BN1P1V-4IES?1%%S%>/.!Q#5RSP<``? M=7YOP(<1_%7$$0UH`T%D-*(5"$SWL9HPSJ((:ZQ,]X&X2Z#;!U,C4F_GE]QU MR!*I164)>8"KARP_AJ_?>PB?YNRC)T['RD(,8JY-TVTY.6];+Z&M8<"I;OQ@ MXN;IXTGB'D;D>\C;;DGFJK\/4Y80<)"PQ,8?P-:#)Y#G;?!I)'N,+$'7RWQ] MC*K0I0D7T+^P"4$P&@4%9Y/O(BV@%]BC-/V8!G.FX?L%=JA%>[.+K;?:CSG% MXU;(1):"F*IFR1/W$N17G%1YEC1@.<=62"T3%B+(L"%:TAA[JA2E<K')DOE\ MNE+FV(4%&<9`KNR6X3)B!..!!DR;:=(<%3!DLLIMY.?DWIR2K2&^866U9=C5 MON0_L.FM1(0N8+[`0,%RN52SL"3%`/`DQ(!<=4?-P0CF/+J1CDF',+`:#"-? MMH(\05R=J/RCZRK[)'P6\2GW9<JAP2W^T!F3L<AC+!,9[C>N$*-T"@.UY3-L MPEU33J#K)F+<>*N4)5C`?<5NW+IH+FC0S);R1^HM5HH*FIP^7Y:>+VL:XX'; MN*E6<^^S..#)L@')2CJ=I7S.4XX[N5/]Q*/L'AT/F,0S\\2K?@"^8/J4+M(Y MMK1IC)VJF*:G,4M8FLKUJ#PJY_(8NLJ`IJGJ:A6=-OS%HZ5)1`M;5H0<*GY. MLTA)*'JS4GN`N[@42<)E@QRP)>ZE1!'1;@X-^>:+6`VG`I$^XRJZ?#X/0LIQ M[K]X^+SRA/</P4(6Q?+Q72C2!>5SF8A^:>1MM%SSE4A"[E'HVRZ1^5[3M$VQ M\/"R!3S:[+9\DT%'CU^'8AZHS<B)*>YP\`XG@I#GP<!AA%+!`2]+4Q$U9`Q0 MEN4^@X(06_`<(D.%>76RQ(_Q'B&ICLD!MV].5RQXTY!JR%0\75PZJ:SR@UHL M31V%34)1:$$#Q%*!4<`CMN`8=!G7)I[I9IJND).D(0%G:).H(%`XD4P=L^F< M)N')SJRQ.3=("83;2U5*3TT_'EXT@.+EA6%2QE\YMN!^+$88"Z28!O)VM,@0 M19([PH,@[ZZPW9(_)_`G[($A3\)Y,E*::@I4_>DG..NA_N7PJG^6I\\0Y\%7 M=`BC@T<'4Y`F[]E(QYP]<M-BGMQ@)E)5^=&KARS'_X_K4+44?^ONLZG!+O:. M!&]YJ@:W7]0ZXGW9^M$E6-WC*B7XT4A\1^W%-`A6'=[":SV/%,;RS28Z<KAV MZ/<RINBUC^ZO2G?O1^J<0L&SLZFH&O*/1C>J:CTW&R$7W]9[KB[3K?K[*F!3 MC@6I-Q[\T1]_Q?\F@^$EG-P2S3Y!3968U=^*9J\_Z>8'MM1PY)$]P5[$P4ZC M]F]9?%#WCT&W_[HS^=C_@E-<]H;CKX->`_*!T7C8N^Y>X<@;^$^C8O.^.[S8 M-U'OA#CV\]2=YZF[#ZMW.QB<??U\0%+X60:J<]I:#-HN1K=B-[S`2ELRS$<( M,8VMH6KJ5'>!S0"I('P8[5OCFX%7E8>=/%35CU<UCE8UCW?`/-X!\W@'K.,= ML(YWP#K>`?MX!^SC';`?=>#3X/+C=4E],_+DB;L8=,?#R?#7JWW#8I"0;O]A MP]%P?-6YZG?W[79C3TXYZ?S6+YW#?.#S8-S_U)],'C$:=C_V2TYN1IZ<ZFHX M^3!XW]DWVPX]:??AJK0N^?JD_F4Y#I>'(<#CV\Z/K_RI:9'\P'M>J]5.]A/J M2>/)WB%\=N]PY'>_8WN'_",?:6%Z<<V6X:X-R\!DI+ZUOZ1UL%IP:O_@UB'_ M7GEDZQ!^US<G0S$`"T!17RM5LE;#RZ2#+4Q97I`)Y<0A>OWO.XUR59,`I.V0 MLGA30I40'P^$3B%T#H1N(73WYJU4.Z7A^M.*?%,MI50^5J3;TK@1XR77('O- M1[D,YCZ84LD"P]UI%>4NA]&=DD@O1'I%9!0BHRPR"T"S`F@6@&8%T"P`S0J@ M50!:%4"K`+0J@%8!:%4`[0+0K@#:!:!=`;0+0/FXMYW5\J%X9'E5>9F)I,3$ M!VJ)5+)L]H#*IK(H%)_MH1P6EIS2^J%&Q1F\^Q<PE2JC5LR(59'O%1U4\!DI M051JCIQ$WX>H5B#EA<?J/4-^)QX8+K1VR@>E2*W*)`<*93BWY%&I+JGSX'E6 M2;IG?1C:4IE2<HNT2]*J>6#7>Y8E%V/9\FO-6[@>O^]UKCI??[_N7_>_7G3^ MICXV,?4)T;$^;J_O?',MI_=\D2WD5RZX4Q<:2/B_F%;\CV0_9/Y-DBW./9L% -A%I^_;_FR3#RP!X````` ` end |