I was trying to have both eth0 as well as wlan0 to autoconnect on boot but struggled a bit to find a solution. I tried rc.local but it did not work reliably and felt somewhat wrong.
So I wrote a little service to handle this but wonder if this really is the way to go:
What you need is the output of
connmanctl services for your wifi. So connect to your wifi via “My OSMC” and run the command in a shell afterwards, copy & paste the WIFI-ID (a string like
wifi_xxxxxxxxxx_xxxxxxxxxx_managed_psk) of your wifi to a local editor.
sudo nano /etc/systemd/system/wifi.service and paste the following content:
[Unit] Description=Connect Wifi interface Wants=network.target Before=network.target BindsTo=sys-subsystem-net-devices-wlan0.device After=sys-subsystem-net-devices-wlan0.device [Service] Type=oneshot RemainAfterExit=yes ExecStart=/bin/sh -c "sleep 10;/usr/bin/connmanctl connect [WIFI-ID]" ExecStop=/bin/sh -c "/usr/bin/connmanctl disconnect [WIFI-ID]" [Install] WantedBy=multi-user.target
Remember to replace
[WIFI-ID] with the relevant output of
connmanctl services and save the file.
sudo chmod 777 /etc/systemd/system/wifi.service and finally enable the service via
systemctl enable wifi.service.
Reboot your device (
sudo reboot), wait for it to fully boot up and check if it was successful by running
systemctl status wifi.service and
connmanctl technologies to find out if wifi is connected.
Any possible improvements or better solutions? Any chance to get rid of the
sleep 10 within the service?