• AVR Freaks

Hot!USB Host MSD SCSI Inquiry command sometimes fails to completes.

Author
skruegel1
Starting Member
  • Total Posts : 61
  • Reward points : 0
  • Joined: 2017/02/04 03:32:13
  • Location: 0
  • Status: offline
2019/03/26 14:50:59 (permalink)
0

USB Host MSD SCSI Inquiry command sometimes fails to completes.

I'm not sure about my next step with this problem.  I have an Explorer 16/32 with a hub, a CDC, and a MSD.  I'm using console output to debug.  I've attached the log I took as I removed and inserted the MSD.
 
I'd be willing to reset the USB Bus when this problem occurs.
 
Thoughts?
#1

3 Replies Related Threads

    skruegel1
    Starting Member
    • Total Posts : 61
    • Reward points : 0
    • Joined: 2017/02/04 03:32:13
    • Location: 0
    • Status: offline
    Re: USB Host MSD SCSI Inquiry command sometimes fails to completes. 2019/03/27 07:16:55 (permalink)
    0
    More information.  I turned on the SCSI layer of my protocol analyzer, and have attached a valid Inquiry/Response, and an invalid handshake.

    Attached Image(s)

    #2
    skruegel1
    Starting Member
    • Total Posts : 61
    • Reward points : 0
    • Joined: 2017/02/04 03:32:13
    • Location: 0
    • Status: offline
    Re: USB Host MSD SCSI Inquiry command sometimes fails to completes. 2019/04/03 15:09:44 (permalink)
    0
    I've been diving a little deeper into this problem.  I added debug messages when host transfer objects are allocated (set inUse), and deallocated (inUse = false).  On line 178 of the attached log you can see that a transfer object is allocated but not deallocated.  I have a workaround for this in the MSD release method, but I'm still working on a fix at the USB host level.
    #3
    skruegel1
    Starting Member
    • Total Posts : 61
    • Reward points : 0
    • Joined: 2017/02/04 03:32:13
    • Location: 0
    • Status: offline
    Re: USB Host MSD SCSI Inquiry command sometimes fails to completes. 2019/04/05 05:45:23 (permalink)
    0
    I resolved this problem by setting the .inUse field of the transfer object to false, when the _USB_HOST_MSD_InstanceRelease() method is called.
    #4
    Jump to:
    © 2019 APG vNext Commercial Version 4.5