; // process the transmitter information; used for low-speed, full-speed devices, and high-speed hubint ttport; // The device port unsigned int toggle located in the TT hub [2]; // occupies one position for each endpoint, indicates the direction of the endpoint ([0] = In, [1] = out) struct usb_device * parent; // The upper-level hub pointer struct usb_bus * bus; // The bus pointer struct usb_host_endpoint e
the kick_khubd function, add the current hub to the Hub driver queue hub_event_list, and then wake up the hub daemon wake_up (khubd_wait) to start parsing what happened to the hub.
3. After hub_thread is awakened, It will be executed and hub_events will also be executed.
4. hub_events is the main function used to analyze hub events. The content of hub analysis is executed here. This function is a large endless loop.
5. hub_events processing process
5
Endpoint 0 is the best way to test the driver, I will later put the Linux driver experience, this buddy wrote how to send data: http://www.lcsky.org/2.0/node/43
Control transmission is useful when a small amount of control information is exchanged, such as sending commands and obtaining the status of the lower computer. It is convenient to use control transmissi
Analysis on the process of mounting the kernel driver layer to android4.0 USB (I)
1. supported_functions
static struct android_usb_function *supported_functions[] = {rmnet_smd_function,rmnet_sdio_function,rmnet_smd_sdio_function,rmnet_function,diag_function,serial_function,adb_function,ccid_function,//acm_function,mtp_function,ptp_function,rndis_function,mass_storage_function,accessory_function,NULL};
Sinc
2. Development of USB interface drivers
1. Hierarchy of devices and drivers
The WDM model uses a layered structure. The right side of the figure is a device object stack. A device object is a data structure created by the system to help software manage hardware. A physical hardware can have multiple such data structures.
Fdo
Execute PS-A | grep khubd on the terminal, and the khubd process is displayed. This is the hub daemon process. Our device is inserted into the USB interface (whether it is inserted with the hub, after the sub-hub), the daemon detects the issue and then notifies the master controller of the interruption. The master controller then calls the hub detection function to parse the device.
After the hub driver is
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.