【发布时间】:2012-06-21 17:48:24
【问题描述】:
为什么this没有正确配置file_storage设备USB?
在嵌入式 linux 目标上:
/ # modprobe g_file_storage file=/dev/mmcblk0
musb_hdrc: version 6.0, cppi-dma, peripheral, debug=0
musb_hdrc: USB Peripheral mode controller at fec64000 using DMA, IRQ 12
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: /dev/mmcblk0
/ # lsusb
lsusb: /sys/bus/usb/devices: No such file or directory
/ # cat /lib/modules/2.6.32-17-ridgerun/modules.dep | grep usb
kernel/drivers/usb/otg/nop-usb-xceiv.ko:
kernel/drivers/usb/musb/musb_hdrc.ko: kernel/drivers/usb/otg/nop-usb-xceiv.ko
kernel/drivers/usb/gadget/g_file_storage.ko: kernel/drivers/usb/musb/musb_hdrc.ko kernel/drivers/usb/otg/nop-usb-xceiv.ko
在 Ubuntu 10.04 主机上:
$ fgrep USB $DEVDIR/kernel/linux*/.config | grep -v '^#'
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_MUSB_HDRC=m
CONFIG_USB_MUSB_SOC=y
CONFIG_USB_MUSB_PERIPHERAL=y
CONFIG_USB_GADGET_MUSB_HDRC=y
CONFIG_USB_TI_CPPI_DMA=y
CONFIG_USB_GADGET=m
CONFIG_USB_GADGET_VBUS_DRAW=2
CONFIG_USB_GADGET_SELECTED=y
CONFIG_USB_GADGET_DUALSPEED=y
CONFIG_USB_FILE_STORAGE=m
CONFIG_USB_OTG_UTILS=y
CONFIG_NOP_USB_XCEIV=m
$ lsusb
Bus 002 Device 003: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Bus 002 Device 002: ID 8087:0024
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 058f:6362 Alcor Micro Corp. Hi-Speed 21-in-1 Flash Card Reader/Writer (Internal/External)
Bus 001 Device 004: ID 04ca:003a Lite-On Technology Corp.
【问题讨论】:
-
您的内核配置中是否包含 CONFIG_SYSFS 和 CONFIG_EMBEDDED,并且是否安装了 sysfs? (值得要求一个嵌入式平台)
-
@strnk: CONFIG_SYSFS 和 CONFIG_EMBEDDED 在内核配置中是 Y,并且目标上有一个 /sys。
-
这真的是一个编程问题吗?好像更适合superuser.com
-
@PaulR:也许是这样。是否应该移动?那里似乎没有太多嵌入式 Linux 活动。
-
unix.stackexchange.com 可能更合适?它涵盖了 Unix 和 Linux,并且似乎有一些嵌入式 Linux 问题。
标签: linux usb embedded-linux