-
Notifications
You must be signed in to change notification settings - Fork 7k
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
NRF52840: usb composite MSC + HID (with CONFIG_ENABLE_HID_INT_OUT_EP) #15507
Comments
I figure #15486 can be closed now. |
I tested on |
yes, it work. The problem is triggered by enabling |
It works for me on |
can you please paste your .conf used for test? this is mine for
without |
@finikorg @masz-nordic none of you have the chance to try with |
I was able to reproduce with |
@masz-nordic can i try something? |
@dmazzella to verify that issue @masz-nordic mentioned you can add another HID, it will increase descriptor table. |
@masz-nordic @finikorg I tried adding another HID and the device on Windows works as expected. |
This should be fixed for the board device controller, I think this is serious issue, since all control packets multiple of 64 bytes fails, according to this finding. |
@finikorg i have tried with commit d44086d and now on macOS I have this error: MBP-di-Damiano:~$ sudo dmesg
Command 0x1100 completed. inCount: 2 data:0x0Command 0x2 completed. inCount: 2 data:0x4Command 0x1 completed. inCount: 2 data:0x1101Command 0x16 completed. inCount: 2 data:0xc0Command 0xa completed. inCount: 2 data:0xfc35Command 0xb completed. inCount: 2 data:0xfba4Command 0x12 completed. inCount: 2 data:0x5bCommand 0x13 completed. inCount: 2 data:0xffffCommand 0xf completed. inCount: 2 data:0x698Command 0x10 completed. inCount: 2 data:0x13d5SmartBattery: finished polling type 4
USBMSC Identifier (non-unique): ABCDEF012345 0x2fe3 0x100 0x11, 1
Report bytes: input:2 output:2 feature:1Collections : 2Buttons : input:0 output:0 feature:0Values : input:1 output:1 feature:0Element value capacity 96Report count: 3Report ID: 0 input:0 output:0 feature:0Report ID: 1 input:16 output:8 feature:8Report ID: 2 input:8 output:16 feature:8USB device 2FE3010014300000 - will be reset!
005288.316806 IOUSBHostHIDDevice: IOUSBHostHIDDevice::interruptReadComplete: IO error 0xe00002ed, 9 retries remaining
005290.163284 AppleUSBHostCompositeDevice@: AppleUSBHostCompositeDevice::ConfigureDevice: unable to set a configuration (0xe0005000)
USB device 2FE3010014300000 - failed to re-instantiate!
USB device 2FE3010014300000 - USB Mass Storage stack will be terminated!
USB device 2FE3010014300000 - fConsecutiveResetCount = 1.
MBP-di-Damiano:~$ with
|
@finikorg
error: MBP-di-Damiano:~$ sudo dmesg
USBMSC Identifier (non-unique): ABCDEF012345 0x2fe3 0x100 0x11, 1
USB device 2FE3010014300000 - will be reset!
006311.172343 AppleUSBHostCompositeDevice@: AppleUSBHostCompositeDevice::ConfigureDevice: unable to set a configuration (0xe0005000)
USB device 2FE3010014300000 - failed to re-instantiate!
USB device 2FE3010014300000 - USB Mass Storage stack will be terminated!
USB device 2FE3010014300000 - fConsecutiveResetCount = 1.
MBP-di-Damiano:~$
|
@dmazzella So does it work in Windows? |
YES
YES |
@finikorg The COM port (on Windows) ttyACM0 (on Linux) is accessible but i can't see ouput. on Linux:
|
Does this help? |
Yes now work correctly |
@finikorg sorry if I said that now it works without having tested on all three operative systems.
|
@finikorg @masz-nordic any progress on this issue? |
@dmazzella So what is the issue now? |
@finikorg i have used CONFIG_STDOUT_CONSOLE=y
CONFIG_GPIO=y
CONFIG_USB=y
CONFIG_USB_DEVICE_STACK=y
CONFIG_USB_DEVICE_PRODUCT="Zephyr MSC sample"
CONFIG_LOG=y
CONFIG_USB_DRIVER_LOG_LEVEL_ERR=y
CONFIG_USB_MASS_STORAGE=y
CONFIG_USB_DEVICE_LOG_LEVEL_ERR=y
CONFIG_USB_MASS_STORAGE_LOG_LEVEL_ERR=y
CONFIG_DISK_ACCESS_RAM=y
CONFIG_MASS_STORAGE_DISK_NAME="RAM" MBP-di-Damiano:~$ sudo dmesg
USBMSC Identifier (non-unique): ABCDEF012345 0x2fe3 0x100 0x11, 1
USB device 2FE3010014400000 - will be reset!
000397.390821 AppleUSBHostCompositeDevice@: AppleUSBHostCompositeDevice::ConfigureDevice: unable to set a configuration (0xe0005000)
USB device 2FE3010014400000 - failed to re-instantiate!
USB device 2FE3010014400000 - USB Mass Storage stack will be terminated!
USB device 2FE3010014400000 - fConsecutiveResetCount = 1.
MBP-di-Damiano:~$ sudo dmesg |
Describe the bug
Composite usb device MSC + HID does not work on Windows, the device does not complete the installation.
MSC can be either configured with either one of
CONFIG_DISK_ACCESS_RAM
orCONFIG_DISK_ACCESS_FLASH
, HID hasCONFIG_ENABLE_HID_INT_OUT_EP=y
To Reproduce
Expected behavior
After writing the firmware using nRF Connect Programmer, I expect a composite MSC + HID device (PCA10059) to be properly recognized.
This is the case on Linux and macOS but on Windows 10 the USB composite device appears as unknown device.
Impact
Showstopper.
Screenshots or console output
![56220817-6000ab80-6069-11e9-94cd-1c83c5b6e534](https://user-images.githubusercontent.com/3988243/56274688-8113db80-60ff-11e9-8fcd-0b89d5118a3c.png)
![56220810-5d05bb00-6069-11e9-9e10-9b1e2b9f8410](https://user-images.githubusercontent.com/3988243/56274697-840ecc00-60ff-11e9-8e32-32ce6763ec9f.png)
Environment (please complete the following information):
Linux dma-pc 4.4.0-17763-Microsoft #379-Microsoft x86_64 x86_64 x86_64 GNU/Linux
Additional context
I can try only with NRF52840 PCA10059
The text was updated successfully, but these errors were encountered: