亲爱的社区成员,
我们正在开发在英特尔爱迪生内部运行的机器人自主控制系统,该系统又在 PixHawk 自动驾驶模块中运行。该系统使用 ROS(机器人操作系统),因此我们必须安装 Ubilinux。我们的系统需要连接通过串行通道发送数据的 360 度激光器(RPLIDAR-360),因此我们尝试通过 USB 转 UART 适配器(Silicon lab 的 CP2102)获取激光器的数据(PixHawk 只有一个USB 可用于数据传输)。
综上所述,激光器连接USB2UART适配器,适配器连接爱迪生的串口。
但是,我们遇到了某种驱动程序问题。跟踪“dmesg”时检测到设备(idVendor=10c4,idProduct=ea60):
[ 917.812195] usb usb2: Product: xHCI Host Controller
[ 917.812214] usb usb2: Manufacturer: Linux 3.10.17-yocto-standard-r2 dwc-xhci
[ 917.812232] usb usb2: SerialNumber: dwc3-host.2
[ 917.812858] xHCI xhci_add_endpoint called for root hub
[ 917.812878] xHCI xhci_check_bandwidth called for root hub
[ 917.813141] hub 2-0:1.0: USB hub found
[ 917.813185] hub 2-0:1.0: 1 port detected
[ 918.128982] usb 1-1: new full-speed USB device number 2 using dwc3-host
[ 918.151786] usb 1-1: New USB device found, idVendor=10c4, idProduct=ea60
[ 918.151818] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 918.151839] usb 1-1: Product: CP2102 USB to UART Bridge Controller
[ 918.151857] usb 1-1: Manufacturer: Silicon Labs
[ 918.151875] usb 1-1: SerialNumber: 0001
带有以下详细信息:
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=10c4 ProdID=ea60 Rev= 1.00
S: Manufacturer=Silicon Labs
S: Product=CP2102 USB to UART Bridge Controller
S: SerialNumber=0001
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=01(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
但是没有创建 /dev/ttyUSBX 设备,也没有关于缺少驱动程序或配置失败的错误消息。
我们正在使用 Ubilinux 3,它使用“uname”命令报告以下内容:
** 3.10.17-yocto-standard-r2
以下是已安装驱动程序的列表:
usb
/lib/modules/3.10.17-yocto-standard-r2/kernel/drivers/media/usb:
/lib/modules/3.10.17-yocto-standard-r2/kernel/drivers/media/usb/gspca:
/lib/modules/3.10.17-yocto-standard-r2/kernel/drivers/media/usb/uvc:
/lib/modules/3.10.17-yocto-standard-r2/kernel/drivers/usb:
/lib/modules/3.10.17-yocto-standard-r2/kernel/drivers/usb/gadget:
usb_f_acm.ko
/lib/modules/3.10.17-yocto-standard-r2/kernel/drivers/usb/serial:
usb_wwan.ko
有没有人有类似的配置并设法使CP2102适配器工作?
作为最后的手段,我们正在尝试自己编译和安装驱动程序,使用此参考:[url= https://askubuntu.com/questions/941594/installing-cp210x-driver]Installing CP210x Driver?Installing CP210x Driver? - 询问 Ubuntu[/url]
由于缺少标头,“make”进程崩溃。我们无法通过 APT 下载标头,但最后,我们设法通过从网站手动下载标头来编译“.ko”模块。
但是,在这样做之后:
insmod cp210x.ko
我们有:
Insmod: ERROR: could not insert module cp210x.ko: Invalid module format
所以,在这一点上,我们有几个问题......任何关于其中任何一个的建议将不胜感激:
- 有人知道如何在 Ubilinux - 3.10.17 中安装内核头文件吗?
- 在 Ubilinux 中升级内核的官方程序是什么?我们已经在板上运行了 ROS……你认为内核升级会破坏我们的 ROS 配置吗?
- 总的来说,有没有成功配置cp210x设备的经验呢?
提前致谢,
赫克托