linux webcam 切换成bulk 模式传输失败

宏@达^~^ 2022-11-27 21:50:24 编辑
static struct usb_endpoint_descriptor uvc_ss_streaming_ep = {
    .bLength        = USB_DT_ENDPOINT_SIZE,
    .bDescriptorType    = USB_DT_ENDPOINT,

    .bEndpointAddress    = USB_DIR_IN,
    .bmAttributes        = USB_ENDPOINT_XFER_BULK,
                //USB_ENDPOINT_SYNC_ASYNC  | USB_ENDPOINT_XFER_ISOC,
    /* The wMaxPacketSize and bInterval values will be initialized from
     * module parameters.
     */
};

手动将传输端点指定为bulk,但是使用uvc传输数据时会失败,串口提示无任何数据,使用的github 上的uvc-gadget 用例,是不是我配置还有问题, 有大佬指导一下吗?

USB中文网 2022-11-27 21:53:11 编辑

修改端点为BULK方式,同时端点的配置方式也应为BULK模式,数据传输也应使用BULK相关的函数,不能再使用ISO方式的相关函数或者配置了。

从你的现象来看,当主机端开始读BULK端点数据的时候,但是无任何数据返回。
所以重点查一下你的BULK端点的数据传输模块。

宏@达^~^ 2022-11-28 09:44:13 编辑

了解了, 我再看看这块的一个流程