Previously, wifi detect simply dumped its generated wireless
configuration to STDOUT. A second step was needed to append
the configuration to /etc/config/wireless (or create it, if
it didn't exist).
With this patch, The wifi detection script will now use uci
to update the wireless configuration directly.
This patch also makes the initially created wifi-iface a
named section ('default_radio$X' for mac80211 and
'default_wl$X' for broadcom). With this change, uci will
not print the cfgHASH to STDOUT (which would now corrupt
the wireless configuration). It will also prevent adding
duplicated wifi interface configurations, if the wifi
configuration is run concurrently.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
52 lines
1.1 KiB
Bash
Executable File
52 lines
1.1 KiB
Bash
Executable File
#!/bin/sh /etc/rc.common
|
|
# Copyright (C) 2006-2011 OpenWrt.org
|
|
|
|
START=10
|
|
STOP=98
|
|
|
|
uci_apply_defaults() {
|
|
. /lib/functions/system.sh
|
|
|
|
cd /etc/uci-defaults || return 0
|
|
files="$(ls)"
|
|
[ -z "$files" ] && return 0
|
|
mkdir -p /tmp/.uci
|
|
for file in $files; do
|
|
( . "./$(basename $file)" ) && rm -f "$file"
|
|
done
|
|
uci commit
|
|
}
|
|
|
|
boot() {
|
|
[ -f /proc/mounts ] || /sbin/mount_root
|
|
[ -f /proc/jffs2_bbc ] && echo "S" > /proc/jffs2_bbc
|
|
[ -f /proc/net/vlan/config ] && vconfig set_name_type DEV_PLUS_VID_NO_PAD
|
|
|
|
mkdir -p /var/run
|
|
mkdir -p /var/log
|
|
mkdir -p /var/lock
|
|
mkdir -p /var/state
|
|
mkdir -p /var/tmp
|
|
mkdir -p /tmp/.uci
|
|
chmod 0700 /tmp/.uci
|
|
touch /var/log/wtmp
|
|
touch /var/log/lastlog
|
|
touch /tmp/resolv.conf.auto
|
|
ln -sf /tmp/resolv.conf.auto /tmp/resolv.conf
|
|
grep -q debugfs /proc/filesystems && /bin/mount -o noatime -t debugfs debugfs /sys/kernel/debug
|
|
[ "$FAILSAFE" = "true" ] && touch /tmp/.failsafe
|
|
|
|
/sbin/kmodloader
|
|
|
|
# allow wifi modules time to settle
|
|
sleep 1
|
|
|
|
/sbin/wifi detect
|
|
|
|
/bin/config_generate
|
|
uci_apply_defaults
|
|
|
|
# temporary hack until configd exists
|
|
/sbin/reload_config
|
|
}
|