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