我知道USB端点有一些模式(控制,批量,中断和等时),它们可以用于各种目的,但我不知道如何在一个小工具中将USB端点更改为这些模式?我已经阅读了USB2.0规范,然后我可以通过以下设置获得USB传输描述符:
ctrl.bRequestType = USB_DIR_IN|USB_TYPE_STANDARD|USB_RECIP_ENDPOINT;
ctrl.bRequest = USB_REQ_GET_DESCRIPTOR;
ctrl.wIndex = 0;
ctrl.wLength = sizeof(buff);
ctrl.data = buff;
ctrl.wValue = (USB_DT_CONFIG << 8) | 0;
result = ioctl(fd, USBDEVFS_CONTROL, &ctrl);
但我仍然不知道如何更改USB传输模式?
答案 0 :(得分:1)
端点在设备的描述符中描述。
如果没有(虚拟)拔出和重新枚举设备,就无法更改描述符。
要允许更改单个界面的端点,您可以使用备用设置 要允许更改设备的更多属性,可以使用多个配置。
要实现此目的,您需要列出描述符中的所有备用设置/配置,并实现设置接口/配置请求。