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
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel