USB

From WebOS Internals
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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>