工程师好!
我们使用了Appro IPNC dm368的解决方案,目前项目需要连接usb外设,所以要求将usb模式从device模式更改为host模式。
之前已经按照ti工程师的建议修改了相应的内核配置,可以在 demsg | grep usb 命令下看到下列结果:
[ 0.145455] usbcore: registered new interface driver usbfs
[ 0.146965] usbcore: registered new interface driver hub
[ 0.147913] usbcore: registered new device driver usb
[ 0.245086] musb-hdrc: version 6.0, host, debug=0
[ 0.245289] musb-hdrc musb-hdrc: dma type: dma-cppi3
[ 0.260721] musb-hdrc: ConfigData=0x06 (UTMI-8, dyn FIFOs, SoftConn)
[ 0.260777] musb-hdrc: MHDRC RTL version 1.500
[ 0.260807] musb-hdrc: setup fifo_mode 2
[ 0.260851] musb-hdrc: 9/9 max ep, 4032/4096 memory
[ 0.260944] musb-hdrc musb-hdrc: MUSB HDRC host driver
[ 0.261188] musb-hdrc musb-hdrc: new USB bus registered, assigned bus number 1
[ 0.284651] musb-hdrc musb-hdrc: USB Host mode controller at fec64000 using DMA, IRQ 12
[ 0.435430] davinci_musb_interrupt 351: VBUS error workaround (delay coming)
[ 2.602524] davinci_musb_interrupt 351: VBUS error workaround (delay coming)
[ 4.752588] davinci_musb_interrupt 351: VBUS error workaround (delay coming)
[ 6.902624] davinci_musb_interrupt 351: VBUS error workaround (delay coming)
应该可以确认内核已经设置为host模式了,但是无法识别usb设备(U盘和USB wifi),同时出现了 VBUS error workaround (delay coming) ,并且我们
从外部电源直接供电5v给VBUS仍然会出现这个错误,所以现在想请教高手两个问题:
1.出现“VBUS error workaround (delay coming)”的错误信息一般是出于什么原因?
2. appro ipnc dm368要从device模式更改为host模式,除了内核方面的修改外,还需要在硬件上边做什么修改吗?
(目前我们只注意到USB_VBUS和USB_ID)
希望可以得到高手的帮助,万分感谢!!!
Chris Meng:
你好,
DM365的EVM是支持Usb host(通过跳线选择),你能再对比看看硬件设计部分么?
http://support.spectrumdigital.com/boards/evmdm365/revf/
Sam:
回复 Chris Meng:
hi Chris,
你好关于DM368 EVM 能否同时支持USB HOST 和 usb Peripheral (gadget stack) 这两种模式啊
Sam:
您好,
请问你的问题解决了吗?我遇到你同样的问题;
# modprobe davinci.ko[ 67.432507] musb-hdrc: version 6.0, host, debug=0[ 67.611615] musb-hdrc musb-hdrc: dma type: pio[ 67.651516] musb-hdrc: ConfigData=0x06 (UTMI-8, dyn FIFOs, SoftConn)[ 67.663010] musb-hdrc: MHDRC RTL version 1.500[ 67.671115] musb-hdrc: setup fifo_mode 2[ 67.696872] musb-hdrc: 9/9 max ep, 4032/4096 memory[ 67.720536] musb-hdrc musb-hdrc: MUSB HDRC host driver[ 67.731249] musb-hdrc musb-hdrc: new USB bus registered, assigned bus number 1[ 67.783931] hub 1-0:1.0: USB hub found[ 67.789600] hub 1-0:1.0: 1 port detected[ 67.832160] musb-hdrc musb-hdrc: USB Host mode controller at fec64000 using PIO, IRQ 12[ 67.949099] davinci_musb_interrupt 351: VBUS error workaround (delay coming)
Chris Meng:
回复 Sam:
dfsafsd sam
hi Chris,
你好关于DM368 EVM 能否同时支持USB HOST 和 usb Peripheral (gadget stack) 这两种模式啊
Sam:
回复 Chris Meng:
Hi Chris,
我意思是: 1.USB HOST 模式可以插入USB 使用..
2.gadget stack 模式也可以连接电脑,即在电脑上可以看到SD卡。。
这两种模式是不是要加载不同驱动实现?
Chris Meng:
回复 Sam:
你好,
你需要配置USB驱动为OTG,网上已有客户实现:
http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/100/p/7651/30350
rebuilt the kernel and modules, and installed the new modules.
Now the USB OTG is working well on the DM365 EVM board (with LSP 2.10) when I use the NFS file system.
但请注意,你插入的设备必须支持/有USB ID引脚,因为驱动是通过这个引脚的信号来判断插入的设备是host还是device。
Sam:
回复 Chris Meng:
Hi Chris,
我现在的问题是, 通过USB 线能在电脑上看DM368 上的SD卡。。
但是我想在DM368上直接插入USB 设备,但是DM368 识别不了这个设备..
插入USB 设备 usb ID 引脚是要高电平?还是低电平?
但是usb 连接电脑,发现USB iD 无论是高,还是低电平都可以。。
Chris Meng:
回复 Sam:
你好,
电脑上的USB口都是host,是不检测USB ID的。
USB OTG的USB ID信息,请参考下图:
Sam:
回复 Chris Meng:
Hi Chris,
将内核配置成OTG 出现如下问题:
[ 48.670937] musb-hdrc: version 6.0, otg (peripheral+host), debug=0[ 48.783382] musb-hdrc musb-hdrc: dma type: dma-cppi3[ 48.808040] musb-hdrc: ConfigData=0x06 (UTMI-8, dyn FIFOs, SoftConn)[ 48.814559] musb-hdrc: MHDRC RTL version 1.500[ 48.821359] musb-hdrc: setup fifo_mode 2[ 48.825396] musb-hdrc: 9/9 max ep, 4032/4096 memory[ 48.833324] musb-hdrc musb-hdrc: USB OTG mode controller at fec64000 using DMA, IRQ 12[ 48.980247] g_file_storage gadget: No serial-number string provided![ 48.989641] g_file_storage gadget: File-backed Storage Gadget, version: 1 September 2010[ 48.999403] g_file_storage gadget: Number of LUNs=1[ 49.004419] g_file_storage gadget-lun0: ro=0, nofua=0, file: /dev/mmcblk0[ 49.013932] musb-hdrc musb-hdrc: MUSB HDRC host driver[ 49.020944] musb-hdrc musb-hdrc: new USB bus registered, assigned bus number 1[ 49.052174] hub 1-0:1.0: USB hub found[ 49.056122] hub 1-0:1.0: 1 port detected [ 49.215042] davinci_musb_interrupt 351: VBUS error workaround (delay coming)
Sam:
回复 Sam:
是不是与USB 延长线有关. 我发现USB 延长线只有4根线..