This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

usb host for HP pendrive

Hello everyone

I am working on LPC2468 usb host with mass storage class .
I am using NXP usb hostlite example as a base.
I converted this source code for FAT32 system.
It,s working fine for KIGNSTON 8 GB, SANDISK 4 GB pendrive.
But when i used Hp 8 GB pendrive , it works fine sometime or sometime not.when I debug through the software the value of HOST_RhscIntr is not changing to 1.
What,s the reason behind it.

Parents
  • Er..
    Back to the OP's problem,
    I have an impression that it may be caused by weak contacts at the USB connectors.

    > when I debug through the software the value of HOST_RhscIntr is not changing to 1.

    HOST_RhscIntr is set to '1' by the HostLite firmware in Host_Isr() (usbhost_lpc2468.c), when the root hub on the chip detects D+ line voltage change (HcRhPortStatus1 & OR_RH_PORT_CSC).

    1) The target pendrive is not powered, because of bad contact at USB VBUS (5V).
    2) The D+ line doesn't connect together (D+ bad contact)
    3) The target pendrive doesn't assert D+ pull-up.

    3) is denied, because the HP pendrive works on a PC.

    Maybe, both of USB connectors, on your board and HP pendrive, have weak contacts. Just when these connectors meet with, the problem arises.

    To get more clue, try an USB extender cable (A-plug + A-receptacle) between your board and the pendrive, to change the combination of connectors. If this extender cable improves the connection, the connector problem is concluded. Replace the USB connector on the board.

    Tsuneo

Reply
  • Er..
    Back to the OP's problem,
    I have an impression that it may be caused by weak contacts at the USB connectors.

    > when I debug through the software the value of HOST_RhscIntr is not changing to 1.

    HOST_RhscIntr is set to '1' by the HostLite firmware in Host_Isr() (usbhost_lpc2468.c), when the root hub on the chip detects D+ line voltage change (HcRhPortStatus1 & OR_RH_PORT_CSC).

    1) The target pendrive is not powered, because of bad contact at USB VBUS (5V).
    2) The D+ line doesn't connect together (D+ bad contact)
    3) The target pendrive doesn't assert D+ pull-up.

    3) is denied, because the HP pendrive works on a PC.

    Maybe, both of USB connectors, on your board and HP pendrive, have weak contacts. Just when these connectors meet with, the problem arises.

    To get more clue, try an USB extender cable (A-plug + A-receptacle) between your board and the pendrive, to change the combination of connectors. If this extender cable improves the connection, the connector problem is concluded. Replace the USB connector on the board.

    Tsuneo

Children
  • Sir,
    Thanks for your kind support
    As you know usbhostlite is a standard NXP usbhost stack I made two changes in this software
    firstly I converted FAT16 to FAT32. Since here HOST_RhscIntr is not changing to 1 so i think problem is not related to FAT.
    Second Since I am also using usb hid device at another port That,s why I combine ISR of usb device and usb Host using USB_HOST_INT pin status.

    I think ISR is not working properly in case of HP pendrive.

    One think more i want to discuss what should be the voltage level initially at USB_PPWR1 and USB_PWRD1 pin .

    In Hostlite source code how to switch off the power when pendrive is ejected. Since I think if we eject pendrive when power is on it may harm pendrive.