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.
Run 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.
Issue 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?