mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-08-01 23:17:50 +00:00
connman: rework init script and network config file
Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
parent
30e83d162c
commit
c5796280e5
@ -1,14 +1,19 @@
|
|||||||
# Network configuration
|
# Network configuration
|
||||||
|
|
||||||
# Hostname
|
# Hostname to use, this also affects Samba, Avahi and some others
|
||||||
HOSTNAME="openelec"
|
# ypu can leave blanc to use "openelec" as hostname (default)
|
||||||
|
HOSTNAME=""
|
||||||
|
|
||||||
# Network interface name or address (e.g. "eth0" or "00:0d:56:ec:ba:0c")
|
# Network technology ( LAN / WLAN )
|
||||||
# you can leave blanc to use eth0
|
# "LAN" or leave blanc to use Wired LAN Connection (default)
|
||||||
|
NETWORK=""
|
||||||
|
|
||||||
|
# Network interface name or address (e.g. "eth0", "wlan0" or "00:0d:56:ec:ba:0c")
|
||||||
|
# you can leave blanc to use eth0 (default)
|
||||||
IFACE=""
|
IFACE=""
|
||||||
|
|
||||||
# Static IP address in CIDR format (e.g. "192.168.1.1/24")
|
# Static IP address in CIDR format (e.g. "192.168.1.1/24")
|
||||||
# leave blanc to use DHCP server
|
# leave blanc to use DHCP server (default)
|
||||||
IPADDRESS=""
|
IPADDRESS=""
|
||||||
|
|
||||||
# Network gateway (e.g. "192.168.1.254")
|
# Network gateway (e.g. "192.168.1.254")
|
||||||
@ -18,3 +23,18 @@
|
|||||||
# List of DNS servers (e.g. "192.168.1.253;192.168.1.254")
|
# List of DNS servers (e.g. "192.168.1.253;192.168.1.254")
|
||||||
# you must setup if you use an static IP address
|
# you must setup if you use an static IP address
|
||||||
NAMESERVER=""
|
NAMESERVER=""
|
||||||
|
|
||||||
|
# WLAN SSID (e.g. "MyNetwork")
|
||||||
|
# needed for Wireless network configuration
|
||||||
|
SSID=""
|
||||||
|
|
||||||
|
# WLAN Security method ( NONE / WEP / PSK )
|
||||||
|
# "NONE" or leave blanc on an open WLAN (default)
|
||||||
|
# "WEP" for WEP protected WLAN's
|
||||||
|
# "PSK" for WPA protected WLAN's
|
||||||
|
SECURITY=""
|
||||||
|
|
||||||
|
# Passphrase to access your Wireless network (e.g. "TopSecret")
|
||||||
|
# needed for secure Wireless network configuration (WEP and WPA)
|
||||||
|
PASSPHRASE=""
|
||||||
|
|
||||||
|
@ -24,21 +24,15 @@
|
|||||||
#
|
#
|
||||||
# runlevels: openelec, installer, textmode
|
# runlevels: openelec, installer, textmode
|
||||||
|
|
||||||
|
# LAN: no security: no SSID, NAME:Wired, no PASSPHRASE, tech: ethernet, mode: _cable
|
||||||
|
# WLAN: no security: SSID, NAME, no PASSPHRASE, tech: wifi mode: _managed_none
|
||||||
|
# WLAN: (WPA2): SSID, NAME, PASSPHRASE, tech: wifi mode: _managed_psk
|
||||||
|
# WLAN: (WEP): SSID, NAME, PASSPHRASE, tect: wifi mode: _managed_wep
|
||||||
|
|
||||||
. /etc/profile
|
. /etc/profile
|
||||||
|
|
||||||
[ -f $HOME/.config/network.conf ] && . $HOME/.config/network.conf
|
[ -f $HOME/.config/network.conf ] && . $HOME/.config/network.conf
|
||||||
|
|
||||||
[ -z "$HOSTNAME" ] && HOSTNAME="openelec"
|
[ -z "$HOSTNAME" ] && HOSTNAME="openelec"
|
||||||
[ -z "$IFACE" ] && IFACE=eth0
|
|
||||||
[ -f /sys/class/net/$IFACE/address ] && IFACE=`cat /sys/class/net/$IFACE/address`
|
|
||||||
|
|
||||||
CONNMAN_PROFILE="/var/lib/connman/default.profile"
|
|
||||||
IP=`echo $IPADDRESS | cut -f1 -d/`
|
|
||||||
PREFIX=`echo $IPADDRESS | cut -f2 -d/`
|
|
||||||
|
|
||||||
# bring lo up, whether we have network card or not
|
|
||||||
progress "starting Loopback Network interface"
|
|
||||||
ifconfig lo 127.0.0.1 up
|
|
||||||
|
|
||||||
# setup hostname
|
# setup hostname
|
||||||
progress "Setup hostname"
|
progress "Setup hostname"
|
||||||
@ -48,23 +42,65 @@ PREFIX=`echo $IPADDRESS | cut -f2 -d/`
|
|||||||
progress "creating /etc/hosts"
|
progress "creating /etc/hosts"
|
||||||
echo -e "127.0.0.1\tlocalhost $HOSTNAME" > /etc/hosts
|
echo -e "127.0.0.1\tlocalhost $HOSTNAME" > /etc/hosts
|
||||||
|
|
||||||
# starting Connection manager
|
(
|
||||||
progress "starting Connection manager"
|
# setup Networking
|
||||||
|
progress "setup Networking"
|
||||||
|
|
||||||
mkdir -p /var/run/connman
|
CONNMAN_PROFILE="/var/lib/connman/default.profile"
|
||||||
mkdir -p /var/lib/connman
|
|
||||||
|
|
||||||
echo "[ethernet_`echo $IFACE | sed 's/://g'`_cable]" > $CONNMAN_PROFILE
|
mkdir -p /var/run/connman
|
||||||
|
mkdir -p /var/lib/connman
|
||||||
|
|
||||||
if [ -z "$IPADDRESS" ]; then
|
# NETWORK: ( LAN / WLAN )
|
||||||
echo "IPv4.method=dhcp" >> $CONNMAN_PROFILE
|
usleep 2000000 # TODO: wait on udev to load all drivers
|
||||||
else
|
|
||||||
echo "IPv4.method=manual" >> $CONNMAN_PROFILE
|
|
||||||
echo "IPv4.local_address=$IP" >> $CONNMAN_PROFILE
|
|
||||||
[ -n "$PREFIX" ] && echo "IPv4.netmask_prefixlen=$PREFIX" >> $CONNMAN_PROFILE
|
|
||||||
[ -n "$GATEWAY" ] && echo "IPv4.gateway=$GATEWAY" >> $CONNMAN_PROFILE
|
|
||||||
[ -n "$NAMESERVER" ] && echo "Nameservers=$NAMESERVER;" >> $CONNMAN_PROFILE
|
|
||||||
fi
|
|
||||||
|
|
||||||
touch /var/run/resolv.conf
|
[ -z "$IFACE" ] && IFACE="eth0"
|
||||||
/usr/sbin/connmand
|
[ -f /sys/class/net/$IFACE/address ] && \
|
||||||
|
IFACE=`cat /sys/class/net/$IFACE/address | sed 's/://g'`
|
||||||
|
|
||||||
|
if [ "$NETWORK" = "WLAN" -a -n "$SSID" ]; then
|
||||||
|
SSID_HEX=`echo -n "$SSID" | od -tx1 | cut -c8-| tr -d ' \n'`
|
||||||
|
|
||||||
|
# SECURITY: ( NONE / WEP / PSK )
|
||||||
|
if [ "$SECURITY" = "WEP" -a -n "$PASSPHRASE" ]; then
|
||||||
|
MODE="managed_wep"
|
||||||
|
elif [ "$SECURITY" = "PSK" -a -n "$PASSPHRASE" ]; then
|
||||||
|
MODE="managed_psk"
|
||||||
|
else
|
||||||
|
MODE="managed_none"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "[wifi_${IFACE}_${SSID_HEX}_${MODE}]" > $CONNMAN_PROFILE
|
||||||
|
echo "Name=$SSID" >> $CONNMAN_PROFILE
|
||||||
|
echo "SSID=$SSID_HEX" >> $CONNMAN_PROFILE
|
||||||
|
[ -n "$PASSPHRASE" ] && echo "Passphrase=$PASSPHRASE" >> $CONNMAN_PROFILE
|
||||||
|
echo "Favorite=true" >> $CONNMAN_PROFILE
|
||||||
|
echo "AutoConnect=true" >> $CONNMAN_PROFILE
|
||||||
|
|
||||||
|
else
|
||||||
|
MODE="cable"
|
||||||
|
echo "[ethernet_${IFACE}_${MODE}]" > $CONNMAN_PROFILE
|
||||||
|
fi
|
||||||
|
|
||||||
|
# IP settings
|
||||||
|
if [ -z "$IPADDRESS" ]; then
|
||||||
|
echo "IPv4.method=dhcp" >> $CONNMAN_PROFILE
|
||||||
|
else
|
||||||
|
IP=`echo $IPADDRESS | cut -f1 -d/`
|
||||||
|
PREFIX=`echo $IPADDRESS | cut -f2 -d/`
|
||||||
|
echo "IPv4.method=manual" >> $CONNMAN_PROFILE
|
||||||
|
echo "IPv4.local_address=$IP" >> $CONNMAN_PROFILE
|
||||||
|
[ -n "$PREFIX" ] && echo "IPv4.netmask_prefixlen=$PREFIX" >> $CONNMAN_PROFILE
|
||||||
|
[ -n "$GATEWAY" ] && echo "IPv4.gateway=$GATEWAY" >> $CONNMAN_PROFILE
|
||||||
|
[ -n "$NAMESERVER" ] && echo "Nameservers=$NAMESERVER;" >> $CONNMAN_PROFILE
|
||||||
|
fi
|
||||||
|
|
||||||
|
# starting Connection manager
|
||||||
|
progress "starting Connection manager"
|
||||||
|
|
||||||
|
touch /var/run/resolv.conf
|
||||||
|
/usr/sbin/connmand
|
||||||
|
|
||||||
|
usleep 2000000 #TODO: wait for connman
|
||||||
|
touch /var/run/network
|
||||||
|
)&
|
||||||
|
Loading…
x
Reference in New Issue
Block a user