Debugging WiFi connection problem

I’ve had initial success with the Train Display project running on a Raspberry Pi Zero W using WiFi between the Pi and my router. I accidentally put another device on the network with the same IP Address and since then (with the offending device removed), I’ve been unable to re-connect the Pi to the network. I’ve tried creating a new image and even did a factory reset on my router but I just can’t get the Pi to talk to it. I checked the resin-wifi-01 file in the system-connections directory and that looks right. I just get the repeated 4 flashes of the LED.

Is it possible to get something more useful displayed on the Pi video output instead of the balena logo? Is it possible to use the USB port in some way to aid debugging? Being a Pi Zero W, I don’t have an ethenet option.

Hi @Nigel,

Sorry you’re having trouble. Not having access is tricky. Have you tried doing a balena scan to see if balena thinks the device is still attached and/or active? Another option is trying to log into the device locally with ```balena ssh ``.Have you tried a USB-Ethernet adapter (with a microSD adapter)? That should IP the device. Another option might be to delete the associated application and recreate it.

@Nigel… Sorry, my message got truncated. The command to try logging in locally is balena ssh <ip-address>.

Hi @Nigel,

Sometimes a device not showing up in the dashboard is due to a VPN error. To determine whether the device is actually online, first check the device dashboard logs - are logs currently displayed, or if the application isn’t very noisy, have logs been displayed since last online time? If so this can be a strong indication the device is actually online.

The next most useful check is to simply add a new environment variable to the device. If the device is in fact online, it should pick up the change and reset itself, generating logs as it does so. The poll time is customizable, but defaults to 1 minute.

John

Thanks for the suggestions guys. I can’t see the Pi if I log into my server and show connected devices. I’ve tried your suggestions but to no avail. I’ve ordered a Pi 3 so I can have a go at configuring that. At least I’ll have a way of talking to it if it doesn’t show up which I haven’t got on the Pi Zero.

Hello @Nigel,

So initially the device was working as expected, at this point I would ask you if you have used a static IP for your device? Then you added another device with the same network configuration as the previous one, which again I guess has a static IP address which is the same as the previous one that’s why they are conflicting. What if you removed the lines that pin the static address to the device, would that work?

Marios

Thanks for your reply, Marios.

I’ve just obtained in a Raspberry Pi 3B and created a balena image for it in the normal way. I left the settings exactly the same as for the Pi Zero board except changing to the correct board type. This worked straight away. I set it to DHCP but that was what I originally had set for the Zero board. I was a bit surprised that it was showing in my router as a 5GHz device so I checked the spec and saw that the B+ version does have 5GHz WiFi.

I just booted Raspbian on the offending Pi Zero and that showed on the network straight away so I know the board is working.

It’s a pity the balena OS doesn’t display something more useful than just it’s logo.

Nigel.

Hi @Nigel,

Have you tried deleting the Pi Zero device entirely from the application and then re-adding it to either a new or existing application? I couldn’t tell from the thread if you’d tried deleting the device from the dashboard before re-imaging it.

John

Hi John,

The Pi isn’t getting as far as my router so I’m not sure if deleting the device from the dashboard will help?

On my router I set up addresses assigned to the appropriate MAC addresses of my two boards. I verified that the DHCP worked on both the Pi 3 successfully running balena and the Pi Zero successfully running Raspbian.

I then tried a fresh image for the Pi Zero but it stlll doesn’t show up on the router, I just get the repeated 4 led flashes.

Nigel,

Hi @Nigel,

Is it possible the pi-zero balenaOS image you downloaded got corrupted (and is therefore burning to the SD card successfully, but with corrupted files)? Also, the fact that you’re seeing the balena logo might suggest the device has frozen at that step and it may also be a video issue. Can you try booting without the attached screen/HDMI?

Best regards,
John

Hi John,

I have tried images from several downloads with the same effect. The download for the Pi 3 worked fine. I tried starting the Pi Zero without the HDMI or any other screen plugged in but there was no difference. On the working Pi 3, I just get the balena logo, nothing else either during the boot or after it is running the app. Is there any non-volatile storage on the Pi Zero apart from the SD card?

Best regards,
Nigel.

Hi Nigel.

I’ve just taken over this ticket as John’s shift ended and I’ve been reading through the history trying to understand the issue. I need to ask you a really dumb question just to make sure; are you sure it’s not just taking a few minutes to start? I know that when I flash my pi zeros it can take up to 10 minutes by the time it’s done all the work of repartitioning, creating filesystems and starting the supervisor, etc. Like I said, it’s a dumb question but I just want to get it out of the way first.

Thanks,
James.

Hi James,

I did try leaving it on for ages to no effect. I assume the repeated 4 times flashing of the LED means it has tried and failed to communicate with my WiFi router. I hope it’s something really dumb on my part so open to any other suggestions.

Regards,
Nigel.

Hi Nigel,

If the LED flashes a repeated pattern of 4 short flashes followed by a pause then it’s a connection issue, you can find more details in the troubleshooting here : https://www.balena.io/docs/faq/troubleshooting/troubleshooting/#unable-to-connect-to-the-internet.

Please follow the instruction and let us know how it goes.
Kind regard,
Trong

OK, there’s been a delay because I was waiting for another SDCARD, I didn’t want to overwrite my working Pi3 one.

So I tried creating a fresh image. Being a newbie to all this, I didn’t realise that make a development version of the image would allow me to see all the boot up sequence listing out on the HDMI output. This version still didn’t connect to my WiFi. router. I get a message relating to IPv6 saying “wlan0: link is not ready” but no mention of IPv4 which is what I’m trying to use. I checked the connections file again and it looked correct. Can I edit the connections file so that it doesn’t attempt to use IPv6? Maybe this is muddying the water?

I have a USB keyboard attached. Are there any commands I could type to assess the network status of the card?

Hi, perhaps you can start with the following outputs ip addr and nmcli con show to check existing connections? Can you also add the connection file you are using?

I’m not sure what you mean with your first question.

I have my router set up for DHCP and have assigned an ipaddress to the MAC address of the Pi in the router. I have also tried it without that setting.

Here is my connection file. The SSID and psk obviously set to my router’s:

[connection]
id=resin-wifi-01
type=wifi

[wifi]
hidden=false
mode=infrastructure
ssid=My_SSID

[ipv4]
method=auto

[ipv6]
addr-gen-mode=stable-privacy
method=auto

[wifi-security]
auth-alg=open
key-mgmt=wpa-psk
psk=My_psk

Hey, those commands should be run in a shell on the host OS. The easiest way to open a shell on your device is to go onto the dashboard page for the device, and use the terminal on the bottom right corner. Click the drop down and select host OS, and copy those commands in. We should get a good idea of why this isn’t connecting from the output of these commands.

If the device isn’t connecting I don’t understand how I can access the shell on my device from there.

I have been able to enter those commands with a USB keyboard plugged into the Pi Zero and an HDMI display.

nmcli show gives:

supervisor0 …UUID… bridge supervisor0
resin-wifi-01…another UUID… wifi –

ip addr gives:

Lots of text including wlan0: <NO-CARRIER,BROADCAST,UP,LOWER_UP> mtu 1500 qdisc noqueue

I can see references to 10.114.102.1 which is not in my local ipaddress range which is at 192.168.1.*

Hi there.

Can you please paste the entire output of those commands here?

Thanks,
James.