首页 文章

如何更改USB小工具 endpoints 类型?

提问于
浏览
0

我知道USB endpoints 有一些模式(控制,批量,中断和等时),它们可用于各种用途,但我不知道如何在一个小工具中将USB endpoints 更改为这些模式?我已经阅读了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传输模式?

1 回答

  • 1

    endpoints 在设备的描述符中描述 .

    如果没有(虚拟)拔出和重新枚举设备,就无法更改描述符 .

    要允许更改单个界面的 endpoints ,可以使用备用设置 .
    要允许更改设备的更多属性,可以使用多个配置 .

    要实现此功能,您需要列出描述符中的所有备用设置/配置,并实现设置的接口/配置请求 .

相关问题