gpt4 book ai didi

linux - 将模块添加到 angstrom 内核

转载 作者:太空宇宙 更新时间:2023-11-04 03:38:41 25 4
gpt4 key购买 nike

我正在开发 Altera cyclone V Soc FPGA 开发套件。我正在使用 Rocketboards.com 提供的 GSRD 14.1 Angstrom ( 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中添加串口驱动支持并更新内核。

最佳答案

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

ls /dev |grep usb

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

如果没有任何反应,请检查当前是否加载了驱动程序(这将告诉您这是否实际上是您的 USB 串行设备的问题:

lsmod | grep serial

(注意:该模块应称为“usb_serial”,但我通常会 grep 查找我实际要查找的字符串的子集,以捕获与我期望的不太匹配的名称,例如带或不带下划线的名称。“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 .

关于linux - 将模块添加到 angstrom 内核,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30646773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com