mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-30 22:26:42 +00:00
Revert "connman: start init scripts on RUNLEVEL=boot"
This reverts commit 0946759631cf88a9f79dad92825fe3fc7d0ded3e.
This commit is contained in:
parent
10c55d8e49
commit
55845ca002
@ -22,182 +22,175 @@
|
|||||||
#
|
#
|
||||||
# runlevels: openelec, installer, textmode
|
# runlevels: openelec, installer, textmode
|
||||||
|
|
||||||
case $RUNLEVEL in
|
if [ -f /var/config/settings.conf ]; then
|
||||||
boot)
|
. /var/config/settings.conf
|
||||||
if [ -f /var/config/settings.conf ]; then
|
|
||||||
. /var/config/settings.conf
|
|
||||||
|
|
||||||
# save original interface names (eth0, eth1)
|
# save original interface names (eth0, eth1)
|
||||||
NET_IFACE_NAME=$NET_IFACE
|
NET_IFACE_NAME=$NET_IFACE
|
||||||
NET2_IFACE_NAME=$NET2_IFACE
|
NET2_IFACE_NAME=$NET2_IFACE
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ -z "$NET_HOSTNAME" ] && NET_HOSTNAME="openelec"
|
||||||
|
|
||||||
|
# setup hostname
|
||||||
|
progress "Setup hostname"
|
||||||
|
echo "$NET_HOSTNAME" > /proc/sys/kernel/hostname
|
||||||
|
|
||||||
|
# create /etc/hosts file, useful for gethostbyname(localhost)
|
||||||
|
progress "creating /etc/hosts"
|
||||||
|
echo -e "127.0.0.1\tlocalhost $NET_HOSTNAME" > /etc/hosts
|
||||||
|
|
||||||
|
# add user defined hosts.conf entry's
|
||||||
|
[ -f $HOME/.config/hosts.conf ] && cat $HOME/.config/hosts.conf >> /etc/hosts
|
||||||
|
|
||||||
|
(
|
||||||
|
# setup Networking 1
|
||||||
|
progress "setup Networking 1"
|
||||||
|
|
||||||
|
CONNMAN_PROFILE="/var/lib/connman/default.profile"
|
||||||
|
|
||||||
|
mkdir -p /var/run/connman
|
||||||
|
mkdir -p /var/lib/connman
|
||||||
|
|
||||||
|
# NETWORK 1: ( LAN / WLAN )
|
||||||
|
for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30; do
|
||||||
|
if [ ! -f /sys/class/net/$NET_IFACE/address ]; then
|
||||||
|
logger -t Connman "### [$i] cannot find /sys/class/net/$NET_IFACE/address ###"
|
||||||
|
else
|
||||||
|
logger -t Connman "### [$i] found /sys/class/net/$NET_IFACE/address, continue ###"
|
||||||
|
NET_IFACE=`cat /sys/class/net/$NET_IFACE/address | sed 's/://g'`
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
usleep 500000
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "$NET_NETWORK" = "WLAN" -a -n "$NET_SSID" ]; then
|
||||||
|
NET_SSID_HEX=`echo -n "$NET_SSID" | od -tx1 | cut -c8-| tr -d ' \n'`
|
||||||
|
|
||||||
|
# NET_SECURITY: ( NONE / WEP / WPA/WPA2 )
|
||||||
|
if [ "$NET_SECURITY" = "WEP" -a -n "$NET_PASSPHRASE" ]; then
|
||||||
|
MODE="managed_wep"
|
||||||
|
elif [ "$NET_SECURITY" = "WPA/WPA2" -a -n "$NET_PASSPHRASE" ]; then
|
||||||
|
MODE="managed_psk"
|
||||||
|
else
|
||||||
|
MODE="managed_none"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$NET_HIDDEN" = "true" ]; then
|
||||||
|
echo "[wifi_${NET_IFACE}_hidden_${MODE}]" > $CONNMAN_PROFILE
|
||||||
|
else
|
||||||
|
echo "[wifi_${NET_IFACE}_${NET_SSID_HEX}_${MODE}]" > $CONNMAN_PROFILE
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Name=$NET_SSID" >> $CONNMAN_PROFILE
|
||||||
|
echo "SSID=$NET_SSID_HEX" >> $CONNMAN_PROFILE
|
||||||
|
[ -n "$NET_PASSPHRASE" ] && echo "Passphrase=$NET_PASSPHRASE" >> $CONNMAN_PROFILE
|
||||||
|
echo "Favorite=true" >> $CONNMAN_PROFILE
|
||||||
|
echo "AutoConnect=true" >> $CONNMAN_PROFILE
|
||||||
|
else
|
||||||
|
MODE="cable"
|
||||||
|
echo "[ethernet_${NET_IFACE}_${MODE}]" > $CONNMAN_PROFILE
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[ -z "$NET_HOSTNAME" ] && NET_HOSTNAME="openelec"
|
# IP settings
|
||||||
|
if [ -z "$NET_IPADDRESS" ]; then
|
||||||
|
echo "IPv4.method=dhcp" >> $CONNMAN_PROFILE
|
||||||
|
else
|
||||||
|
echo "IPv4.method=manual" >> $CONNMAN_PROFILE
|
||||||
|
echo "IPv4.local_address=$NET_IPADDRESS" >> $CONNMAN_PROFILE
|
||||||
|
[ -n "$NET_PREFIXLEN" ] && echo "IPv4.netmask_prefixlen=$NET_PREFIXLEN" >> $CONNMAN_PROFILE
|
||||||
|
[ -n "$NET_GATEWAY" ] && echo "IPv4.gateway=$NET_GATEWAY" >> $CONNMAN_PROFILE
|
||||||
|
fi
|
||||||
|
|
||||||
# setup hostname
|
[ -n "$NET_DNS1" ] && NET_NAMESERVER="$NET_DNS1"
|
||||||
progress "Setup hostname"
|
[ -n "$NET_DNS2" ] && NET_NAMESERVER="$NET_NAMESERVER;$NET_DNS2"
|
||||||
echo "$NET_HOSTNAME" > /proc/sys/kernel/hostname
|
[ -n "$NET_DNS3" ] && NET_NAMESERVER="$NET_NAMESERVER;$NET_DNS3"
|
||||||
|
[ -n "$NET_NAMESERVER" ] && echo "Nameservers=$NET_NAMESERVER;" >> $CONNMAN_PROFILE
|
||||||
|
|
||||||
# create /etc/hosts file, useful for gethostbyname(localhost)
|
# END OF NETWORK 1
|
||||||
progress "creating /etc/hosts"
|
|
||||||
echo -e "127.0.0.1\tlocalhost $NET_HOSTNAME" > /etc/hosts
|
|
||||||
|
|
||||||
# add user defined hosts.conf entry's
|
# NETWORK 2: ( LAN / WLAN )
|
||||||
[ -f $HOME/.config/hosts.conf ] && cat $HOME/.config/hosts.conf >> /etc/hosts
|
if [ -n "$NET2_NETWORK" -a "$NET2_NETWORK" != "NONE" -a "$NET2_IFACE_NAME" != "$NET_IFACE_NAME" ]; then
|
||||||
|
# setup Networking 2
|
||||||
(
|
progress "setup Networking 2"
|
||||||
# setup Networking 1
|
|
||||||
progress "setup Networking 1"
|
|
||||||
|
|
||||||
CONNMAN_PROFILE="/var/lib/connman/default.profile"
|
|
||||||
|
|
||||||
mkdir -p /var/run/connman
|
|
||||||
mkdir -p /var/lib/connman
|
|
||||||
|
|
||||||
# NETWORK 1: ( LAN / WLAN )
|
|
||||||
for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30; do
|
|
||||||
if [ ! -f /sys/class/net/$NET_IFACE/address ]; then
|
|
||||||
logger -t Connman "### [$i] cannot find /sys/class/net/$NET_IFACE/address ###"
|
|
||||||
else
|
|
||||||
logger -t Connman "### [$i] found /sys/class/net/$NET_IFACE/address, continue ###"
|
|
||||||
NET_IFACE=`cat /sys/class/net/$NET_IFACE/address | sed 's/://g'`
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
usleep 500000
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ "$NET_NETWORK" = "WLAN" -a -n "$NET_SSID" ]; then
|
|
||||||
NET_SSID_HEX=`echo -n "$NET_SSID" | od -tx1 | cut -c8-| tr -d ' \n'`
|
|
||||||
|
|
||||||
# NET_SECURITY: ( NONE / WEP / WPA/WPA2 )
|
|
||||||
if [ "$NET_SECURITY" = "WEP" -a -n "$NET_PASSPHRASE" ]; then
|
|
||||||
MODE="managed_wep"
|
|
||||||
elif [ "$NET_SECURITY" = "WPA/WPA2" -a -n "$NET_PASSPHRASE" ]; then
|
|
||||||
MODE="managed_psk"
|
|
||||||
else
|
|
||||||
MODE="managed_none"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$NET_HIDDEN" = "true" ]; then
|
|
||||||
echo "[wifi_${NET_IFACE}_hidden_${MODE}]" > $CONNMAN_PROFILE
|
|
||||||
else
|
|
||||||
echo "[wifi_${NET_IFACE}_${NET_SSID_HEX}_${MODE}]" > $CONNMAN_PROFILE
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Name=$NET_SSID" >> $CONNMAN_PROFILE
|
|
||||||
echo "SSID=$NET_SSID_HEX" >> $CONNMAN_PROFILE
|
|
||||||
[ -n "$NET_PASSPHRASE" ] && echo "Passphrase=$NET_PASSPHRASE" >> $CONNMAN_PROFILE
|
|
||||||
echo "Favorite=true" >> $CONNMAN_PROFILE
|
|
||||||
echo "AutoConnect=true" >> $CONNMAN_PROFILE
|
|
||||||
else
|
|
||||||
MODE="cable"
|
|
||||||
echo "[ethernet_${NET_IFACE}_${MODE}]" > $CONNMAN_PROFILE
|
|
||||||
fi
|
|
||||||
|
|
||||||
# IP settings
|
|
||||||
if [ -z "$NET_IPADDRESS" ]; then
|
|
||||||
echo "IPv4.method=dhcp" >> $CONNMAN_PROFILE
|
|
||||||
else
|
|
||||||
echo "IPv4.method=manual" >> $CONNMAN_PROFILE
|
|
||||||
echo "IPv4.local_address=$NET_IPADDRESS" >> $CONNMAN_PROFILE
|
|
||||||
[ -n "$NET_PREFIXLEN" ] && echo "IPv4.netmask_prefixlen=$NET_PREFIXLEN" >> $CONNMAN_PROFILE
|
|
||||||
[ -n "$NET_GATEWAY" ] && echo "IPv4.gateway=$NET_GATEWAY" >> $CONNMAN_PROFILE
|
|
||||||
fi
|
|
||||||
|
|
||||||
[ -n "$NET_DNS1" ] && NET_NAMESERVER="$NET_DNS1"
|
|
||||||
[ -n "$NET_DNS2" ] && NET_NAMESERVER="$NET_NAMESERVER;$NET_DNS2"
|
|
||||||
[ -n "$NET_DNS3" ] && NET_NAMESERVER="$NET_NAMESERVER;$NET_DNS3"
|
|
||||||
[ -n "$NET_NAMESERVER" ] && echo "Nameservers=$NET_NAMESERVER;" >> $CONNMAN_PROFILE
|
|
||||||
|
|
||||||
# END OF NETWORK 1
|
|
||||||
|
|
||||||
# NETWORK 2: ( LAN / WLAN )
|
|
||||||
if [ -n "$NET2_NETWORK" -a "$NET2_NETWORK" != "NONE" -a "$NET2_IFACE_NAME" != "$NET_IFACE_NAME" ]; then
|
|
||||||
# setup Networking 2
|
|
||||||
progress "setup Networking 2"
|
|
||||||
|
|
||||||
for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30; do
|
|
||||||
if [ ! -f /sys/class/net/$NET2_IFACE/address ]; then
|
|
||||||
logger -t Connman "### [$i] cannot find /sys/class/net/$NET2_IFACE/address ###"
|
|
||||||
else
|
|
||||||
logger -t Connman "### [$i] found /sys/class/net/$NET2_IFACE/address, continue ###"
|
|
||||||
NET2_IFACE=`cat /sys/class/net/$NET2_IFACE/address | sed 's/://g'`
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
usleep 500000
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ "$NET2_NETWORK" = "WLAN" -a -n "$NET2_SSID" ]; then
|
|
||||||
NET2_SSID_HEX=`echo -n "$NET2_SSID" | od -tx1 | cut -c8-| tr -d ' \n'`
|
|
||||||
|
|
||||||
# NET_SECURITY: ( NONE / WEP / WPA/WPA2 )
|
|
||||||
if [ "$NET2_SECURITY" = "WEP" -a -n "$NET2_PASSPHRASE" ]; then
|
|
||||||
MODE="managed_wep"
|
|
||||||
elif [ "$NET2_SECURITY" = "WPA/WPA2" -a -n "$NET2_PASSPHRASE" ]; then
|
|
||||||
MODE="managed_psk"
|
|
||||||
else
|
|
||||||
MODE="managed_none"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$NET2_HIDDEN" = "true" ]; then
|
|
||||||
echo "[wifi_${NET2_IFACE}_hidden_${MODE}]" >> $CONNMAN_PROFILE
|
|
||||||
else
|
|
||||||
echo "[wifi_${NET2_IFACE}_${NET2_SSID_HEX}_${MODE}]" >> $CONNMAN_PROFILE
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Name=$NET2_SSID" >> $CONNMAN_PROFILE
|
|
||||||
echo "SSID=$NET2_SSID_HEX" >> $CONNMAN_PROFILE
|
|
||||||
[ -n "$NET2_PASSPHRASE" ] && echo "Passphrase=$NET2_PASSPHRASE" >> $CONNMAN_PROFILE
|
|
||||||
echo "Favorite=true" >> $CONNMAN_PROFILE
|
|
||||||
echo "AutoConnect=true" >> $CONNMAN_PROFILE
|
|
||||||
else
|
|
||||||
MODE="cable"
|
|
||||||
echo "[ethernet_${NET2_IFACE}_${MODE}]" >> $CONNMAN_PROFILE
|
|
||||||
fi
|
|
||||||
|
|
||||||
# IP settings
|
|
||||||
if [ -z "$NET2_IPADDRESS" ]; then
|
|
||||||
echo "IPv4.method=dhcp" >> $CONNMAN_PROFILE
|
|
||||||
else
|
|
||||||
echo "IPv4.method=manual" >> $CONNMAN_PROFILE
|
|
||||||
echo "IPv4.local_address=$NET2_IPADDRESS" >> $CONNMAN_PROFILE
|
|
||||||
[ -n "$NET2_PREFIXLEN" ] && echo "IPv4.netmask_prefixlen=$NET2_PREFIXLEN" >> $CONNMAN_PROFILE
|
|
||||||
[ -n "$NET2_GATEWAY" ] && echo "IPv4.gateway=$NET2_GATEWAY" >> $CONNMAN_PROFILE
|
|
||||||
fi
|
|
||||||
|
|
||||||
[ -n "$NET2_DNS1" ] && NET2_NAMESERVER="$NET2_DNS1"
|
|
||||||
[ -n "$NET2_DNS2" ] && NET2_NAMESERVER="$NET2_NAMESERVER;$NET2_DNS2"
|
|
||||||
[ -n "$NET2_DNS3" ] && NET2_NAMESERVER="$NET2_NAMESERVER;$NET2_DNS3"
|
|
||||||
[ -n "$NET2_NAMESERVER" ] && echo "Nameservers=$NET2_NAMESERVER;" >> $CONNMAN_PROFILE
|
|
||||||
|
|
||||||
(
|
|
||||||
# wait some time, put eth1 (NET2_IFACE) down and then up
|
|
||||||
# this is just temporary solution until I figure out how to
|
|
||||||
# do properly with connman
|
|
||||||
usleep 5000000
|
|
||||||
ifconfig $NET2_IFACE_NAME down
|
|
||||||
usleep 1000000
|
|
||||||
ifconfig $NET2_IFACE_NAME up
|
|
||||||
)&
|
|
||||||
|
|
||||||
|
for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30; do
|
||||||
|
if [ ! -f /sys/class/net/$NET2_IFACE/address ]; then
|
||||||
|
logger -t Connman "### [$i] cannot find /sys/class/net/$NET2_IFACE/address ###"
|
||||||
|
else
|
||||||
|
logger -t Connman "### [$i] found /sys/class/net/$NET2_IFACE/address, continue ###"
|
||||||
|
NET2_IFACE=`cat /sys/class/net/$NET2_IFACE/address | sed 's/://g'`
|
||||||
|
break
|
||||||
fi
|
fi
|
||||||
# END OF NETWORK 2
|
usleep 500000
|
||||||
|
done
|
||||||
|
|
||||||
# overwrite created profile with custom one if exist (debug use only)
|
if [ "$NET2_NETWORK" = "WLAN" -a -n "$NET2_SSID" ]; then
|
||||||
DEBUG_CONNMAN_PROFILE="/storage/.config/connman.profile"
|
NET2_SSID_HEX=`echo -n "$NET2_SSID" | od -tx1 | cut -c8-| tr -d ' \n'`
|
||||||
[ -f "$DEBUG_CONNMAN_PROFILE" ] && cp $DEBUG_CONNMAN_PROFILE $CONNMAN_PROFILE
|
|
||||||
[ -f "$DEBUG_CONNMAN_PROFILE" ] && mv $DEBUG_CONNMAN_PROFILE ${DEBUG_CONNMAN_PROFILE}_saved
|
|
||||||
|
|
||||||
# starting Connection manager
|
# NET_SECURITY: ( NONE / WEP / WPA/WPA2 )
|
||||||
progress "starting Connection manager"
|
if [ "$NET2_SECURITY" = "WEP" -a -n "$NET2_PASSPHRASE" ]; then
|
||||||
|
MODE="managed_wep"
|
||||||
|
elif [ "$NET2_SECURITY" = "WPA/WPA2" -a -n "$NET2_PASSPHRASE" ]; then
|
||||||
|
MODE="managed_psk"
|
||||||
|
else
|
||||||
|
MODE="managed_none"
|
||||||
|
fi
|
||||||
|
|
||||||
while true; do
|
if [ "$NET2_HIDDEN" = "true" ]; then
|
||||||
/usr/sbin/connmand -n > /dev/null 2>&1
|
echo "[wifi_${NET2_IFACE}_hidden_${MODE}]" >> $CONNMAN_PROFILE
|
||||||
usleep 250000
|
else
|
||||||
done
|
echo "[wifi_${NET2_IFACE}_${NET2_SSID_HEX}_${MODE}]" >> $CONNMAN_PROFILE
|
||||||
)&
|
fi
|
||||||
;;
|
|
||||||
|
|
||||||
poweroff|reboot)
|
echo "Name=$NET2_SSID" >> $CONNMAN_PROFILE
|
||||||
;;
|
echo "SSID=$NET2_SSID_HEX" >> $CONNMAN_PROFILE
|
||||||
esac
|
[ -n "$NET2_PASSPHRASE" ] && echo "Passphrase=$NET2_PASSPHRASE" >> $CONNMAN_PROFILE
|
||||||
|
echo "Favorite=true" >> $CONNMAN_PROFILE
|
||||||
|
echo "AutoConnect=true" >> $CONNMAN_PROFILE
|
||||||
|
else
|
||||||
|
MODE="cable"
|
||||||
|
echo "[ethernet_${NET2_IFACE}_${MODE}]" >> $CONNMAN_PROFILE
|
||||||
|
fi
|
||||||
|
|
||||||
|
# IP settings
|
||||||
|
if [ -z "$NET2_IPADDRESS" ]; then
|
||||||
|
echo "IPv4.method=dhcp" >> $CONNMAN_PROFILE
|
||||||
|
else
|
||||||
|
echo "IPv4.method=manual" >> $CONNMAN_PROFILE
|
||||||
|
echo "IPv4.local_address=$NET2_IPADDRESS" >> $CONNMAN_PROFILE
|
||||||
|
[ -n "$NET2_PREFIXLEN" ] && echo "IPv4.netmask_prefixlen=$NET2_PREFIXLEN" >> $CONNMAN_PROFILE
|
||||||
|
[ -n "$NET2_GATEWAY" ] && echo "IPv4.gateway=$NET2_GATEWAY" >> $CONNMAN_PROFILE
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ -n "$NET2_DNS1" ] && NET2_NAMESERVER="$NET2_DNS1"
|
||||||
|
[ -n "$NET2_DNS2" ] && NET2_NAMESERVER="$NET2_NAMESERVER;$NET2_DNS2"
|
||||||
|
[ -n "$NET2_DNS3" ] && NET2_NAMESERVER="$NET2_NAMESERVER;$NET2_DNS3"
|
||||||
|
[ -n "$NET2_NAMESERVER" ] && echo "Nameservers=$NET2_NAMESERVER;" >> $CONNMAN_PROFILE
|
||||||
|
|
||||||
|
(
|
||||||
|
# wait some time, put eth1 (NET2_IFACE) down and then up
|
||||||
|
# this is just temporary solution until I figure out how to
|
||||||
|
# do properly with connman
|
||||||
|
usleep 5000000
|
||||||
|
ifconfig $NET2_IFACE_NAME down
|
||||||
|
usleep 1000000
|
||||||
|
ifconfig $NET2_IFACE_NAME up
|
||||||
|
)&
|
||||||
|
|
||||||
|
fi
|
||||||
|
# END OF NETWORK 2
|
||||||
|
|
||||||
|
# overwrite created profile with custom one if exist (debug use only)
|
||||||
|
DEBUG_CONNMAN_PROFILE="/storage/.config/connman.profile"
|
||||||
|
[ -f "$DEBUG_CONNMAN_PROFILE" ] && cp $DEBUG_CONNMAN_PROFILE $CONNMAN_PROFILE
|
||||||
|
[ -f "$DEBUG_CONNMAN_PROFILE" ] && mv $DEBUG_CONNMAN_PROFILE ${DEBUG_CONNMAN_PROFILE}_saved
|
||||||
|
|
||||||
|
# starting Connection manager
|
||||||
|
progress "starting Connection manager"
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
/usr/sbin/connmand -n > /dev/null 2>&1
|
||||||
|
usleep 250000
|
||||||
|
done
|
||||||
|
)&
|
||||||
|
Loading…
x
Reference in New Issue
Block a user