• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Question on Android kernel USB stack

anitemp

Lurker
Hi,

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.

-Aniruddha
 
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.
 
Back
Top Bottom