我们正在开发基于 FX3 的 UVC 应用程序,在 Ubuntu 20.04 上使用 USB 3 时遇到了 FX3 无法完成枚举的问题。
在附带的 Wireshark 捕获帧 79 中,可以看到设备描述器请求响应只包含了应包含的 18 个字节中的 8 个字节。
描述符内容包括正确的长度 18,但响应中没有包含该数据。 FX3 固件将描述符创建为一个常量变量
"CyFxUSB30DeviceDscr",该值仅在 CyU3PUsbSetDesc API(参数
"CY_U3P_USB_SET_SS_DEVICE_DESCR, 0, (uint8_t *)CyFxUSB30DeviceDscr`)
中使用。在 Ubuntu 20.04 中是否存在任何已知问题,或者枚举无法完成的原因?
我们在使用 Ubuntu 18.04 时没有遇到这个问题。 USB2 可以正常工作。 我还附上了 FX3 插入 Ubuntu 20.04 机器后枚举失败的 UART 调试日志。
在Ubuntu20.04上使用USB3时遇到了FX3无法枚举的情况,怎么解决?
关键词: Ubuntu FX3
要解决在Ubuntu 20.04上使用USB 3时遇到的FX3无法枚举的问题,我们可以按照以下步骤进行排查和解决:
1. **检查USB 3.0驱动**:首先确保Ubuntu 20.04系统已经正确安装了USB 3.0驱动。可以通过以下命令检查驱动状态:
```
lsmod | grep xhci_hcd
```
如果没有输出,说明驱动可能未正确安装。可以通过以下命令安装驱动:
```
sudo apt-get install linux-modules-extra-$(uname -r)
```
2. **检查USB端口**:确保USB端口是USB 3.0端口,而不是USB 2.0端口。可以通过查看主板手册或在线资源来确认。
3. **检查FX3固件**:确认FX3固件是否正确编译和烧录。检查固件中的描述符是否正确设置。你提到的描述符问题可能是固件中的一个错误。请确保固件中的描述符设置正确,例如:
```c
const uint8_t CyFxUSB30DeviceDscr[] = {
0x12, // bLength
0x01, // bDescriptorType
0x00, // bcdUSB - LSB
0x02, // bcdUSB - MSB
0xef, // bDeviceClass
0x02, // bDeviceSubClass
0x01, // bDeviceProtocol
0x40, // bMaxPacketSize0
0x83, // idVendor - LSB
0x04, // idVendor - MSB
0x00, // idProduct - LSB
0x00, // idProduct - MSB
0x00, // bcdDevice - LSB
0x01 // bcdDevice - MSB
};
```
4. **检查CyU3PUsbSetDesc API调用**:确保在固件中正确调用了CyU3PUsbSetDesc API。检查参数是否正确传递,例如:
```c
CyU3PUsbSetDesc(CY_U3P_USB_SET_SS_DEVICE_DESCR, 0, (uint8_t *)CyFxUSB30DeviceDscr);
```
5. **检查USB线缆**:尝试更换USB线缆,以排除线缆故障的可能性。
6. **检查电源供应**:确保FX3设备和计算机的电源供应充足且稳定。
7. **检查操作系统设置**:在某些情况下,操作系统设置可能会影响USB设备的枚举。尝试在不同的操作系统版本或不同的计算机上测试FX3设备。
8. **查看日志**:通过查看系统日志,可以获取更多关于枚举失败的信息。可以使用以下命令查看日志:
```
dmesg | grep -i usb
```
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 | |
【FRDM-MCXN947评测】核间通信MUTEX被打赏50分 |