还是先去看一下usb的协议吧,如果你的OUT请求期望设备有回答,那么在你发出OUT之后IN也应该挂上,在linux下有类似于下面这样的系统调用:- usb_control_msg(pd_device->udev,
- usb_rcvctrlpipe(pd_device->udev, 0),
- REQ_GET_CMD | cmdid,
- USB_DIR_IN | USB_TYPE_VENDOR |USB_RECIP_DEVICE,
- lower_16,
- upper_16,
- &data,
- (dataLen + sizeof(*cmd_status)),
- USB_CTRL_GET_TIMEOUT);
这种系统调用就是直接向设备发一个命令,然后将data的地址交给usb kernel,挂一个IN请求。
|