usb摄像头预览无图像: Failed to submit URB 0 (-28).
时间: 2023-06-06 12:08:49 浏览: 123
这个问题可能涉及技术方面的知识,我可以尝试为您解答。该错误提示意味着 USB 设备提交 URB 数据包时遇到了一个错误,其中 -28 是指“连接请求被切断”。这可能意味着设备无响应、设备驱动程序存在问题或者连接质量差。您可以尝试重新连接设备、检查驱动程序或更换 USB 端口等方法解决问题。
相关问题
usb_submit_urb
usb_submit_urb() 函数是 Linux USB 核心中的一部分,它用于将 USB URB (USB Request Block) 提交到 USB 设备上进行异步传输。在 USB 通信过程中,主机和设备之间的数据传输是通过 URB 进行的。函数原型如下:
```
int usb_submit_urb(struct urb *urb, int mem_flags);
```
其中,`urb` 参数是要提交的 USB URB 结构体指针,`mem_flags` 参数指定了 URB 内存的分配方式。
该函数的返回值为 0 表示提交成功,否则表示提交失败。在提交 URB 之前,需要先初始化 URB 结构体并设置相应的回调函数以处理传输完成时的事件。
usb urb请求超时
根据提供的引用内容,我可以为您介绍USB URB请求超时的情况。
在USB通信中,URB(USB Request Block)是用于描述和管理USB传输的数据结构。URB包含了传输的相关信息,例如传输类型、数据缓冲区、传输方向等。当主机与USB设备进行通信时,会使用URB来发送和接收数据。
当一个URB请求被提交给USB驱动程序后,驱动程序会将该请求发送给USB控制器进行处理。在正常情况下,USB控制器会及时地完成请求并返回结果。然而,有时候由于各种原因,URB请求可能会超时。
URB请求超时可能是由以下原因引起的:
1. USB设备未正确响应:USB设备可能出现故障或异常,导致无法及时响应URB请求。
2. USB总线负载过重:当USB总线上的设备数量过多或数据传输量过大时,可能会导致URB请求超时。
3. USB驱动程序错误:USB驱动程序可能存在bug或错误,导致URB请求无法正常完成。
当URB请求超时时,可以采取以下措施:
1. 重新提交URB请求:可以尝试重新提交URB请求,以便再次发送请求并等待响应。
2. 检查USB设备状态:检查USB设备是否正常工作,是否存在故障或异常情况。
3. 检查USB总线负载:检查USB总线上的设备数量和数据传输量,确保不超过总线的承载能力。
4. 更新USB驱动程序:如果存在USB驱动程序的bug或错误,可以尝试更新驱动程序版本或使用其他可靠的驱动程序。
请注意,具体的处理方法可能因系统和设备的不同而有所差异。建议在遇到URB请求超时问题时,参考相关文档或咨询厂商或开发者以获取更准确的解决方案。