mmert 3 роки тому
батько
коміт
22de68d4ab
1 змінених файлів з 99 додано та 0 видалено
  1. 99 0
      Technik/Router/unifi_autoinstall.page

+ 99 - 0
Technik/Router/unifi_autoinstall.page

@@ -0,0 +1,99 @@
+Um Unifi Lite oder Mesh Geräte Automatisch Downzugraden und mit Freifunk Image zu versehen, wurde dieses Script erstellt.
+Der PC und das Unifi Gerät müssen im gleichen Netzwerk sein.
+In meinem Fall den PC mit einer Festen ip 192.168.1.10 (alles außer 192.168.1.20) versehen, am besten mit einem Switch oder Hub verbinden.
+
+Das Program "dnsmasq" installieren, TFTP aktivieren und die zu bearbeitenden Dateien in den TPTP Ordner ablegen.
+in meinem Fall:
+
+Die Datei zum UP/Downgrade der Stock Firmware:
+BZ.qca956x.v3.7.58.6385.170508.0957.bin
+
+und die aktuellen Freifunk Images (hier ein Beispiel für ein AC Lite für die Domain 5 des FF Do)
+gluon-ffdo-d05-2.2.6-ubiquiti-unifi-ac-lite-sysupgrade.bin
+
+Das Skript wird aktiviert mit den Parametern:
+expect ubnt-upgrade.exp [ip] [fwupdate] [firmware]
+
+in meinem Fall: expect ubnt-upgrade.exp 192.168.1.20 BZ.qca956x.v3.7.58.6385.170508.0957.bin gluon-ffdo-d05-2.2.6-ubiquiti-unifi-ac-lite-sysupgrade.bin 
+
+Führe die Datei "ubnt-upgrade.exp" aus.
+der Unifi AC hört auf IP Adresse "192.168.1.20"
+Mache eine Stock Firmware UP/Downgrade auf "BZ.qca956x.v3.7.58.6385.170508.0957.bin"
+danach installiere folgende Freifunk firmware: 
+"gluon-ffdo-d05-2.2.6-ubiquiti-unifi-ac-lite-sysupgrade.bin".
+
+Nach erfolgreicher Installation startet der AP neu und ist unter der IP Adresse 192.168.1.1 erreichbar.
+
+Die Anleitung wird noch verfeinert, bis dahin alles gute Marcel
+
+Das Script in "upgrade.exp" abspeichern
+#!/usr/bin/expect -f
+#
+
+set force_conservative 1  ;# set to 1 to force conservative mode even if
+			  ;# script wasn't run conservatively originally
+if {$force_conservative} {
+	set send_slow {1 .1}
+	proc send {ignore arg} {
+		sleep .1
+		exp_send -s -- $arg
+	}
+}
+
+set ip [lindex $argv 0]
+set fwupdate [lindex $argv 1]
+set firmware [lindex $argv 2]
+
+set timeout -1
+spawn $env(SHELL)
+match_max 100000
+expect "\$ "
+send -- "ping $ip\r"
+expect "64 Bytes von $ip: icmp_seq"
+send -- ""
+expect "\$ "
+send -- "scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no $fwupdate ubnt@$ip:/tmp/fwupdate.bin\r"
+expect "password: "
+send -- "ubnt\r"
+expect "\$ "
+send -- "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no ubnt@$ip\r"
+expect "password: "
+send -- "ubnt\r"
+expect "# "
+send -- "syswrapper.sh upgrade2 &\r"
+expect "\$ "
+sleep 3
+send -- "ping $ip\r"
+expect "64 Bytes von $ip: icmp_seq"
+send -- ""
+expect "\$ "
+send -- "scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no $firmware ubnt@$ip:/tmp/firmware.bin\r"
+expect "password: "
+send -- "ubnt\r"
+expect "\$ "
+send -- "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no ubnt@$ip\r"
+expect "password: "
+send -- "ubnt\r"
+expect "# "
+send -- "cd /tmp/\r"
+expect "# "
+send -- "MTD=\$(cat /proc/mtd | grep bs | awk '{FS=\":\";print \$1}')\r"
+expect "# "
+send -- "mtd write /tmp/firmware.bin kernel0\r"
+expect "# "
+send -- "mtd write /tmp/firmware.bin kernel1\r"
+expect "# "
+send -- "dd if=/dev/zero bs=1 count=1 of=/dev/\$MTD\r"
+expect "# "
+send -- "reboot\r"
+sleep 3
+send -- "ping 192.168.1.1\r"
+expect "64 Bytes von 192.168.1.1: icmp_seq"
+send -- ""
+expect "\$ "
+send -- "spd-say Finish sag mal was was länger dauert\r"
+
+
+############
+send -- "exit\r"
+expect eof