This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Appro IPNC DM368 usb host模式硬件应该如何修改?

工程师好!

        我们使用了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)

 希望可以得到高手的帮助,万分感谢!!!

  • 你好,

    DM365的EVM是支持Usb host(通过跳线选择),你能再对比看看硬件设计部分么?

    http://support.spectrumdigital.com/boards/evmdm365/revf/

  • hi Chris,

    你好关于DM368 EVM 能否同时支持USB HOST 和 usb Peripheral (gadget stack) 这两种模式啊

  • 您好,

    请问你的问题解决了吗?我遇到你同样的问题;

    # 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)

     

  • dfsafsd sam 说:

    hi Chris,

    你好关于DM368 EVM 能否同时支持USB HOST 和 usb Peripheral (gadget stack) 这两种模式啊

    你好,

    什么叫同时支持?控制器同一个时刻只可能是一种模式。

  • Hi Chris,

    我意思是: 1.USB HOST 模式可以插入USB 使用..

                      2.gadget stack 模式也可以连接电脑,即在电脑上可以看到SD卡。。

    这两种模式是不是要加载不同驱动实现?

     

  • 你好,

    你需要配置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。

  • Hi Chris,

    我现在的问题是, 通过USB 线能在电脑上看DM368 上的SD卡。。

    但是我想在DM368上直接插入USB 设备,但是DM368 识别不了这个设备..

    插入USB 设备 usb ID 引脚是要高电平?还是低电平?

    但是usb 连接电脑,发现USB iD 无论是高,还是低电平都可以。。

     

  • 你好,

    电脑上的USB口都是host,是不检测USB ID的。

    USB OTG的USB ID信息,请参考下图:

  • 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)

     

  • 是不是与USB 延长线有关. 我发现USB 延长线只有4根线..

  • HI Chris,

     1.DM368 做USB_Device 连接电脑,电脑上是能看到设备....(电脑是host, dm368 是device)

     2. 当将与电脑连接线拔出后, 再插入U盘..DM368无任何反应...(dm368 是host , u盘是 device)

     3 目前USB Device MODE 设置的是OTG MODE.

     4. 问问DM368 USB  PHY, OTG 模式下是否支持HNP和SRP.. 能否自动进行HOST和device 模式切换...

     

  • 你好,

    如果上电就插u盘可以识别么?

    你有按照下面的链接来配置和使用么?

    https://developer.ridgerun.com/wiki/index.php/How_to_configure_DM365_for_USB_host,_device_and_OTG_support#USB_On-The-Go_.28OTG.29_functionality

    DM368 USB不支持在USB线连上后再次动态切换模式。

  • HI, Chris,

    你好,我插入U盘不可以识别..

    但是我DM368插入电脑是可以识别..

    是否与v_bus 供电有关?

     

  • hi,

    如果DM368不支持动态切换模式..那我手动该怎么处理?

  • hi Chris,

    DM368能读到USB 信息,但是找不到USB 设备:

    # modprobe davinci.ko
    [  170.367384] musb-hdrc musb-hdrc: dma type: dma-cppi3
    [  170.412098] DaVinci OTG revision 00140901 phy 21f0 control 00
    [  170.422745] musb-hdrc: ConfigData=0x06 (UTMI-8, dyn FIFOs, SoftConn)
    [  170.445525] musb-hdrc: MHDRC RTL version 1.500
    [  170.453795] musb-hdrc: setup fifo_mode 2
    [  170.473847] musb-hdrc: 9/9 max ep, 4032/4096 memory
    [  170.482401] musb-hdrc musb-hdrc: MUSB HDRC host driver
    [  170.513496] musb-hdrc musb-hdrc: new USB bus registered, assigned bus number 1
    [  170.560620] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    [  170.571234] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [  170.595018] usb usb1: Product: MUSB HDRC host driver
    [  170.603568] usb usb1: Manufacturer: Linux 2.6.37_IPNC_DM368_5.1.0+ musb-hcd
    [  170.631888] usb usb1: SerialNumber: musb-hdrc
    [  170.661929] hub 1-0:1.0: USB hub found
    [  170.682070] hub 1-0:1.0: 1 port detected
    [  170.693172] musb-hdrc musb-hdrc: USB Host mode controller at fec64000 using DMA, IRQ 12
    [  170.720144] Registered /proc/driver/musb_hdrc
    [  171.151733] usb 1-1: new high speed USB device using musb-hdrc and address 2
    [  171.329569] usb 1-1: New USB device found, idVendor=0930, idProduct=6545
    [  171.340041] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [  171.370974] usb 1-1: Product: DT 101 G2
    [  171.390661] usb 1-1: Manufacturer: Kingston
    [  171.397437] usb 1-1: SerialNumber: 1301091703A3

  • 问题解决,内核配置问题:

    USB Controller and USB MSC HOST

    Configuration

        Device Drivers --->
        SCSI device support --->
         <*> SCSI device support
         [*] legacy /proc/scsi/support
         --- SCSI support type (disk, tape, CD-ROM)
         <*> SCSI disk support
        USB support --->
         <*> Support for Host-side USB
         *** Miscellaneous USB options ***
         [*] USB device filesystem
         [*] USB device class-devices (DEPRECATED)
         *** USB Host Controller Drivers ***
         <*> Inventra Highspeed Dual Role Controller (TI, ...)
               *** OMAP 343x high speed USB support ***
               Driver Mode (USB Host) --->
         [ ] Disable DMA (always use PIO)
         [*] Use System DMA for Rx endpoints
         [*] Enable debugging messages
         --- USB Device Class drivers
         <*> USB Mass Storage support
    
  • 哥们 ,我也遇到和你一样的问题,  但是我根据你上面的 make menuconfig 配置,看了一下我得,和你就差 Enable debugging messages  这个选项 没选其他都一样的,这个问题,难道只是这个配置问题造成的吗?

x 出现错误。请重试或与管理员联系。