-
Notifications
You must be signed in to change notification settings - Fork 7.5k
USB: DW driver does not work properly with mass storage class #5678
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@finikorg Can you test please |
@jfischer-phytec-iot Should it build without extra configuration? I cannot do fresh build only specifying the board.
This is defined only for: |
@finikorg another issue 😄, it should build with DISK_ACCESS_RAM enabled.
|
@jfischer-phytec-iot that configuration seems to work somehow. I see new disk added in my (virtual) Linux
I can create partition:
I think that the size of the disk is a bit small to create file system, how do you test it? |
There is a text file on it. You can also test it with something like:
|
I found usb analyzer in our storage room. The error seems to be in the usb_dw_tx . Below kernel log and the screenshots (master and #5496)
|
@finikorg are you looking at this bug? |
@nashif Yes, at the moment I see that when sending data we sometimes "send" extra 4 bytes, apparently left from the previous send operation. This is clearly seen in the trace below. The extra 4 bytes is CSW Signature, which is first 4 bytes of usual reply sent to this endpoint. If we remove these 4 bytes the operation would succeed. Looks like issue with USD DW driver, although the MSC code is not very good in terms that it handles most of operations in callbacks called from ISR, it would be better to use packets queues and processing in threads, ... After receiving this message Linux resets USB device, and since we do not reset our USB stack usually everything works even after reset. |
Root cause is the same as for #3515 |
@finikorg so is this fixed? Can we close it? |
@nashif we still have no solution yet for this issue |
@jfischer-phytec-iot I see the same issue like before, first 4 bytes duplicated. |
You guys still work on this? |
@jfischer-phytec-iot - Is this isssue still relevant to you? |
@laperie It is not relevant, but in consideration of all the USB issues on this SiP/SoC we maybe have to disable USB support on Arduino 101 or at last document all the issues? |
@jfischer-phytec-iot actually, Arduino 101 is no longer (officially) supported, as per @nashif . So we can just close this one |
DW USB device driver does not work properly with mass storage class (MSC).
Tested with
sample/subsys/usb/mass
on Arduino 101 connected to Linux host:There is also a note in
sample/subsys/usb/mass/README.txt
about issues with Arduino 101.I have also tested
sample/subsys/usb/mass
on FRDM-K64F with #542 and I have not observed any problems with Linux and Windows 7 host.Similar behavior was observed under Windows OS, see #5496
The text was updated successfully, but these errors were encountered: