From 7a010ba2a5a20a173dad35e0064fa8ced3d8f727 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Fri, 11 Mar 2011 22:20:52 +0100 Subject: [PATCH] connman: simplyfing init script, use system config file Signed-off-by: Stephan Raue --- packages/network/connman/init.d/21_network | 72 +++++++++------------- 1 file changed, 29 insertions(+), 43 deletions(-) diff --git a/packages/network/connman/init.d/21_network b/packages/network/connman/init.d/21_network index 04fd72937d..83ba39a828 100644 --- a/packages/network/connman/init.d/21_network +++ b/packages/network/connman/init.d/21_network @@ -22,33 +22,19 @@ # # runlevels: openelec, installer, textmode -OPENELEC_SETTINGS="$HOME/.xbmc/userdata/addon_data/os.openelec.settings/settings.xml" - -if [ -f "$OPENELEC_SETTINGS" ]; then - HOSTNAME=`grep NET_HOSTNAME $OPENELEC_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"` - NETWORK=`grep NET_NETWORK $OPENELEC_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"` - IFACE=`grep NET_IFACE $OPENELEC_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"` - IPADDRESS=`grep NET_IPADDRESS $OPENELEC_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"` - PREFIXLEN=`grep NET_PREFIXLEN $OPENELEC_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"` - GATEWAY=`grep NET_GATEWAY $OPENELEC_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"` - DNS1=`grep NET_DNS1 $OPENELEC_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"` - DNS2=`grep NET_DNS2 $OPENELEC_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"` - DNS3=`grep NET_DNS3 $OPENELEC_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"` - HIDDEN=`grep NET_HIDDEN $OPENELEC_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"` - SSID=`grep NET_SSID $OPENELEC_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"` - SECURITY=`grep NET_SECURITY $OPENELEC_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"` - PASSPHRASE=`grep NET_PASSPHRASE $OPENELEC_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"` +if [ -f /var/config/settings.conf ]; then + . /var/config/settings.conf fi -[ -z "$HOSTNAME" ] && HOSTNAME="openelec" +[ -z "$NET_HOSTNAME" ] && NET_HOSTNAME="openelec" # setup hostname progress "Setup hostname" - echo "$HOSTNAME" > /proc/sys/kernel/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 $HOSTNAME" > /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 @@ -65,58 +51,58 @@ fi # NETWORK: ( 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; do - if [ ! -f /sys/class/net/$IFACE/address ]; then - logger -t Connman "### [$i] cannot find /sys/class/net/$IFACE/address ###" + 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/$IFACE/address, continue ###" - IFACE=`cat /sys/class/net/$IFACE/address | sed 's/://g'` + 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 [ "$NETWORK" = "WLAN" -a -n "$SSID" ]; then - SSID_HEX=`echo -n "$SSID" | od -tx1 | cut -c8-| tr -d ' \n'` + if [ "$NET_NETWORK" = "WLAN" -a -n "$NET_SSID" ]; then + NET_SSID_HEX=`echo -n "$NET_SSID" | od -tx1 | cut -c8-| tr -d ' \n'` - # SECURITY: ( NONE / WEP / PSK ) - if [ "$SECURITY" = "WEP" -a -n "$PASSPHRASE" ]; then + # NET_SECURITY: ( NONE / WEP / PSK ) + if [ "$NET_SECURITY" = "WEP" -a -n "$NET_PASSPHRASE" ]; then MODE="managed_wep" - elif [ "$SECURITY" = "PSK" -a -n "$PASSPHRASE" ]; then + elif [ "$NET_SECURITY" = "PSK" -a -n "$NET_PASSPHRASE" ]; then MODE="managed_psk" else MODE="managed_none" fi - if [ "$HIDDEN" = "true" ]; then - echo "[wifi_${IFACE}_hidden_${MODE}]" > $CONNMAN_PROFILE + if [ "$NET_HIDDEN" = "true" ]; then + echo "[wifi_${NET_IFACE}_hidden_${MODE}]" > $CONNMAN_PROFILE else - echo "[wifi_${IFACE}_${SSID_HEX}_${MODE}]" > $CONNMAN_PROFILE + echo "[wifi_${NET_IFACE}_${NET_SSID_HEX}_${MODE}]" > $CONNMAN_PROFILE fi - echo "Name=$SSID" >> $CONNMAN_PROFILE - echo "SSID=$SSID_HEX" >> $CONNMAN_PROFILE - [ -n "$PASSPHRASE" ] && echo "Passphrase=$PASSPHRASE" >> $CONNMAN_PROFILE + 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_${IFACE}_${MODE}]" > $CONNMAN_PROFILE + echo "[ethernet_${NET_IFACE}_${MODE}]" > $CONNMAN_PROFILE fi # IP settings - if [ -z "$IPADDRESS" ]; then + if [ -z "$NET_IPADDRESS" ]; then echo "IPv4.method=dhcp" >> $CONNMAN_PROFILE else echo "IPv4.method=manual" >> $CONNMAN_PROFILE - echo "IPv4.local_address=$IPADDRESS" >> $CONNMAN_PROFILE - [ -n "$PREFIXLEN" ] && echo "IPv4.netmask_prefixlen=$PREFIXLEN" >> $CONNMAN_PROFILE - [ -n "$GATEWAY" ] && echo "IPv4.gateway=$GATEWAY" >> $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 - [ -n "$DNS1" ] && NAMESERVER="$DNS1" - [ -n "$DNS2" ] && NAMESERVER="$NAMESERVER;$DNS2" - [ -n "$DNS3" ] && NAMESERVER="$NAMESERVER;$DNS3" - [ -n "$NAMESERVER" ] && echo "Nameservers=$NAMESERVER;" >> $CONNMAN_PROFILE + [ -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 fi # starting Connection manager