Screenly displays 'Unable to resolve local IP address' when moved to new enviro

Been working with Screenly for a while, setting up a new Raspi 3 unit. Setup went fine, connected to my local WiFi router, configured the system for SSH access and loaded up content. Ran the latest Screenly update while on WiFi, rebooted and it performed perfectly at my desk. When moved to its final environment that’s on a different WiFi network, all I’m getting is an ‘Unable to resolve local IP address’ message after restart. I can log into the Pi and run raspi-config but haven’t found a way to update the WiFi network. Other than re-flashing the SD card from scratch is there a way to enable the WiFi setup routine so I can connect to the different WiFi network?

Well, there are a few questions first, like, did you tell it to use network manager?

Can we see your /etc/network/interfaces file?

Did you make any changes to it or any sub directories that manage the ip? is this Pi set dhcp or static at the router level?

If you are using the balena/resin to manage wifi, then you must be using NetworkManager which keeps its configuration in /etc/NetworkManager/NetworkManager.conf

Reference: https://wiki.debian.org/NetworkManager

This is how i set mine up:

I edit my /etc/network/interfaces file and include the wlanX in there with wpa-conf

so it looks like this:

auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

then this wpa_supplicant.conf file needs to contain your wifi settings like:

country=us
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
          ssid="SSID here"
          scan_ssid=1
          #psk="wpa password in plaintext"
          psk=computed preshared key string here
}

You create this file by running in terminal:
su -c "wpa_passphrase SSID password >> /etc/wpa_supplicant/wpa_supplicant.conf
it will ask you for root password…

So after this, it will basically need a reboot, and unless you have some conflicting dhcp daemon or some network manager configuration issue, it should pickup wifi and work.
If not, we need to troubleshoot by getting information about your Pi setup.

@wkarraker - sorry forgot to mention, have you tried some of the steps outlined by rusko here:

https://github.com/Screenly/screenly-ose/issues/929

I’ve reconnected the Pi to my test network it was originally set up on and was able to SSH into the system. Instead of presenting an IP4 address it presented an IP6 address, haven’t seen that before. Funny thing is I was able to SSH into it from the previous days IP4 address.
The network interfaces file appears unmodified.

'# interfaces(5) file used by ifup(8) and ifdown(8)
'# Please note that this file is written to be used with dhcpcd
"# For static IP, consult /etc/dhcpcd.conf and ‘man dhcpcd.conf’
"# Include files from /etc/network/interfaces.d:

'source-directory /etc/network/interfaces.d

No modifications were done to the WiFi settings after going through the initial Screen setup. I set it up on my test network for initial configuration then, after booting in the location it was going to be used, the Screenly billboard screen indicated ‘Unable to resolve local IP address’.
I am not using balena/resin to manage the system. I did not attempt to force a static IP. The only thing I did was run the Screenly update after I connected to WiFi, expanded the file system and configured SSH. After the Screenly update I confirmed it booted fine and ran the content I loaded prior to the update.
Now that I have it connected I noticed on the Settings page the ‘Re-run network detection’ button is faded out, I am unable to click the button to perform the network reset. I haven’t been locked out like this before and was wondering if the Screenly update may have created a problem.
Thank you very much for your suggestion presented in your second post, if I am still unable to connect I may just bring another freshly loaded SD card along and swap them out. I can reconfigure the system and reload the content faster than troubleshooting this balky WiFi setting.

Thank you ealmonte32, I tried the troubleshooting suggestions posted by rusko that was suggested, unfortunately I was unable to connect to WiFi. In the end I decided to rebuild the SD card and see if starting from scratch would work better.

After rebuilding the SD card and loading the Screenly app I started with a wired ethernet connection. As before the Pi showed an IP4 address and I was able to connect to the Screenly OSE management system. Using a keyboard on the Pi I accessed the raspi-config, enabled SSH, disabled overscan, set the time zone and WiFi country. I rebooted the system then accessed the Pi via SSH from my laptop.

Everything works as expected until I try to switch between wired/wireless or wireless/wireless networks, the '‘Unable to resolve local IP address’ error. Plugging the wired network cable back in and restarting presents an IP6 address that does not resolve to the unit, the browser errors out saying the page does not exist. I am still able to access the Screenly OSE menu by using the previously know IP4 address or by exiting the application and finding out the new IP4 address via ifconfig. This is happening on a fresh new Pi as well. After the initial setup, configuration, update and testing I get an unresolvable IP6 address and the ‘Re-run network detection’ button is faded out and inoperative. Is there a command line instruction I can use to access the script and re-run the WiFi beacon routine?

I understand there isn’t a support line for the OSE version, I’m hoping someone has seen this before and is willing to let me know how they fixed it. Thank you!

You’re my hero, ealmonte32.

On the second Pi I used your instructions and got it working. I must have had something mistyped within the interfaces file or wpa-supplicant.conf file. Still getting the IP6 link when the Screenly OSE billboard loads up. The address being displayed on the billboard matches what I’m seeing in the ifconfig list, it just fails to load in the browser. It’s not a difficult problem to deal with, just annoying.

Thanks again for the assistance.

Hey @wkarraker , sorry I’ve been super busy with a million things, I could have told you how to reset the wifi on the Pi so you did not have to rebuild, it is just deleting a file, this is straight from @vpetersson ;

We’ve introduced a new feature that allows you to reset this configuration. You will however need to do this before leaving the network while you still have access to the node, or connect a keyboard and delete the file .screenly/initialized.

Now, about the IPv6 issue, you can solve that issue by simply doing the following:

First, lets open and edit the following file:
sudo nano /etc/sysctl.conf

if it is not already in the file (add the following line):
net.ipv6.conf.<interface>.disable_ipv6 = 1

Replace the <interface> with your wireless card interface name, usually wlan0 or wlan1, so it would like this (assuming your card is called wlan0)
net.ipv6.conf.wlan0.disable_ipv6 = 1

Need to check the name of your wifi card? Just type the following in the console/terminal:
ifconfig

Let me know if this helps.

Reference:
sysctl.conf(5) — procps — Debian jessie — Debian Manpages

1 Like

Thanks again for the timely responses, both Pi’s are up and running. I added the last modification you provided to both devices but may not have needed to. After I modified the spa_supplicant.conf file on both they logged in properly to the network and provided an IP4 address on their startup screens.