I’m running Firestorm on a Raspberry Pi to control an outdoor LED installation, unconnected to the Internet. I set up a wireless access point on the Raspberry Pi which seems to be working – I can connect to it from my laptop (but not from my phone!) and find the Firestorm server. I tried to join a PixelBlaze to the new network and I keep getting a failure for it to connect. It says to retry my password but I’ve confirmed I’m typing the correct password. Is there even a good way to debug this? Logs somewhere on the Pixelblaze? I don’t know sysadmin networking stuff very well so I’m at a little bit of a loss.
If it helps, I followed Raspberry Pi Documentation - Configuration to set up the AP. The only change I made was making the country code ‘US’ instead of ‘GB’ in the
hostapd config file. Firestorm is running as a PM2 service started up at boot time.
There’s not much info on the PB that would help. It needs to be able to connect to WiFi, and configure via DHCP.
This looks like it might be one possible cause:
If it was running 5ghz, would that explain why your phone can’t connect too? On the laptop, can you see which frequency it’s using? Is it showing in the scan, or are you entering the SSID manually?
It shows up in the scan. I’m pretty sure I configured it to 2.4Ghz but I’ll go check.
The issue on my Android phone is that it can connect to the AP but it can’t get itself an IP address. Looking on my Mac, it self-assigned an IP address. So maybe that’s the issue? DHCP is supposed to give me IP addresses IIUC.
The post I linked was interesting in that they too had configured it for 2.4GHz, but the Pi switched back to 5 since it had configurations to connect to a 5GHz network as a client too, and the hostapd got confused or overridden or something. I would think that if it was running in 5GHz, it wouldn’t show in the scan, so probably not that.
But it definitely needs DHCP to work, troubleshooting that on the laptop will be much easier I think. You could get wireshark to see packets too.
You DHCP server should also log on the Pi when it sees a request.
I fixed it! Noticing that my Mac was self-assigning an IP address, I checked the config of
dnsmasq, which is the DHCP service the documentation suggests to use. And I noticed that nowhere in the documentation did it have me enable the service! So simply running
sudo systemctl unmask dnsmasq
sudo systemctl enable dnsmasq
sudo systemctl reboot
did the trick.
Note that there is a limit on the number of pixelblazes which can connect to a Raspberry Pi with this configuration. On my Pi3 A+ it’s about 7 plus my computer. Any more and it’s probably worthwhile to take @wizard’s suggestion from my other thread and buy a dedicated router to act as the access point.