+ Post New Thread
Results 1 to 8 of 8
  1. #1
    Full Member level 3
    Points: 2,109, Level: 10

    Join Date
    Nov 2010
    Posts
    176
    Helped
    0 / 0
    Points
    2,109
    Level
    10

    USB connector testing problem

    hello

    I am working with an arduino usb shield , and It was working great with me, but suddenly it gave me wrong performance (it works but can not detect the flash usb stick). I bean to be sure that the problem is in the usb female connector of the shield. I doubt that some of the internal pins does not touch the internal pins of the usb flash memory stick.


    Are not there any way of testing if all pins of female connector really touch the pins of male usb stick?

    I think that in computer , the user may detect this by software, but in my case, I want I need first to test if there is full contact between the 4 male and the 4 female pins or not. The real difficulty here is that the whole thing is enclosed in the metal casing of femlae and male connectors and there is no place for using multimeter.

    any suggestions?

    •   Alt5th April 2016, 23:38

      advertising

        
       

  2. #2
    Super Moderator
    Points: 46,266, Level: 52

    Join Date
    Apr 2011
    Location
    Minneapolis, Minnesota, USA
    Posts
    11,548
    Helped
    2273 / 2273
    Points
    46,266
    Level
    52

    Re: USB connector testing problem

    You could tarnish the brass contacts somehow, then insert and remove the plug, then look for a clean scrape-line on the metal. If it's there, then you have contact.

    It's obvious that this would be an easy test if you were to apply paint, or soot, etc. But that could ruin a good connection, negating the whole purpose.

    When I say tarnish the contacts, I'm not sure how to do this. You want to restore them to shiny clean. Any liquid, or gas, or heat, might alter the plug somehow.

    Here's an idea: Chill the plug in the freezer. Breathe on the contacts. A thin layer of water droplets gathers. Insert and remove the plug. Examine for a scrape-line.


    1 members found this post helpful.

  3. #3
    Full Member level 3
    Points: 2,109, Level: 10

    Join Date
    Nov 2010
    Posts
    176
    Helped
    0 / 0
    Points
    2,109
    Level
    10

    Re: USB connector testing problem

    thank you for suggestions , actually I imagined that there is some standard method for testing meshing between male and female usb connectors.



    •   Alt7th April 2016, 23:44

      advertising

        
       

  4. #4
    Administrator
    Points: 69,041, Level: 64
    Achievements:
    Created Album pictures Created Blog entry 7 years registered
    bigdogguru's Avatar
    Join Date
    Mar 2010
    Location
    Southwest, USA
    Posts
    9,832
    Helped
    2351 / 2351
    Points
    69,041
    Level
    64
    Blog Entries
    4

    Re: USB connector testing problem

    Quote Originally Posted by mamech View Post
    I am working with an arduino usb shield , and It was working great with me, but suddenly it gave me wrong performance (it works but can not detect the flash usb stick). I bean to be sure that the problem is in the usb female connector of the shield. I doubt that some of the internal pins does not touch the internal pins of the usb flash memory stick.

    any suggestions?


    Is the shield in question a Arduiono USB Host shield based on the MAX3421E, USB peripheral/host controller? The key term being "Host."

    If it is a USB Host shield, does it still function with previous tested device class devices?

    If the shield has worked in the past with other device class devices, it could possibly be case of the device enumerating incorrectly and is not supported by the MAX3421E.

    If it is a case of a bad connection for this particular flash drive, i.e., it functions properly when inserted into your computers USB connector, you might try a male to female USB cable in between the flash drive and the shield.


    BigDog
    The Edge... there is no honest way to explain it, because the only people who really know where it is are the ones who have gone over.
    -- Hunter S. Thompson


    2 members found this post helpful.

  5. #5
    Full Member level 3
    Points: 2,109, Level: 10

    Join Date
    Nov 2010
    Posts
    176
    Helped
    0 / 0
    Points
    2,109
    Level
    10

    Re: USB connector testing problem

    thank you very much for the idea of testing the usb meshing. Now, I found that the meshing between male and female connectors are fine.. so I am not sure now what is the source of my problem.


    I will tell more details . yes I am using USB host shield for arduino. I used the arduino example "testusbhostFAT" for around 1 year and it works great with my arduino + usb shield. I took the code and I made some modifications to suit my interest, and it also worked fine with me. but somedays ago, when I was trying the arduino and the shield in some circuit, I noticed that my code does not behave as usual. I began to suspect my code, so I uploaded again the original testusbhostFAT, and I found the same weird performance (really I do not know what changed!)

    in the past, the arduino showed me messages related to opening a file named "message.txt" that exist in usb stick, and creating another file in the usb stick named "Hello.txt". but now this does not happen. currently, this is what I get on serial monitor:
    Start
    Current UsbDEBUGlvl 81
    '+' and '-' increase/decrease by 0x01
    '.' and ',' increase/decrease by 0x10
    't' will run a 10MB write/read test and print out the time it took.
    'e' will toggle vbus off for a few moments.

    Long filename support: Enabled
    Total EXT RAM banks 0
    Available heap: 7124 Bytes
    SP 21ef
    Available heap: 7097 Bytes
    VBUS on
    USB state = 20
    USB state = 40
    USB state = 50
    USB state = 51
    USB state = 90
    Available heap: 6650 Bytes
    Available heap: 6650 Bytes
    Available heap: 6650 Bytes
    Available heap: 6650 Bytes
    Available heap: 6650 Bytes
    Available heap: 6650 Bytes

    and it keeps showing more and more without showing anything from the usb stick!

    I suspected that my usb stick is defective, and i replaced it, but the result is the same.

    regarding what you mentioned about enumeration, I do not know, but I am testing the same shield with the same usb stick, it is still possible that enumeration is the cause?

    does the above mentioned behavior means that my shield became defective for some reason and I need to replace it totally?



  6. #6
    Administrator
    Points: 69,041, Level: 64
    Achievements:
    Created Album pictures Created Blog entry 7 years registered
    bigdogguru's Avatar
    Join Date
    Mar 2010
    Location
    Southwest, USA
    Posts
    9,832
    Helped
    2351 / 2351
    Points
    69,041
    Level
    64
    Blog Entries
    4

    Re: USB connector testing problem

    What model of Arduino are you using with this shield? Specifically, what is the Atmel chip, ATMega328P, ATMega2560, etc?

    According the message log you've posted, I suspect the MAX3421E is functioning properly.

    However, I've attached a test sketch for diagnosing issues with the MAX3421E on board the Arduino USB Host Shield.

    Please download the compiled board test sketch found in the examples directory and post the resulting message log.

    BigDog
    The Edge... there is no honest way to explain it, because the only people who really know where it is are the ones who have gone over.
    -- Hunter S. Thompson



    •   Alt9th April 2016, 00:14

      advertising

        
       

  7. #7
    Full Member level 3
    Points: 2,109, Level: 10

    Join Date
    Nov 2010
    Posts
    176
    Helped
    0 / 0
    Points
    2,109
    Level
    10

    Re: USB connector testing problem

    I use the shield with arduino mega 2560. I tried to upload "board test" but I got the following error:


    Arduino: 1.6.3 (Windows 8.1), Board: "Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"

    Build options changed, rebuilding all

    board_test.pde: In function 'void printProgStr(const char*)':

    board_test.pde:268:20: error: 'BYTE' was not declared in this scope

    Error compiling.



  8. #8
    Full Member level 3
    Points: 2,109, Level: 10

    Join Date
    Nov 2010
    Posts
    176
    Helped
    0 / 0
    Points
    2,109
    Level
    10

    Re: USB connector testing problem

    I looked why there was compilation error, and I fixed the source of error. it was only related keyword "BYTE" that was used in a function and that was not recognized by the compiler.

    I managed to do the test using your code, and here is the message log:


    Reading REVISION register...Die revision 03
    Test PASSED
    Checking GPIO lines. Install GPIO
    Circuits At Home 2010
    USB Host Shield QC test routine

    Press any key to continue...
    Reading REVISION register...Die revision 03
    Test PASSED
    Checking GPIO lines. Install GPIO loopback adapter and press any key to continue...GPIO read/write mismatch. Write: 0 Read: FF

    GPIO check failed. Make sure GPIO loopback adapter is installed
    SPI test. Each '.' indicates 64K transferred. Stops after transferring 1MB (16 dots)
    ................
    Test PASSED
    Oscillator start/stop test. Oscillator state is ON
    Setting CHIP RESET. Oscillator state is OFF
    Clearing CHIP RESET. PLL is stable. Time to stabilize - 124 cycles
    Test PASSED
    USB Connectivity test. Waiting for device connection...
    Device connected. Resetting
    Reset complete. Waiting for the first SOF...
    SOF generation started. Enumerating device.
    Setting device address
    Getting device descriptor
    Device descriptor:
    Descriptor Length: 12
    Descriptor type: 01
    USB version: 0200
    Device class: 00
    Device Subclass: 00
    Device Protocol: 00
    Max.packet size: 40
    Vendor ID: 0781
    Product ID: 5567
    Revision ID: 0126
    Mfg.string index: 01
    Prod.string index: 02
    Serial number index: 03
    Number of conf.: 01

    All tests passed. Press RESET to restart test



--[[ ]]--