[PATCH] Add support for Ubiquiti Unifi AP

Ralph A. Schmid, dk5ras ralph at schmid.xxx
Mo Jul 25 14:22:17 CEST 2016


Alternativ dazu, wenn man die Datei selber auf dem Rechner liegen hat, ist
es wohl einfacher, sie per scp nach /tmp zu schieben und dann wie
beschrieben zu flashen...

Ralph.

> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf
> Of Christian Dresel
> Sent: Monday, July 25, 2016 12:12 PM
> To: Mailingliste franken-dev
> Subject: Re: [PATCH] Add support for Ubiquiti Unifi AP
> 
> 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-boardna
> > me
> > b/src/packages/fff/fff-boardname/files/etc/uci-defaults/50-fff-boardna
> > me
> > index 28811a3..2bd8b74 100755
> > ---
> > a/src/packages/fff/fff-boardname/files/etc/uci-defaults/50-fff-boardna
> > me
> > +++ b/src/packages/fff/fff-boardname/files/etc/uci-defaults/50-fff-boa
> > +++ rdname
> > @@ -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
> 




Mehr Informationen über die Mailingliste franken-dev