USB

From WebOS Internals
Revision as of 19:12, 9 January 2010 by KerwoodDerby (talk | contribs) (Added lsusb output from Pixi, and included the diff between them.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

lsusb from a linux host after running "usbnet enable" to get into 0101 mode. See further for Pixi's info.

Palm Pre

<source lang="text">

Bus 002 Device 003: ID 0830:0101 Palm, Inc. Device Descriptor:

 bLength                18
 bDescriptorType         1
 bcdUSB               2.00
 bDeviceClass            0 (Defined at Interface level)
 bDeviceSubClass         0 
 bDeviceProtocol         0 
 bMaxPacketSize0        64
 idVendor           0x0830 Palm, Inc.
 idProduct          0x0101 
 bcdDevice            2.16
 iManufacturer           1 Palm Inc.
 iProduct                2 Pre
 iSerial                 3 a5470bf024bd51193d15a9614fe7d302960c955f
 bNumConfigurations      1
 Configuration Descriptor:
   bLength                 9
   bDescriptorType         2
   wTotalLength          128
   bNumInterfaces          4
   bConfigurationValue     1
   iConfiguration          4 Composite 500mA
   bmAttributes         0xc0
     Self Powered
   MaxPower              500mA
   Interface Association:
     bLength                 8
     bDescriptorType        11
     bFirstInterface         0
     bInterfaceCount         2
     bFunctionClass          2 Communications
     bFunctionSubClass       6 Ethernet Networking
     bFunctionProtocol       0 
     iFunction              10 USB Ethernet Gadget
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        0
     bAlternateSetting       0
     bNumEndpoints           1
     bInterfaceClass         2 Communications
     bInterfaceSubClass      2 Abstract (modem)
     bInterfaceProtocol    255 Vendor Specific (MSFT RNDIS?)
     iInterface              9 RNDIS Communications Control
     CDC Header:
       bcdCDC               1.10
     CDC Call Management:
       bmCapabilities       0x00
       bDataInterface          1
     CDC ACM:
       bmCapabilities       0x00
     CDC Union:
       bMasterInterface        0
       bSlaveInterface         1 
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x82  EP 2 IN
       bmAttributes            3
         Transfer Type            Interrupt
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0010  1x 16 bytes
       bInterval               9
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        1
     bAlternateSetting       0
     bNumEndpoints           2
     bInterfaceClass        10 CDC Data
     bInterfaceSubClass      0 Unused
     bInterfaceProtocol      0 
     iInterface              6 Ethernet Data
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x81  EP 1 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               0
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x01  EP 1 OUT
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               0
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        2
     bAlternateSetting       0
     bNumEndpoints           2
     bInterfaceClass         8 Mass Storage
     bInterfaceSubClass      6 SCSI
     bInterfaceProtocol     80 Bulk (Zip)
     iInterface             17 Mass Storage
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x83  EP 3 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               0
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x02  EP 2 OUT
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               1
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        3
     bAlternateSetting       0
     bNumEndpoints           3
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass     71 
     bInterfaceProtocol     17 
     iInterface             20 novacom linux
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x84  EP 4 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               0
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x03  EP 3 OUT
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               1
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x85  EP 5 IN
       bmAttributes            3
         Transfer Type            Interrupt
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0008  1x 8 bytes
       bInterval               6

Device Qualifier (for other device speed):

 bLength                10
 bDescriptorType         6
 bcdUSB               2.00
 bDeviceClass            0 (Defined at Interface level)
 bDeviceSubClass         0 
 bDeviceProtocol         0 
 bMaxPacketSize0        64
 bNumConfigurations      1

Device Status: 0x0001

 Self Powered

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Device Descriptor:

 bLength                18
 bDescriptorType         1
 bcdUSB               2.00
 bDeviceClass            9 Hub
 bDeviceSubClass         0 Unused
 bDeviceProtocol         0 Full speed (or root) hub
 bMaxPacketSize0        64
 idVendor           0x1d6b Linux Foundation
 idProduct          0x0002 2.0 root hub
 bcdDevice            2.06
 iManufacturer           3 Linux 2.6.27-7-server ehci_hcd
 iProduct                2 EHCI Host Controller
 iSerial                 1 0000:02:03.0
 bNumConfigurations      1
 Configuration Descriptor:
   bLength                 9
   bDescriptorType         2
   wTotalLength           25
   bNumInterfaces          1
   bConfigurationValue     1
   iConfiguration          0 
   bmAttributes         0xe0
     Self Powered
     Remote Wakeup
   MaxPower                0mA
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        0
     bAlternateSetting       0
     bNumEndpoints           1
     bInterfaceClass         9 Hub
     bInterfaceSubClass      0 Unused
     bInterfaceProtocol      0 Full speed (or root) hub
     iInterface              0 
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x81  EP 1 IN
       bmAttributes            3
         Transfer Type            Interrupt
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0004  1x 4 bytes
       bInterval              12

Hub Descriptor:

 bLength               9
 bDescriptorType      41
 nNbrPorts             6
 wHubCharacteristic 0x000a
   No power switching (usb 1.0)
   Per-port overcurrent protection
 bPwrOn2PwrGood       10 * 2 milli seconds
 bHubContrCurrent      0 milli Ampere
 DeviceRemovable    0x00
 PortPwrCtrlMask    0xff
Hub Port Status:
  Port 1: 0000.0503 highspeed power enable connect
  Port 2: 0000.0100 power
  Port 3: 0000.0100 power
  Port 4: 0000.0100 power
  Port 5: 0000.0100 power
  Port 6: 0000.0100 power

Device Status: 0x0003

 Self Powered
 Remote Wakeup Enabled

Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Device Descriptor:

 bLength                18
 bDescriptorType         1
 bcdUSB               1.10
 bDeviceClass            9 Hub
 bDeviceSubClass         0 Unused
 bDeviceProtocol         0 Full speed (or root) hub
 bMaxPacketSize0        64
 idVendor           0x1d6b Linux Foundation
 idProduct          0x0001 1.1 root hub
 bcdDevice            2.06
 iManufacturer           3 Linux 2.6.27-7-server uhci_hcd
 iProduct                2 UHCI Host Controller
 iSerial                 1 0000:02:02.0
 bNumConfigurations      1
 Configuration Descriptor:
   bLength                 9
   bDescriptorType         2
   wTotalLength           25
   bNumInterfaces          1
   bConfigurationValue     1
   iConfiguration          0 
   bmAttributes         0xe0
     Self Powered
     Remote Wakeup
   MaxPower                0mA
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        0
     bAlternateSetting       0
     bNumEndpoints           1
     bInterfaceClass         9 Hub
     bInterfaceSubClass      0 Unused
     bInterfaceProtocol      0 Full speed (or root) hub
     iInterface              0 
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x81  EP 1 IN
       bmAttributes            3
         Transfer Type            Interrupt
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0002  1x 2 bytes
       bInterval             255

Hub Descriptor:

 bLength               9
 bDescriptorType      41
 nNbrPorts             2
 wHubCharacteristic 0x000a
   No power switching (usb 1.0)
   Per-port overcurrent protection
 bPwrOn2PwrGood        1 * 2 milli seconds
 bHubContrCurrent      0 milli Ampere
 DeviceRemovable    0x00
 PortPwrCtrlMask    0xff
Hub Port Status:
  Port 1: 0000.0100 power
  Port 2: 0000.0100 power

Device Status: 0x0003

 Self Powered
 Remote Wakeup Enabled

</source>

TODO: Other device codes are required for the different modes. Fill them in.

Novacom is the service to transfer files or get a shell on the pre.

Palm Pixi

Note that the devnum is 0x0103, compared with 0x0101 on the Pre. A diff between the two lsusb outputs shows mostly minor differences, except that the Pre seems to have one additional input endpoint, 5. The diff output follows the lsusb output. <source lang="text"> Bus 001 Device 057: ID 0830:0103 Palm, Inc. Device Descriptor:

 bLength                18
 bDescriptorType         1
 bcdUSB               2.00
 bDeviceClass            0 (Defined at Interface level)
 bDeviceSubClass         0 
 bDeviceProtocol         0 
 bMaxPacketSize0        64
 idVendor           0x0830 Palm, Inc.
 idProduct          0x0103 
 bcdDevice            3.22
 iManufacturer           1 Palm Inc.
 iProduct                2 Pixi
 iSerial                 3 2b5a4a98863c24a81af888aafa8a7bde1d18b96c
 bNumConfigurations      1
 Configuration Descriptor:
   bLength                 9
   bDescriptorType         2
   wTotalLength          121
   bNumInterfaces          4
   bConfigurationValue     5
   iConfiguration          4 Dev 2
   bmAttributes         0xc0
     Self Powered
   MaxPower              500mA
   Interface Association:
     bLength                 8
     bDescriptorType        11
     bFirstInterface         0
     bInterfaceCount         2
     bFunctionClass          2 Communications
     bFunctionSubClass       6 Ethernet Networking
     bFunctionProtocol       0 
     iFunction               7 RNDIS Ethernet Gadget
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        0
     bAlternateSetting       0
     bNumEndpoints           1
     bInterfaceClass         2 Communications
     bInterfaceSubClass      2 Abstract (modem)
     bInterfaceProtocol    255 Vendor Specific (MSFT RNDIS?)
     iInterface              5 RNDIS Communications Control
     CDC Header:
       bcdCDC               1.10
     CDC Call Management:
       bmCapabilities       0x00
       bDataInterface          1
     CDC ACM:
       bmCapabilities       0x00
     CDC Union:
       bMasterInterface        0
       bSlaveInterface         1 
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x82  EP 2 IN
       bmAttributes            3
         Transfer Type            Interrupt
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0008  1x 8 bytes
       bInterval               9
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        1
     bAlternateSetting       0
     bNumEndpoints           2
     bInterfaceClass        10 CDC Data
     bInterfaceSubClass      0 Unused
     bInterfaceProtocol      0 
     iInterface              6 RNDIS Ethernet Data
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x81  EP 1 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               0
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x01  EP 1 OUT
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               0
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        2
     bAlternateSetting       0
     bNumEndpoints           2
     bInterfaceClass         8 Mass Storage
     bInterfaceSubClass      6 SCSI
     bInterfaceProtocol     80 Bulk (Zip)
     iInterface              0 
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x83  EP 3 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               0
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x02  EP 2 OUT
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               1
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        3
     bAlternateSetting       0
     bNumEndpoints           2
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass     71 
     bInterfaceProtocol     17 
     iInterface              8 Novacom
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x84  EP 4 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               0
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x03  EP 3 OUT
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               1

Device Qualifier (for other device speed):

 bLength                10
 bDescriptorType         6
 bcdUSB               2.00
 bDeviceClass            0 (Defined at Interface level)
 bDeviceSubClass         0 
 bDeviceProtocol         0 
 bMaxPacketSize0        64
 bNumConfigurations      1

Device Status: 0x0001

 Self Powered

</source> Diff output: <source lang="text"> Bus 002 Device 003: ID 0830:0101 Palm, Inc. | Bus 001 Device 057: ID 0830:0103 Palm, Inc.

 idProduct          0x0101                                   |   idProduct          0x0103 
 bcdDevice            2.16                                   |   bcdDevice            3.22
 iProduct                2 Pre                               |   iProduct                2 Pixi
 iSerial                 3 a5470bf024bd51193d15a9614fe7d3029 |   iSerial                 3 2b5a4a98863c24a81af888aafa8a7bde1
   wTotalLength          128                                 |     wTotalLength          121
   bConfigurationValue     1                                 |     bConfigurationValue     5
   iConfiguration          4 Composite 500mA                 |     iConfiguration          4 Dev 2
     iFunction              10 USB Ethernet Gadget           |       iFunction               7 RNDIS Ethernet Gadget
     iInterface              9 RNDIS Communications Control  |       iInterface              5 RNDIS Communications Control
       wMaxPacketSize     0x0010  1x 16 bytes                |         wMaxPacketSize     0x0008  1x 8 bytes
     iInterface              6 Ethernet Data                 |       iInterface              6 RNDIS Ethernet Data
     iInterface             17 Mass Storage                  |       iInterface              0 
     bNumEndpoints           3                               |       bNumEndpoints           2
     iInterface             20 novacom linux                 |       iInterface              8 Novacom
     Endpoint Descriptor:                                    <
       bLength                 7                             <
       bDescriptorType         5                             <
       bEndpointAddress     0x85  EP 5 IN                    <
       bmAttributes            3                             <
         Transfer Type            Interrupt                  <
         Synch Type               None                       <
         Usage Type               Data                       <
       wMaxPacketSize     0x0008  1x 8 bytes                 <
       bInterval               6                             <
                                                             <
                                                             

</source>