CDC ACM usb problem.

Hello all,

I have 2 problem that I can not understand why.

1) Now cdc_acm isn't working anymore, but until 2 days ago it was working perfectly. I didn't change nothing. When I plug the USB cable to NRF52833DK in the NRF teminal I have the following message "usb_cdc_acm: Device Suspended" -> "usb_cdc_acmDevice Resumed" -> "usb_cdc_acmDevice Suspended", and Windows show me alert "Unknown device, descriptor request failed, error code 43. I have already tried with different USB cable, in different USB port, on second PC, in second DK (52840) and I have always the same result.

2) The second problem is the following:
I have second project on cdc_acm and when all worked goods, my purpose it was to pass "NRF USB" serial data to "UART_0" and viceversa (pass"UART_0" serial data to "NRF USB").
Everything it was good if I serial data gone from UART_0 to NRF USB. If the direction was the opposit (NRF USB to UART_0) i can see only the 32 byte and i can not understand why. I tried to change ring buffer size but without any result. My targhet is pass 128 byte in both direction.

Thanks to anyone that can help me
Best regards

Parents
  • Hi,

     

    1) Now cdc_acm isn't working anymore, but until 2 days ago it was working perfectly. I didn't change nothing. When I plug the USB cable to NRF52833DK in the NRF teminal I have the following message "usb_cdc_acm: Device Suspended" -> "usb_cdc_acmDevice Resumed" -> "usb_cdc_acmDevice Suspended", and Windows show me alert "Unknown device, descriptor request failed, error code 43. I have already tried with different USB cable, in different USB port, on second PC, in second DK (52840) and I have always the same result.

    Which version of ncs are you using? Have you tried using the stock (ie. unchanged) example and see if that works?

    2) The second problem is the following:
    I have second project on cdc_acm and when all worked goods, my purpose it was to pass "NRF USB" serial data to "UART_0" and viceversa (pass"UART_0" serial data to "NRF USB").
    Everything it was good if I serial data gone from UART_0 to NRF USB. If the direction was the opposit (NRF USB to UART_0) i can see only the 32 byte and i can not understand why. I tried to change ring buffer size but without any result. My targhet is pass 128 byte in both direction.

    Which example is this? Are you using the connectivity_bridge example (https://github.com/nrfconnect/sdk-nrf/tree/main/applications/connectivity_bridge)? 

     

    Kind regards,

    Håkon

  • Hello,

    "Which version of ncs are you using? Have you tried using the stock (ie. unchanged) example and see if that works?"
    i'am using last version of NSC 1.9.1.
    Yes i have already tried with the unchanged example and still not working.

    Which example is this? Are you using the connectivity_bridge example?
    No i have changed CDC_ACM. What I receive over USB I put it on the UART_0.

    Also DFU example "untouched" doesn't work anymore. Same problem as above.
    Is there a way to force the installation of the driver?

    Thanks

  • For issue #2: could you try to adjust "CONFIG_UART_0_NRF_TX_BUFFER_SIZE"?

     

    For issue #1, have you changed the descriptor in any way? What happens if you try to change the PID (CONFIG_USB_DEVICE_PID)? Changing the usb descriptor on-the-fly without changing the PID can be problematic, as the OS caches the first descriptor.

     

    Kind regards,

    Håkon

  • Hello,

    For issue #2 i wil try as soon as my DK will be available again! and thanks for that suggestion.

    For issue #1: NO i didn't change the CONFIG_USB_DEVICE_PID.
    CONFIG_USB_DEVICE_PID Now is 0x0001 in cdc_acm sample and 0x0005 id dfu sample.

    It is okay?
    Thanks best regards

  • Hi,

     

    Epasta said:

    For issue #1: NO i didn't change the CONFIG_USB_DEVICE_PID.
    CONFIG_USB_DEVICE_PID Now is 0x0001 in cdc_acm sample and 0x0005 id dfu sample.

    It is okay?

    As long as you change one of them, it should trigger a full enumeration (ie. a new caching of the descriptors). You could just increment the PID for simplicity.

    Have you changed the usb descriptor in any way? If you haven't done any changes to the usb descriptor, then you should not need to do this.

     

    Kind regards,

    Håkon

  • Hello,

    i changed pc where I develop and it is fixed.
    I can not undestand why my old pc is still unavailable, but does not matter i have new one pc and it is working.

    Best regards

Reply Children
Related