Question on Android kernel USB stack

Discussion in 'Android Lounge' started by anitemp, Oct 21, 2008.

  1. anitemp

    anitemp New Member

    Oct 21, 2008

    I am trying to debug and understand the USB communication happening in a USB device (as opposed a USB host which is a PC). I am thinking of choosing HTC G1 Android phone to see if I can modify the Linux kernel on it and debug the USB communication that happens when the phone is connected to the PC. But I don't have my hands on the device yet so I am not sure about certain things:

    1. Can HTC G1 be connected to a PC as a USB device? (for example for copying data from phone to PC) The spec does say that there is 11 pin USB port, but I just want to make sure it is to what I think it is.

    2. Is the USB device communication handled by the firmware or the Linux kernel running on it? What I am trying to understand here is whether I would be able to debug the USB communication part if it is in the Linux kernel rather than the firmware on the USB peripheral device/OTG controller.

    Thanks for looking into my post.


  2. pestilence

    pestilence Well-Known Member

    Oct 15, 2008
    It appears that by default it sets up a pass-through to the micro sd card. I'm not sure there's much else going on. When I turned off the sd pass-through, it didn't act like anything was there at all.

    I just plugged it into my Ubuntu laptop and got the following in the KDE USB Devices tool:

    Android Phone

    Manufacturer: HTC
    Serial #: HT###GZ#####

    Class 0 ((Defined at Interface level))
    Subclass 0
    Protocol 0
    USB Version 1.00

    Vendor ID 0xbb4 (High Tech Computer Corp.)
    Product ID 0xc01
    Revision 0.00

    Speed 480 Mbit/s
    Channels 0
    Max. Packet Size 64

    You should install linux on your computer and use the usb protocol analyzer tools to decode the handshake that way.

Share This Page