Particle Argon Won't Connect to Internet. Stuck Flashing Green

I'm having issues getting my particle argon to connect to the internet/cloud. It connects to WiFi fine but remains flashing green. I see my router recognizes the connection however it never progresses to breathing cyan and the device internet setup tool indicates a failure. When testing with a phone hotspot, the phone indicated an active connection was made. I've followed the troubleshooting steps and have attempted to connect to a phone hotspot as well (iPhone with Maximize Compatibility turned on to ensure a 2.4Ghz network.) My home network does not have a captive portal and I have successfully connected with ESP32 devices in the past without any issue.

What I've tried so far:

  • Setting up a dedicated 2.4GHz network through my router intended for smart devices
  • Disabling IPv6
  • Verifying Firewall settings (all outbound traffic is permitted)
  • Connecting to iPhone hotspot
  • Restarting router/modem
  • Configuring with Web App, CLI, and APP multiple times
  • Reflashing / resetting device to factory.

It seems to me this all points to a the device being a dud. If there are any other suggestions I may take please let me know.

Hey!
Welcome to the community.
What if you tried the restore tool?

I would get a log from the Web device doctor. One possibility is that DNS lookup is failing, which would be in the log. The DNS server IP comes from the DHCP settings for your network.

I used the device doctor over the weekend and collected this log:

0000000229 [system.nm] INFO: State changed: DISABLED -> IFACE_DOWN
0000001351 [app] INFO: Auto-connect disabled
0000003412 [app] INFO: doing wifiScan
0000003415 [app] INFO: Doing Wi-fi scan
0000005930 [app] INFO: wiFiScan resultCount=15
0000057190 [system.nm] INFO: State changed: IFACE_DOWN -> IFACE_REQUEST_UP
0000057196 [net.ifapi] INFO: Netif wl3 state UP
0000057198 [system.nm] INFO: State changed: IFACE_REQUEST_UP -> IFACE_UP
0000062558 [ncp.esp32.client] ERROR: Failed to write into data channel -60001
0000062558 [net.ifapi] INFO: Netif wl3 link UP
0000062558 [system.nm] INFO: State changed: IFACE_UP -> IFACE_LINK_UP
0000062562 [net.ifapi] INFO: Netif wl3 link DOWN
0000062565 [system.nm] INFO: State changed: IFACE_LINK_UP -> IFACE_UP
0000070361 [ncp.esp32.client] ERROR: Failed to write into data channel -60001
0000070362 [net.ifapi] INFO: Netif wl3 link UP
0000070362 [system.nm] INFO: State changed: IFACE_UP -> IFACE_LINK_UP
0000070423 [net.ifapi] INFO: Netif wl3 link DOWN
0000070427 [system.nm] INFO: State changed: IFACE_LINK_UP -> IFACE_UP

Nothing about the DNS here but it is showing the error "Failed to write into data channel -60001"

Here's some logs I collected from the Cloud Debug tool as well. Provides a bit more information:

[999;999H[6n0000254386 [[ncp.esp32.at](http://ncp.esp32.at/)] TRACE: > AT
0000254387 [[ncp.esp32.at](http://ncp.esp32.at/)] TRACE: < OK
> 0000255388 [ncp.esp32.client] TRACE: NCP ready to accept AT commands
0000255388 [[ncp.esp32.at](http://ncp.esp32.at/)] TRACE: > AT+MVER
0000255390 [[ncp.esp32.at](http://ncp.esp32.at/)] TRACE: < 3
0000255390 [[ncp.esp32.at](http://ncp.esp32.at/)] TRACE: < OK
0000255390 [[ncp.esp32.at](http://ncp.esp32.at/)] TRACE: > AT+GETMAC=0
0000255392 [[ncp.esp32.at](http://ncp.esp32.at/)] TRACE: < +GETMAC: "30:ae:a4:cb:47:b4"
0000255392 [[ncp.esp32.at](http://ncp.esp32.at/)] TRACE: < OK
0000255394 [[ncp.esp32.at](http://ncp.esp32.at/)] TRACE: > AT+CWDHCP=0,3
0000255397 [[ncp.esp32.at](http://ncp.esp32.at/)] TRACE: < OK
0000255397 [ncp.esp32.client] TRACE: NCP state changed: 1
0000255398 [net.esp32ncp] TRACE: NCP event 1
0000255398 [net.esp32ncp] TRACE: NCP event 3
0000255398 [net.esp32ncp] TRACE: NCP power state changed: IF_POWER_STATE_UP
0000255399 [system.nm] TRACE: Interface 4 power state changed: 2
0000255404 [[ncp.esp32.at](http://ncp.esp32.at/)] TRACE: > AT+CWLAP
0000257914 [[ncp.esp32.at](http://ncp.esp32.at/)] TRACE: < +CWLAP:(3,"MYNETWORK",-66,"a4:42:3c:ef:21",11)
0000257915 [[ncp.esp32.at](http://ncp.esp32.at/)] TRACE: < +CWLAP:(3,"MYNETWORK2",-68,"a4:42:3c:ef:23",11)
0000257915 [[ncp.esp32.at](http://ncp.esp32.at/)] TRACE: < +CWLAP:(3,"NEIGHBOUR_NETWORK",-81,"d5:67:e4:1d:01:44",11)
0000257921 [[ncp.esp32.at](http://ncp.esp32.at/)] TRACE: < OK
0000257922 [ncp.esp32.client] TRACE: Connecting to "MYNETWORK"
0000259821 [[ncp.esp32.at](http://ncp.esp32.at/)] TRACE: < WIFI CONNECTED
0000260784 [[ncp.esp32.at](http://ncp.esp32.at/)] TRACE: < OK
0000260784 [ncp.esp32.client] TRACE: NCP connection state changed: 2
0000260784 [net.esp32ncp] TRACE: NCP event 2
0000260785 [net.esp32ncp] TRACE: State changed event: 2
0000260785 [ncp.esp32.client] ERROR: Failed to write into data channel -60001
0000260786 [net.ifapi] INFO: Netif wl3 link UP
0000260786 [system.nm] INFO: State changed: IFACE_UP -> IFACE_LINK_UP
0000260788 [net.esp32ncp] TRACE: NCP event 3
0000260788 [net.esp32ncp] TRACE: NCP power state changed: IF_POWER_STATE_POWERING_DOWN
0000260788 [system.nm] TRACE: Interface 4 power state changed: 3
0000260789 [net.esp32ncp] TRACE: NCP event 3
0000260789 [net.esp32ncp] TRACE: NCP power state changed: IF_POWER_STATE_DOWN
0000260790 [system.nm] TRACE: Interface 4 power state changed: 1
0000260791 [ncp.esp32.client] TRACE: NCP connection state changed: 0
0000260791 [net.esp32ncp] TRACE: NCP event 2
0000260791 [net.esp32ncp] TRACE: State changed event: 0
0000260792 [net.ifapi] INFO: Netif wl3 link DOWN
0000260796 [system.nm] INFO: State changed: IFACE_LINK_UP -> IFACE_UP
0000260797 [ncp.esp32.client] TRACE: NCP state changed: 0
0000260797 [net.esp32ncp] TRACE: NCP event 1
0000260797 [ncp.esp32.client] TRACE: Deinit modem serial.
0000260898 [net.esp32ncp] TRACE: NCP event 3
0000260898 [net.esp32ncp] TRACE: NCP power state changed: IF_POWER_STATE_POWERING_UP
0000260899 [system.nm] TRACE: Interface 4 power state changed: 4

Thanks for the reply Gus, I'll give try this after work. I've used the particle update command in the CLI which supposedly does the same thing but had no luck. But I'll give the web interface a shot!

Is this by chance an old Argon that was part of the original shipment of pre-order Argon mesh devices? Does your log have a line that states the MVER? You can also get this using the device inspect tool, where it's listed as the NCP version.

If you have a MVER/NCP version of 3, that's the problem and it can be fixed but none of Web device doctor, Device Restore USB, web device setup, or particle update fix it because it's not a common problem. But the symptom is "Failed to write into data channel -60001".

From the NCP release site https://github.com/particle-iot/esp32-ncp-firmware/releases download the argon-ncp-firmware-0.0.5-ota.bin file and flash it in --serial mode with the Argon in listening mode. That should fix the problem.

It's possible. I just purchased this device as part of the air quality monitor kit which is being discontinued due to the silicon shortage, so it could be that I potentially received an older device.

That solution sounds promising. I'll try inspecting the device and flashing that firmware later this evening and let you know how it goes! Thanks.

The device inspect tool is showing me the following:
image

I ran "particle serial inspect" and received:

Which shows the NCP firmware as version 3.

Tried flashing the argon-ncp-firmware-0.0.5-ota.bin file with the Argon in listening mode using "particle flash ---serial argon-ncp-firmware-0.0.5-ota.bin" and was greeted with a Flash Success message. Unfortunately this didn't seem to work, the particle inspect still shows version 3 and the Argon is still failing to connect.

The one last thing you can try is to use Device Restore USB. Select the Argon, click the Flash even if system parts are already the correct version checkbox and also the Update NCP (network coprocessor) checkbox. The latter only appears if the force checkbox is checked.

This uses a different technique than particle flash --serial so maybe it will behave differently. I forgot that feature existed in Device Restore USB.

1 Like

Thanks for your help.

The problem has been fixed. The device restore didn't entirely work but I noticed that my bootloader was a fairly old version. I'm not sure exactly what ended up working correctly but I tried manually (using the CLI) installing a new version of the bootloader (version 3000) and then went back to the device doctor tool and used that. The bootloader ended up reverting to version 1200 during this but the device doctor was suddenly able to finally update the NCP. Not entirely sure what was preventing that from happening before but it worked.

I wish I could give a more detailed account of what eventually fixed it but I believe using the device restore tool followed by the steps here: Updating SoftDevice and bootloader and then using the Device Doctor is what eventually solved the issue.

As soon as NCP version 5 was active it connected to the cloud instantly. For future reference these are now my current firmware versions that are working.

1 Like