OpenWRT und LTE

Hab mir zum Testen ein LTE Zusatzpaket dazugebucht. 30MBit statt 10.
Leider kann mein E353 kein LTE.
21MBit sollte es eigentlich können.
Trotzdem habe ich keinerlei Geschwindigkeitsunterschied feststellen können.
-> E3372 bestellt.
Leider geht das unter OpenWRT ned so einfach.

Hier hab ich eine funktionierende (Beta-) Custom FW mit den offiziellen Huawei Treibern gefunden; hoffentlich fliessen die notwendigen Änderungen in die nächste finale ein :

Beitrag :
http://test.lte-forum.at/mobilfunk/huawei-e3372-non-hilink-openwrt-bridgemodus-mit-eigenem-router-dahinter.2300/
Downloads :
http://79.133.43.76/openwrt/v3/

(mittlerweile gibts da auch ein Verzeichnis „v4“ -> Wär nat. auch zum Testen…)

Kurze Zusammenfassung :

Die FW flasht man drauf, dann unter Network, Interfaces umstellen auf z.B. eth1.

Einstellen auf DHCP

und unter Firewall Settings das IF auf „WAN“ stellen !!

und dann
echo -e „AT^NDISDUP=1,1,\“drei.at\“\r“ > /dev/ttyUSB0
Auf der Shell ausführen bzw. in die /etc/rc.local vor dem „exit 0“ eintragen.

So funktionierts zumindest mal so halbwegs; leider ist halt alles noch recht sub-optimal.
Es kann (z.B. wenn der Stick nicht angesteckt ist) passieren, dass im /dev Verzeichnis
die reguläre Datei ttyUSB0 angelegt wird, anstatt dass das Kommando an das Device geschickt wird.
Abhilfe kommt weiter unten…

Update : mittlerweile gibt es ja von der Chaos Calmer auch schon die „RC3“ Version.
Eventuell werd ich das mal testen; mit der „Custom V4“ bin ich nicht so recht zufrieden.
Gründe : Langsames WLAN, schlecht reproduzierbar, evtl. kommen auch einige Instabilitäten von daher….

Mit dieser Firmware hab ich etwa 20MBit messen können.

Hier ein paar zusätzliche Scipts, um das Ding halbwegs stabil zu bekommen :

Bei meinem TP Link 4300 kann man mit diesem Script den Strom für die beiden USB Anschlüsse aus und einschalten :

/bin/strom

#!/bin/sh
# Das ware fuer Router ohne Unterstuetzung fuer USB Strom aus/ein; da ist ein MOSFET Schalter an der QSS LED angeschlossen :
#echo $1 > /sys/devices/platform/leds-gpio/leds/tp-link\:blue\:qss/brightness
#21 USB2 Power
#22 USB1 Power
echo 21 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio21/direction
echo $1 > /sys/class/gpio/gpio21/value
echo 22 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio22/direction
echo $1 > /sys/class/gpio/gpio22/value

in die /etc/rc.local vor dem „exit 0“ :

/bin/strom 0
sleep 5
/bin/strom 1
sleep 30
if test -e /dev/ttyUSB0
then
echo -e „AT^NDISDUP=1,1,\“drei.at\“\r“ > /dev/ttyUSB0
echo „$(date) Stick da. Starte Internet.“ >> /tmp/usblog.txt
sleep 30
/etc/init.d/wshaper restart
fi

Raspberry PI 2

Hab mir (zum Testen) auch so einen Raspberry PI2 gekauft.
Zuerst hatte ich den nur über einen WLAN-Stick an mein Netz angebunden.
(Um Stabilität und Leistungsfähigkeit zu testen)
Mittlerweile ist aber mein „alter“ (1B) getauscht.
Denn :
Das Ding hat im Gegensatz zum 1er richtig „bums“:

*) Kaffeine zeigt via VNC jetzt ein (kleines) flüssiges Bild.
*) LibreOffice startet jetzt in ein paar Sekunden statt in einer halben Minute
*) Sogar als „richtigen“ Webserver kann man den jetzt verwenden; z.B.: WordPress geht in 3-4 Sekunden auf
(Das ist meiner Meinung nach für so eine Hardware schon völlig akzeptabel)

Was halt immer noch „stört“ :
*) Ethernet 100MBit und (noch schlimmer) – via USB angebunden
*) kein(e) SATA Port(s)
*) Stromversorgung ist (immer noch kritisch) – so manch einer wird sicherlich durch die 4 USB Ports dazu verleitet, da alles mögliche anzustecken. Ich hätte mir da eine „richtige“ 12V Versorgung mit DC-DC Wandlern gewünscht, um die 4 Ports auch sinnvoll ausnutzen zu können. (Die meissten USB-Geräte benötigen mehr als die 500mA, die der Standard zulässt, aber sogar das ist natürlich bei 4 Anschlüssen zuviel)

Und – was ich sehr unschön finde : Das Ding benötigt jetzt eine Micro-SD Karte. Somit kann man nicht mehr „schnell mal“ die Karte aus dem 1er PI nehmen, und in den 2er stecken.

Aufgrund des geringen Preises und dem hervorragend gewartetem Raspbian – auf jeden Fall eine Kauf-Empfehlung !!!

Im übrigen hab ich das Ding mit drei Kühlkörpern bestückt, und auf 4x 1000MHz übertaktet.
Läuft bisher völlig stabil. D.h. rund um die Uhr. Um den PI auch ordentlich aus zulasten gibts ein Programm namens stress. Das kann man ganz einfach mit apt-get installieren.

eeePC und Lububtu

Hab nach langer Zeit wieder mal meinen eeePC hervorgekramt.
Diesen hatte ich ja mangels Betriebssystemupdates eingemottet.
Und tatsächlich :
Mit dem original OS geht rein gar nix mehr.
Sogar Skype geht nicht mehr.
Drum hab ich jetzt mal das aktuelle Lubuntu (32 Bit) heruntergeladen und installiert.
Damit das geht, benötigt man unbedingt eine SD Karte oder einen USB Stick. (Weil der installer mind. 5,1 GB freien Speicher voraussetzt, der eeePC hat aber nur 4GB)
Hält man die Installation schlank genug, braucht man den danach natürlich nicht mehr.

Raspberry PI GPIO Tests


#!/bin/sh
rot=18
gruen=2
gelb=3
echo „$rot“ > /sys/class/gpio/export
echo „out“ > /sys/class/gpio/gpio$rot/direction
echo „$gruen“ > /sys/class/gpio/export
echo „out“ > /sys/class/gpio/gpio$gruen/direction
echo „$gelb“ > /sys/class/gpio/export
echo „out“ > /sys/class/gpio/gpio$gelb/direction
echo „0“ > /sys/class/gpio/gpio$rot/value
echo „0“ > /sys/class/gpio/gpio$gruen/value
echo „0“ > /sys/class/gpio/gpio$gelb/value

while (true)
do
echo „1“ > /sys/class/gpio/gpio$rot/value
sleep 0.3
echo „0“ > /sys/class/gpio/gpio$rot/value
echo „1“ > /sys/class/gpio/gpio$gelb/value
sleep 0.3
echo „0“ > /sys/class/gpio/gpio$gelb/value
echo „1“ > /sys/class/gpio/gpio$gruen/value
sleep 0.3
echo „0“ > /sys/class/gpio/gpio$gruen/value
echo „1“ > /sys/class/gpio/gpio$gelb/value
sleep 0.3
echo „0“ > /sys/class/gpio/gpio$gelb/value

done

Raspberry Backups und Wiederherstellung

Manchmal kommt es leider vor, dass so ein PI einfach nicht mehr starten will. Schlimmstenfalls muss man dann alles neu machen.
Ausser – man hat ein Backup gemacht. (Einfach das unter Windows mit dem win32diskimager die SD-Karte einlesen, und die Datei aufheben)
Aber das geht auch im Betrieb.

Dieses Beispiel sichert die komplette SD-karte auf ein anderes Linux-System :


dd if=/dev/mmcblk0 | gzip -9 | ssh ZIELSERVER „dd of=/Z/I/E/L.img.gz“

die .gz Datei kann man dann einfach entpacken, und (sogar mit Windows) wieder auf die Karte schreiben.
(das hat zumindest bei mir schon öfters funktioniert.)

Mit diesem Kommand kann man sich den Fortschritt anzeigen lassen :

lsof |grep mmcblk0| awk ‚{printf(„%d M\n“,strtonum($7)/1024/1024);}‘

Weil dabei die SD-Karte „im Betrieb“ weggesichert wird, können natürlich offene Dateien (Logfiles etc.) kaputt sein.
-> Nach dem ersten Reboot einen Filesystem Check erzwingen :


shutdown -rF 0

Wenn man das System neu aufsetzt, und nur ein Paar Dateien aus dem Backup haben möchte, dann kann man nat. auch die Systempartition extrahieren und mounten :

sfdisk -l -uS DATEINAMEDESIMAGES

ergibt z.B.:
Disk DATEINAMEDESIMAGES: 968 cylinders, 255 heads, 63 sectors/track
Units = sectors of 512 bytes, counting from 0

Device Boot Start End #sectors Id System
DATEINAMEDESIMAGESp1 8192 122879 114688 c W95 FAT32 (LBA)
DATEINAMEDESIMAGESp2 122880 15564799 15441920 83 Linux
start: (c,h,s) expected (7,165,31) found (896,0,1)
end: (c,h,s) expected (968,220,20) found (511,3,16)
DATEINAMEDESIMAGESp3 0 – 0 0 Empty
DATEINAMEDESIMAGESp4 0 – 0 0 Empty

Wäre dann in dem Fall :

dd if=DATEINAMEDESIMAGES of=PARTITION bs=512 skip=122880 count=15441920

mkdir /mnt/PIVERZEICHNIS

mount -o loop PARTITION /mnt/PIVERZEICHNIS

Möchte man die Daten nicht nur auslesen, sondern auch bearbeiten (reparieren)
und dann wieder zurückspielen, dann kann man das relativ einfach auch in einer Virtual Box
(wo ein x86 Linux installiert ist) machen.
Dazu muss das image zuerst mit WindiskImager eingelesen, und dann konvertiert werden :

C:\Program Files\Oracle\VirtualBox>VBoxManage.exe convertfromraw d:\IMAGE-DATEI d:\IMAGEDATEI.vdi

Reparieren, und dann wieder zurück-Konvertieren :

C:\Program Files\Oracle\VirtualBox>VBoxManage.exe internalcommands converttoraw d:\IMAGEDATEI.vdi d:\NEUEIMAGEDATEI