nRF Connect Programmer gives LIBUSB ERROR NO DEVICE

I have an encased nRF52840 dongle that is visible to nRF Connect. However, when I try and select the displayed device I get the following:

09:07:39.925	DFU trigger interface found, changing to bootloader...
09:07:39.925	LIBUSB_ERROR_NO_DEVICE
09:07:39.925	Target device closed.

I cannot press the reset button since the dongle is enclosed. Why does this error occur and what can I do to fix it?

I am running on Windows 10.

Before trying to select the display device the drop down shows:

  • Serial Port COM11
  • USB Nordic Semiconductor nRF52 Connectivity
Parents
  • Hi Brian,

    This is just a follow up to you on the emails we shared.  Please close out this ticket if you are satisfied with the answer.

    Thanks!

     

    "To be clear, you clicked on USB Nordic Semiconductor nRF52 Connectivity and got that error? 

    What utility were you attempting to use?   Can you try the RSSI utility in nRFconnect?

    If that does not work, please reinstall the nRFconnect for desktop. Either the one you have been using or the newest one.  Not just a update but a fresh install.

     You may get a message asking you if you want to install  the USB CDC ACM driver.  You want to answer yes.

     The Win 10 System / ports should now see the following.

     

     

     

    Please let me know if this works for you or not."

    Good luck on your project!!

    Best regards,

    Jay Tyzzer | Sr. Field Application Engineer

  • Well, it worked on my system. But on someone else's system a different error occurred. He could plug in the dongle and program it using the nRF Connect Programmer but after a reset, if he tried to repeat the process, he would get a DFU header error. Power cycling the dongle (re-inserting it) would fix the problem and the dongle could be programmed again. But he could not re-program the dongle without re-inserting it first. The same error happened every time.

    The repeatable error message was:

    2021-11-02T20:45:16.655Z ERROR Error when calling version command: Error: Error message: Response from DFU target did not start with 0x60
    2021-11-02T20:45:16.655Z ERROR Error when fetching device versions: TypeError: Cannot read property 'part' of undefined

    Here is his full log (there is more than one attempt).

    2021-11-02T20:21:55.365Z INFO Application data folder: C:\Users\Ben\AppData\Roaming\nrfconnect\pc-nrfconnect-programmer
    2021-11-02T20:21:55.513Z DEBUG App pc-nrfconnect-programmer v1.4.11 official
    2021-11-02T20:21:55.513Z DEBUG App path: C:\Users\Ben\.nrfconnect-apps\node_modules\pc-nrfconnect-programmer
    2021-11-02T20:21:55.513Z DEBUG nRFConnect 3.7.1, required by the app is (^3.6.0)
    2021-11-02T20:21:55.514Z DEBUG nRFConnect path: C:\Users\Ben\AppData\Local\Programs\nrfconnect\resources\app.asar
    2021-11-02T20:21:55.514Z DEBUG HomeDir: C:\Users\Ben
    2021-11-02T20:21:55.514Z DEBUG TmpDir: C:\Users\Ben\AppData\Local\Temp
    2021-11-02T20:21:55.537Z INFO Using nrfjprog library 10.12.1, pc-nrfjprog-js 1.7.6
    2021-11-02T20:21:56.556Z VERBOSE Could not fetch serial number for serial port at COM1
    2021-11-02T20:22:00.366Z INFO DFU trigger interface found, changing to bootloader...
    2021-11-02T20:22:10.427Z ERROR Timeout while waiting for device  F7C5955273A6 to be attached and enumerated
    2021-11-02T20:22:10.427Z INFO Target device closed.
    2021-11-02T20:22:13.710Z INFO Using USB SDFU protocol to communicate with target
    2021-11-02T20:22:13.718Z ERROR Error when calling version command: Error: Opening COM6: File not found
    2021-11-02T20:22:13.719Z ERROR Error when fetching device versions: TypeError: Cannot read property 'part' of undefined
    2021-11-02T20:22:13.719Z ERROR Error when closing serial port: Error: Port is not open
    2021-11-02T20:22:56.630Z INFO Parsing HEX file:  C:\Users\Ben\Downloads\nrf52840_xxaa(3).hex
    2021-11-02T20:22:56.653Z INFO File was last modified at  11/2/2021, 4:22:32 PM
    2021-11-02T20:23:00.349Z INFO Parsing HEX file:  C:\Users\Ben\Downloads\s140_nrf52_7.2.0_softdevice(3).hex
    2021-11-02T20:23:00.350Z INFO File was last modified at  11/2/2021, 4:22:40 PM
    2021-11-02T20:23:00.493Z INFO SoftDevice detected, id 0x100 (S140 v7.2.0)
    2021-11-02T20:23:07.291Z INFO Using USB SDFU protocol to communicate with target
    2021-11-02T20:23:07.304Z INFO Protocol Version:  1 found
    2021-11-02T20:23:07.308Z INFO Hardware: 52840 found
    2021-11-02T20:23:07.313Z INFO Firmware: Bootloader found
    2021-11-02T20:23:07.314Z INFO Firmware: SoftDevice found
    2021-11-02T20:23:07.314Z INFO Firmware: Application found
    2021-11-02T20:23:07.321Z INFO SoftDevice detected, id 0x100 (S140 v7.2.0)
    2021-11-02T20:23:32.373Z INFO Does not need to be reloaded:  C:\Users\Ben\Downloads\nrf52840_xxaa(3).hex
    2021-11-02T20:23:32.374Z INFO Does not need to be reloaded:  C:\Users\Ben\Downloads\s140_nrf52_7.2.0_softdevice(3).hex
    2021-11-02T20:23:32.378Z INFO SdReq for SoftDevice is set as 0x00.
    2021-11-02T20:23:32.380Z INFO Hash is generated by SHA256
    2021-11-02T20:23:32.380Z INFO Hash is generated by SHA256
    2021-11-02T20:23:32.384Z INFO Performing DFU. This may take a few seconds
    2021-11-02T20:23:32.410Z INFO DFU procedure starts. This may take a few seconds.
    2021-11-02T20:23:40.900Z INFO DFU for SoftDevice completed successfully!
    2021-11-02T20:23:40.901Z INFO 1 dfu package(s) left.
    2021-11-02T20:23:40.901Z INFO Waiting for device
    2021-11-02T20:23:40.906Z INFO DFU procedure starts. This may take a few seconds.
    2021-11-02T20:23:44.248Z INFO DFU for Application completed successfully!
    2021-11-02T20:23:44.248Z INFO 0 dfu package(s) left.
    2021-11-02T20:23:44.248Z INFO Waiting for device
    2021-11-02T20:23:45.256Z INFO All dfu images have been written to the target device.
    2021-11-02T20:23:45.257Z INFO DFU trigger interface found, changing to bootloader...
    2021-11-02T20:23:45.808Z INFO Using USB SDFU protocol to communicate with target
    2021-11-02T20:23:45.821Z INFO Protocol Version:  1 found
    2021-11-02T20:23:45.824Z INFO Hardware: 52840 found
    2021-11-02T20:23:45.829Z INFO Firmware: Bootloader found
    2021-11-02T20:23:45.830Z INFO Firmware: SoftDevice found
    2021-11-02T20:23:45.830Z INFO Firmware: Application found
    2021-11-02T20:23:45.838Z INFO SoftDevice detected, id 0x100 (S140 v7.2.0)
    2021-11-02T20:24:08.781Z INFO Target device closed.
    2021-11-02T20:33:46.761Z INFO Using USB SDFU protocol to communicate with target
    2021-11-02T20:33:46.791Z ERROR Error when calling version command: Error: Error message: Response from DFU target did not start with 0x60
    2021-11-02T20:33:46.792Z ERROR Error when fetching device versions: TypeError: Cannot read property 'part' of undefined
    2021-11-02T20:33:54.899Z INFO Using USB SDFU protocol to communicate with target
    2021-11-02T20:33:54.911Z ERROR Error when calling version command: Error: Error message: Response from DFU target did not start with 0x60
    2021-11-02T20:33:54.911Z ERROR Error when fetching device versions: TypeError: Cannot read property 'part' of undefined
    2021-11-02T20:37:24.335Z INFO Using USB SDFU protocol to communicate with target
    2021-11-02T20:37:24.349Z ERROR Error when calling version command: Error: Error message: Response from DFU target did not start with 0x60
    2021-11-02T20:37:24.349Z ERROR Error when fetching device versions: TypeError: Cannot read property 'part' of undefined
    2021-11-02T20:37:53.866Z INFO Target device closed.
    2021-11-02T20:38:04.808Z INFO DFU trigger interface found, changing to bootloader...
    2021-11-02T20:38:05.350Z INFO Using USB SDFU protocol to communicate with target
    2021-11-02T20:38:05.361Z INFO Protocol Version:  1 found
    2021-11-02T20:38:05.363Z INFO Hardware: 52840 found
    2021-11-02T20:38:05.368Z INFO Firmware: Bootloader found
    2021-11-02T20:38:05.368Z INFO Firmware: SoftDevice found
    2021-11-02T20:38:05.368Z INFO Firmware: Application found
    2021-11-02T20:38:05.372Z INFO SoftDevice detected, id 0x100 (S140 v7.2.0)
    2021-11-02T20:38:06.153Z INFO Target device closed.
    2021-11-02T20:38:13.195Z INFO Using USB SDFU protocol to communicate with target
    2021-11-02T20:38:13.208Z INFO Protocol Version:  1 found
    2021-11-02T20:38:13.210Z INFO Hardware: 52840 found
    2021-11-02T20:38:13.215Z INFO Firmware: Bootloader found
    2021-11-02T20:38:13.215Z INFO Firmware: SoftDevice found
    2021-11-02T20:38:13.215Z INFO Firmware: Application found
    2021-11-02T20:38:13.218Z INFO SoftDevice detected, id 0x100 (S140 v7.2.0)
    2021-11-02T20:44:49.373Z INFO Does not need to be reloaded:  C:\Users\Ben\Downloads\nrf52840_xxaa(3).hex
    2021-11-02T20:44:49.374Z INFO Does not need to be reloaded:  C:\Users\Ben\Downloads\s140_nrf52_7.2.0_softdevice(3).hex
    2021-11-02T20:44:49.375Z INFO SdReq for SoftDevice is set as 0x00.
    2021-11-02T20:44:49.376Z INFO Hash is generated by SHA256
    2021-11-02T20:44:49.376Z INFO Hash is generated by SHA256
    2021-11-02T20:44:49.381Z INFO Performing DFU. This may take a few seconds
    2021-11-02T20:44:49.390Z INFO DFU procedure starts. This may take a few seconds.
    2021-11-02T20:44:57.885Z INFO DFU for SoftDevice completed successfully!
    2021-11-02T20:44:57.885Z INFO 1 dfu package(s) left.
    2021-11-02T20:44:57.886Z INFO Waiting for device
    2021-11-02T20:44:57.889Z INFO DFU procedure starts. This may take a few seconds.
    2021-11-02T20:45:01.239Z INFO DFU for Application completed successfully!
    2021-11-02T20:45:01.239Z INFO 0 dfu package(s) left.
    2021-11-02T20:45:01.239Z INFO Waiting for device
    2021-11-02T20:45:02.244Z INFO All dfu images have been written to the target device.
    2021-11-02T20:45:02.245Z INFO DFU trigger interface found, changing to bootloader...
    2021-11-02T20:45:02.784Z INFO Using USB SDFU protocol to communicate with target
    2021-11-02T20:45:02.796Z INFO Protocol Version:  1 found
    2021-11-02T20:45:02.798Z INFO Hardware: 52840 found
    2021-11-02T20:45:02.802Z INFO Firmware: Bootloader found
    2021-11-02T20:45:02.803Z INFO Firmware: SoftDevice found
    2021-11-02T20:45:02.803Z INFO Firmware: Application found
    2021-11-02T20:45:02.808Z INFO SoftDevice detected, id 0x100 (S140 v7.2.0)
    2021-11-02T20:45:11.595Z INFO Target device closed.
    2021-11-02T20:45:16.643Z INFO Using USB SDFU protocol to communicate with target
    2021-11-02T20:45:16.655Z ERROR Error when calling version command: Error: Error message: Response from DFU target did not start with 0x60
    2021-11-02T20:45:16.655Z ERROR Error when fetching device versions: TypeError: Cannot read property 'part' of undefined

  • Yes that is possible. What are the consequences of having that option set to true or false? It is currently set to true.

  • Hi Brian

    The consequence of setting this to false is that the USB driver will start up even if nothing is connected to the USB bus. The only practical implication of this is that you might waste some power whenever nothing is connected to the bus. 

    In the dongle use case this should not be relevant, since the system is not running unless the USB is connected. 

    Best regards
    Torbjørn

  • Okay, that's good to know. I am unable to reproduce the condition myself I will have to send it to my coworker for testing. But in our use case it does not appear to be an issue as the dongle is meant to be plugged into something like a USB phone charger in the same room as the stationary bike. Power will always be supplied - no batteries involved. 

    If we ever have a need for a battery version, we can address the problem then. Not sure how much extra power we are really talking about anyways. Sometimes it seems we make mountains out of power issues which are trivial compared to the other concomitant operations.

  • According to my workmate, the setting of the USBD_POWER_DETECTION to false solves the problem. I do not think this will be a problem in production as the dongle will most likely be externally powered by a phone charger or the like.

  • Hi Brian

    It is good to hear that the USBD_POWER_DETECTION setting solved the issue Slight smile

    As for the additional power consumption this should be negligible when the CPU is running, but in sleep mode it could make an impact (where you might otherwise see a couple of microamps you will now see hundreds of microamps). 

    Best regards
    Torbjørn

Reply Children
No Data
Related