With two NICs, can I make a hotspot on 1 and use resin-wifi-connect on the other?

hotspot

#1

I have an app that requires internet access, and publishes a web/REST interface (that only needs to be accessed by users/devices local to it). I have a Rpi3 hosts with two NICs (onboard WiFi plus another USB WiFi dongle).

So, I want:

  • one of the NICs to be a gateway - either provide the resin-captive-portal AP or connect to the internet (through some other local wifi).
  • the other NIC to provide a HotSpot (so I can serve my app from it).

I found instructions for configuring a hotspot here, and resin-captive-portal looks like a perfect solution for decentralising gateway configuration. But the documentation I can find seems to assume either hotsport or internet access, but I want both. Is there some way to do it (without having to write dbus scripts)?


#4

Sorry for jumping late on this thread. As far as I understand you would like to run WiFi Connect on wlan1 for example. And then you would like to have another access point running on wlan0. Thus you would like to have Internet connectivity through wlan1. And your hotspot will be running all the time on wlan0.

In general WiFi Connect should be run only when Internet connectivity is still not established on wlan1. Its example start script provides some example conditions on when to run it: https://github.com/resin-io/resin-wifi-connect/blob/master/scripts/start.sh

Please let me know whether this answers your question.


#6

yes, you have described what I want correctly. I’m glad you jumped in :slight_smile:

So, that start script is clear, I guess in my case as you described it, I would specify the interface like iwgetid -r wlan1 in my version of that start script. I think my question’s answered, thanks for your help.


#7

@monkeypants in the very near future WiFi Connect will be able to run as a long-living process and have a robust API. At that point you will be able to integrate it with your web application, be able to run only one hotspot, so things would be achieved in a more simple way. Anyway, what you are doing now should also works Good luck with your project!