Add support for Ubiquity Unifi AC LITE
This commit is contained in:
parent
985794524f
commit
d39f95282b
17 changed files with 160 additions and 33 deletions
|
@ -15,7 +15,7 @@ mkdir -p "$IMAGEDIR"
|
||||||
|
|
||||||
VERSION="$(basename "$(git describe --always --tags --dirty --match 'access-points/*')")"
|
VERSION="$(basename "$(git describe --always --tags --dirty --match 'access-points/*')")"
|
||||||
IMAGEDIR="$IMAGEDIR"/"$VERSION"
|
IMAGEDIR="$IMAGEDIR"/"$VERSION"
|
||||||
mkdir "$IMAGEDIR"
|
mkdir -p "$IMAGEDIR"
|
||||||
|
|
||||||
imagebuilder="$(basename "$IMAGEBUILDER_URL")"
|
imagebuilder="$(basename "$IMAGEBUILDER_URL")"
|
||||||
|
|
||||||
|
@ -28,25 +28,34 @@ tar -C "$BUILDDIR" -axf "$DLDIR"/"$imagebuilder"
|
||||||
|
|
||||||
IMAGEBUILDER_DIR="$BUILDDIR"/"$(tar -atf "$DLDIR"/"$imagebuilder" | head -n1)"
|
IMAGEBUILDER_DIR="$BUILDDIR"/"$(tar -atf "$DLDIR"/"$imagebuilder" | head -n1)"
|
||||||
|
|
||||||
image="lede-ar71xx-generic-tl-wr841-v10-squashfs-sysupgrade.bin"
|
profile=$(. "$CONTROL"; echo "${PROFILE}")
|
||||||
|
|
||||||
|
|
||||||
(
|
(
|
||||||
IFS='
|
IFS='
|
||||||
'
|
'
|
||||||
export PROFILE PACKAGES
|
export PROFILE PACKAGES
|
||||||
|
|
||||||
. "$CONTROL"
|
. "$CONTROL"
|
||||||
|
|
||||||
tmp=$(mktemp --tmpdir -d files.XXXXXXXXX)
|
tmp=$(mktemp --tmpdir -d files.XXXXXXXXX)
|
||||||
|
|
||||||
cp -aLTv "$TOPDIR/$FILES" "$tmp"
|
mkdir -p "$tmp"/etc
|
||||||
echo "$VERSION" > "$tmp"/etc/its-access-point-version
|
echo "$VERSION" > "$tmp"/etc/its-access-point-version
|
||||||
|
|
||||||
|
if [ -n "$COMMON_FILES" ]; then
|
||||||
|
cp -aLTv "$TOPDIR/$COMMON_FILES" "$tmp"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$FILES" ]; then
|
||||||
|
cp -aLTv "$TOPDIR/$FILES" "$tmp"
|
||||||
|
fi
|
||||||
|
|
||||||
cd "$IMAGEBUILDER_DIR"
|
cd "$IMAGEBUILDER_DIR"
|
||||||
make image FILES="$tmp"
|
unset COMMON_FILES
|
||||||
|
make image FILES="$tmp" 1>&2
|
||||||
)
|
)
|
||||||
|
|
||||||
cp "$IMAGEBUILDER_DIR"/bin/targets/ar71xx/generic/"$image" "$IMAGEDIR"/
|
cp "$IMAGEBUILDER_DIR"/bin/targets/ar71xx/generic/lede*-ar71xx-generic-"${profile}"-squashfs-sysupgrade.bin "$IMAGEDIR"/
|
||||||
|
|
||||||
{
|
{
|
||||||
printf '%s\n' "Date: $(date -R)"
|
printf '%s\n' "Date: $(date -R)"
|
||||||
|
@ -55,6 +64,6 @@ cp "$IMAGEBUILDER_DIR"/bin/targets/ar71xx/generic/"$image" "$IMAGEDIR"/
|
||||||
printf 'Checksums-Sha512:\n'
|
printf 'Checksums-Sha512:\n'
|
||||||
{
|
{
|
||||||
( cd "$DLDIR" ; sha512sum "$imagebuilder" )
|
( cd "$DLDIR" ; sha512sum "$imagebuilder" )
|
||||||
( cd "$IMAGEDIR"; sha512sum "$image")
|
( cd "$IMAGEDIR"; sha512sum lede*-ar71xx-generic-"${profile}"-squashfs-sysupgrade.bin )
|
||||||
} | sed 's/^/ /'
|
} | sed 's/^/ /'
|
||||||
} > "$IMAGEDIR"/image-manifest
|
} > "$IMAGEDIR"/image-manifest
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
PROFILE=tl-wr841-v10
|
PROFILE=tl-wr841-v10
|
||||||
FILES=files/tl-wr841-v10
|
FILES=files/tl-wr841-v10
|
||||||
|
COMMON_FILES=files/common/its
|
||||||
PACKAGES='
|
PACKAGES='
|
||||||
collectd
|
collectd
|
||||||
collectd-mod-wireless
|
collectd-mod-wireless
|
||||||
|
|
9
control/ubnt-unifiac-lite
Normal file
9
control/ubnt-unifiac-lite
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
PROFILE=ubnt-unifiac-lite
|
||||||
|
FILES=files/ubnt-unifiac-lite
|
||||||
|
COMMON_FILES=files/common/its
|
||||||
|
PACKAGES='
|
||||||
|
collectd
|
||||||
|
collectd-mod-wireless
|
||||||
|
collectd-mod-interface
|
||||||
|
collectd-mod-load
|
||||||
|
collectd-mod-network'
|
|
@ -1,5 +1,13 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
|
||||||
|
uci_set_forall_wifi_ifaces () {
|
||||||
|
WIFI_IFACES=$(uci show wireless | sed -nr 's/^wireless\.([^=]+)=wifi-iface*$/\1/p')
|
||||||
|
for iface in $WIFI_IFACES; do
|
||||||
|
uci set wireless.$iface."$1"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
logger -t wifi-uplink hotplug "$DEVICE" "$INTERFACE" "$ACTION"
|
logger -t wifi-uplink hotplug "$DEVICE" "$INTERFACE" "$ACTION"
|
||||||
|
|
||||||
# 'lan' doesn't work for some reason
|
# 'lan' doesn't work for some reason
|
||||||
|
@ -9,12 +17,12 @@ logger -t wifi-uplink devchange "$DEVICE" "$INTERFACE" "$ACTION"
|
||||||
|
|
||||||
[ "$ACTION" = ifup ] && {
|
[ "$ACTION" = ifup ] && {
|
||||||
logger -t wifi-uplink up "$DEVICE" "$INTERFACE" "$ACTION"
|
logger -t wifi-uplink up "$DEVICE" "$INTERFACE" "$ACTION"
|
||||||
uci set wireless.@wifi-device[0].disabled=0
|
uci_set_forall_wifi_ifaces disabled=0
|
||||||
wifi
|
wifi
|
||||||
}
|
}
|
||||||
|
|
||||||
[ "$ACTION" = ifdown ] && {
|
[ "$ACTION" = ifdown ] && {
|
||||||
logger -t wifi-uplink down "$DEVICE" "$INTERFACE" "$ACTION"
|
logger -t wifi-uplink down "$DEVICE" "$INTERFACE" "$ACTION"
|
||||||
wifi down
|
wifi down
|
||||||
uci set wireless.@wifi-device[0].disabled=1
|
uci_set_forall_wifi_ifaces disabled=1
|
||||||
}
|
}
|
61
files/common/its/etc/uci-defaults/50-config-from-mac
Executable file
61
files/common/its/etc/uci-defaults/50-config-from-mac
Executable file
|
@ -0,0 +1,61 @@
|
||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
set -u
|
||||||
|
|
||||||
|
mac=$(cat /sys/class/net/wlan0/address)
|
||||||
|
|
||||||
|
hostname=
|
||||||
|
channel_11a=
|
||||||
|
channel_11g=
|
||||||
|
if [ "$mac" = 60:e3:27:b8:16:ec ]; then
|
||||||
|
hostname=cz-ap0
|
||||||
|
channel_11g=6
|
||||||
|
elif [ "$mac" = 60:e3:27:ed:86:9a ]; then
|
||||||
|
hostname=cz-ap1
|
||||||
|
channel_11g=11
|
||||||
|
elif [ "$mac" = 78:8a:20:82:d6:bd ]; then
|
||||||
|
hostname=cz-ap2
|
||||||
|
channel_11a=108
|
||||||
|
htmode_11a=VHT80
|
||||||
|
elif [ "$mac" = 60:e3:27:ed:9b:b0 ]; then
|
||||||
|
hostname=lz-ap0
|
||||||
|
channel_11g=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# disable root password login
|
||||||
|
sed -i 's/^root.*$/root:*:0:0:99999:7:::/' /etc/shadow
|
||||||
|
|
||||||
|
uci set system.@system[0].hostname=$hostname
|
||||||
|
uci commit system
|
||||||
|
echo $(uci get system.@system[0].hostname) > /proc/sys/kernel/hostname
|
||||||
|
|
||||||
|
uci set dropbear.@dropbear[0].PasswordAuth='off'
|
||||||
|
uci set dropbear.@dropbear[0].RootPasswordAuth='off'
|
||||||
|
uci commit dropbear
|
||||||
|
/etc/init.d/dropbear restart
|
||||||
|
|
||||||
|
#WIFI_IFACES=$(uci show wireless | sed -nr 's/^wireless\.([^=]+)=wifi-iface*$/\1/p')
|
||||||
|
WIFI_DEVICES=$(uci show wireless | sed -nr 's/^wireless\.([^=]+)=wifi-device*$/\1/p')
|
||||||
|
|
||||||
|
for radio in $WIFI_DEVICES; do
|
||||||
|
disabled=1
|
||||||
|
if [ $(uci get wireless.$radio.hwmode) = '11a' ]; then
|
||||||
|
# 5 GHz
|
||||||
|
if [ -n "$channel_11a" ]; then
|
||||||
|
uci set wireless.$radio.channel=$channel_11a
|
||||||
|
uci set wireless.$radio.htmode=${htmode_11a:-HT20}
|
||||||
|
disabled=0
|
||||||
|
fi
|
||||||
|
elif [ $(uci get wireless.$radio.hwmode) = '11g' ]; then
|
||||||
|
# 2.4 GHz
|
||||||
|
if [ -n "$channel_11g" ]; then
|
||||||
|
uci set wireless.$radio.channel=$channel_11g
|
||||||
|
disabled=0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
uci set wireless.$radio.disabled=$disabled
|
||||||
|
uci set wireless.$radio.country=AT
|
||||||
|
done
|
||||||
|
uci commit wireless
|
1
files/common/its/etc/uci-defaults/51-secrets
Symbolic link
1
files/common/its/etc/uci-defaults/51-secrets
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../../../../../../.git/annex/objects/Vk/8w/SHA256E-s95--196dc6eecef78da77ea459b552dc3e0690f7c8e99007105d9715020ba7c60480/SHA256E-s95--196dc6eecef78da77ea459b552dc3e0690f7c8e99007105d9715020ba7c60480
|
|
@ -1,23 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
set -e
|
|
||||||
|
|
||||||
mac=$(cat /sys/class/net/wlan0/address)
|
|
||||||
|
|
||||||
hostname=
|
|
||||||
channel=
|
|
||||||
if [ "$mac" = 60:e3:27:b8:16:ec ]; then
|
|
||||||
hostname=cz-ap0
|
|
||||||
channel=6
|
|
||||||
elif [ "$mac" = 60:e3:27:ed:86:9a ]; then
|
|
||||||
hostname=cz-ap1
|
|
||||||
channel=11
|
|
||||||
elif [ "$mac" = 60:e3:27:ed:9b:b0 ]; then
|
|
||||||
hostname=lz-ap0
|
|
||||||
channel=1
|
|
||||||
fi
|
|
||||||
|
|
||||||
uci set system.@system[0].hostname=$hostname
|
|
||||||
uci commit system
|
|
||||||
uci set wireless.radio0.channel=$channel
|
|
||||||
uci commit wireless
|
|
||||||
echo $(uci get system.@system[0].hostname) > /proc/sys/kernel/hostname
|
|
|
@ -1 +0,0 @@
|
||||||
../../../../../.git/annex/objects/Vk/8w/SHA256E-s95--196dc6eecef78da77ea459b552dc3e0690f7c8e99007105d9715020ba7c60480/SHA256E-s95--196dc6eecef78da77ea459b552dc3e0690f7c8e99007105d9715020ba7c60480
|
|
15
files/ubnt-unifiac-lite/etc/config/network
Normal file
15
files/ubnt-unifiac-lite/etc/config/network
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
|
||||||
|
config interface 'loopback'
|
||||||
|
option ifname 'lo'
|
||||||
|
option proto 'static'
|
||||||
|
option ipaddr '127.0.0.1'
|
||||||
|
option netmask '255.0.0.0'
|
||||||
|
|
||||||
|
config interface 'apctl'
|
||||||
|
option ifname 'eth1.2'
|
||||||
|
option proto 'dhcp'
|
||||||
|
|
||||||
|
config interface 'lan'
|
||||||
|
option type 'bridge'
|
||||||
|
option ifname 'eth0'
|
||||||
|
option proto 'dhcp'
|
15
files/ubnt-unifiac-lite/etc/config/system
Normal file
15
files/ubnt-unifiac-lite/etc/config/system
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
|
||||||
|
config system
|
||||||
|
option hostname 'ITS-AP-AC-LITE-unassigned'
|
||||||
|
option timezone 'UTC'
|
||||||
|
option ttylogin '0'
|
||||||
|
option log_size '64'
|
||||||
|
option urandom_seed '0'
|
||||||
|
|
||||||
|
config timeserver 'ntp'
|
||||||
|
option enabled '1'
|
||||||
|
option enable_server '0'
|
||||||
|
list server '0.lede.pool.ntp.org'
|
||||||
|
list server '1.lede.pool.ntp.org'
|
||||||
|
list server '2.lede.pool.ntp.org'
|
||||||
|
list server '3.lede.pool.ntp.org'
|
32
files/ubnt-unifiac-lite/etc/config/wireless
Normal file
32
files/ubnt-unifiac-lite/etc/config/wireless
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
|
||||||
|
config wifi-device 'radio0'
|
||||||
|
option type 'mac80211'
|
||||||
|
option hwmode '11a'
|
||||||
|
option path 'pci0000:00/0000:00:00.0'
|
||||||
|
option htmode 'VHT80'
|
||||||
|
option disabled '1'
|
||||||
|
option channel '108'
|
||||||
|
option country 'AT'
|
||||||
|
|
||||||
|
config wifi-iface 'default_radio0'
|
||||||
|
option device 'radio0'
|
||||||
|
option network 'lan'
|
||||||
|
option mode 'ap'
|
||||||
|
option ssid 'it-syndikat 5 GHz'
|
||||||
|
option encryption 'psk2'
|
||||||
|
|
||||||
|
config wifi-device 'radio1'
|
||||||
|
option type 'mac80211'
|
||||||
|
option channel '11'
|
||||||
|
option hwmode '11g'
|
||||||
|
option path 'platform/qca956x_wmac'
|
||||||
|
option htmode 'HT20'
|
||||||
|
option disabled '1'
|
||||||
|
option country 'AT'
|
||||||
|
|
||||||
|
config wifi-iface 'default_radio1'
|
||||||
|
option device 'radio1'
|
||||||
|
option network 'lan'
|
||||||
|
option mode 'ap'
|
||||||
|
option ssid 'it-syndikat'
|
||||||
|
option encryption 'psk2'
|
Loading…
Reference in a new issue