1. 使用lsusb命令查找USB设备的ID: 首先,使用lsusb命令列出系统中连接的USB设备。该命令会显示每个设备的厂商ID和产品ID。找到需要复位的USB设备的ID。 示例: “` $ lsusb Bus 001 Device 002: ID 8087:8001 Intel Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 0...
}//初始化ohci_hcd 结构体ohci->next_statechange = jiffiesohci_hcd_init(hcd_to_ohci(hcd));//这个函数下边分析 一个usb主机控制器对应一个usb_hcd,对应一条usb总线,集成一个root_hubretval = usb_add_hcd(hcd, dev->resource[1].start, IRQF_DISABLED);if(retval !=0)gotoerr_ioremap;return0; err...
然后,进行第一个重要的判断.如果hub被断开了,则,断开hub下面所连接的所有端口,这是在hub_pre_reset()中完成的. 最后,进行第二个重要的判断,如果hub发生了错误,则reset它下面的所有端口,这是在usb_reset_composite_device()中完成的. /* deal with port status changes */ //遍历hub中的每一个port for (i...
First, get the device path for your usb device. Enter the command lsusb will give you something similar as below, Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 006 Device 002: ID 04b3:310c IBM Corp...
1. lsusb:显示系统中连接的USB设备信息。使用”lsusb”命令可以列出所有连接到USB总线的设备。命令的输出包括设备的厂商ID、产品ID、设备描述字符串和总线/设备编号等详细信息。 用法:lsusb 示例输出: “` Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub ...
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Use the IBM Wheel Mouse as an example, the device node for it is /dev/bus/usb/006/002, where 006 is the bus number, and 002 is the device number. Second, apply ioctl operation to reset the device. This is done in ...
generic_probe(struct usb_device *udev) -> // 从上分析流程知udev为USB root hub设备 usb_set_configuration -> device_add -> // 创建USB接口设备,USB root hub接口设备被创建 之后匹配到USB Core中注册的USB hub驱动,执行USB hub驱动的probe函数,该probe函数中,创建了一个urb并为其注册了一个中断处理函...
完成USB Hub的初始化usb_hub_init() 任务之1:是通过usb_register(&hub_driver),向USB总线添加一个hub驱动。指定了probe,disconnect,suspend,resume,id_table等相关函数。可以猜测,在root hub创建后,会执行此处的hub_probe函数。 任务之2:完成内核线程工作队列的创建 ...
int usb_hub_init(void) { …… khubd_task = kthread_run(hub_thread, NULL, "khubd"); …… } Kthread_run()是kernel中用来启动一个新kernel线程的接口,它所要执行的函数就是后面跟的第一个参数.在这里,也就是 hub_thread().另外,顺带提一句,要终止kthread_run()创建的线程,可以调用kthread_stop...
linux usb hub驱动 谨以此文纪念过往的岁月 一.前言 OHCI (Open Host Controller Interface),是康柏、微软、国家半导体等公司共同制定的一个USB主机接口规范,它提供一个更抽象的接口来完成USB数据传输工作。 在OHCI规范中,最重要的几个概念是端点(EndPoint - ED)、传输描述符(Transport Descriptor - TD)、主机控制...