0

我正在研究 Altera cyclone V Soc FPGA Dev Kit。我正在使用 Rocketboards.com 提供的 GSRD 14.1 埃(http://www.rocketboards.org/foswiki/Documentation/GSRD141AngstromGettingStarted

root@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 中添加串行驱动程序支持并更新内核。

4

1 回答 1

0

首先,将您的串行设备插入 USB 端口并检查此命令的输出:

ls /dev |grep usb

如果您看到“ttyUSB0”或“ttyAMC0”之类的内容,则驱动程序已经存在,无论是作为静态编译驱动程序还是加载的模块。如果您的问题确实是驱动程序不存在,我会感到非常惊讶。它应该包含在几乎每个发行版中。

如果没有出现,然后检查驱动程序当前是否已加载(这将告诉您它是否实际上是您的 USB 串行设备的问题:

lsmod | grep 序列号

(注意:该模块应称为“usb_serial”,但我通常使用 grep 查找我实际要查找的字符串的子集,以捕获与我期望的名称不完全匹配的名称,例如其中带有或不带有下划线的名称. "grep serial" 可以比 "usb_serial" 匹配更多,但应该包括它,同时仍然缩短 modprobe 输出。")

如果您在那里看到驱动程序,则驱动程序已加载,问题出在您的 USB 串行设备上。检查此文本文档以查看驱动程序是否支持您的设备。即使您的设备未列为受支持,您的设备仍有可能工作,因为 USB 串行模块中支持通用设备。您必须使用此命令重新加载模块才能利用它:

insmod usbserial vendor=0x#### product=0x####

如果未加载驱动程序,请使用此命令查看它是否可用:

模组探针 | grep 序列号

如果驱动程序在那里但当前未加载,您应该能够在此目录中找到它以在其上使用“insmod”:

/lib/modules/`uname -r`/kernel/drivers/usb/serial/`

如果所有这些都失败了,您可能必须在启用驱动程序的情况下重新编译。重新编译内核并确保在 USB 菜单下启用 USB_SERIAL,并启用对 TTY 的内核支持,因为 USB_SERIAL依赖于它

于 2015-06-04T20:19:19.383 回答