The next step is to find someone else’s machine - particularly with Windows which can end up in an “interesting” state and the various flavours of Linux can have their own foibles.
As for me, I’m golden, I have an iMac!
But seriously, I do get some really messes with various machines so running a virtual machine with a totally virgin copy of Windows 10 is a good test.
@lysander
Ok, at least we got the device recognized now in Windows.
Mounting of the RAK4631 is correct.
Red LED shows that at least power of USB is connected (does not mean the USB D+ and D- are connected as well).
Can you show me what ports you see in ArduinoIDE. The error message from the attempted upload is just saying that it didn’t find the COM port.
Can you make a screenshot like this:
Comparing your screenshot to mine, mine is missing the description of the device (ie, “WisBlock Core RAK4631 Board”) which comports with the message I get when I click “Get Board Info.”
Ok, so he gets the correct VID and PID, so it is a Windows driver problem.
There are two options that you can try:
You can run the driver installation app from Adafruit that installs a bunch of drivers including the one for nRF52 USB.
Or you can try to manually install the default Windows usb_ser driver.
First open the Control Panel then open Device Manager and look for Ports (COM & LPT).
In the next window uncheck Show compatible hardware [1], then scroll down in the list to Microsoft [2] and select USB Serial Device [3], then push [Next] button to install the driver.
After the second option to manually install the driver did not result in any apparent change, I tried the first option to install the bundle from Adafruit. Neither appeared to change anything.
It is most peculiar that the issues appear to be the same on both Windows and Ubuntu even though I did fresh installs of Arduino on both machines. And it is particularly frustrating as I have ordered a number of additional WisBlock modules for the project anticipating that I would be able to resolve the interface problem fairly quickly/before receipt.
The two machines you mention, the Windows & Linux machines, are they the same model of computer or if self-build, same mother board.
The acid test for me is to go in to the computer museum (or as the wife calls it, the spare bedroom) and grab a machine - is there a totally different machine around you can try - or take beer to a friends house.
Also worth trying Windows 7 if you can. Or a Mac.
I know this seems like a monstrous pain but it’s incredible how something so simple can get so bizarre and then suddenly the pieces fall in to place.
FWIW, my modules are mostly programmed via Arduino on my iMac but has also been on my Windows 10 machine plus at least a couple of times on Windows 7 as a virtual machine on the iMac (so routing the USB via VMware). I do Arduino on Raspberry Pi, I can give that a try in the morning.
@lysander
I am sorry, but beside of Nick’s proposals I have no more ideas. Obviously Windows gets the right USB VID and PID, so it detects the device. Why it does not accept the drivers is strange, but I have no solution for that.
For Linux, I do not have much experience, I am using it only on RPi, but as headless systems, so I access it only over SSH.
I have ordered a Wisblock Helium Developer Kit and after uploading the OTAA sample both my boards with the supplied original USB cables stopped being recognized by Windows 10 when I plug in the board. What I experience as a first symptom in PlatformIO IDE is that Serial Monitor stopped working and COM port of Wisblock is not available, cannot be selected for serial monitoring and also further uploads are not possible. When USB plugged in there is no sound meaning board is not recognized by Windows 10.
I see the board joining and sending packages in Helium Console however. Also LEDs are working on it properly.
(I don’t consider myself a newbie, I have been using Arduino IDE and ESP32 in the recent years a lot. I made a lot of googling on possible solutions. My job is being a softwaretester full time in international projects since 2016 June so I am even not unfamiliar with IT in general and have learned programming since age 8).
I have Visual Studio Code installed with PlatformIO. I also have Arduino IDE fresh install not from Microsoft Store, but from Arduino website directly.
I tried bootloader update, now I am on the 1st Dec 2021 version with both boards.
I have checked device manager and added legacy driver, however Windows 10 is not offering the USB Serial Device as you suggested, just the other two options, which I also both tried.
I also found your suggestion on the plugging of the USB cable all the way and trying other USB cables.
I have found your suggestion on pushing the microswitch twice fast, then the green LED began a slow “throb” indicating it was in DFU mode. This is the only time when I can see the Wisblock in Windows and in this case in Device Manager I indeed see USB Serial Device. When I plug off this time I hear the sound from Windows 10 that USB device was pulled off. When I browse to Properties of this USB Serial Device in Events tab of pop-up window I see an event: Device install requested. When I highlight it, below there is Information subsection of window, the following text is written: Device USB\VID_239A&PID_0029&MI_00\6&12f42cb3&0&0000 requires further installation. When I click the reset button once this “USB Serial device” disappears from Device manager and not discoverable anymore. Also the same happens when I unplug and plug the USB cable again.
I have tried plugging in other Windows 10 laptop and there I have experienced same symptom: no recognition sound played by Windows 10 when USB plugged in, but after clicking microswitch twice and pulling USB out I hear the sound of pulling out by Windows 10.
I have updated Windows 10.
I have restarted laptop and softwares multiple times.
I have ran the driver installation app from Adafruit that installs a bunch of drivers including the one for nRF52 USB.
Which of the OTAA examples are you using? Is it the one from our WisBlock repo?
In the code, did you setup the DevEUI, AppEUI, AppKey and region?
When the RAK4631 gets unresponsive on USB after power-up or reset but works in UF2 mode, it is mostlikely a software problem. The nRF52 crashes and hangs.
I have tried both ones, one you reference and other from Helium documentation. Also true that once I made the mistake not filling the DevEUI, AppEUI, AppKey, but in other case I did and experienced same symptom in both cases. Packets are already being over sent to Helium console, but new upload is not possible. What can I do to solve nRF52 crashing and hanging? I am new to nRF52, sorry.
By the way this is what I see in DFU mode at driver:
At least the WisBlock is working. Only Windows has a problems to install the drivers.
This requires further installation is pointing to an incomplete installation of the driver.
Can you try
unplug WisBlock from USB
uninstall the USB Serial Device driver (COM7)
plug WisBlock back to USB
and see if it changes anything?
If not, you can try to the above shown method to manually install/update the driver manually
Unfortunately as soon as I unplug WisBlock from USB USB Serial Device driver (COM7) disappears only to appear again when I plug in the board and click the microswitch twice. I figured that I have deleted the driver when the board was plugged in, then pulled out, plugged back, nothing changed, again when I clicked microswitch twice the same USB USB Serial Device driver (COM7) appeared. So I tried to manually update it, but I have no idea to what I should update it. I have googled extensively what *.inf file to use here, but could not find anything that could make it work.
This might also be interesting, thank you in advance for checking it out:
Longer explanation:
So we have tried at a friend’s Win 10, error symptoms were the same.
Then we tried in his Macbook, error symptoms again the same.
Then he had the idea to upgrade bootloader, somehow from Latest folder he picked the 30th NOV 2021 version by accident I think, which I thought was wrong not to use the newest version. Then after trying again to unplug - plug in we realized recognition by Windows 10 worked perfectly producing the recognition sound.
I also have to mention the boards have arrived already installed with the 1st Dec 2021 bootloader and initially they were working, just after some time I had the issue of not being recognized in Win 10.
If it is not too much, I want to ask you for another test.
Now that your Win 10 has recognized the WisBlock, if you flash the Dec 2021 bootloader again, does it still recognize the WisBlock? I want to push your problem to the R&D team to have a look into it. The latest bootloader from December works fine for me, but if there are problems, we should fix them.
Also I would greatly appreciate a documentation for Wisblock Upgrade Tool version 1.0.1 https://github.com/RAKWireless/WisBlock/tree/58ed5e530658a4be522dffad0bb960a781cee7ec/bootloader/RAK4630/Latest/WisCore_RAK4631_Upgrade where the “bat” file has option to “ugprade app”, which I could not find any mentioning anywhere what is its effect and what app is meant. To me it does not speak for itself. I guess it is probably not mobile app… If it exists somewhere and I have missed it, then sorry. I make these remarks in good faith that the maker community and RAK is profiting from them.
Your problems are really strange, I have 10 RAK4631 here with the new bootloader and they all work fine on my Win 10 laptop. Same for other members of the support team.
I will check back with the R&D teams.
For Google, there is nothing we can do.
For the upgrade batch file, that should actually not be there at all. It is what is used by our R&D guys and has some local links in it. I will remove that part.