首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用内核模块在SBC 6845板上的USB主机和设备功能

利用内核模块在SBC 6845板上的USB主机和设备功能
EN

Stack Overflow用户
提问于 2013-04-18 13:49:22
回答 2查看 743关注 0票数 0

我正在linux嵌入式开发中开发SBC 6845(Atmel处理器)。我的内核版本是2.6.30。

该板配有两个USB端口(都带有A型),一个可以配置为主机,另一个可以配置为USB设备。

我已经在内核中配置了这些USB模块。我已经烧毁内核和文件系统与必要的模块,包括USB模块。我已经通过/init.d/rcS文件加载了这些USB模块。

当板打开,我在控制台上输入lsmod时,它会向我显示加载了这些模块。当我连接板到计算机时,没有检测到USB (设备功能)。

当我将吊灯连接到板上时,不会检测到它(主机功能)。

/init.d/rcS脚本

代码语言:javascript
复制
#install USB Gadgate mass_storage
modprobe g_file_storage file=/home/mass_storage/backed_storage_file stall=n
losetup -o 4096 /dev/loop0 /home/mass_storage/backed_storage_file

#install USB ehci-hcd
modprobe ehci-hcd

rcS运行日志

代码语言:javascript
复制
g_file_storage gadget: File-backed Storage Gadget, version: 20 November 2008
g_file_storage gadget: Number of LUNs=1
g_file_storage gadget-lun0: ro=0, file: /home/mass_storage/backed_storage_file
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
atmel-ehci atmel-ehci: Atmel EHCI UHP HS
atmel-ehci atmel-ehci: new USB bus registered, assigned bus number 1
atmel-ehci atmel-ehci: irq 22, io mem 0x00800000
atmel-ehci atmel-ehci: USB 2.0 started, EHCI 1.00
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: Atmel EHCI UHP HS
usb usb1: Manufacturer: Linux 2.6.30 ehci_hcd
usb usb1: SerialNumber: atmel-ehci
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected

lsmod输出

代码语言:javascript
复制
Module                  Size  Used by    Not tainted
ehci_hcd               30132  0
g_file_storage         24260  0

欢迎任何帮助!

EN

回答 2

Stack Overflow用户

发布于 2013-04-18 14:14:36

你的司机似乎安装得很好。我没有一个直截了当的答案,但我经常与软硬件集成工作。以下是我要做的,以获得更多的线索。这种处理器通常有多用途的引脚。有时,在评估板上,默认情况下它们没有按我们所希望的方式配置。您可以查看文档,但也可以使用示波器和探测D+和D-的USB。他们闲着的时候还好吗?当您连接主机端口上的设备时会发生什么?前几件事将由USB控制器完成,在配置控制器之后几乎不涉及与软件的交互。如果您看到了negociation的开始(一堆0和1),那么您就知道您的硬件配置正确,基本驱动程序已经安装并正常工作。其结果将缩小问题的范围。

票数 2
EN

Stack Overflow用户

发布于 2013-06-03 06:17:03

您缺少上层驱动程序。EHCI只是一个接口驱动程序,您需要设备驱动程序。板<->PC通信通常是通过串行通过USB,因此您需要USB串行驱动程序。在内核配置中,转到设备驱动程序-> USB支持-> USB串行转换器支持,并根据您的板/电缆上的芯片选择驱动程序。下面是一个dmesg转储示例,当板连接到Ubuntu膝上型计算机时可以看到:

3469.923779 usb 2-1.2:使用ehci_hcd的新的全速USB设备5号 3470.019145 cp210x 2-1.2:1.0: cp210x转换器检测到 3470.091614 usb 2-1.2:使用ehci_hcd重置全速USB设备5号 3470.184995 usb 2-1.2: cp210x转换器现在连接到ttyUSB0上

我相信类似的情况也与吊坠有关--上层司机失踪了。

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

https://stackoverflow.com/questions/16084798

复制
相关文章

相似问题

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