1. Check out our companion app, Forums for Android! Download from Google Play

Question on Android kernel USB stack

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

  1. anitemp

    anitemp New Member
    Thread Starter

    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