[PATCH] Add support for Ubiquiti Unifi AP

Christian Dresel fff at chrisi01.de
Mo Jul 25 12:11:50 CEST 2016


Hi

ein paar Informationen noch hinterher.
1) Die Firmware wurde auf einen Ubiquiti Unifi AP LR getestet, laut
OpenWRT Wiki [1] sollte sie auch problemlos auf einen normalen Unifi AP
laufen, allerdings von mir ungetestet!

2) Da die Router kein WebUI haben, ist das flashen ein bisschen Tricky:
- Router per Kabel ans eigene LAN anschließen
- Router bekommt per DHCP eine IPv4
- Zugriff per SSH auf die IPv4, Benutzername ubnt, Passwort ubnt
Folgendes der Reihe nach eingeben
- cd /tmp
- wget factoryfile # factoryfile durch ein Downloadverzeichnis ersetzen
wo es die Firmware zum Download gibt z.b.
http://fff-gw-cd1.fff.community/dev/alpha/franken-20160506-34-g7f61381-unifi/franken-20160506-34-g7f61381-dirty-ar71xx-generic-ubnt-unifi-squashfs-factory.bin
- mv /tmp/factoryfile /tmp/fwupdate.bin # factoryfile durch den Namen
der heruntergeladenen Datei ersetzen z.b.
franken-20160506-34-g7f61381-dirty-ar71xx-generic-ubnt-unifi-squashfs-factory.bin
- nohup syswrapper.sh upgrade2
- warten bis er fertig ist, nicht frühzeitig vom LAN oder Strom trennen!
Das flashen dauert ein paar Minuten der Router blinkt wärendessen in
vielen bunten Farben und Frequenzen. Die SSH Verbindung wird fast
instant gekappt, dies ist normal.
- wenn er dauerhaft grün ist, sollte er fertig sein. Zur Sicherheit noch
warten mit dem Strom trennen bis er im Monitoring erscheint, dann ist er
zu 100% sicher fertig.
Quelle OpenWRT Wiki [1] von mir erweitert und eingedeutscht

3) Da hier ebenfalls das Clientproblem auftritt [2] ist es aktuell nicht
empfehlenswert im WebUI den Ethernetport auf Client zu stellen, bis das
Problem gefixt wurde. Da es aber augenscheinlich nicht an diesem Patch
liegt, habe ich es dennoch bereits eingereicht (sonst werde ich nie fertig)

4) Sobald das Patch akzeptiert wurde, mach ich eine Wiki-Infoseite
fertig, vorallem mit einer genauen Erklärung wie man den Unifi flasht.

mfg

Christian

[1] https://wiki.openwrt.org/toh/ubiquiti/unifi
[2]
http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/2016-July/011331.html

On 25.07.2016 12:04, Christian Dresel wrote:
> Signed-off-by: Christian Dresel <fff at chrisi01.de>
> ---
>  bsp/board_ar71xx.bsp                               |  1 +
>  src/packages/fff/fff-boardname/Makefile            |  2 +-
>  .../files/etc/uci-defaults/50-fff-boardname        |  3 +++
>  src/packages/fff/fff-network/Makefile              |  2 +-
>  src/packages/fff/fff-network/ar71xx/network.mode   |  2 +-
>  .../fff/fff-network/ar71xx/network.ubnt-unifi      | 29 ++++++++++++++++++++++
>  6 files changed, 36 insertions(+), 3 deletions(-)
>  create mode 100644 src/packages/fff/fff-network/ar71xx/network.ubnt-unifi
>
> diff --git a/bsp/board_ar71xx.bsp b/bsp/board_ar71xx.bsp
> index f10a7fc..2cd7cf5 100644
> --- a/bsp/board_ar71xx.bsp
> +++ b/bsp/board_ar71xx.bsp
> @@ -21,6 +21,7 @@ images=("openwrt-ar71xx-generic-cpe210-220-510-520-squashfs-sysupgrade.bin"
>          "openwrt-ar71xx-generic-gl-ar150-squashfs-sysupgrade.bin"
>          "openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-sysupgrade.bin"
>          "openwrt-ar71xx-generic-ubnt-bullet-m-squashfs-sysupgrade.bin"
> +        "openwrt-ar71xx-generic-ubnt-unifi-squashfs-sysupgrade.bin"
>          "openwrt-ar71xx-generic-tl-wdr3500-v1-squashfs-sysupgrade.bin"
>          "openwrt-ar71xx-generic-tl-wdr3600-v1-squashfs-sysupgrade.bin"
>          "openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-sysupgrade.bin"
> diff --git a/src/packages/fff/fff-boardname/Makefile b/src/packages/fff/fff-boardname/Makefile
> index c55f92f..edcf12d 100644
> --- a/src/packages/fff/fff-boardname/Makefile
> +++ b/src/packages/fff/fff-boardname/Makefile
> @@ -1,7 +1,7 @@
>  include $(TOPDIR)/rules.mk
>  
>  PKG_NAME:=fff-boardname
> -PKG_VERSION:=0.0.1
> +PKG_VERSION:=0.0.2
>  PKG_RELEASE:=1
>  
>  PKG_BUILD_DIR:=$(BUILD_DIR)/fff-boardname
> diff --git a/src/packages/fff/fff-boardname/files/etc/uci-defaults/50-fff-boardname b/src/packages/fff/fff-boardname/files/etc/uci-defaults/50-fff-boardname
> index 28811a3..2bd8b74 100755
> --- a/src/packages/fff/fff-boardname/files/etc/uci-defaults/50-fff-boardname
> +++ b/src/packages/fff/fff-boardname/files/etc/uci-defaults/50-fff-boardname
> @@ -28,6 +28,9 @@ case "$BOARD" in
>      bullet-m)
>          BOARD=ubnt-bullet-m
>          ;;
> +    unifi)
> +        BOARD=ubnt-unifi
> +        ;;
>      loco-m-xw)
>          BOARD=ubnt-loco-m-xw
>          ;;
> diff --git a/src/packages/fff/fff-network/Makefile b/src/packages/fff/fff-network/Makefile
> index 5ccf301..115abd2 100644
> --- a/src/packages/fff/fff-network/Makefile
> +++ b/src/packages/fff/fff-network/Makefile
> @@ -1,7 +1,7 @@
>  include $(TOPDIR)/rules.mk
>  
>  PKG_NAME:=fff-network
> -PKG_VERSION:=0.0.3
> +PKG_VERSION:=0.0.4
>  PKG_RELEASE:=1
>  
>  PKG_BUILD_DIR:=$(BUILD_DIR)/fff-network
> diff --git a/src/packages/fff/fff-network/ar71xx/network.mode b/src/packages/fff/fff-network/ar71xx/network.mode
> index de16aa3..9112f43 100644
> --- a/src/packages/fff/fff-network/ar71xx/network.mode
> +++ b/src/packages/fff/fff-network/ar71xx/network.mode
> @@ -21,7 +21,7 @@
>  ## For devices only including one ethernet port the specifier is called
>  ## ETHMODE. The default mode for these devices is "BATMAN".
>  ## For example this is the case for: gl-ar150, tl-mr3020-v1, tl-wa850re-v1,
> -## tl-wa860re-v1, ubnt-bullet-m, ubnt-loco-m-xw, ubnt-nano-m
> +## tl-wa860re-v1, ubnt-bullet-m, ubnt-loco-m-xw, ubnt-nano-m, ubnt-unifi
>  ETHMODE="BATMAN"
>  ## Devices featuring 2 ethernet ports are configured by SPECIFIERs ressembling
>  ## the labels on the PORT itself. For the cpe210 these are called LAN0 and LAN1.
> diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi b/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi
> new file mode 100644
> index 0000000..c16993d
> --- /dev/null
> +++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi
> @@ -0,0 +1,29 @@
> +WANDEV=eth0
> +SWITCHDEV=eth0
> +CLIENT_PORTS=""
> +WAN_PORTS=""
> +BATMAN_PORTS=""
> +
> +. /etc/network.mode
> +
> +ETHMESHMAC=
> +ROUTERMAC=w2mesh
> +
> +uci set network.$SWITCHDEV=interface
> +uci set network.$SWITCHDEV.ifname=$SWITCHDEV
> +uci set network.mesh.ifname="bat0"
> +
> +if [ "$ETHMODE" = "WAN" ] ; then
> +  ## Activate for WAN:
> +  echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 1" >> /etc/sysctl.conf
> +  echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 1" >> /etc/sysctl.conf
> +  echo "net.ipv6.conf.$WANDEV.autoconf = 1" >> /etc/sysctl.conf
> +  echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 1" >> /etc/sysctl.conf
> +  uci set network.wan.ifname=$WANDEV
> +elif [ "$ETHMODE" = "CLIENT" ] ; then
> +  ## Activate Client:
> +  uci set network.mesh.ifname="bat0 $SWITCHDEV"
> +else
> +  ## Activate BATMAN:
> +  uci set network.ethmesh.ifname="$SWITCHDEV"
> +fi


-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 819 bytes
Beschreibung: OpenPGP digital signature
URL         : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20160725/00e3db91/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev