nRF Connect Programmer unknown_family, No devices with requested serial number(s) or trait(s) found

Intro
We are using the nRF9160 with sensors we manufacture. The code developed is based on the serial SLM sample, toolchain v1.6.0. I am trying to keep the code/project files the same.
nRF Connect v5.0.2
Programmer v4.4.2
Tool Chain v1.6.0
Windows 10 Pro workstation.
Visual Code IDE.

Problem Source:
I opened nRF desktop on my development station and when prompted to "upgrade" I made the mistake of clicking YES. The upgrade was from v5.0.2 to the latest. New Segger software was installed and since then I cannot program any of our nRF9160 products. The nRF Programmer reads the device and shows "unknown_family". On occasion it will read Device version NRF9160_xxAA_REV2. Trying to program, erase or reset the device, will cause the error message below.

Error Message
With the new version I got "Error: Failed with exit code 1. No devices with requested serial number(s) or trait(s) found.".

Second PC
The update changed the firmware in the J-Link. I tried using the J-Link on a production PC and got the same error.

Attempted Fixes over 2 days:
1. I uninstalled all Segger and nRF software
2. Installed nRF Connect version v5.0.2.
3. rebooted.
4. replaced the firmware in the segger J-Link, using JLinkConfig.exe. The J-Link now works on a second station, but not on my PC.
5. repeated step 1, 3 above, removed all nRF drivers using pnputil.exe -f -d oemX.inf
6. Repeat step 5, using different Segger software versions.

 

Output from Programmer (when it read the device family)

10:19:52.603 Initialising the bundled nrfutil device
10:19:54.672 Using the bundled core version for nrfutil device: 8.1.0
10:19:55.277 Using nrfutil-device version: 2.6.4
10:19:55.277 Using nrf-device-lib version: 0.17.35
10:19:55.277 Using nrfjprog DLL version: 10.24.2
10:19:55.277 Using JLink version: JLink_V7.94e
10:19:55.278 Installed JLink version does not match the expected version (JLink_V7.94i)
10:20:19.996 Getting serial port options from the persistent store for 000602004511.pc-nrfconnect-programmer
10:20:23.474 Selecting device with the serial number 000602004511
10:20:25.607 Selected device with the serial number 000602004511
10:20:25.608 Using nrfutil device to communicate with target via JLink
10:20:25.608 JLink OB firmware version J-Link V12 compiled Feb 20 2025 16:24:27
10:20:25.608 Device family
10:20:25.608 Device version NRF9160_xxAA_REV2
10:20:25.608 Board version
10:20:27.505 Reading readback protection status for Application core
10:20:27.506 Reading readback protection status for Application core 0%
10:20:27.511 Reading readback protection status for Application core 100%
10:20:27.513 Application core protection status 'NRFDL_PROTECTION_STATUS_NONE'
10:20:27.513 Reading readback protection status for Application core completed
10:20:29.841 Loading core information for Application core
10:20:29.842 Loading core information for Application core 0%
10:20:29.858 Loading core information for Application core 100%
10:20:29.859 Loading core information for Application core completed
10:20:32.084 Reading readback protection status for Application core
10:20:32.085 Reading readback protection status for Application core 0%
10:20:32.088 Reading readback protection status for Application core 100%
10:20:32.088 Application core protection status 'NRFDL_PROTECTION_STATUS_NONE'
10:20:32.089 Reading readback protection status for Application core completed
10:20:32.420 Device is loaded and ready for further operation
10:20:38.446 Update files regions according to Application core
10:20:38.446 Parse memory regions for file
10:20:38.449 Checking ZIP file: H:\nrf\_modem_firmware_9160\mfw_nrf9160_1.3.5.zip
10:20:38.467 File was last modified at 10/26/2023, 10:31:30 PM
10:20:52.547 Update files regions according to Application core
10:20:52.548 Parse memory regions for file
10:21:14.641 Modem DFU starts to write...
10:21:14.641 Writing H:\nrf\_modem_firmware_9160\mfw_nrf9160_1.3.5.zip to device 000602004511
10:21:23.489 Modem DFU failed with error: Error: Failed with exit code 1. No devices with requested serial number(s) or trait(s) found.

Parents Reply Children
  • The problem came back with the new Segger J-Link.

    I noticed my antivirus claimed nrfutil.exe had trojan and removed the file. I am guessing these were false positives. So I do not have nrfutil.exe

    I used nrfjprog.exe  --program H:\nrf\mfw_nrf9160_1.3.5.zip --verify --reset

    This works sometimes.

    nrfjprog.exe --program H:\nrf\mfw_nrf9160_1.3.5.zip --verify --reset
    [ #################### ] 0.000s | Finding image components - Finished
    [ #################### ] 0.120s | Upload segments - segment 2 of 2
    [ #################### ] 27.965s | Uploading modem image - segment 2 of 2
    [ #################### ] 0.000s | Finding image components - Finished
    [ #################### ] 0.549s | Verify modem image - Modem ready for verification
    [ #################### ] 0.294s | Verify segment 327680-2326527 - Successfully verified
    [ #################### ] 0.361s | Verifying modem - Verifying memory range 3 of 3
    [ #################### ] 0.329s | Verify segment 2605056-2621439 - Successfully verified
    Applying system reset.
    Run.

    Sometimes it doesn't. 

    [ #################### ] 0.000s | Finding image components - Finished
    [error] [SeggerBackend] - JLinkARM.dll WriteU32 returned error -1.w.
    [error] [SeggerBackend] - JLinkARM.dll WriteU32 returned error -1.
    [error] [SeggerBackend] - JLinkARM.dll WriteU32 returned error -1.
    [error] [SeggerBackend] - JLinkARM.dll WriteU32 returned error -1.
    [error] [SeggerBackend] - JLinkARM.dll WriteU32 returned error -1.
    [error] [ nRF91] - Memory access failed with SECUREFAULT at 1342189832.
    [error] [ nRF91] - The write access failed due to memory protection.
    [error] [ nRF91] - Failed to initialize modem
    [error] [ nRF91] - Failed while programming package H:\nrf\mfw_nrf9160_1.3.5.zip.
    ERROR: Access to the selected address is blocked by the SPU.
    NOTE: For additional output, try running again with logging enabled (--log).
    NOTE: Any generated log error messages will be displayed.

    This is frustrating because I don't know why some boards do not program.

    I can read the registers but not program.:

    nrfjprog.exe --readregs
    R0: 0x00000000
    R1: 0x00000000
    R2: 0x00000000
    R3: 0x00000000
    R4: 0x00000000
    R5: 0x00000000
    R6: 0x00000000
    R7: 0x00000000
    R8: 0xFFFFFFFB
    R9: 0xFFFFFFFD
    R10: 0xFFFFFFFF
    R11: 0xFFEFFFFF
    R12: 0xFFFFEFFF
    SP: 0xFFFFFFD8
    LR: 0xFFFFFFF9
    PC: 0xEFFFFFFE
    xPSR: 0xF9000003
    MSP: 0xFFFFFFD8
    PSP: 0x00000000
    RAZ: 0x00000000
    CFBP: 0x00000000
    APSR: 0xF8000000
    EPSR: 0x01000000
    IPSR: 0x00000003
    MSP_NS: 0x00000000
    PSP_NS: 0xFFFFFFFC
    MSP_S: 0xFFFFFFD8
    PSP_S: 0x00000000
    MSPLIM_S: 0x00000000
    PSPLIM_S: 0x00000000
    MSPLIM_NS: 0x00000000
    PSPLIM_NS: 0x00000000
    CFBP_S: 0x00000000
    CFBP_NS: 0x00000000
    MSPLIM: 0x00000000
    PSPLIM: 0x00000000

  • Whenever you see this:

    wblight said:
    [error] [ nRF91] - The write access failed due to memory protection.

    It is likely due to APPROTECT. Try to run nrfjprog --recover first. Alternatively, use:

    nrfjprog.exe --program H:\nrf\mfw_nrf9160_1.3.5.zip --verify --reset --recover

    That said, I recommend that you investigate getting nrfutil to run properly, as this is the default tool used in NCS from now on. If it is a company firewall, perhaps you can ask if they can allow nrfutil to run.

    Best regards,

    Edvin

  • I also develop code for Microchip PIC's using MPLABx and an ICD5 debugger. The ICD5 also uses Segger drivers. When I had everything working for nRF development it suddenly stopped. It seems to be related to using MPLABx with ICD5. I think MPLABx is changing the Segger USB driver. 

Related