Installation der Firmware für den GL-Inet 6416A


Basisfirmware ersetzen

Das Gerät aus der original Verpackung entnehmen. Nun die Ethernet Kabel wie folgt verbinden:

WAN Port: Zugang zum Internet.
LAN Port: Der Computer, der die neue Firmware aufspielen soll.

# Falls die original Beschreibung gelesen werden möchte von OpenWRT: http://wiki.openwrt.org/de/doc/howto/firstlogin

Der GL.iNet wird bereits mit einem OpenWRT ausgeliefert. Somit kann man direkt mit SSH darauf zugreiffen. Das Problem ist, dass man erst ein Passwort: winterthur setzen muss. Dies wird mit einem Webbrowser (192.168.8.1) gemacht.

Login und Konfigurieren

Ist das Passwort via Webbrowser gesetzt, arbeitet man mit einer Konsole (SSH) weiter:
ssh -l root 192.168.8.1

Nun die neue Firmware installieren:
cd /tmp/
wget http://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/openwrt-15.05.1-ar71xx-generic-gl-inet-6416A-v1-squashfs-factory.bin
mtd -r write /tmp/openwrt-15.05.1-ar71xx-generic-gl-inet-6416A-v1-squashfs-factory.bin firmware

Nach dem erfolgreichen installieren der neuen Firmware, wird das Gerät einen Reboot durchführen.

Nach dem Reboot läuft das Gerät in einer minimal konfiguration. Um sich nun mit dem Gerät verbinden zu können, muss ein sehr altes Programm verwendet werden: telnet
Unterdessen gibt es bereits Versionen die mit einem SSH ohne Passwort auskommen
Login mit telnet: 192.168.1.1 Port 23
Login mit SSH: 192.168.1.1 Port 22
telnet 192.168.1.1

Nun das Passwort winterthur setzen:
passwd

Nun ein Update des Systems machen:
cd /tmp/
wget http://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/openwrt-15.05.1-ar71xx-generic-gl-inet-6416A-v1-squashfs-sysupgrade.bin
sysupgrade -v /tmp/openwrt-ar71xx-generic-gl-inet-6416A-v1-squashfs-sysupgrade.bin

Das Gerät rebootet von alleine.

Nun einloggen via SSH und Port 22. Dazu wird ein Terminal benötigt (z.B: Putty).
ssh -l root 192.168.1.1

Schnellinstallationsverfahren

wget http://creative.issmarterthanyou.com/pub/RC_Auto/openwrt/fs/install.txt -O /root/install.sh
/bin/sh  /root/install.sh

Grundpakete installieren

Nun die benötigten Pakete installieren:
opkg update
opkg install bash
opkg install usbutils
opkg install kmod-usb-serial-ftdi
opkg install kmod-usb-serial-ch341
opkg install coreutils-stty
opkg install openssh-sftp-server
opkg install uhttpd
opkg install wget
opkg install joe
opkg install shadow-useradd
opkg install shadow-groupadd
opkg install sudo
opkg install unzip

Eintrag im CRON

Nun einen Eintrag im cron erstellen. Hier die einfachere Variante:
mkdir -p /var/spool/cron
echo "#min hour day month dayofweek command" >/etc/crontabs/root
echo -n "* *    * * *    /bin/bash -c " >>/etc/crontabs/root
echo -n "\"if [ -e /root/skripte/main_script.sh ]; then " >>/etc/crontabs/root
echo "/bin/bash /root/skripte/main_script.sh; fi\" 1>/dev/null 2>/dev/null" >>/etc/crontabs/root
echo "# Ende" >>/etc/crontabs/root

Wifi einschalten

Manchmal ist es hilfreich, wenn man einen anderen Wifi Namen vergeben kann. Dies wird wie folgt gemacht:
joe /etc/config/wireless
Es ist zu beachten, dass der Editor joe wie folgt geschlossen wird: CTRL-K X

Die alte Konfiguration speichern, dann die neue Konfiguration erstellen und Wifi einschalten.
cp /etc/config/wireless /etc/config/wireless.orig
cat /etc/config/wireless.orig | sed '/#/d' | sed '/option disabled 1/d' >/etc/config/wireless
wifi

Benutzer "openwrt" anlegen

mkdir -p /home/openwrt
useradd openwrt

Damit alle das gleiche Passwort verwenden wird folgendes als Passwort verwendet: winterthur
passwd openwrt

Nun noch die restlichen Instruktionen eingeben:
cp /etc/passwd /etc/passwd.orig
cat /etc/passwd.orig | sed 's/\/bin\/ash/\/bin\/bash/g' | sed /openwrt/d >/etc/passwd
echo "openwrt:x:1000:1000::/home/openwrt:/bin/bash" >>/etc/passwd
chown openwrt:openwrt /home/openwrt
chmod 777 /home

Skripte installieren

mkdir /root/skripte
mkdir /home/openwrt/skripte

wget http://creative.issmarterthanyou.com/pub/RC_Auto/openwrt/fs/main_script.txt -O /root/skripte/main_script.sh
chmod 755 /root/skripte/main_script.sh

wget http://creative.issmarterthanyou.com/pub/RC_Auto/openwrt/fs/main.txt -O /home/openwrt/skripte/main.sh
wget http://creative.issmarterthanyou.com/pub/RC_Auto/openwrt/fs/read_variable.txt -O /home/openwrt/skripte/read_variable.sh

mkdir -p /home/openwrt/cgi-bin/
wget http://creative.issmarterthanyou.com/pub/RC_Auto/openwrt/fs/openwrt_main.cgi -O /home/openwrt/cgi-bin/main.cgi

wget http://creative.issmarterthanyou.com/pub/RC_Auto/openwrt/fs/www.zip -O /tmp/www.zip
cd /tmp/
unzip www.zip
cp -r www /
rm -rf /tmp/www
cd /root/

wget http://creative.issmarterthanyou.com/pub/RC_Auto/openwrt/fs/www_main.txt -O /www/cgi-bin/main.cgi
chmod 755 /www/cgi-bin/main.cgi
chmod 755 /home/openwrt -R
chown openwrt:openwrt /home/openwrt -R
chmod 755 /www -R
chown openwrt:openwrt /www/html -R

Die Dienste starten

/etc/init.d/uhttpd enable
/etc/init.d/uhttpd start
/etc/init.d/cron enable
/etc/init.d/cron start

Schluss

Nun noch ein reboot ausführen.
reboot

Original Firmware

Falls benötigt, hier die Anleitung, wie man die original Firmware wieder auf das Gerät installiert.
cd /tmp/
wget http://www.gl-inet.com/firmware/v1/openwrt-gl-2.10.bin
mtd -r write /tmp/openwrt-gl-2.10.bin firmware
reboot

Backup - Restore

Damit ein Gerät geklont werden kann:

Mit dem Packet Manager

Es werden die gleichen Pakete wieder installiert.

Backup

opkg list_installed | cut -f 1 -d ' ' >/tmp/pkgs

Restore

opkg update && for i in $(cat /tmp/pkgs); do opkg install $i; done

Flash

Es wird der Inhalt vom Flash (firmware) kopiert.

Backup

dd if=/dev/$(grep -i '"firmware"' /proc/mtd | cut -c 1-4) of=/tmp/firmware.bin

Restore

mtd -r write /tmp/firmware.bin firmware

-- DanielSchwab - 15 May 2015
Topic revision: r12 - 26 Aug 2016, DanielSchwab
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback