On Wed, Oct 30, 2013 at 02:14:49PM +0530, Pratyush Anand wrote: > Hi Felip, > > I too got this issue with my dwc3 based usb device platform. Have you > ever tried to run USBCV MSC test with dwc3 + g_mass_storage? If yes, > what was the result in your case. > > On Mon, Oct 28, 2013 at 10:53:22PM +0800, Alan Stern wrote: > > Be aware that the mailing list doesn't like HTML. Plain-text only, > > please. > > > > On Mon, 28 Oct 2013, zouid abdelhamid wrote: > > > > > Hi folks, > > > > > > > > > > > > I am > > > testing a USB MSC, device mode, using USBCV2.0 . > > > > > > The device > > > is an ARM based platform with a USB DRD that is running 3.4 kernel, the USB > > > port is configured as �device�. > > > > > > When it > > > comes to �Error recovery test� , it fails showing the following messages: > > > > > > > > > > > > ERROR CSW > > > endpoint status returned STALL after BOT MSC Reset > > > > > > FAIL (5.5.4) > > > The device must support the Bulk-Only Mass Storage Reset. > > > > > > > > > > > > Actually I > > > am a little bit confused if it is a Software issue rather than hardware, and I > > > wonder if there is an existing patch for fixing this in the kernel. > > > > It's kind of hard to say, since you didn't tell us what platform and > > which UDC driver you are using. > > I am using dwc3 driver. I my case kernel version is even a bit old > 3.3, but dwc3 patches are almost updated. I am using g_mass_storage. > > > > > Why don't you try running an up-to-date kernel, like 3.11, instead? > > Yaa, I am trying to upgrade my kernel to 3.12.RC5. > > To me, it seems more like a mass storage layer issue rather than > peripheral layer. I do not have any expertize of mass storage > internals, so meanwhile I am providing few more inputs, if some expert > from mass storage can give any advice. > > Please see attached snapshot of lecroy capture for a failing and > passing error recovery test. Transfer 10 is a BULK IN transfer, in > which SBSU Tag, Residue and status is expected. I see that Verbatim > usb3.0 disk passes here, while Linux g_mass_storage stalls. I read a bit usbmassbulk specification. What I understood that, host sends a CBW (21 byte bulk out command), which should start with dCBWSignature 43425355. I see that in both pass and fail case host sends a 31 byte bulk out with signature as DEADBEEF. It is well accepted by Verbatim USb3.0 disk, which returns a CSW with correct signature 53425355 and tag and status is passed. f_mass_storage checks for the signature and finds it wrong so, it wedges the bulk in EP. I think, this is not an issue and f_mass_storage is doing right here. However going further I see that, f_mass_storage is not able to clear halt condition of bulk in ep after MASS STORAGE RESET and CLEAR FEATURE (ENDPOINT HALT). In fact this what USB CV log suggests too. Regards Pratyush > > I am also providing usbcv log, if that tells something... > > INFO Start time: Wed Oct 30 11:54:06 2013 > INFO Configuring device, set configuration = 0x1 > INFO NOTE: It is expected the device has reset the data toggles on all Bulk endpoints after the above SetConfiguration call > INFO Setting device interface, interface number = 0x0 and alternate setting = 0x0 > INFO NOTE: It is expected the device has reset the data toggles on all Bulk endpoints after the above SetInterface call > INFO Issuing Get Max LUN request > INFO Max LUN value = 0 > INFO Issue CBW with invalid signature > INFO Issuing invalid CBW > INFO CBW successful > INFO Issuing CSW 2 times, CSW should stall in every case > INFO Issuing CSW 1 > INFO Issuing CSW 2 > INFO Retrieving status on CSW endpoint > INFO CSW endpoint status = 0x1 > INFO CSW endpoint stalled > INFO Clearing stalled CSW endpoint > INFO Issuing CSW 2 times, CSW should stall in every case > INFO Issuing CSW 1 > INFO Issuing CSW 2 > INFO Issuing CBW 2 times, CBW should either stall or return success > INFO Issuing CBW 1 > INFO CBW successful > INFO Issuing BOT MSC Reset, reset should always succeed > INFO Retrieving status on CBW endpoint > INFO CBW endpoint status = 0x0 > INFO Retrieving status on CSW endpoint > INFO CSW endpoint status = 0x1 > > ERROR CSW endpoint status returned STALL after BOT MSC Reset > > FAIL (5.5.4) The device must support the Bulk-Only Mass Storage Reset. > > INFO Re-enumerating device > INFO Unconfiguring the device > INFO > Stop time: Wed Oct 30 11:54:07 2013 > INFO Duration: 1 second. > INFO Stopping Test [ USB Mass Storage Error Recovery Test (Configuration Index 0): > Number of: Fails (1); Aborts (0); Warnings (0) ] > > Regards > Pratyush > > > Then if there is an existing patch, you'll find out because the test > > will succeed. > > > > Alan Stern > > > > -- > > To unsubscribe from this list: send the line "unsubscribe linux-usb" in > > the body of a message to majordomo@xxxxxxxxxxxxxxx > > More majordomo info at http://vger.kernel.org/majordomo-info.html
Attachment:
bulk_in_ep_halted_even_after_reset.png
Description: PNG image