Multiple wifi interfaces


#1

Hi,
I try to get my head around on how resin docker images interact with wifi interfaces (usb dongles). I am not the pi expert, but many of the usual suspects (wicd, wpa-supplicant) seem not to work.
I want to use two usb wifi dongles to have:

  1. One Access Point which creates an always available wifi network to which other devices (e.g. Ipad) can connect to
  2. A wifi connection which connects to the customer’s existing wifi AP if available. All internet traffic should be routed to this gateway

I have read somewhere that the resin host os uses connman. Can I bypass this? I cannot find documentation on how to configure connman for different interfaces using the same technology.

Thanks.


#2

Hi Tobias,

Unfortunately our current architecture does not allow the bypass of Connman for WiFi and Connman unfortunately does not allow defining of Tethering by MAC-address though it allows for regular WIFI configuration by MAC-address.

I am raising this issue with the rest of the team so that we can resolve this issue in the future. Could you elaborate on your application in case there is some other possible way to get things working? Do let us know if you need any other information.


#3

Thank you Praneeth.
Our product is deployed in environments, e.g. stores, tradeshows etc. where you cannot guarantee that there is an infrastructure WIFI always accessible - and 100% uptime is essential.
So to interact with the system, I am opening a new Access Point on the device. This is also great for initial setup, exactly as your wifi-connect project. But for better usability, I like to keep the customer connected to the device AP, while routing internet traffic through the device on a second network interface. The second interface should be ethernet (which already works) or a second Wifi dongle, which connects to the infrastructure if possible.

I hope that provides some context for you.

PS: You said

Connman unfortunately does not allow defining of Tethering by MAC-addressthough it allows for regular WIFI configuration by MAC-address.

It would not matter which wifi dongle opens the AP, is there a possibility in code to see which WIFI dongle is used for tethering and setting up the other one for client mode?


#4

Hey Tobias,

Sorry for the delayed reply. Connman docs mention tethering for an entire technology, which I think means that both the wifi dongles will be access-points. I raised this internally, and was offered a possible solution, from your application you can control connman over Systemd Dbus as we provide system Dbus access, to disable connman. This should however be used with caution as without connectivity your application wouldn’t update, so any network related bug in your application code might disable your device. Do let me know if this helps your with your use-case.