【发布时间】:2019-01-15 05:45:42
【问题描述】:
我试图了解xhci_urb_enqueue() 如何确定转发控制请求的端点地址。从代码中它调用ep_index = xhci_get_endpoint_index(&urb->ep->desc) 来获取最终使用epd->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK 来确定端点地址的ep_index。
我的理解是,获取device/configuration/interface /endpoint descriptors 的控制请求仅由 ep0 回答,并且在主机向设备发出Set_Address/Set_configuration 之后,从那时起,所有控制请求都应发送到端点中提到的实际端点地址描述符。
我的问题是:
USB 设备是否应该在收到 Set_configuration 请求后启动端点?
在上述设置阶段如何以及何时设置
epd->bEndpointAddress?
【问题讨论】:
标签: linux-kernel usb libusb usb-drive