NordicSemiconductor / pc-nrfconnect-launcher

nRF Connect for Desktop application and framework

Home Page:https://www.nordicsemi.com/Products/Development-tools/nrf-connect-for-desktop

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

nRF connect cannot launch BLE official, v2.0.1

opened this issue · comments

System is a DELL XPS running win10
JLINK version 6.22d
nrfprog version 9.7.1
BLE interface is a Rigado BMD-300 eval board. It's supposed to be compatible with a PCA_10040 board.
Version tested: nRF Connect v2.3.0-alpha.3 (I've tested released version 2.21 as well)

On my system, I cannot get the Bluetooth Low Energy 'official, v2.0.1' app to launch. It does the circle thing without ever starting the application. It does this if the BLE interface is connected or disconnected from the system.

I've used nRF Connect Desktop before (different system) so I'm familiar with it, but I can't seem to get it to go.

Hi @acverbeck,
if you open the development console (ctrl + shift + i), does it show any errors?
Could you provide the log file, maybe it gives some information?

The application does some filtering when looking up boards, maybe your custom board doesn't slip through the filter.

Uncaught Error: %1 is not a valid Win32 application.
\?\C:\Users\Anthony\AppData\Local\Temp\8CA.tmp.node
at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:173:20)
at Object.Module._extensions..node (module.js:598:18)
at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:187:18)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at bindings (C:\Users\Anthony\AppData\Local\Programs\nrfconnect\resources\app.asar\node_modules\bindings\bindings.js:81:44)
at Object. (C:\Users\Anthony\AppData\Local\Programs\nrfconnect\resources\app.asar\node_modules\pc-nrfjprog-js\index.js:37:38)

I think that's the error. It was the only thing in the console.
Is there a more comprehensive log? I looked in the app directory (C:\Users\Anthony\AppData\Local\Programs\nrfconnect) didn't see anything promising...

I think you're right in that the console log shows the problem, not sure what the root cause is yet though.
The regular log files are written to AppData\Roaming\nrfconnect directory.

Here's the log from last night:
old.log

I ran it again this morning (same result):
log.log

There's no problem noted in the log files.

Hi, to sum up, the issue appears related to 32/64 bit mismatch regarding he module pc-nrfjprog-js. We haven't been able to reproduce the issue yet, having tried with your versions of nrfjprog and node installed, and 32/64 bit combinations.

The Windows version of nRF Connect is 32-bit, and if it tries to load a 64-bit library, then this might happen. I suspect that it could also happen if the library file is somehow corrupt. I have not been able to reproduce the issue on 64-bit Windows 10 or 32-bit Windows 7, so I just have to guess what the problem might be.

Here are a few things you could try:

  • It fails when trying to load pc-nrfjprog-js, which is a JavaScript interface on top of nrfjprog. This module will attempt to load nrfjprog DLLs and possibly some other related DLLs as well. If you recall installing 64-bit versions of some software/library that nRF Connect or nrfjprog may depend on, then try to see if installing 32-bit versions helps. You could also profile the application with http://www.dependencywalker.com/ to see which DLLs it tries to load.

  • Check that Visual C++ Redistributable for Visual Studio 2015 (x86) is installed. This should normally be installed as part of the nRF Connect installer, but for some reason the installation could have failed, or it could have been uninstalled. If you do not see it in the "Add or remove programs" list in Windows, then try to install it manually from: http://www.microsoft.com/en-us/download/details.aspx?id=48145.

  • The file that it tries to load is copied to AppData\Local\Temp\ at runtime. If you have some antivirus software running, then this could potentially corrupt/block this. In that case, try to temporarily disable antivirus checking.

Closing this issue. Repost on DevZone if needed.