首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向angstrom内核添加模块

向angstrom内核添加模块
EN

Stack Overflow用户
提问于 2015-06-04 14:34:35
回答 1查看 1.1K关注 0票数 0

我正在开发Altera旋风V Soc FPGA开发工具包。我正在使用rocketboards.com (http://www.rocketboards.org/foswiki/Documentation/GSRD141AngstromGettingStarted)提供的GSRD 14.1 Angstrom

代码语言:javascript
复制
root@socfpga_cyclone5:~# uname -a
Linux socfpga_cyclone5 3.10.31-ltsi

这个内核不支持usb串行设备,我认为我需要添加usbserial和usbcore驱动程序来与GPS串行模块通信。内核包括insmod和my探测,但我无法为我的板找到具体的驱动程序。

dmesg返回:

代码语言:javascript
复制
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中添加串行驱动程序支持并更新内核。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-04 20:19:19

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

ls /dev \grep usb

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

如果没有出现任何问题,那么检查驱动程序当前是否已加载(这将告诉您USB串行设备是否确实有问题:

lsmod \ grep系列

(注意:这个模块应该被称为"usb_serial",但是我通常用grep来表示我实际上正在寻找的字符串的一个子集,以捕获与我所期望的不完全匹配的名称,比如带有或不带下划线的名称。"grep串行“可以比"usb_serial”更匹配,但是应该包含它,同时仍然缩短more探测输出。

如果你看到驱动程序在那里,那么驱动程序是加载的,问题是你的USB串行设备。检查本文本文件,看看驱动程序是否支持您的设备。即使不被列为受支持的设备,您的设备也可能仍然工作,因为usb串行模块中有对通用设备的支持。您必须使用以下命令重新加载模块以利用该命令:

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

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

modprobe grep系列

如果驱动程序在那里,但当前没有加载,那么您应该能够在这个目录中找到它,以便在它上使用"insmod“:

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30646773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档