我正在研究Altera Cyclone V Soc FPGA Dev Kit。 我正在使用由rocketboards.com(http://www.rocketboards.org/foswiki/Documentation/GSRD141AngstromGettingStarted)
提供的GSRD 14.1 Angstromroot@socfpga_cyclone5:~# uname -a
Linux socfpga_cyclone5 3.10.31-ltsi
这个内核不支持USB串行设备,我认为我需要添加usbserial和usbcore驱动程序来与GPS串行模块通信。内核包括insmod和modprobe,但我找不到我的主板的细节驱动程序。
dmesg返回:
usb 1-1: new full-speed USB device number 2 using dwc2
usb 1-1: New USB device found, idVendor=10c4, idProduct=ea60
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1: Product: CP2104 USB to UART Bridge Controller
usb 1-1: Manufacturer: Silicon Labs
usb 1-1: SerialNumber: 006FA62E
是否有添加此模块的解决方案? 如果我必须重建和自定义内核,我正在寻找一些建议:)
提前致谢。
修改
解决方案是在menuconfig中添加串行驱动程序支持并更新内核。
答案 0 :(得分:0)
首先,将串行设备插入USB端口并检查此命令的输出:
ls / dev | grep usb
如果你看到类似" ttyUSB0"或" ttyAMC0",然后驱动程序已经存在,作为静态编译驱动程序或加载模块。如果您的问题确实是驱动程序不存在,我会感到非常惊讶;它应该包含在几乎每个发行版中。
如果没有任何问题,请检查驱动程序当前是否已加载(这将告诉您它是否真的是USB串行设备的问题:
lsmod | grep serial
(注意:该模块应该被称为" usb_serial",但我通常会寻找一个字符串的子集,我实际上正在寻找能够找到与那些不匹配的名称的字符串我希望,例如带有或不带下划线的名称。" grep serial"可以匹配" usb_serial",但应该包括它,同时仍然缩短modprobe输出。" )
如果您在那里看到驱动程序,则会加载驱动程序,问题出在USB串行设备上。检查this text document以查看您的设备是否受驱动程序支持。即使设备未列为受支持设备,您的设备仍可能仍然有效,因为usb串行模块中支持通用设备。您必须使用此命令重新加载模块才能利用它:
insmod usbserial vendor = 0x #### product = 0x ####
如果没有加载驱动程序,请使用此命令查看它是否可用:
modprobe | grep serial
如果驱动程序在那里但当前没有加载,你应该能够在这个目录中找到它以使用" insmod"在它上面:
/ lib / modules /`uname -r` / kernel / drivers / usb / serial /`
如果所有这些都失败了,您可能必须在启用驱动程序的情况下重新编译。重新编译内核并确保在USB菜单下启用USB_SERIAL,并启用对TTY的内核支持,因为USB_SERIAL depends on it。