NRF52840 USB CDC issue with NCS 1.9

Hi,

As a part of proof of concept for our newest design We have tried to setup USB CDC using nRF52840DK and NCS 1.9. In order to quickly test things out We have tried the following examples:

1. samples/subsys/usb/cdc_acm

2. samples\bluetooth\peripheral_uart (with prj_cdc.conf)

Both of these examples ended up in proper device enumeration. The problem is that when we try to connect a host application (putty/realterm on Windows and minicom on Linux) it ends up in failure. Even if by some miracle we end up connecting to the device data transfer does not happen in any direction. 

We have once done some small modifications within prj.conf  (I can't recall what, I am sorry) the following log was received upon host  connection attempt:

"Failed to write endpoint buffer 0x80"

When using cdc_acm sample we can see logs up to:

DTR set, start test
Baudrate detected: 115200

After this we were supposed to see:
Send characters to the UART device
Characters read:

 
We have tried to expand stacks for IRQ, heap etc. with no luck. All the other functionalities that we have tested with this MCU are working, it is only the USB that is mulfunctioning.


Could someone give us a hint of what might have gone wrong and how to test/debug this issue ?

Thanks in advance,
BR
Jakub

Parents
  • Hi Jakub,

    I'm not really sure what the issue could be here considering they are enumerating, I did not manage to replicate it here with these 2 samples either.

    Attached below is the peripheral_uart hex I used. Maybe you could you try with that one to see if you still get the same error?

    peripheral_uart with USB CDC built for nrf52840dk_nrf52840 (west build -b nrf52840dk_nrf52840 -p -- -DOVERLAY_CONFIG=prj_cdc.conf -DDTC_OVERLAY_FILE=usb.overlay)

    8132.zephyr.hex

    Programming hex with nrfjprog

    $ nrfjprog --program zephyr.hex --chiperase --reset

    Terminal output from nRF USB

    RTT log

     

    Data sent and received from nRF connect app on iOS (app is available on android as well)

    Best regards,

    Vidar

    Edit: Added a screenshot of the RTT log.

Reply
  • Hi Jakub,

    I'm not really sure what the issue could be here considering they are enumerating, I did not manage to replicate it here with these 2 samples either.

    Attached below is the peripheral_uart hex I used. Maybe you could you try with that one to see if you still get the same error?

    peripheral_uart with USB CDC built for nrf52840dk_nrf52840 (west build -b nrf52840dk_nrf52840 -p -- -DOVERLAY_CONFIG=prj_cdc.conf -DDTC_OVERLAY_FILE=usb.overlay)

    8132.zephyr.hex

    Programming hex with nrfjprog

    $ nrfjprog --program zephyr.hex --chiperase --reset

    Terminal output from nRF USB

    RTT log

     

    Data sent and received from nRF connect app on iOS (app is available on android as well)

    Best regards,

    Vidar

    Edit: Added a screenshot of the RTT log.

Children
No Data
Related