This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

usbd_cdc_acm examples bricks nrf52840 PDK

I've got a new nrf52840 PDK. I got Eclipse, JLink, and the nrf command line tools to work today. I've been able to run the precompiled examples (blinky, led_softblink), compile and run both of them, and step thru blinky using Eclipse a source line at a time. All good!

Then I tried the usbd_cdc_acm example by copying the copying the _pca10056.hex file to the JLink mount point. The eval board reset and then nothing! It no longer shows up as a MSD drive nor as a USB device at all! Power cycling and resetting the board does nothing.

If I hold down the IF BOOT/RESET button and then apply power, the board appears to go into "bootloader" mode. The IF LED is blinking, Windows thinks it's a MBED USB drive, there's an empty bootloader.htm file on it. But the bootloader quickly (30 seconds) gets some kind of error and Windows unmounts the drive, and complains about an unknown error.

I've seen in other postings on the DevZone that when it's in "bootloader" mode, I should drag and drop the offical Nordic firmware image for my board. Unfortunately, I can't find any such firmware image. I can find the nrf52832's MBED and JLink images, but I'm not brave enough (yet!) to try it on the nrf52840.

Any ideas on what I did wrong with the usbd_cdc_acm example? And more importantly, how I might rescue my board?

Thanks,

Mike

  • No place in those instructions does it mention how to connect up the nRF52840's USB. The NXP IF MCU USB port is not the one of interest to me. Only the NRF_LOG_INFO messages go out to that virtual serial port. None of the buttons cause any messages to appear on the LOG port. Nor do any of the LEDs change state.

    The nRF USB port always shows up in the Device Manager as a broken USB device that didn't return a descriptor.

    The nRF52840 is supposed to have a USB 2.0 interface on it. That's what I'm hoping to test.

  • Hi Mike,

    From your description, I suspect it could be a issue with your board. Please create a Mypage support case ticket regarding this issue.

  • I have two of v0.9.2 boards and neither works for nRF USB. That includes the generic HID example.

    In both examples, LED1 comes on briefly and then goes off about the time Windows 10 complains that the USB device failed on the Device Descriptor Request.

    Looking at the schematics, the D_N,D_P pin pair on the nRF52840 looks like it's connected directly to the "nRF USB" port (J3). That would lead me to believe that it's a software problem. Or a board configuration problem.

  • Board #3 also doesn't work. Board #4 does! Most of the time!

    Now Windows 10's Device Manager is full of "HID-compliant vendor-defined device" entries, "HID-compliant wireless radio controls" entries, "Converted Portable Device Control device" entries, and "HID-compliant system controller" entries, plus a bunch of other random entries.

    I can't find any differences in board configuration between the ones that don't work and the one that does. :-(

  • Duh! I think it's being caused by "power only" USB cables! I was using two, one for each USB port. Tried the one from the "nRF USB" port on a ESP32 board and it wouldn't show up on the USB bus. While trying to fix the CP2104 driver, I ran across someone mentioning these "power only" USB cables. Tried a different USB cable and my ESP32 shows up. Used that cable on the nRF52840 PDK with the usbd_cdc_acm example and I get "Hello USB CDC FA demo: 658"!!

    I'll verify the other two boards in the morning. But I'm pretty sure they're having the same issue.

    Then after trying the USB enumeration calibration app on the PDK, I'll clean up and close the MyPage support ticket.

    Sorry for all of the extra trouble!

Related