Archiv der Kategorie: Computer

Fritzbox und WLAN AP mit Heim- und Gastnetz

Ein kleiner Update der Netzwerkinfrastruktur stand an: man bekommt mittlerweile zu günstigen Preisen Dualbandfähige APs in diskretem Weiß mit PoE, z.B. den Mikrotik wAP ac. Der WAF ist also voll und ganz erfüllt.

Jetzt aber zur technischen Seite: die Fritzbox kann mit der Originolsoftware keine VLANs, aber genau solche braucht man, um Heim- und Gastnetz der Fritte auf ein Netzwerkkabel zum AP zu bringen. Also nimmt man von der Fritte zum Switch nicht nur ein Netzwerkkabel sondern zwei: 1 an Port 1-3, eins an Port 4 und dort eben das Gastnetz auf Port 4 legen. netzwerksetup

Das sieht dann so aus, die Port Nummern sind natürlich willkürlich wählbar beim Switch, aber ich lass die mal so stehen, dann ist der Rest auch verständlich.

Was wirklich hilfreich ist, ist, dazwischen immer mal mit dem Laptop an geeignete Stellen reinzugehen und schauen, obs noch pingt, man eine IP Adresse bekommt etc…

Nachfolgend meine Erkenntnisse auszugsweise, ich geh jetzt nicht drauf ein, wie man einen WLAN AP einrichtet etc. sondern nur das, woran es bei mir hing… auch sollten die Gerätemarken austauschbar sein, das Konzept bleibt gleich – wobei, wenn man eben als Router was anderes als ne Fritzbox im Einsatz hat, könnte es VLANs im Router geben und das Leben wäre leichter.

Switch Setup

Ich habe als Switch einen Zyxel GS1900-24E im Einsatz, aber das Schema sollte bei anderen Switches ähnlich sein.

Wichtig ist jetzt folgendes:  Es muss auf dem Switch zwei VLANs geben: VLAN ID 1 fürs Heimnetz, VLAN ID 2 fürs Gastnetz.

zyxel_vlan
Zyxel Switch VLAN Setup

Zum VLAN1 gehören alle Ports außer dem Port 17 (ich habe noch ein paar weitere Ports geschaltet, falls ich mal ne Gastdose belegen will).

zyxel_vlan2
Zyxel Switch VLAN 1 Setup

Zum VLAN2 gehören eben Port17 und die Gästeports ungetagged und die beiden Ports 23 und 24, wo die APs dranhängen getagged.

zyxel_vlan3
Zyxel Switch – VLAN 2 Setup

Jetzt kommt noch was ganz wichtiges: da der ganze Traffic von Port17 ja aufs VLAN2 soll, muss die entsprechende Port VLAN ID (PVID) entsprechend auf 2 eingestellt werden. Wenn man das vergisst, kommt nix auf dem Gastnetz an.

zyxel_vlan1
Zyxel Switch VLAN PVID setup

Accesspoint Setup

So, jetzt noch ein paar Feinheiten auf der Mikrotik Seite.

Als erstes ist ein VLAN einzurichten, das auf die VLAN ID2 hört. Fürs VLAN1 braucht man nix machen, das ist ja default…

Mikrotik Setup VLAN1
Mikrotik Setup VLAN1

Neben dem Setup der Wireless Interfaces – das Hauptinterface ist das Heimnetz, das Virtuelle ist das Gastnetz ist vor allem ganz wichtig, fürs Gastnetz eine Bridge anzulegen, in die die GastWLANs eingefügt werden.

Mikrotek Gastnetz Brücke
Mikrotek Gastnetz Brücke

Bei den Ports für die Brücken kann man dann die einzelnen Interfaces auswählen… das wars dann auch schon.

Mikrotek Interfaces in Brücken einfügen
Mikrotek Interfaces in Brücken einfügen

 

laptopbackup

Uiuiui, am 31.3. war  Worldbackupday, da bin ich doch schon wieder 2 Tage zu spät mit meinem script…  aber immerhin, endlich bin ich mal soweit.

Was machts? naja, im Prinzip ists nur ein wrapper um einen rsync Einzeiler. Er schaut nach, ob der letzte Backup länger als 604800 (7 Tage) zurückliegt, ob der Rechner im ethernet ist und der server gepingt werden kann.  Wenn das alles zutrifft, wird rsync gestartet und ab gehts.  Ein wenig notifications und mail, wenns nicht klappt. Fertig ist die Laube.

Klar, das script muss per crontab nach Geschmack wiederholt werden. Ich mach das alle 10 minuten, aber das ist Geschmacksache. Hier nun das Script. Macht draus, was ihr wollt 🙂

Achja: der Trick, dass das überhaupt aus dem cron geht, ist, ein ssh-key ohne passwort zu verwenden und den auf der anderen Seite zu den authorized keys zu tun, aber das wisst ihr ja sicher.

<br />
#!/bin/bash<br />
cd /home/foobar<br />
SERVER=192.168.1.2<br />
SCRIPTNAME=`basename $0`<br />
last=0<br />
if [ -f .laptopbackup ]<br />
then<br />
    last=`cat .laptopbackup`<br />
fi<br />
curr=`date '+%s'`</p>
<p>diff=$(($curr-$last))<br />
echo diff: $diff<br />
if [ $diff -gt 604800 ]; then<br />
    IP=$(/sbin/ip route | awk '/default/ { print $3 }')<br />
    IF=$(/sbin/ip route | awk '/default/ { print $5 }')<br />
    if [ $IP=&quot;192.168.1.1&quot; ] &amp;&amp; [ $IF=&quot;eth0&quot; ]; then</p>
<p>	ping -q -c 1 $SERVER<br />
	if [ $? -eq  0 ]<br />
	then<br />
	    /usr/bin/notify-send $SCRIPTNAME &quot;Starting backup to $SERVER&quot; --icon=dialog-information<br />
	    /usr/bin/rsync -e '/usr/bin/ssh -i /home/foobar/.ssh/foobar_home' -av --delete --exclude-from=stevebackup.exclude . foobar@192.168.1.2:laptopbackup/ &gt; .laptopbackup.log<br />
	    if [ $? -eq  0 ]<br />
	    then<br />
		/usr/bin/notify-send $SCRIPTNAME &quot;Backup to $SERVER finished&quot; --icon=dialog-information<br />
		echo &quot;$curr&quot; &amp;&gt; .laptopbackup<br />
	    else<br />
		/usr/bin/notify-send $SCRIPTNAME &quot;Backup to $SERVER failed&quot; --icon=dialog-information<br />
		mail -s &quot;laptopbackup: Error&quot; skrodzki@stevekist.de &lt; .laptopbackup.log<br />
	    fi<br />
	else<br />
	    /usr/bin/notify-send $SCRIPTNAME &quot;Server $SERVER not reachable&quot; --icon=dialog-information<br />
	fi<br />
    fi<br />
fi</p>
<p>

Party machen… aka Playlists erstellen.

So, bevor ich es vergesse, schreib ich hier mal auf, wie man eine Playliste für eine Party unter Linux erstellt und dann quer über seine Systeme verteilt…

Also so ne Standard-Playliste heisst ja foo.m3u und besteht eigentlich nur aus Dateinamen mit ihren Pfaden. Mehr geht auch, siehe z.B. hier.  Playlisten kann wohl auch mehr oder minder jeder Player und weil eben unter Linux auch m3u, weils offen ist, trotzdem hat mir quodlibet am besten gefallen, da man da Songs einfach mit der rechten Maustaste zu jeweiligen Listen hinzufügen kann und mit einem Haken auch sieht, ob der Song schon drin ist. Ausserdem kann quodlibet die playlists auch mit relativem Pfad speichern. So geht sie eigentlich mit jedem Player und auch mit den mit kopierten Stücken, wenn die Pfade bleiben.

Weil man für die Party evtl. ein schwächeres Gerät hat, welches nicht genug Speicher für die komplette Musiksammlung hat. Kann man diese ja anhand der playlisten kopieren. Hierzu kopiere ich die auf meinem Serverlein vom Verzeichnis “music” in ein Verzeichnis “playlistmusic” mittels folgendem Befehl:

sed "s/#.*//g" < party.m3u | sed "/^$/d" | while read line; do cp --parents "${line}" '../playlistmusic/'; done

Für mehrere Playlisten macht man das für jede Playliste hintereinander. Jetzt noch die playlisten auch in das playlistmusic verzeichnis kopieren. Fertig. Dieses Verzeichnis ist nun komplett eigenständig funktionsfähig und die Musikstücke sind in der gleichen Ordnerstruktur wie im Ausgang vorhanden…

So, jetzt noch die Mucke aufs Android Device, z.B. mit rsync backup. Da muss man keine Kabel anschliessen und es ist eigentlich schnell genug und einmal konfiguriert geht es.
Jetzt noch Playlist Backup nehmen, um die m3u dem Android bekannt zu machen, und gut ist. Als Party Player wird wohl Cross DJ eingesetzt werden, mal schauen, ob ich dann korrigieren muss, dass das alles nicht läuft. Aber wenn nicht, kommt die Mucke auf nen alten Laptop und ich nehme Mixxx.

Der Herr Moore

Immer, wenn ich mir ein neues Speichermedium kaufe, denke ich an meine erste Atari Festplatte mit 20MB und vergleiche das mit der jetzigen Grösse und denke “Holy shit”… bin aber meistens zu faul doch mal konkret auszurechnen, wie das so alles ist. Gestern hab ich in mein Handy eine 128GB µSD Karte eingesteckt… also hat das Teil jetzt insgesamt 144GB “Festplatte”. Das sind dezente 7200 mal so viel, wie der Atari hatte. Über Preis- und Gewichtsrelation mag ich mal gar nicht reden…

JahrMBPreis
1986201200 DM
198840
199080
1992160
1994320
1996640
19981280
20002560
20025120
200410240
200620480
200840960
201081920
2012163840
2014327680
2016655360~ 200 €

Ubuntu Linux aufdem MEDION AKOYA E6416

Auf dem MEDION AKOYA E6416 läuft Ubuntu (hier ein 15.10) mehr oder minder reibungslos. Für den Preis ein schicker Laptop, FullHD, i5 irgendwas, gutes Gewicht. Da kann man die klapprige Tastatur schon in kauf nehmen. Eine SSD und mehr Speicher ist aber auf jeden Fall nötig, aber geht ja alles problemlos einzubauen.

Was aber nicht ab Werk geht sind ein paar Multimedia-Tasten: vor allem Vol+ und Vol- und Mute nerven, da sie hängen bleiben.

Abhilfe schafft folgende Datei (als root):

/etc/udev/hwdb.d/70-keyboard.hwdb

evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMedion:pn*:pvr*
KEYBOARD_KEY_b0=!volumeup
KEYBOARD_KEY_ae=!volumedown
KEYBOARD_KEY_a0=!mute
KEYBOARD_KEY_19=!p
KEYBOARD_KEY_df=sleep

danach noch ein

udevadm hwdb --update

und ein reboot tut auch gut.

Die pn oben in der hwdb datei könnte man wohl noch genauer angeben, aber ich war zu doof, die passende zu finden.

MAMEKiosk – Update

Ein Nachtrag zum MAMEKIOSK:

Jetzt geht es darum das ganze auf RPI2 umzurüsten. Und ne USB Audio Karte reinzubauen. Zweiteres ganz einfach mit nem billig-USB-Dongle und dieser Anleitung.

Das aktuelle Image von piplay ist flugs gezogen, aber: pikeyd geht wohl nicht auf dem RPI2… also geschaut und da gibt es Retrogame was das gleiche machen sollte… sieht auch alles gut aus… aber irgendwas klappt da doch noch nicht ganz. Auf jeden Fall muss die obige Verdrahtung in retrogame.c so hardgecodet sein:

</p>
<p>ioStandard[] = {<br />
 { 7, KEY_LEFT }, // Joystick (4 pins)<br />
 { 9, KEY_RIGHT },<br />
 { 10, KEY_DOWN },<br />
 { 11, KEY_UP },<br />
 { 17, KEY_LEFTCTRL }, // A/Fire/jump/primary<br />
 { 22, KEY_LEFTALT }, // B/Bomb/secondary<br />
 { 4, KEY_SPACE }, // C<br />
 { 8, KEY_5 }, // Credit<br />
 { 15, KEY_1 }, // Start 1P<br />
 { 14, KEY_2 }, // Start 2P<br />
 { -1, -1 } }; // END OF LIST, DO NOT CHANGE </p>
<p>

Ob das nun funktioniert hat, kann man z.B. mit input-events 1 nachprüfen (aus dem input-utils paket).

Was ich noch nicht rausbekommen habe: welches das input mapping für die Bestätigung von safequit ist, also hab ich misc_safequit no in advmame.rc gesetzt. Ah, habs: [ui_select] isses… also doch safequit an.

BTW: ich hab doch das alte advmenu vom alten pimame genommen, das gefällt mir wesentlich besser als die ganzen vielen Emulatoren, ich will eh nur advmame.

Ergebnis vom Ganzen? Einiges gelernt, einiges gebastelt und: alles ist viel flüssiger und der Ton eiert nicht mehr rum, wenn die CPU unter Last kommt! Hat sich also gelohnt!

Fanless Home Server

Das Ziel war es, ein lüfterloses Serverlein zu bauen, das wenig Platz weg nimmt, Strom sparend ist und trotzdem leistungsfähig genug ist, als universeller Server eingesetzt zu werden.

Als Board kommt ein J1800 (siehe Bilder) zum Einsatz, das ist schick, hat leider aber nur zwei SATA Ports. Der dritte für die Systemplatte (eine 30 Gig SSD) wurde über einen USB3 Adapter gebaut. Das System hat keinerlei Lüfter. Die 2,5 Platten werden kaum warm, der Prozessor mit 11 Watt auch nicht, das Netzteil ist extern.

Einen (evtl. auch aktualisierten) Link zur gh Einkaufsliste gibt es hier.

Auf dem System läuft ein normales Ubuntu LTS. Services, die u.a. bereitgestellt werden:

  • ssh z.B. für rsync (Backup von Android phones)
  • samba
  • seafile als personal cloud fileserver
  • SoGO als Kalender und Adressbuch-Server
  • Kodi –  Das Ding ist ja leise, warum sollte es also nicht auch die TV Settop Box spielen? Ah, dafür wurde noch ein IR Empfänger für den LIRC reingefräst.
  • … der Fantasie sind keine Grenzen gesetzt.

 

MAMEkiosk

Ein Projekt, das schon länger im Bau ist. Aber auch schon immer wieder mal fröhlich gespielt wird. In meiner beruflichen Historie hab ich am Telekiosk mit gebaut und wollte immer mal so ein Teil als Andenken haben, was auch irgendwann geklappt hat. (Dank an den Spender an dieser Stelle 🙂 ) Dieser ist von der Bildschirmkonstruktion und von der Gehäusestabilität hervorragend dazu geeignet, eine Spielekonsole nach alter Provinienz abzugeben. Also flugs das ganze alte Gerümpel raus – alleine schon wegen Lautstärke und Stromverbrauch – und ein Raspberry Pi rein. Fertig. … oh, moment. Der eingebaute TFT hat nur LVDS Input…

Die – elektrisch – einfachste Variante: TFT raus, billigen 17″ TFT abgreifen, einbauen – der Touch kann ja weiter verwendet werden.

Die Distribution, die drauf läuft ist ein PiMAME (jetzt PiPlay genannt),  mit kleinen Anpassungen. Für die Joysticks hab ich GPIO Pins benutzt (da ich nur einen Joystick und ein paar Knöppe gemacht hab, hat das gereicht), getrieben wird das über pikeyd, die Buttons hab ich mit Widerständen (siehe hier) an die GPIOs gemacht.

/etc/rc.local:

<br />
amixer cset numid=3 1<br />
alsactl restore<br />
/sbin/pikeyd -d<br />
exit 0<br />

/etc/pikeyd.conf:

<br />
KEY_LEFTCTRL    17<br />
KEY_LEFTALT     22<br />
KEY_SPACE       4<br />
KEY_RIGHT       9<br />
KEY_DOWN        10<br />
KEY_UP          11<br />
KEY_LEFT        7<br />
KEY_5           8<br />
KEY_1           15<br />
KEY_2           14<br />