I have a new Palm Treo 700p from Verizon, and it seems they 
have modified the software so the stock
kernel drivers will cause the 700p to reboot when the first character is 
sent to ttyUSB0. When the Verizon
USB drivers are installed on Windoze, it works fine. I have been testing 
with Hyperterm/Kermit, connecting
to the Treo serial device and sending an "AT\r" command. On Windoze it 
returns the "OK", but on Linux the
Treo will reboot as soon as you hit the "A".  I installed a USB trace 
program on Windoze and got a trace of
the session that works. It looks to me like they have some extra data 
that is sent when the serial device is
opened, could this be a code Verizon is using to limit use to their 
driver only? I am willing to do more testing,
but am unclear how to approach modifying the driver to mimic the working 
session. It looks to me like the
Windoze driver is sending one or two extra packets:  41 54 45 30 0D   
"ATE0\r" and/or 24 00 00 00 "$..."
when the device is opened. Below I have included more details and the 
trace of the working session.

------------------- Palm Treo 700p ------------------------
USB Root Hub
   Port1: Palm Handheld
       Hub Power: Self Power
       Number of Ports: 2
       Power switching: None
       Compound device: No
       Over-current Protection: Individual
       Device Descriptor
           USB Version: 1.1
           Device Class: (0) Reserved (defined in Interface Descriptor)
           Device Subclass: 0
           Device Protocol: 0
           Max Packet Size: 0x10 (16) bytes
           Vendor: 0x0830 ()
           Product ID: 0x0061
           Product Version: 0x0100
           Manufacturer: 1
               0x0409: Palm, Inc.
           Product: 2
               0x0409: Palm Handheld
           SerialNumber: 5
               0x0409: PalmSN12345678
           Number of Configurations: 1
       Connection Status: Device Connected
       Current Configuration: 1
       Device Bus Speed: Full
       Device Address: 0x01
       Number of Open Pipes: 4
       Configuration Descriptor (1)
           Total Length: 46 bytes
           Number of Interfaces: 1
           Configuration Value: 1
           Configuration: 0
           Attributes: 0xc0
               Bus Powered
               Self Powered
           Max Power: 0xfa (500 Ma)
       Interface Descriptor (0)
           Interface Number: 0
           Alternate Setting: 0x00
           Number of Endpoints: 0x04
           Interface Class: (255) Vendor Specific
           Interface Subclass: 0
           Interface Protocol: 0
           Interface: 0
       Endpoint Descriptor (Addr: 0x81)
           Endpoint Address: 0x81, Input
           Transfer Type: Bulk
           Max Packet Size: 0x0040 (64) bytes
           Interval: 0x0a
       Endpoint Descriptor (Addr: 0x02)
           Endpoint Address: 0x02, Output
           Transfer Type: Bulk
           Max Packet Size: 0x0040 (64) bytes
           Interval: 0x00
       Endpoint Descriptor (Addr: 0x86)
           Endpoint Address: 0x86, Input
           Transfer Type: Bulk
           Max Packet Size: 0x0040 (64) bytes
           Interval: 0x00
       Endpoint Descriptor (Addr: 0x07)
           Endpoint Address: 0x07, Output
           Transfer Type: Bulk
           Max Packet Size: 0x0040 (64) bytes
           Interval: 0x00
   Port2: No Device Connected
---------------------- OPEN , send "AT\r" get "\r\jOK\r\j"  CLOSE ---

SendPipeHandle: 0x8834a884 (EndpointAddr: 0x7)
1Send 0x10 bytes to palm:
4c 73 66 72 90 00 01 00 0d 00 00 00 00 00 00 00     Lsfr............

GetPipeHandle: 0x8834a864 (EndpointAddr: 0x86)
2Get 0x10 bytes from palm:
4c 73 66 72 90 00 10 00 0d 00 00 00 00 00 00 00     Lsfr............

SendPipeHandle: 0x8834a884 (EndpointAddr: 0x7)
3Send 0x10 bytes to palm:
4c 73 66 72 91 00 03 00 0e 00 00 00 05 00 00 00     Lsfr............

SendPipeHandle: 0x8834a884 (EndpointAddr: 0x7)
4Send 0x5 bytes to the palm:
41 54 45 30 0D                                      ATE0.

GetPipeHandle: 0x8834a864 (EndpointAddr: 0x86)
5Get 0x10 bytes from the palm:
4c 73 66 72 05 01 01 00 a4 d6 b3 20 06 00 00 00     Lsfr............

GetPipeHandle: 0x8834a864 (EndpointAddr: 0x86)
6Get 0x6 bytes from the palm:
0d 0a 4f 4b 0d 0a                                   ..OK..

SendPipeHandle: 0x8834a884 (EndpointAddr: 0x7)
7Send 0x10 bytes to palm:
4c 73 66 72 98 00 01 00 0f 00 00 00 04 00 00 00     Lsfr............

SendPipeHandle: 0x8834a884 (EndpointAddr: 0x7)
8Send 0x4 bytes to the palm:
24 00 00 00                                         $...

GetPipeHandle: 0x8834a864 (EndpointAddr: 0x86)
9Get 0x10 bytes from the palm:
4c 73 66 72 98 00 10 00 0f 00 00 00 24 00 00 00     Lsfr............

GetPipeHandle: 0x8834a864 (EndpointAddr: 0x86)
10Get 0x24 bytes from the palm:
24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00     $...............
50 00 00 00 06 00 00 00 01 00 00 00 02 04 00 00     ................
00 00 00 00                                         ....

SendPipeHandle: 0x8834a884 (EndpointAddr: 0x7)
11Send 0x10 bytes to palm:
4c 73 66 72 91 00 03 00 10 00 00 00 01 00 00 00     Lsfr............

SendPipeHandle: 0x8834a884 (EndpointAddr: 0x7)
12Send 0x1 bytes to the palm:
61                                                  a

SendPipeHandle: 0x8834a884 (EndpointAddr: 0x7)
13Send 0x10 bytes to palm:
4c 73 66 72 91 00 03 00 11 00 00 00 01 00 00 00     Lsfr............

SendPipeHandle: 0x8834a884 (EndpointAddr: 0x7)
14Send 0x1 bytes to the palm:
74                                                  t

SendPipeHandle: 0x8834a884 (EndpointAddr: 0x7)
15Send 0x10 bytes to palm:
4c 73 66 72 91 00 03 00 12 00 00 00 01 00 00 00     Lsfr............

SendPipeHandle: 0x8834a884 (EndpointAddr: 0x7)
16Send 0x1 bytes to the palm:
0d                                                  .

GetPipeHandle: 0x8834a864 (EndpointAddr: 0x86)
17Get 0x10 bytes from the palm:
4c 73 66 72 05 01 01 00 a4 d6 b3 20 06 00 00 00     Lsfr............

GetPipeHandle: 0x8834a864 (EndpointAddr: 0x86)
18Get 0x6 bytes from the palm:
0d 0a 4f 4b 0d 0a                                   ..OK..

SendPipeHandle: 0x8834a884 (EndpointAddr: 0x7)
19Send 0x10 bytes to palm:
4c 73 66 72 92 00 01 00 13 00 00 00 00 00 00 00     Lsfr............

GetPipeHandle: 0x8834a864 (EndpointAddr: 0x86)
20Get 0x10 bytes from the palm:
4c 73 66 72 92 00 10 00 13 00 00 00 00 00 00 00     Lsfr............

---------- END -----------



-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to