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

nRF Programmer - Unsupported device - custom nRF9160

My custom nRF9160 board does not communicate with nRF Connect Programmer.

"Unsupported device. The detected device could not be recognized as neither JLink device nor Nordic USB device."

I also tried the modem firmware python script from Nordic, and it does not find any programmers with api.get_connected_probes().

I use a J-Link EDU Mini over SWD, latest firmware. When I use nrfjprog or J-Flash Lite, it erases, programs and verifies without problems - so I would assume connections, levels, etc. are correct.

I'm on Windows 7 and device manager shows only one instance, under Universal Serial Bus controllers->J-Link driver. It uses JLinkx64.sys driver 2.70h. I don't have any under Portable devices or Ports (COM).

I've searched the forums and tried some of the proposed solutions without luck.

Any suggestions?

Parents Reply Children
  • Hi,

     

    okwestern said:
    If there is a bug, it also goes for the python package pynrfjprog, since the python script doesn't work either. Do they share the buggy code? 
    Are there previous versions available that work with EDU Mini I can use?

    nrfjprog works, but pynrfjprog does not?

    Could you post the error messages?

     

    Kind regards,

    Håkon 

  • There are no errors. api.get_connected_probes() just does not find any debuggers, therefore never enters the flashing.

    But "nrfjprog -i" reports the serial number of my debugger.

    import os
    import time
    import argparse
    import subprocess
    import logging
    from tempfile import TemporaryDirectory, mkstemp
    from pynrfjprog import HighLevel
    
    logging.basicConfig(level=logging.INFO)
    log = logging.getLogger('modem_update')
    
    
    def flash_modem_pkg(modem_zip, verify):
        start = time.time()
        with HighLevel.API(True) as api:
            snr = api.get_connected_probes()
            for s in snr:
                log.info("Establish board connection")
                log.info(f"Flashing '{modem_zip}' to board {s}")
                with HighLevel.IPCDFUProbe(api, s, HighLevel.CoProcessor.CP_MODEM) as probe:
                    log.info(f"Programming '{modem_zip}'")
                    probe.program(modem_zip)
                    log.info("Programming complete")
                    if verify:
                        log.info("Verifying")
                        probe.verify(modem_zip)
                        log.info("Verifying complete")
            api.close()
            log.info(f"Completed in {time.time() - start} seconds")
    
    def main():
        parser = argparse.ArgumentParser()
        parser.add_argument("modem_pkg")
        args = parser.parse_args()
        log.info("Modem firmware upgrade")
        flash_modem_pkg(args.modem_pkg,True)
    
    if __name__ == '__main__':
        main()
    

  • Hi,

     

    Could you post your output of "nrfjprog --version"?

    Which version of pynrfjprog do you currently have installed?

     

    Kind regards,

    Håkon

  • nrfjprog -v

    nrfjprog version 10:12.1

    JLinkARM.dll version 6.98b

    pip list

    pynrfjprog 10.12.1

  • Thank you, I've been discussing your issue internally, and it seems that we have the same deps in nrf connect for desktop as in pynrfjprog wrt. using the highlevel api.

    Could you check the manufacturer name of the jlink device?

     

    Kind regards,

    Håkon

Related