Neues Board für den Heimserver

Frisch auf dem Markt – Die neuen ATOM CPUs von Intel

Wobei, was früher ATOM war, heißt jetzt für den Desktop ja Celeron und Pentium.

Die Rede ist von dem Celeren N3050 / N3150 und Pentium N3700.

Die Prozessoren treten damit die Nachfolge zu den Celeron J1800 / J1900 und Pentium J2900 an welche schon eine sehr attracktive Platform für den kleinen Heim- und MedienServer bohten.

Ansich sind die neuen Prozessoren eine konsequente Weiterentwicklung.

Die Performance der CPU ist nur geringfügig gesteigert dafür aber mit noch niedrigerem Verbrauch (6W anstelle von 10W), dafür wurde aber die Grafikperformance um rund 50% gesteigert und auch mit 4K Untestützung ausgerüstet.

Mainboards im ITX Format sind in Deutschland bis jetzt nur von ASRock zu bekommen.

Das ist aber nicht schlim. Das N3150-ITX ist von der Ausstatung sehr nah an dem schon sehr guten Q1900-ITX. Die zwei zusätzlichen USB 3.0 Ports und den Displayport nimmt man dann auch gerne noch mit.

Natürlich muss so ein Heimserver mit Linux befeuert werden.

Als headless System kein Problem, aber für ein System mit Grafik (und das macht es eigentlich erst interessant) braucht man den neusten Kernel vom neusten.

Damit die Braswell-U Grafik arbeitet muss es nämlich gleich Kernel 4.1 sein.

Warum es Intel scheinbar nicht rechtzeitig geschafft hat, entsprechenden Code schon längst vor release der Prozessoren in den Kernel zu bekommen ist mir unverständlich und auch nicht wirklich gewohnt.

Den 4.1 Kernel wird man aktuell wohl in keiner Distribution finden.

Für Arch Linux kann man aber zum glück auf den linux-mainline Kernel im AUR zurücgreifen..

Wer sich die Zeit fürs kompilieren sparen will, der kann sich den Kernel bei mir runterladen.

linux-mainline-4.1rc7-1-x86_64.pkg.tar.xz
linux-mainline-headers-4.1rc7-1-x86_64.pkg.tar.xz

Die Config wurde nicht verändert. Lediglich der Prozessor-Typ von generic x86_64 auf Core2/Later Xeon geändert.

Realtek 8192EU unter Linux Arch

Vor ca. einem Jahr habe ich mir ein Lenovo G710 gekauft. Leider ist die WLAN-Karte in diesem Gerät sehr bescheiden.

Verbaut ist eine Broadcom BCM43142 die sich mit max 65 Mb/s verbindet, aber gefühlt noch viel weniger liefert. Dies ist kein Linux Problem, sondern liegt wohl wirklich an dem schlechten Chip – Auch mit einem Windows Test ist die Performance sehr schlecht (was auch anderen Besitzern so geht).

Ein Austausch der WLAN-Karte ist leider wegen einer Whitelist im BIOS/UEFI auch nicht möglich … Danke Lenovo.

Nun musste endlich mal irgendwas getan werden.

Einzige Möglichkeit – ein USB-Stick. Der sollte natürlich möglichst klein sein (also ein Nano-Stick), möglichst 300 Mb/s übertragen können (damit es sich auch lohnt) und natürlich unter Linux laufen.

Die Auswahl wird hier schon recht dünn.
Meine Wahl viel auf den USB300WN2X2C von Startech.
Baugleich ist auch der MAXXTER ACT-WNP-UA005 (dazu später noch mehr).
Beide werden von einem lsusb als 0bda:818b erkannt.

Der Chipsatz ist ein Realtek rtl8192EU .
Für diesen gibt es zwar Linux Treiber, allerdings auch ein paar Fallstricke.
Out of the Box ging es leider nicht (aber sonst würde ich hier auch nicht schreiben ;-) )

Zuerst:
Der Treiber auf der Webseite von Startech hat die Version 4.2.2-7585
Auf der Seite von MAXXTER bekommt man auch die Version 4.3.1.1-11320

Der Treiber muss natürlich noch kompiliert werden. Leider geht das auch mit der neueren Version nur bis Kernel 3.12 problemlos. Bei einem neueren Kernel muss man patchen.

Nach etwas Recherche habe ich folgenden Patch gefunden:
http://users.telenet.be/x86_64/Patches/rtl8192eu-k3.13.patch

Und ein DKMS deb und rpm (mit dem patch) gibt es sogar auch
http://users.telenet.be/x86_64/Debian/dkms_rtl8192eu_4.3.1.1.11320.20140505_all.deb
http://users.telenet.be/x86_64/RPMs/dkms-rtl8192eu-4.3.1.1-11320.20140505.noarch.rpm

Als Arch Linux User hat es bei mir aber leider trotzdem nicht funktioniert.

Beim kompilieren bin ich immer auf folgenden Fehler gelaufen:

error:
macro "__DATE__" might prevent reproducible builds [-Werror=date-time] __DATE__,__TIME__);

Mit einem kleinen Eingriff in das Makefile lässt sich dieses Problem aber auch lösen.

Folgende Zeile muss eingefügt werden:

EXTRA_CFLAGS += -Wno-error=date-time

Dann ein einfaches make && make install und schon ist der Treiber fertig.

Jetzt noch den Treiber laden – modprobe 8192eu – und schon funktioniert der Stick.

 

Und hat sich die Mühe gelohnt? – Ein klares JA.

Er verbindet sich gleich auf 300 Mb/s , der Empfang liegt bei 99% Signalstärke (okay gleicher Raum aber beim alten war das nicht selbstverständlich) und auch die reale Übertragungsrate ist 1A.

Wer also einen kleinen WLAN-Stick sucht, der unter Linux läuft (mit ein Bisschen Aufwand) und auch wirklich eine gute Übertragungsrate hat, dem kann ich diesen Stick nur empfehlen. Kosten ~15€ .

Ich werde die Tage noch mal versuchen ein AUR Paket zu bastelln.



					

Home- und Medienserver – Nachgelegt

Hallo meine Freunde,

Hier mal ein kleines Update zum Thema Homeserver.

Nachdem ich jetzt ja längere Zeit mit dem obem genannten System gefahren bin, habe ich jetzt mal wieder ein schönes Upgrade unterzogen.

Das Intel DN2800MT ist sicherlich ein schönes Board und mit 6,5Watt TDP echt top als Heimserver im 24/7 Betrieb, aber die PowerVR Grafik setzt leider doch ein Limit für viele Bereiche und der Markt hält aktuell schönes Neues bereit.

Die Intel Celerons der J Generation sind einfach zu verlockend gewesen und so musste ich gleich zugreifen.

Eines der ersten Boards war das Gigabyte J1800N-D2H, welches ich mir dann auch gleich gekauft habe. Das Board hat ansich keine speziellen Features – CPU ist ein Intel Celeron J1800 mit zwei Kernen bei 2,4GHz. Ansonsten alles dabei was das alte Board auch hatte – VGA, HDMI, Gbit LAN, 2x SATA II - dazu kommt ein USB 3.0 Port. Die Grafik liegt zum Glück wieder bei Intel (Intel HD based on Ivy Bridge GPU) und erfreut sich so wieder auch breiter Unterstützung. TDP 10Watt.

Sehr schön (und für mich wichtig) ist der VT support der CPU.

Das Board ist völlig ok. UEFI ohne extras, aber mit den Einstellungen die man braucht – CSM läuft problemlos, so das man auch Windows oder Linux System im „legacy mode“ betreiben kann. Das zeitgleich rausgekommene Board von MSI schien hier Windows8 only zu sein.

Kostenpunkt 53€ - was will man mehr.

Aber meine Beziehung mit dem Gigabyteboard war kurz – denn es kam noch ein neues Board das alles getoppt hat.

Die Rede ist vom ASRock Q1900-ITX (Achtung – nicht die B Variante).
CPU ist hier ein Intel Celeron J1900 – Im Gegensatz hat man hier einen Quad Core mit 2,0GHz. Die Grafikeinheit kann hier etwas höher takten, aber das ist wohl eher nicht der große Unterschied.
Das Board bietet dafür 4x USB 3.0 (2x ext) und vier SATA Ports wobei zwei auf SATA III laufen. Das spart einen zusätzlichen Controller am PCIE oder bietet entsprechend bessere Datenraten (siehe unten).

Der TDP liegt auch hier bei 10Watt. Natürlich braucht man nicht unbedingt einen QuadCore, USB 3.0 könnte man auch noch per HUB weiterreichen und SATA III ist eigentlich nur bei SSDs interessant.

Aber bei gerade einmal +13€ ist die Ausstatung wirklich nicht schlecht und der freie PCIE-Port lässt auch gleich noch einmal Spielraum für etwas Neues.

Natürlich braucht man diese Extras nicht unbedingt.

SATA III macht nur Sinn im Zusammenspiel mit einer SSD – die zusätzlichen Ports sind aber immer gut.

USB 3.0 könnte man bei Bedarf auch über ein HUB erweitern – allerdings kostet das natürlich auch Geld und dann kommt man auch schnell auf den gleichen Preis.

Auch ein QuadCore ist natürlich nicht unbedingt nötig.
Für Musik und Filme tut es natürlich auch ein DualCore und beim J1800 wäre dieser sogar etwas höher getaktet. Der J1900 kann mit boost allerdings auch von 2,0GHz auf 2,41GHz takten (J1800 bis 2,58) und die GPU sogar von 688MHz auf 854MHz (J1800 799MHz).

GHZ alleine sagt aber meist nicht viel aus.

Gut, Benchmarks auch nicht, aber werfen wir doch mal einen Blick darauf.

Der Inetl Celeron J1800 hat einen Passmarkscore von 1123

Der Intel Celeron J1900 hat einen Passmarkscore von 2053

Damit liegt der J1900 auf einem Wehrt von einem Mittelklasse Core2Duo für Desktops oder einer iCore CPU der ersten Generaton im Einstiegsbereich der ersten Generation.

Für einen Heimserver / Mediaserver ist das eine wirklich sattte Leistung – und das bei einem TDP (SOC) von 10Watt.

Die gefühlte Performance ist allerdings bei beiden Systemen gut.

Auch im Betrieb als normaler Desktop mit allen extras hat man keine Laggs. Klar, es ist kein Gamingsystem.

Wenn man die CPU aber mal wirklich rechnen lässt, macht sich der QuadCore schon bemerkbar. Insofern sind die Passmarkwehrte auch nicht ganz realtitätsfremd.

Beispiel: Compilieren eines full Arch Kernels 3.14.1 .

Intel Celeron J1800 (4GB RAM) – 108m13.398s

Intel Celeron J1900 (4GB RAM) - 75m41.920s

Sorge machte mir zuerst auch noch die Temperaturentwickelung,

In einem vollem Gehäuse mit nur einer HE und ohne Lüfter (siehe oben), möchte man sein System natürlich auch nicht grillen.

Unter Last (kompilieren des der Kernel auf allen 4 Kernen) lag die Temp. Nach einer Stunde auf 59°C

Im Idle Betrieb auf 45°C .

Die Temperaturen sind 1A. Und im vergleich zu älteren Atom Serien oder AMDs E/C Prozessoren, die gerne mal auf 80°C und mehr liefen, wirklich undbedenklich.

Mein Fazit und Empfehlung für ein aktuelles Heimserversystem ist deshalb das ASRock Q1900-ITX.

Der kleine Preisaufschlag lohnt sich schon wegen der zusätzlichen Anschlüße – auch wenn man sie heute noch nicht braucht – mit jedem zusätzliche Controller oder HUB wird man die Ersparnis schon eingeholt haben.

Für einen headless Fileserver braucht man das Upgrade nicht.

Für eine Medienzentralle mit FullHD und verteielten Aufgaben im Netzwerk wird man im Moment aber kaum etwas besseres finden (das dann lautlos und klein im Wohnzimmer stehen kann).

 

Wie war das noch mal mit dem Superlativ von Lüge?

Zum benchen von SSDs findet man immer oft den gleichen Test unter Linux.
Nicht nur in diversen Foren, sonder auch bei sehr gute Informationsquellen wie ubuntuusers.de oder wiki.archlinux.org unterläuft aber der selbe schwerer Fehler.

Denn manche SSD-Controller nutzen Kompression.
So zum Beispiel der sehr verbreitete SanForce Controller SF-2281.

Und wo liegt jetzt das Problem?

Ganz einfach. Die Tests sehen immer so aus: $ dd if=/dev/zero of=tempfile …..
Nun ist es sehr,sehr einfach Nullen zu komprimieren, wie sich vermutlich jeder vorstellen kann.
Ein SSD-Controller der Kompression nutzt, hat hier ein leichtes Spiel, denn er kann alles geben was er hat.
Für einen Controller der ohne Kompression arbeitet, ist es hingegen völlig egal.

In der Realität dürfte man aber wohl davon ausgehen, dass die meisten Daten die man so händelt, nicht nur aus Nullen bestehen. Verwendet man alternativ Zufallszahlen, sieht das Ergebnis schnell ganz anders aus.

Im Folgenden mal ein kleiner Vergleich:

OCZ Agility 4 – Controller: Indilinx-Everest-2 > ohne Kompression <
Specs – Seq Read/Write: 420MBs / 410MBs , 4K IOPS Read/Write: 58K / 85K

Kingston SSDNOW V300 – Controller: SanForce SF-2281 > mit Kompression <
Specs – Seq Read/Write: 450MBs / 450MBs , 4K IOPS Read/Write: 85K / 43K

 

$ dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc

OCZ Agility 4:
1073741824 Bytes (1,1 GB) kopiert, 5,9588 s, 180 MB/s
Kingston SSDNOW V300:
1073741824 Bytes (1,1 GB) kopiert, 3,53624 s, 304 MB/s

VS

$ dd if=/dev/urandom of=/tmp/tempfile bs=1M count=1024 conv=fdatasync,notrunc
$ dd if=/tmp/tempfile of=tempfile bs=1M count=1024 conv=fdatasync,notrunc

OCZ Agility 4:
1073741824 Bytes (1,1 GB) kopiert, 6,05751 s, 177 MB/s
Kingston SSDNOW V300:
1073741824 Bytes (1,1 GB) kopiert, 12,5606 s, 85,5 MB/s

Hinweis: Da /dev/random bzw /dev/urandom zu langsam sind um direkt auf die SSD zu schreiben, werden die Daten vorher erst ins tempfs (RAM) geschrieben lassen und von dort dann erst auf die SSD.

(die Leseraten sind für den Test an sich zu vernachlässigen, aber für den Gesamtvergleich vielleicht interessant)
# echo 3 > /proc/sys/vm/drop_caches
$ dd if=tempfile of=/dev/null bs=1M count=1024

OCZ Agility 4:
1073741824 Bytes (1,1 GB) kopiert, 2,6659 s, 403 MB/s
Kingston SSDNOW V300:
1073741824 Bytes (1,1 GB) kopiert, 3,32878 s, 323 MB/s

Wie man sehen kann, liegt die Schreibrate bei der Kingston SSD im Standarttest sehr viel höher, da der Controller die Kompression voll ausspielen kann. Im Test mit Zufallszahlen sinkt die Schreibrate dagegen auf ein Viertel herab. Bei der Agility 4 gibt es hingegen keine Unterschiede. Was im Benchmarktest von /dev/zero noch recht mager aussah, kann sich hingegen im Vergleich bei dem von /dev/urandom sehr gut behaupten.

Natürlich ist auch dieser Benchmark wieder anfechtbar. Keine Frage.
Der gleiche Test mit einer Video Datei liefert aber zum Beispiel ziemlich die gleichen Werte.
Insofern fehlt es ,meiner Meinung nach, nicht an der entsprechenden Berechtigung, den weit verbreiteten Test von /dev/zero zu hinterfragen.

PS.: Dies soll keine Bewertung der oben genannten SSDs darstellen.

Arch schneller booten

Ein kleiner Tipp am Rande für alle die Arch Linux nutzen (oder eine andere Linux Distribution mit systemd) und die Bootzeit mit einfachen mitteln etwas verkürzen möchten.

Kurze Analyse der Bootzeit

# systemd-analyze

Startup finished in 1.875s (kernel) + 33.148s (userspace) = 35.024s

# systemd-analyze blame

31.219s NetworkManager-wait-online.service
997ms NetworkManager.service
934ms avahi-daemon.service
837ms systemd-logind.service
235ms systemd-journal-flush.service
152ms alsa-restore.service
110ms systemd-
87ms polkit.service
86ms systemd-vconsole-setup.service
80ms systemd-static-nodes.service
73ms udisks2.service
73ms dev-hugepages.mount
69ms dev-mqueue.mount
66ms systemd-tmpfiles-setup.service
66ms systemd-remount-fs.service
60ms systemd-modules-load.service
46ms tmp.mount
35ms colord.service
31ms systemd-fsck@dev-sda6.service
20ms systemd-user-sessions.service
14ms systemd-random-seed-load.service
14ms wpa_supplicant.service
13ms upower.service
10ms home.mount
9ms systemd-udevd.service
9ms ntpd.service
7ms sys-kernel-config.mount
3ms scratch.mount

Man sieht, eigentlich geht alles ruckzuck, nur NetworkManager braucht ewig.
Dabei ist man ansich ja gar nicht unbedingt darauf angewiesen. Bei Kabel Netzwerken eh nicht und wenn man nicht ständig das WLAN wechselt, tut es eine statische Einrichtung auch.

Wie es geht:
Die Datei /etc/systemd/system/network.service erstellen (zB. mit nano oder einem Editor der Wahl)
Beispiel Inhalt fürs WLAN

Unit]
Description=Network Connectivity
Wants=network.target
Before=network.target
BindsTo=sys-subsystem-net-devices-wlp2s0.device
After=sys-subsystem-net-devices-wlp2s0.device

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/sbin/ip link set dev wlp2s0 up
ExecStart=/usr/sbin/wpa_supplicant -B -i wlp2s0 -c /etc/wpa_supplicant/wpa_supplicant.conf
ExecStart=/sbin/dhcpcd wlp2s0

ExecStop=/sbin/dhcpcd -k wlp2s0
ExecStop=/sbin/ip addr flush dev wlp2s0
ExecStop=/sbin/ip link set dev wlp2s0 down

Dann noch die Konfigurationsdatei für wpa_supplicant erstellen die aufgerufen wird

# wpa_passphrase ssid-eueres-netzwerks passwort-fürs-netzwerk > /etc/wpa_supplicant/wpa_supplicant.conf

Jetzt können wir NetworkManager deaktivieren und den network service bei systemd eintragen.

# systemd disable NetworkManager
# systemd enable network

Ein reboot verrät uns das Ergebnis

# systemd-analyze

Startup finished in 1.895s (kernel) + 9.463s (userspace) = 11.359s

# systemd-analyze blame

8.444s network.service
953ms avahi-daemon.service
884ms systemd-logind.service
191ms systemd-journal-flush.service
124ms systemd-udev-trigger.service
120ms sys-kernel-debug.mount
116ms systemd-sysctl.service
110ms systemd-vconsole-setup.service
104ms systemd-static-nodes.service
98ms alsa-restore.service
87ms dev-hugepages.mount
87ms colord.service
83ms udisks2.service
77ms dev-mqueue.mount
69ms systemd-tmpfiles-setup.service
66ms systemd-remount-fs.service
59ms systemd-modules-load.service
37ms polkit.service
36ms tmp.mount
36ms systemd-fsck@dev-sda6.service
14ms systemd-random-seed-load.service
14ms upower.service
13ms systemd-user-sessions.service
12ms home.mount
11ms ntpd.service
11ms scratch.mount
7ms sys-kernel-config.mount
6ms systemd-udevd.service

Na wenn sich das nicht gelohnt hat.
Das Netzwerk braucht zwar immer noch am längsten aber trotzdem konnte die Bootzeit auf ein drittel gesenkt werden.
Ich denke für ein paar Minuten Handarbeit lohnt sich das auf jeden Fall.

Ein schöner Nebenefekt. Vorher hatte ich immer das Problem das Firefox die Sitzung nicht wiederherstellen konnte, jetzt funktioniert es. Vermutlich lag das Problem auch hier daran, das Firefox schon versucht hat die Seiten zu lande bevor das Netzwerk am Start war...

Home- und Medienserver

Den klassischen PC gibt es immer seltener noch im trauten Heim. Meist sind es mittlerweile Notebooks, Tablets und Smartphones die den Ton angeben. Auch wenn es nur die eigenen vier Wände sind, ist man oft lieber mobil und greift zu einem handlichen Gerät.
Ausserdem hat man heutzutage meist mehr als ein Gerät. Es ist nicht nur 'der Rechner' auf dem man seine Daten hat, sondern meist schon ein gutes Sortiment an Geräten. Notebook im Haus, Smartphone unterwegs und am besten hat jedes Haushaltsmitglied auch noch sein eigenes Gerät.

Damit Daten nicht doppelt und dreifach gelagert werden müssen und jeder stets zugriff hat, empfiehlt sich ein zentraler Punkt im Haushalt wo alles zusammen fließt
So ist ein HomeServer oft schon fast ein muss.

Mit der richtigen Hardware und etwas Zeit lässt sich so nicht nur ein zentrales Datendepot sondern auch gleich ein Multimediasystem fürs Wohnzimmer schaffen.

Eine entsprechende Möglichkeit möchte ich hier vorstellen die bei mir im Haushalt zur vollsten Zufriedenheit ihr Werk verrichtet.

1. Die richtige Hardware.

Bei diesem Punkt kann man natürlich schon wieder einen Glaubenskrieg anfangen. AMD oder Intel. Ich habe mich selbst für ein Intel Board entschieden. Ausschlaggebend war dabei für mich allerdings auch das Layout des Mainboard (siehe unten) welches es so nirgends anders gibt.
Ausserdem ist der Stromverbrauch von Intels Atom CPUs doch noch wesentlich geringer als AMDs Zacate, was sich nicht nur im 24/7 Betrieb bemerkbar macht sondern auch in der simplen Tatsache das sich der Atom problemlos passiv kühlen lässt.
Und das ist ein springender Punkt (zumindest für mich). Ich möchte bei einem Wohnzimmer Multimedia/Serversystem keine surrenden Lüfter. Schließlich sitzt man nicht nur am PC in der guten Stube sondern ließt auch mal ein Buch. Fanless ist also oberstes Gebot.

Ein AMD C-50/60 wäre sicherlich auch eine gute Alternative.
Als einziges Mainstremboard habe ich bisher allerdings nur das Asus c60m1-i gefunden.

Meine Wahl viel aber auf das DN2800MT von Intel.

Kostenpunkt mit 80€ zwar etwas über dem Durchschnitt, dafür aber mit unschlagbarer Ausstattung.
So bietet das Board 2x DDR3-Dimm Slots, 3x PCI-Express (2x als miniPCIE), 2x SATA-300, 6x USB (einaml mit USBSSD support), HDMI, VGA und Spannungswandlung direkt auf dem Board (ein Notebook NT passt hier problemso aber noch mehr dazu beim Thema Gehäuse).
Die CPU mit zwei Kernen und HT a 1,86GHz die dynamisch taktet (speedstep).
Obendrein ist es ultra Flach. Hier braucht es gerade mal eine halbe HE.
Und last but not least ein 1Gbit Intel Netzwerkcontroller, welcher doch wesentlich schneller Daten schaufelt als die ansonsten oft anzutreffende Konkurentz von Realtek, Atheros und co.

Die vielen PCI-EXPRESS Ports bieten hier natürlich auch den einmaligen Spielraum für Zusatzhardware.
Ich habe an den PCI-Express einen zusätzlichen SATA NoName Raid-Controller (Sil3012) mit zwei Ports angeschlossen (sollen ja ein paar mehr Laufwerke rein). In den einen mPCIE kam noch fürs OS eine OCZ Nocti SSD mit 32GB. Der zweite mPCIE Port ist bisher noch frei und bietet Spielraum für spätere Ausbauten (TV-Karte, WLAN, Bluetooth... oder weitere SATA-Ports … wer weis).

Bestückt ist das Mainboard ansonsten noch mit einem 4GB DDR3 Speicher.
Theoretisch würde man wohl auch mit 2GB locker zurechtkommen, aber bei den Speicherpreisen... da würden einen ja später dier Versandkosten für weitere 2GB mehr kosten als der Speicher selbst.
Also zugegriffen.

2. Das Gehäuse.

Das Gehäuse ist natürlich auch ein entscheidender Punkt.
Für mich war es wichtig das möglichst klein und unscheinbar ist. Etwas das sich einfach zwischen die HiFi Anlage stellen lässt. Auch hier scheiden sich natürlich die Geister und ein Fan der Lightshow wird sicherlich etwas anderes wählen.
Meine Wahl viel auf auf das LC-1320MI von LC-Power.
Das Gehäuse ist nicht nur sehr kompakt (etwas größer als eine Wii oder PlayStation) sonder hat auch noch ein externes Netzteil dabei (passend zum MB) und einen integrierten Wandler für ATX (falls es mal ein anderes MB wird – ich hab diesen aber erstmal ausgebaut). Kostenpunk 35€

Platz bietet das Gehäuse von Haus für eine 3,5“ / 2,5“ HDD und ein slim ODD. Mit einer kleiner Bastellei lassen sich aber auch problemlos zwei 2,5“ HDDs einbauen (theoretisch vielleich auch zwei 3,5“ HDDs, aber aufgrund des niedrigeren Stromverbrauch und der wesentlich geringeren Geräuschentwicklung habe ich eh zu Notebookplatten gegriffen).

Die Festplatten neben der oben genannten OCZ Nocti SSD sind bei mir zwei Samsung / Seagate ST1000LM024 geworden.
Dazu dann noch ein passender slim DVD-Brenner.


3. Die Software.

Siehe hierfür cedargo
- on Ubuntu
- on Meego

4. Auf den Zahn gefühlt.

Ok. Das System läuft, aber was bringt es?

Um einen kleinen Einblick zu gewähren habe ich ein paar Benchmarks durchgeführt. Diese können natürlich je nach Clients (netzwerk) und verwendeten Platten varieren und sollen nur einen groben Überblick bieten was geht und was nicht.

Plattenperfomance:

Benchmarks wurden mit dd über 1,1GB Daten durchgeführt.

OCZ Nocti SSD
write: 6,14235 s, 175 MB/s
read: 4,97483 s, 216 MB/s
bufferd read: 1,01617 s, 1,1 GB/s
seektime: 4250 seeks/second

1TB Samsung HDD über Intel SATA
write: 10,3599 s, 104 MB/s
read: 9,74529 s, 110 MB/s
buffer read: 1,02352 s, 1,0 GB/s
seektime: 49 seeks/second, 20.13 ms

1TB Samsung HDD über Sil 3012 RaiController
write: 12,8056 s, 83,8 MB/s
read: 11,9777 s, 89,6 MB/s
bufferd read: 1,02367 s, 1,0 GB/s
seektime: 45 seeks/second, 21.88 ms

Es fällt auf, das die SSD ihre angegebenen Werte von 260 / 280 MB/s auf jedenfall nicht erreicht. Ob die Werte von OCZ etwas zu optimistisch angegeben wurden oder das Board hier bremst ist noch nicht ganz raus. Da die Performance einer SSD aber auch nicht unbedingt durch die Datenrate sondern vorallem durch die kurzen Zugriffzeiten bestimmt wird, stellt dies ansich aber auch zumindest gefühlt kein Problem da.

Auch die HDD fällt über den zusätzlichen RaidController in der Performance deutlich ab. Der Grund dürfte hier sein das der PCIE Slot lediglich x1 ist. Allerdings würde ich auch nicht für einen einfachene NoName Raidcontroller meine Hand ins Feuer legen.
Klar ist allerdings – ein Hardware Raid nur über den RaidController dürfte keinen Sinn machen.
Wer Raid Nutzen will, sollte die Platte also am besten splitten und dann über Software aufbauen. (Hier kann ich leider keine Ergebnisse liefern, da ich die Platten nicht als Raid betreibe).


Netzwerkperformance:

Was nützen einem schenllen Platten wenn das Netzwerk lahmt?
Getestet mit iperf.

Im LAN konnte ich hier eine Performance von 941 Mbits/sec messen.
Was bei 1Gbit ein sehr guten Wert darstellt.

Beim realen Daten kopieren über samba bin ich auf Werte von 80 MB/s gekommen. Was dann mit Sicherheit auch schon das Limit der Festplatten darstellt.

Hier kann man also wirklich nicht meckern.
Wer mehr braucht, braucht profi Hardware.

Video playback:

Es sollen ja nicht nur Daten von einem zum anderen fließen, sondern das ganze soll auch als MedienCenter dienen.

Der Grafikbereich ist wie Oben schon beschrieben allerdings die Achillesferse des Systems.

Mit der vaapi Viedobeschleunigung läuft aber ansich alles sauber.
Mplayer verursacht bei mir eine bei Full HD eine Systemlast von 15% auf die CPU und gibt das Material größtenteils problemlos wieder. Ich meine in einpaar Streifen ein paar Artrefakte gesehen zu haben, allerdings kann das unterumständen auch am Ausgangsmaterial gelegen haben.
Ansich läuft das zumindest.


Und Gaming?

Heiter bis Wolkig.
Ein großes Problem – die Cedarviewtreiber unterstützen nur OpenGLES aber nicht das volle OpenGL . 3D kann man durch in der Regel vergessen.
Nun ist natürlich die Frage a) was kann man eh unter linux spielen? und b) was will man wenn denn dann spielen?
Ich muss dazu sagen, das ich selbst kein großer Gamer bin und wenn dann auch nicht auf die Idee kommen würde entsprechendes von meine Server zuerwarten.
Trotzdem gibt es ja ein paar kleine Spiele die sich dann doch als Konsolenalternativen mal anbieten.
Lange rede kurzer Sinn. Ich konnte alle Spiele die mir wichtig waren zumindest problemlos an laufen bekommen. So u.a. WorldofGoo und YetItMoves.
So darf man also davon ausgehen das SDL oder Flash basierte Spiele kein Problem sind.

Wer auf diesen Punkt allerdings wirklich Wert legt, der sollte sich doch lieber ein AMD Board zulegen.

Legende:
A: OCZ Nocti 32GB
B: Sil 3132 Raid Controller
C: 4GB DDR3 RAM
C: DVD-Writer (Slimline)
D: Intel N2800 1,86Ghz Dual Core CPU
E: Samsung 1TB HDD (auf Bsp Bild noch alte Toshiba)
F: Samsung 1TB HDD

Rest vom Schützenfest

Nachdem ich mich entschieden habe, die Inhalte der alten Seite nicht wieder online zu stellen, möchte ich hier doch gerne noch ein paar alte Codeschnipsel veröffentlichen.
Ist ja schaden wenn sowas einfach weg ist und vielleicht kann es der eine oder andere doch noch brauchen.

M - Mobile Movie Converter
Ein kleines Skript um Filme in ein passendes Format fürs Handy zu konvertieren.
Ich weiß, bei heutigen Smartphones braucht man das natürlich kaum noch. Vielleicht aber für ältere und konventionelle Handys noch interessant.
Vorraussetzung sind yad und ffmpeg.

#!/bin/sh

RESULTS=$(mktemp --tmpdir results.XXXXXXXXXX)
TITLE="M - Mobile Move Converter"
IMAGE="gtk-refresh"
CMD='yad --width=500 --height=200'
TEXT="Filme einfach und schnell fürs Handy konvertieren \n"
DESTINATION="M_MOVIES"

ffframes ()
{
       
        ff_length1=( $(ffmpeg -i $INFILE 2>&1 | sed -n "s/.* Duration: \([^,]*\), start: .*/\1/p") )
        ff_length=( $(echo "$ff_length1" | awk -F':'  '{ print $1*3600 + $2*60 + $3 }'));
        ff_fps=( $(ffmpeg -i $INFILE 2>&1 | sed -n "s/.*, \(.*\) tbr.*/\1/p") )
        total_frames=( $(echo $ff_length $ff_fps | awk '{ printf( "%3.0f\n" ,($1*$2)) } '));
        echo total-frames $total_frames 
}

ffvideo ()
{
ffframes

     ffmpeg -i $INFILE -f mp4 -vcodec mpeg4 -s $FORMAT -qscale 4 -acodec libfaac -ac 1 -ar 32000 -ab $ABIT ~/$DESTINATION/$OUTFILE.mp4 2>&1 | \
     awk -vRS="\r" '$1 ~ /frame/ {gsub(/frame=/," ");gsub(/fps=/," ");gsub(/kB/," ");gsub(/time=/," ");gsub(/ \(/," ");print "\n#Converting video : '"$4 : $1"'.\\n\\nTotal Frames : \\t\t'$total_frames'\\t\tCurrent Frame :\\t"$1"\\nFrame rate (s) :\\t"$2"\\nTarget File size  :\\t"int(($5/($1/'$total_frames'))/1024)"."int(((($5/($1/'$total_frames'))/1024)-int(($5/($1/'$total_frames'))/1024))*10)" \\nDuration of video :\\t'$ff_length1'\\tTime Remaining :\\t"int((('$total_frames'-$1)/$2)/3600)":"int((((('$total_frames'-$1)/$2)/3600)-(int((('$total_frames'-$1)/$2)/3600)))*60)":"int((((('$total_frames'-$1)/$2)/60)-(int((('$total_frames'-$1)/$2)/60)))*60)"\\nPercent complete :\\t"int(($1/'$total_frames')*100) " %";print int(($1/'$total_frames')*100);fflush();}' | \
     $CMD --title="$TITLE" --image="$IMAGE" --text="Konvertiere.... bitte warten" --progress --auto-kill --auto-close --button="gtk-cancel:1"
           
}

$CMD --title="$TITLE" --image="$IMAGE" --text="$TEXT" --form \
     --field="Datei:FL" '$HOME' --field="Auflösung:CB" '320x240 (4:3)!400x240 (~16:9)!480x320 (4:3)' \
     --field="Audio Bitrate:CB" '64k!128k!192k' \
     --field="Abschließend abspielen:CHK" --field="Speichern als::IN" > $RESULTS

mkdir -p ~/$DESTINATION

INFILE=`cat $RESULTS | awk -F'|' '{print $1}' | sed 's/\ /\\ /g'`
OUTFILE=`cat $RESULTS | awk -F'|' '{print $5}' | sed 's/\ /\\ /g'`
FORMAT=`cat $RESULTS | awk -F'|' '{print $2}' | sed 's/\ .*//'`
PLAY=`cat $RESULTS | awk -F'|' '{print $4}'`
ABIT=`cat $RESULTS | awk -F'|' '{print $3}'`

ffvideo

if [ "$PLAY" = "TRUE" ]; then
            ffplay ~/$DESTINATION/$OUTFILE.$TYPE
         fi

zum download hier klicken -> mmovie.sh

INTXXX - Hörspielhilfe
Vor ein paar Jahren hab ich mir einen neuen MP3 Player gekauft. Leider hatte das Gerät so seine Tücken. Die MP3 wurden von dem Gerät nicht nach Namen oder ID3 Tags sortiert sonder ohne Kompromisse immer nach dem Erstellungsdatum abgespielt.
Das sorgte oft für ein gewisses Durcheinander bei der Wiedergabe, denn kopiert man mehrere Tracks gleichzeitig, ist nicht unbedingt sicher gestellt, das Track 1 vor Track 8 auf den Player geschrieben wird. Und dann muss man halt immer Track 8 vor Track eins hören. Was bei Musik vielleicht nur nervt, macht das hören von Hörbuchern dann schon schnell zur unmöglichkeit (es sei denn man hat kein Problem damit zu erfahren wer der Mörder war bevor es überhaupt einen Mord gab ;-) ).
Die INTXXX - Hörspielhilfe sorgt dafür, das die Tracks zwingend in der Reihenfolge so angelegt werden, das der Player sie auch richtig abspielt. Nichts spannendes aber es erhöht eindeutig das Hörvergnügen.

Kleine Anmerkung noch. INTXXX ist nicht der einzige Hersteller deren Player dieses Problem haben. Mir sind später noch ein paar Leute mit anderen Geräten begegnet die mit anderen Gerät das gleiche Problem hatten (jetzt natürlich nicht mehr). Schuld sind wohl einfach billige Chips und lieblos drauf geworfene Firmware.

Für andere Gerät den Eintrag MEDIA bitte dann einfach entsprechend ändern.
Vorraussetzung ist installiertes yad

#!/bin/sh

RESULTS=$(mktemp --tmpdir results.XXXXXXXXXX)
TITLE="INTXX - Hörspielhilfe"
IMAGE="gtk-network"
CMD='yad --width=500 --height=150'
TEXT="...macht dem blöden Ding Beine! \n"
MEDIA="/media/INTXXX"


$CMD --title="$TITLE" --image="$IMAGE" --text="$TEXT" --form \
     --field="Zu kopierendes Verzeichnis:DIR" \
     --field="Volume Boost (gain 3db):CHK" > $RESULTS
cat $RESULTS | awk -F'|' '{print $2}'

SOURCEDIR=`cat $RESULTS | awk -F'|' '{print $1}' | sed -e 's/\ /\\ /g'`
DESTDIR=`cat $RESULTS | awk -F'|' '{print $1}' | awk -F'/' '{print $NF}' | sed -e 's/\ /\\ /g'`
BOOST=`cat $RESULTS | awk -F'|' '{print $2}'`

mkdir -p "$MEDIA/$DESTDIR"

IFS="
"

for i in $(ls "$SOURCEDIR")
  do cp "$SOURCEDIR/$i" "$MEDIA/$DESTDIR" 
     if [ "$BOOST" = "TRUE" ]
	then mp3gain -r -k -d 3.0 "$MEDIA/$DESTDIR/*.mp3"
     fi
     sleep 1
done

zum download hier klicken -> ihh.sh