OpenSuse 11.3 auf Gigabyte GA-G33-DS3R mit Core 2 Quad Core CPU Q6600

Im folgenden ist die Installation von OpenSuse 11.3 auf der hier genauer beschriebenen Hardware beschrieben. Da ich die Installation für 11.2 und 10.2 ausführlich beschrieben habe, hier nur kurze Ergänzungen.W

Installation

Die Installation erfolgte auf der hier erwähnten Hardware. Die HW-Konstellation des Rechners sieht wie folgt aus:

  • Onboard Audio (Intel HDA). Audiochip ist ein Realtek ALC889A.
  • Onboard LAN nutzt den Realtek RTL 8111B (Gigabit-fähig)
  • Dazu:
    • PCIExpess Grafikkarte MSI N520GT nVidia (GeForce GT520 GPU) an 2 x 1600×1200 TFT Monitoren.
    • älterer SCSI-Controller (PCI)
    • eine interne IDE-pLatte (300GB) fürs System, zwei interne eSATA-Platten (500GB /home und 1TB für Daten). Eine 1TB-Platte externe eSATA für Backups

Die Installation der Pakete erfolgte in ca. 30 Minuten. Eine Standard-Installation läuft sauber und ohne Ereignisse durch; Danach erfolgt ein Reboot. Als nächstes erfolgte die Hinzunahme der Community-Repositories (Packman und NVidia). Danach Installation vieler zusätzlichen Pakete:

  • evince und xpdf
  • thunderbird
  • mplayer
  • ffmpeg
  • avidemux2_gtk
  • grip
  • cdparanoia
  • lame
  • inkscape
  • mirror
  • audacity
  • timidity
  • xmms2 mit normalize-Plugin
  • audacious
  • mpg123
  • hugin
  • kompozer
  • zip
  • p7zip
  • subversion
  • ksdesvn
  • gcc und g++
  • make
  • avrdude
  • avrlibc (muß per Hand nachinstalliert werden, z.B. Version 1.6.7)
  • gcc-avr
  • termcap(für Nutzung der RS232 Schnittstellen durch kermit)
  • minicom (Alternative zu kermit ohne das /var/lock-Problem)
  • kermit (leider nicht mehr via YaST möglich, RPM von hier: http://fr2.rpmfind.net//linux/RPM/opensuse/11.1/x86_64/ckermit-8.0.211-95.58.x86_64.html)
  • libopenssl0_9_8: wird in 11.3 von kermit gebraucht
  • libvdpau (HD Video Ausgabe für NVidia)
  • libdvdcss
  • update-alternatives (für Java Wechsel zwischen OpenJDK und Sun Version)
  • Sun Java JRE und JDK
  • Microsoft Font RPM
  • Virtualbox
  • Maven
  • libpng12, pangomm
  • subversion-server
  • x11-video-nvidiaG02 für die Grafik-Karte

Zusammenfassung: Erfahrungen mit OpenSuse 11.3

Die Installation ist genauso simpel wie die von 11.2. Als Power User brauche ich halt einige zusätzliche Dinge, das ist OpenSuse nicht anzukreiden.

Schade ist, dass einige Dinge (xmms, kermit, avrlibc) nicht mehr einfach als RPM bei OpenSuse vorliegen sondern woanders beschafft oder gar kompiliert werden müssen.

OpenSuse 11.2 auf Gigabyte GA-G33-DS3R mit Core 2 Quad CoreCPU Q6600

Im folgenden ist die Installation von OpenSuse 11.2 auf der hier genauer beschriebenen Hardware beschrieben.

Beschaffung der Software

Die Installation kann als DVD vom OpenSuse Server heruntergeladen werden. Neben der Live-Variante ist meiner Meinung nach die DVD das interessanteste Medium, da praktisch alles relevante da schon drauf ist. Mittels Vuze/Azureus und einer 6MBit-Verbindung ist die DVD in ein paar Stunden da.

Installation

Die Installation erfolgte auf der erwähnten Hardware. Die HW-Konstellation des Rechners sieht wie folgt aus:

  • Onboard Audio (Intel HDA). Audiochip ist ein Realtek ALC889A.
  • Onboard LAN nutzt den Realtek RTL 8111B (Gigabit-fähig)
  • Dazu:
    • PCIExpess Grafikkarte nVidia FX7300GT von MSI mit 2 x 1600×1200 TFT Monitoren.
    • Eine zweite 1GBit-LAN-Karte (PCI)
    • SCSI-Controller (PCI)
    • Drei interne eSATA-Platten (1x75GB für System, 500GB /home und 1TB für Daten)

Die Installation der Pakete erfolgte in ca. 30 Minuten. Eine Standard-Installation läuft sauber und ohne Ereignisse durch; Danach erfolgt ein Reboot. Als nächstes erfolgte die Hinzunahme der Community-Repositories (Packman und NVidia). Danach Installation vieler zusätzlichen Pakete:

Bis hier wird das Bild nur auf einem Monitor vernünftig ausgegeben, auf dem anderen (analoger Ausgang) erscheinen nur seltsame Sachen. Für Multimonitorbetrieb braucht man noch den passenden Treiber, den gibts im NVidia-Repositiory. Diesen passend zum installierten Kernel auswählen und auch das Tool „nvdock“ installieren. Nach der Installation des Treibers neu booten, so daß der Treiber vom Kernel geladen werden kann. Mittels „nvdock“ (das als root gestartet werde muß, da es /etc/X11/xorg.conf neu schreibt) die beiden Monitore aktivieren und die Änderungen speichern. Danach nvdock nicht mehr als root laufen lassen, sondern mit normalen Nutzerrechten (man brauchts aber nur für Konfigurationsänderungen an den X Displays). Danach Reboot (oder X neu starten). Nachdem der Rechner nun am Netz hing, habe ich zunächst eine komplette Online-Aktualisierung gemacht, die völlig unproblematisch verlaufen ist.

Die Druckereinrichtung (für den Netzwerkdrucker HP LaserJet 2200) geht via Verbindungsassistent-Dialog. Der Drucker hat eine Duplexeinheit und >20 MByte Speicher, was man im Einrichtungsdialog vermerken kann.

Ich habe erstmalig die Default-Netzwerkeinstellungen von OpenSuse so gelassen (also auf DHCP). Mein Router vergibt für eine MAC die er kennt ohnehin immer dieselbe IP-Adresse, eine Fixierung im Rechner brauchts da nicht.

Als Fensteroberfläche wird KDE 4.3.1 installiert. Der Kernel ist ein 2.6.31.

OpenSuse 11.2 auf Gigabyte GA-G33-DS3RScreenshot meines 3200×1200 großen Desktops während der Installation

Diverse Kleinigkeiten in Ordnung bringen

amarok rennt durch die Playlisten und gibt keinen Ton von sich: Hier schlägt das Problem der reinen OSS-Version von OpenSuse durch. Man braucht einen nicht kastrierten amarok und alle erforderlichen Codecs. Wie man ganz einfach daran kommt, so dass die ganzen seltsamen Probleme gar nicht erst auftreten, ist hier beschrieben: http://opensuse-community.org/Restricted_Formats Direkt nach der Re-Installation von amarok und diverser Codecs funktioniert amarok so wie er soll. Und endlich geht auch die Verbindung zu lastfm wieder, die ja in der 2.0.* Version von amarok leider nicht ging…

k3b findet CSD / DVD Brenner nicht: Dies ist ein Rechteproblem. Checke wie das CD/DVD-Laufwerk heisst:

dennis@socraggio:~> dmesg|grep -i sr0
[25.443921] sr0: scsi3-mmc drive: 48x/48x writer cd/rw xa/form2 cdda tray[   25.444040] sr 8:0:0:0: Attached scsi CD-ROM sr0

Aha, es ist /dev/sr0. Wie stehts da mit den Rechten?

dennis@socraggio:~> ll /dev/sr0
brw-rw----+ 1 root cdrom 11, 0 28. Jan 16:14 /dev/sr0

Der k3b-Nutzer muß also in der Gruppe „cdrom“ sein. Dies erledigen mittels YaST > Sicherheit und Benutzer und dort für den Nutzer die Gruppe mit anhaken. Dann entweder aus- und einloggen oder in der shell mittels „newgrp“ explizit die neue Gruppe setzen. Von der Shell aus kann dann k3b erfolgreich gestartet werden.

dennis@socraggio:~> newgrp cdrom
dennis@socraggio:~> k3b

Einige Dienste möchte ich beim Booten mitgestartet haben, dies kann man mit Yast -> Runlevel Editor einstellen:

  • nfs server und client
  • apache2
  • svnserve
  • smb

Aus Faulheit kopiere ich mir auch den individuellen Teil meiner alten /etc/hosts wegen Host-Namen etc. in die neue Installation.

Apache2 „wie vorher“ in Betrieb nehmen: Zunächst das httpd-Modul in Yast installieren (system-config-httpd) und das Apache Subversion-Modul (subversion-server), mittels Yast. Ich kopiere dann die vorhandenen Apache2-Konfigdateien, vor allem die ganzen vhosts-Definitionen, an dieselbe Stelle im neuen Dateibaum (/etc/apache2).

Außerdem /etc/sysconfig/apache2 erweitern: In Textzeile mit APACHE_MODULES noch DAV und Subversion Module mit aufnehmen:

APACHE_MODULES="actions alias auth_basic authn_file authz_host authz_groupfile authz_default authz_user autoindex cgi dir env expires include log_config mime negotiation setenvif ssl userdir php5 mod_dav mod_dav_svn"

Nach einem Apache-Restart sind die virtuellen Webserver alle wieder vorhanden.

Für meine Backups, die ich per rsync auf eine externe eSATA-Platte mache, muß noch der Mount-Point /backup1 eingerichtet werden. Ein Test des Backups ist danach erfolgreich.

Anzeige von Nutzer-Icons beim KDE Login-Screen: Hier muss die Konfiguration des KDMs verändert werden,

Die Benutzer-Icons des KDM Logins sind weg und werden wie folgt wiederhergestellt:
Alle Nutzericons liegen im Nutzerverzeichnis unter dem Namen $HOME/.face.icon im PNG-Format mit den Abmessungen von ca. 62×62 Pixeln. In /opt/kde3/share/config/kdm/kdmrc (KDE3) bzw. /usr/share/kde4/config/kdm/kdmrc (KDE4) muss die Zeile „FaceSource=“ angepasst werden wie folgt:

# „PreferUser“ – … and the other way round
# „UserOnly“ – from the user’s $HOME/.face[.icon]
# Default is AdminOnly
FaceSource=PreferUser

Danach tuts.

Für Scanner-Konfiguration komplettes altes sane.d Verzeichnis nach /etc kopieren.

NTP Client konfigurieren: Dieses Thema verwirrt mich bei Installationen von OpenSuse immer wieder aufs neue. Die Yast-Dialoge reden dauernd von „Server einrichten“ wenn es darum geht, den Client zu konfigurieren. YaST > NTP-Einrichtung > Hinzufügen > Server , im folgenden Dialog „Auswählen“ wählen und einen öffentlichen Server (den Default) auswählen. Danach ist der NTP-Client konfiguriert, ein Neustart des NTP-Services setzt dann die korrekte Zeit.

NFS Server inklusive YaST Modul muß nachinstalliert werden. Alte /etc/exports wiederverwenden.

avrdude darf nicht auf die serielle Schnittstelle schreiben: Ein Rechteproblem, ich bin nicht in der richtigen Gruppe. Welche Gruppe gehört die serielle Schnittstelle?

 socraggio:/home/gast # ll /dev/ttyS1
 crw-rw---- 1 root dialout 4, 65 28. Jan 16:14 /dev/ttyS1

Der Nutzer muss also in der Gruppe „dialout“ sein. Dies erledigen mittels YaST > Sicherheit und Benutzer und dort für den Nutzer die Gruppe mit anhaken. Dann entweder aus- und einloggen oder in der shell mittels „newgrp“ explizit die neue Gruppe setzen.

Zusammenfassung: Erfahrungen mit OpenSuse 11.2

Die Installation ist bisher die einfachste aller OpenSuse Installationen gewesen. Meinen Desktop-Rechner nutze ich schon als Power-User mit vielen Anforderungen, daher sind diverse Nacharbeiten notwendig. Ich habe OpenSuse 11.2 auch auf einem Acer-Notebook installiert, da war fast nichts nachzuarbeiten.

OpenSuse 10.2 auf  Gigabyte GA-G33-DS3R mit Core 2 Quad Core CPU Q6600

Hardware

Nach drei Jahren Leben mit einem laut rauschenden Prescott mit 3Ghz, der unter Last (als Komplett-PC) 220 Watt verbraucht hat, beschloss ich, im August 2007 die Hardware zu erneuern. Als CPU wählte ich den Einstiegs-Quad Core Q6600 mit 4×2,4 Ghz.

Core 2 Quad Q6600
Quad Core CPU von oben und von unten gesehen

 

Das Motherboard ist ein ziemlich neues Gigabyte GA-G33-DS3R, welches einen FSB von bis zu 1333Mhz unterstützt. Der G33 Express Chipset (Northbridge) ist in etwa ein P35 Chipset mit integrierter Graphik-Funktionalität die Intel GMA 3100 nennt. Der Chip ist Aero-fähig, für tolle 3D-Spiele aber nicht zu gebrauchen und soll 14 Watt verbrauchen. Da ich nicht spiele, für mich kein Problem. Ins Board passen bis zu 8GB, ich baue 2GB ein. Das Board besitzt eine ICH9R Southbridge, 8 RAID-fähige SATA2-Anschlüsse, 4 PCIe-Ports (davon einer 16x), 3 PCI-Ports. Audiochip ist ein Realtek ALC889A. LAN nutzt den Realtek RTL 8111B (Gigabit-fähig).

Dem Board fehlt ein serieller Anschluss (ein serieller Header ist vorhanden).

Das Gigabyte Motherboard. Links unten die Sata-Anschlüsse und der IDE-Anschluss.

Ich installiere zunächst RAM und CPU. Nach Installation des Motherboards im Gehäuse setze ich den Kühler auf die CPU. Wegen des hohen Einpressdrucks biegt sich das Board dabei ziemlich, ich hätte den Kühler entgegen der Anweisung des Handbuchs besser vor Einbau des Boards im Gehäuse aufgesetzt. Das Motherboard macht ansonsten einen guten und stabilen Eindruck. Ich installiere noch ein zugekauftes Slotblech für den seriellen Anschluss. Das mitgelieferte Slotblech zum Anschluss zweier externer SATA-Platten lasse ich erstmal weg.

Quad Core KühlerQ6600 in Fassung
Der CPU-Kühler und die im Board eingesetzte CPU

Als Platten kommen zwei SATA-Platten (80 und 500GB) ins Gehäuse. Ein NEC DVD-Brenner kommt hinzu. Floppy-Laufwerk lasse ich erstmals ganz weg.

Installation

Ich entscheide mich aus einem Bauchgefühl heraus dazu, die 32Bit-Version von Linux zu installieren. Auf der Website wird allerdings die 64Bit-Version empfohlen. Schon am Anfang der Installation wird nach Laden des Kernels das DVD-Laufwerk nicht mehr gefunden. Der Rechner wechselt in den Textmodus, man befindet sich im Programm linuxrc. Suche im Internet zeigt, dass das Problem bei neueren Motherboards auftritt. Das DVD-Laufwerk ist via IDE angeschlossen. Die Southbridge ICH9R besitzt keinen eigenen IDE-Support mehr. Diese Funktion wird dann von einem weiteren Chip, bei mir der Jmicron 368(xxx), erledigt. Davon weiß der IDE-Treiber jedoch nichts, daher ist plötzlich das DVD-Laufwerk weg. Ich habe das Problem lösen können, indem ich in linuxrc den Bereich Module laden -> IDE selektiert habe. Dort habe ich das Modul pata_jmicron geladen, als extra Kernel-Parameter module=ide-generic angegeben und die Installation fortgesetzt. Die DVD wurde nun erkannt. Die im Gerät eingebaute Graphikkarte wird leider nicht in voller Schönheit erkannt. Linux wählt einen VESA-konformen Framebuffer für den X Server in der Auflösung von 1280×1024. VESA ist sehr langsam und bei meiner TFT-Auflösung von 1600×1200 auch hässlich. Suche im Internet zeigt, dass der neue G33-Chip erst nach Kernel 2.6.20 ordentlich oder überhaupt erkannt wird, OpenSuse 10.2 hat aber nur 2.6.18. Ich laufe nochmal zum Computerhändler und kaufe eine Nvidia 7300GT von MSI. Mit dieser Karte gibt es erwartungsgemäß keine Probleme, sie wird sauber erkannt und eingebunden.

 

NVidia FX7300GT von MSI
Die Grafikkarte nVidia FX7300GT von MSI, passiv gekühlt.

 

Leider wird auch der interne Soundchip nicht erkannt. Das Board ist vom Frühjahr 2007, also doch etwas zu neu für OpenSuse 10.2, das, wenn ich mich recht erinnere von Ende 2006 ist.

Auch ein vollständiger Online-Update bringt nichts. Ich habe von einem anderen Rechner noch meine Soundblaster Live! 24Bit übrig, die ich ins Gerät stecke, auch hier gibt es dann keine Probleme mehr. Allerdings müssen alle Nutzer in die Gruppe audio aufgenommen werden, sonst können sie auf die Geräte in /dev nicht zugreifen (sie gehören User root, Gruppe audio und Lese/Schreibrechte sind nur für die Gruppe, nicht für die Welt definiert). Bei xmms funktioniert der Lautstärkeregler nicht.

Soundblaster Live 24 Bit
Die Soundkarte Soundbaster Live! 24Bit

Nach der Installation fehlen die üblichen Programme, die ich nachinstalliere.
Dies sind:

  • xmms mit mpg123 und mpg321 Codecs
  • mplayer – Videoplayer und Encoder
  • avidemux2 – Videoschnittprogramm
  • inkscape – Vektorbasiertes Zeichenprogramm
  • mirror – Skripte fürs mirroring von Dateien
  • lame – mp3 Encoder
  • kompozer – Web Editor
  • timidity – Midi Sequenzer
  • audacity – Audioeditor
  • vmware Server – Virtualisierungslösung
  • googleearth
  • gtk-gnutella – Download Programm
  • Azureus
  • ffmpeg

Open Office und Gimp sind defaultmäßig schon installiert. Desweiteren entferne ich die üblichen Pakete, die ich nicht haben will, von der Maschine:

  • Mono und alles was davon anhängt
  • beagle und Konsorten
  • Zenworks

Bis auf gtk-gnutella, vmware und googleearth kann alles per Yast bequem installiert werden. gtk-gnutella muss von den Sourcen compiliert werden, hier kann man mittels make -j 4 schon mal sehen, wie die 4 Kerne in der CPU rennen. Meine vorhandene Version des VMWare Servers lief nicht mehr, ein Update auf die neueste Version brachte dann aber den Erfolg.

Kpowersave zeigt den momentanen Zustand der CPU (Frequenzen) an.


4 CPUs bei stromsparenden 1,6Ghz

Ein Performancetest mit Videoencoding zeigt, dass der Rechner locker 2,5mal schneller ist als mein alter Prescott. Mir fällt dabei aber trotzdem unangenehm auf,  dass das Encoding alle 5-8 Sekunden kurz stehen bleibt für 1-2 Sekunden. Ein Test mit hdparm /dev/hda und /dev/hdc bringt es an den Tag: Der DMA-Modus ist bei den Platten nicht eingeschaltet, es könnte also noch deutlich schneller gehen! Und der DMA-Modus lässt sich auch nicht einschalten, beim Versuch gibt es Fehlermeldungen:

socraggio:/home/dennis # hdparm -c1d1 /dev/hda /dev/hda: setting 32-bit IO_support flag to 1 setting using_dma to 1 (on) HDIO_SET_DMA failed: Operation not permitted IO_support   =  1 (32-bit) using_dma    =  0 (off)

Effekt ist, dass die Platten, die sonst über 50 MB/s bzw. über 80MB/s bringen, jetzt bei 0,5-8 MB/s herumdümpeln.

socraggio:/home/dennis # hdparm -tT /dev/hda
/dev/hda: 
Timing cached reads:   8234 MB in  2.00 seconds = 4121.45 MB/sec 
Timing buffered disk reads:    2 MB in  3.83 seconds = 535.35 kB/sec 

socraggio:/home/dennis # hdparm -tT /dev/hdc 
/dev/hdc:  
Timing cached reads:   7614 MB in  2.00 seconds = 3810.42 MB/sec  
Timing buffered disk reads:   24 MB in  3.20 seconds =   7.50 MB/sec

Da ist die CPU flotter mit dem Komprimieren als die Platten mit dem Wegschreiben, daher die Pausen während der Kompression. Herumgooglen bringt einiges zu Tage, aber nichts brauchbares. Tiefgehende Experimente mit IDE-Treibern etc. kann ich mir zeitmässig dann doch nicht leisten.
Da der Kernel ab 2.6.20 aber angeblich mit den neuen Chipsätzen von Intel umgehen kann und OpenSuse 10.3 mindestens einen 2.6.22-Kernel haben wird, werde ich mit den lahmen Platten bis zum Oktober leben, dann kommt OpenSuse 10.3 heraus.

Die Benutzer-Icons des KDM Logins sind weg und werden wie folgt wiederhergestellt:
Alle Nutzericons liegen im Nutzerverzeichnis unter dem Namen $HOME/.face.icon im PNG-Format mit den Abmessungen von ca. 62×62 Pixeln. In /opt/kde3/share/config/kdm/kdmrc muss die Zeile „FaceSource=“ angepasst werden wie folgt:
# „PreferUser“ – … and the other way round
# „UserOnly“ – from the user’s $HOME/.face[.icon]
# Default is AdminOnly
FaceSource=PreferUser

Danach kommen die Icons wieder. Siehe auch hier.

Ich habe auf derselben Hardware auf einer freien Partition auch OpenSuse 10.3 Beta und RC installiert. Dort trat dann das DMA-Problem nicht mehr auf, auch das Problem mit der DVD-Erkennung während der Installation ist in 10.3 gelöst.

Stromverbrauch

Beim Stromverbrauch hält sich der Quad Core angenehm zurück. Ich messe mit einem ganz einfachen Strommesser den Gesamtverbrauch des Rechners ohne Monitor. Im Leerlauf werden 83 Watt verbraucht, bei normalen Arbeiten 90..105 Watt und unter Volllast (Videokompression mit 4 Threads, bei dem alle vier Cores am Arbeiten sind 123 Watt.
Im Vergleich dazu: mein alter Prescott Pentium 4 3Ghz hat mit demselben Netzteil (welches einen hohen Wirkungsgrad besitzt) im Leerlauf 117 Watt und unter Volllast 180 Watt verbraucht. Mit einem billigen Standardnetzteil hatte der Prescott sogar 134 Watt im Leerlauf und 224 Watt unter Volllast gebraucht.

Linux auf dem Mainboard ASRock N68-VS3 UCC

Ich habe dieses Micro ATX Mainboard als günstiges Bundle mit 4GB RAM und einer AMD AMD Athlon X2 3,3GHz Dual Core CPU gekauft. Es dient als Mainboard für meinen Wohnzimmer-PC, der in einem (relativ) schicken Gehäuse leise seinen Dienst tut – Filme abspielen, Fernsehen.
Vorteile des Boards für mich:

  • Ein PCI Slot für vorhandene ältere Karten (non PCI-Express)
  • EIn PATA-Header vorhanden für ältere Festplatten (Non SATA)
  • NVidia Grafik-Chip on Board
  • Sehr günstig

Ich habe das Bundle in ein vorhandenes Gerät eingebaut, vorher war ein ATX Board installiert. Die Bohrungen des Mainboards sind so verteilt, dass die Gewinde des ATX-Mainboards verwendet werden können.

Das N68-VS3 besitzt eine 24-poligen Netzteilbuchse. Mein altes Netzteil aber nur einen 20 poligen Stecker. Wenn man den Stecker linksbündig einsteckt, funktioniert das aber trotzdem.
Allerdings habe ich in einem Anfall geistiger Umnachtung den Stecker zunächst falschherum eingesteckt. Nach Einschalten des Geräts nahm ich leichten Geruch zu heisser Elektronikteile wahr, außerdem konnte man im Netzteil ein seltsames Sirren hören. Der Computer konnte ich nicht mehr einschalten. Nach Prüfung der Anschlüsse stellte ich meinen schrecklichen Fehler fest. Ich war geschockt, hatte ich das neue Board sofort selbst zerstört? Mit einem schnell herbeigeschafften zweiten Netzteil konnte ich den Rechner dann einschalten. Fazit: freundlicherweise war nur das Netzteil kaputtgegangen, nicht das Mainboard.

Auf der Platte des Geräts befand sich noch ein installiertes OpenSuse für das alte Board (OpenSuse 32Bit, Pentium 4, Nouveau Treiber für NVidia Karten). Dieses Linux lies sich ohne jede Änderung booten, nur die Netzwerkkarte musste korrigiert werden (alte löschen, neue automatisch konfigurieren lassen), fertig. Alles funktionierte, selbst die kritischen Youtube-Videos im Vollbildmodus.

Im folgenden ein paar Bilder des Boards.

Bei MicroATX ist das dominierende Bauteil die CPU+Kühler.

 


Board-Rückseite. Rechts der PCI-Slot

 

 


Im Vordergrund 4xSATA, 1xPATA Anschlüsse

 


Die 2 Slots für RAM, einer mit 4GB belegt

 

 

 

 

 

Installation von OpenSuse 12.1, 64 Bit

Die Installation eines wirklich passenden Linuxes musste noch nachgeholt werden.
-to be done-

Autofs einrichten (OpenSuse Leap)

Autofs erlaubt es beliebige Netzwerk (NFS-) Ressourcen dynamisch bei Bedarf einzubinden. Wenn die Verbindung einige Zeit nicht benutzt wird, wird diese dynamisch auch wieder gelöst. Die Ressource muss auch erst dann zur Verfügung stehen, wenn sie eingebunden wird (und nicht z.B. beim Booten). Wenn man „viele“ Ressourcen im LAN hat, die nicht immer eingeschaltet sind ist autofs daher ideal.

autofs ist defaultmäßig in OpenSuse Leap schon installiert. Daher sind nur die Konfigurationsdateien anzupassen.

Ich habe beispielsweise eine Synology Diskstation DS216j in meinem LAN. Diese exportiert per NFS verschiedene Verzeichnisse aus zwei Volumes (sehen wie NFS Exports aus). Die Diskstation hat den DNS-Namen diskstation. Exportiert werden von ihr folgende Verzeichnisse:

/volume1    
    /music    
    /video
    /photo
    /misc 
/volume2
     /misc2

Die nutzende Client-Maschine wird dann beispielhaft wie folgt konfiguriert.

Die Datei /etc/auto.master verweist auf Dateien, welche die Informationen zu den beiden Volumens enthalten. In auto.master steht nur:

/net/volume1 /etc/auto.diskstation.volume1
/net/volume2 /etc/auto.diskstation.volume2

auto.diskstation.volume1 sieht so aus:

music      -rw          diskstation:/volume1/music
video      -rw          diskstation:/volume1/video
photo      -rw          diskstation:/volume1/photo
misc       -rw          diskstation:/volume1/misc

auto.diskstation.volume2 sieht so aus:

misc       -rw          diskstation:/volume2/misc2

Im lokalen Dateisystem habe ich manuell folgende Verzeichnisse angelegt:

/net
     /volume1
                 /music
                 /video
                 /photo
                 /misc
     /volume2
                 /misc

Restarten von autofs:    service autofs restart

Damit ist alles vorbereitet. Wenn die Synology Diskstation die Verzeichnisse ordentlich exportiert (kann man durch manuelles NFS-Mounten vorher probieren), dann kann man nun ohne jedes manuelle Mounten direkt in ein Verzeichnis der Diskstation wechseln, z.B. so:
cd /net/volume1/photo

Wacom Tablet UD-1212-R mit Linux (OpenSuse 13.1)

Durch einen Zufall kam ich an ein altes Wacom Tablet, Typenbezeichnung UD-1212-R. Dieses Tablet hat eine Zeichenfläche von 12×12 Zoll.  Es ist auch als „Digitizer II“ bekannt.

Das Funktionsprinzip beruht auf der Analyse elektrischer Felder. Ein solches Feld wird an der Tabletoberfläche erzeugt. Ein spezieller Stift, in dem ein Schaltkreis eingebaut ist, „stört“  das erzeugte Feld. Die Lokation der Störung wird vom Tablet sehr genau festgestellt. Der Schaltkreis im Stift kommt ohne Batterien aus, er bezieht seine Energie aus dem elektrischen Feld über dem Tablet.

Das UD-1212-R ist uralte Hardware, die Datecodes auf der Controllerplatine weisen bei meinem Exemplar auf das Baujahr 1994 hin.

Das Tablet kam ohne Stift und Kabel zu mir.

Das Tablet sollte also 20 Jahre nach seiner Herstellung wieder angeschlossen werden…

Anschluss der Hardware

Stift: Den Stift (PL900 bzw. UD817e) kann man heute noch bei Wacom kaufen.

Kabel und elektrischer Anschluss: Das Tablet hat einen seriellen Anschluss. Entweder man schließt es an einen PC mit seriellen Anschluss an oder man nimmt ein Adapter-Kabel Seriell<->USB. Ich habe noch serielle Anschlüsse, daher habe ich das Tablet direkt via RS232 angeschlossen.

Das Kabel ist speziell. Es führt sowohl die RS232 Steuersignale als auch die Betriebsspannung (9-12V DC). Ich habe mir das Kabel wie folgt selbst gelötet, Informationen zum Kabel kann man sich aus diversen Foren im Internet zusammensuchen.

DB9 Konnektor (9 Pins). N.C. heißt „Not Connected“.

Pin Tablet
UD-1212-R
„Digitizer II“
Pin PC Kommentar
1 N.C. 1 N.C.
2 TxD 2 RxD
3 RxD 3 TxD
4 RTS 8 CTS
5 CTS 7 RTS
6 DSR 4 DTR
7 GND 5 GND
8 + VCC 9-12V 100mA
9 DTR 6 DSR

An Pin 7/8 ist also die Versorgungsspannung anzuschließen. Ab 6,5 V leuchtet bei mir die Betriebs-LED des Tablets.

Softwaremäßige Einbindung in Linux

Im Internet gibt es viel Information zu diesem Thema, allerdings wenig klärendes. Ich habe mir in zwei Tagen alle Informationen zusammengesucht.

Theorie of Operation
Das meiste hierzu war mir neu und stellt sicher nur einen winzigen Ausschnitt aller Möglichkeiten dar. Eventuell ist was ich schreibe auch nicht ganz richtig.

Ein heute nicht mehr (?) verfolgter Ansatz war es, Geräte innerhalb des X Servers anzubinden, indem der X Server eigene Treiber für diese Geräte enthielt.

Heute verwendet der X Server  Eingabegeräte, die im /dev/input/-Baum eingehängt sind. Vermutlich gibt es dort eine einheitliche Schnittstelle für alle Eingabegeräte, was den X Server von Besonderheiten deutlich entlasten würde.

Das Einhängen von Geräten in den /dev/input-Baum erfolgt entweder über udev, das zum Gerät passende Kernel-Module nachlädt oder „manuell“.

Man braucht also zum Anbinden eines Geräts zwei Dinge:

  • Ein Kernel-Modul, welches das Gerät unterstützt
  • Einen Mechanismus, der das Kernel-Modul bei Bedarf einbindet

Kernel-Modul: Von Wacom gab und gibt es zahlreiche Tablets, die neueren alle mit USB Anschluss. In meinem OpenSuse 13.1 ist standardmäßig schon ein Kernel Modul enthalten, allerdings unterstützt dieses nur neuere (USB-?)Geräte. Das vorhandene Modul wacom_w8001 nutzt also nichts.

Ein Kernel Modul für ältere, seriell angeschlossene Tablets gibt es hier: http://www.cipht.net/2011/07/02/wacom_serial-initial-release.html

Das dortige tar-File, welches die Sourcen des Treibers enthält, lässt sich ganz einfach mittels gcc übersetzen.

Einbindung des Kernel-Moduls mit inputattach: inputattach ist ein Programm, dass das passende Kernel-Modul an eine physikalische Schnittstelle anbindet und die Schnittstelle des Geräts in den /dev/input-Baum einbindet.

Mein Gerät hängt an /dev/ttyS0. Der Aufruf für inputattach it daher:

./inputattach –wacom_iv /dev/ttyS0 &

„wacom_iv“ ist hierbei der Gerätetyp. Diesen nimmt  inputattach her, um  eine  Informationsstruktur  für das angehängte Gerät  anzulegen, die  von udev (?) benutzt wird, um das passende Kernel-Modul zu laden.

inputattach ist Teil des „linuxconsole“ Projekts. Dieses muss heruntergeladen und von Source installiert werden. Dabei entsteht inputattach im Unterverzeichnis „utils“.
Allerdings muss hier vorher noch etwas getan werden. Der Support für die älteren Tablets (einige wenige Zeilen Code) fehlt in inputattach.c. Es gibt zwar zwei patch-Dateien (eine für inputattach.c und eine für serio-ids.h) die sind aber nicht ganz korrekt. Ich habe daher per Hand folgendes gemacht:

inputattach.c: In der Struktur input_types input_types folgende Zeilen eingefügt:
{ „–wacom_iv“,         „-wacom_iv“,    „Wacom protocol 4 tablet“,
B9600, CS8,
SERIO_WACOM_IV,         0x00,   0x00,   0,      NULL },

serio-ids.h: folgende Zeilen eingefügt:
#ifndef SERIO_WACOM_IV
# define SERIO_WACOM_IV         0x3f
#endif

Es muss darauf geachtet werden, dass der Wert für SERIO_WACOM_IV eindeutig ist.  Am besten den höchsten Wert+1 aus der serio-ids.h nehmen. Auch gegen /usr/include/linux/serio.h checken, auch dort darf keine Überdeckung vorliegen (Hinweis: der Original-Patch definiert für SERIO_WACOM_IV 0x3d. Dies kollidiert aber mit dem Define SERIO_TSC40 in /usr/include/linux/serio.h. Daher wird bei sturer Übernahm des Patchs der falsche Treiber (nämlich für TSC40 Tablets) geladen. In dmesg steht das falsche Tablet drin, und funktionieren tut gar nichts).

Wenn man nun ein passendes inputattach und ein Kernel-Modul hat, kann man sehen ob die Anbindung klappt:

% insmod ./wacom_serial.ko

% ./inputattach –wacom_iv /dev/ttyS0 &

Mit dmesg sieht man wenn alles gut geht in etwa so was:

[ 3161.508413] serio: Serial port ttyS0
[ 3161.540516] input (null): Wacom tablet: Digitizer II, version 1.2

[ 3161.540520] input (null): Max pressure: 127.
[ 3161.578164] input (null): Configuration string: ~RE203C800,000,00,1270,1270
[ 3161.600884] input: Wacom protocol 4 serial tablet as /devices/pnp0/00:0a/tty/ttyS0/serio8/input/input17

xsetwacom listet dann das Gerät auch aus:
% xsetwacom –list devices
Wacom protocol 4 serial tablet          id: 12  type: STYLUS

Die Einbindung in den /dev/input-Baum sieht man auch hier:
% cat /proc/bus/input/devices
….
I: Bus=0013 Vendor=003f Product=0000 Version=5544
N: Name=“Wacom protocol 4 serial tablet“
P: Phys=ttyS0/serio0/input0
S: Sysfs=/devices/pnp0/00:0a/tty/ttyS0/serio9/input/input17
U: Uniq=
H: Handlers=mouse1 event14
B: PROP=0
B: EV=b
B: KEY=c43 0 0 0 0 0
B: ABS=1000003

Schließlich kennt nun auch X sebst das Gerät:
% xinput list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech USB-PS/2 Optical Mouse           id=10   [slave  pointer  (2)]
⎜   ↳ Wacom protocol 4 serial tablet            id=12   [slave  pointer  (2)]

⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
↳ Power Button                              id=6    [slave  keyboard (3)]
↳ Power Button                              id=7    [slave  keyboard (3)]
↳ Logitech USB Keyboard                     id=8    [slave  keyboard (3)]
↳ Logitech USB Keyboard                     id=9    [slave  keyboard (3)]
↳ Eee PC WMI hotkeys                        id=11   [slave  keyboard (3)]

Wenn man soweit ist, muss man nur noch dem X Server sagen, dass er das Gerät auch verwenden soll. In /etc/X11/xorg.conf.d/ muss eine passende Datei abgelegt werden. Bei OpenSuse ist eine solche Datei (50-wacom.conf) schon da und muss nur noch angepasst werden:
Section „InputClass“
Identifier „Wacom serial class“
MatchProduct „Wacom protocol 4 serial tablet“
MatchDevicePath „/dev/input/event*“
Driver „wacom“
Option „Type“ „stylus“
Option „DebugLevel“ „12“
EndSection

andere, nicht benötigte Klassen kann man löschen. Wichtig ist, dass der Wert des Attributs MatchProduct übereinstimmt mit dem, was xinput list als Namen ausgibt. Über diesen Text matcht X das Gerät zu dieser InputClass.
Nach einem Neustart des Servers kann man nun den Cursor mit der Maus (wie vorher) und zusätzlich mit dem Tabletstift bewegen.

Ich habe auch folgende Datei nach /etc/udev/rules.d gespielt, weiss nicht ich mn die braucht:
cat /etc/udev/rules.d/70-serial-wacom.rules
ACTION==“add|change“, SUBSYSTEM==“pnp“, ENV{PRODUCT}==’13/3f/*‘, ENV{NAME}==“Wacom protocol IV serial tablet“,SYMLINK+=“input/wacom“,ENV{ID_INPUT}=“1″,ENV{ID_INPUT_TABLET}=“1″

Aspect Ratio einstellen
Mein Tablet hat ein Aspect Ratio von 1:1 (15240 x 15240 Pixel).
Meine beiden Bildschirme sind unter X mit 3200×1200 Pixeln verfügbar.
Wenn man nun einen sauberen Kreis auf dem Tablet zeichnet, kommt eine platte Ellipse auf dem Bildschirm heraus. Man muss das Seitenverhältnis passend umrechnen. X erlaubt dies auf unterschiedliche Weise.

Erst Infos sammeln:

dennis@dennis-pc:~> xsetwacom get „Wacom protocol 4 serial tablet“ all
Option „Area“ „0 0 15240 15240“
‚Button‘ requires exactly 1 value(s).
Option „ToolDebugLevel“ „12“
Option „TabletDebugLevel“ „0“
Option „Suppress“ „2“
Option „RawSample“ „4“
Option „PressureCurve“ „0 0 100 100“
Option „Mode“ „Absolute“
Option „TabletPCButton“ „off“
Option „Touch“ „off“
Option „Gesture“ „off“
Option „ZoomDistance“ „0“
Option „ScrollDistance“ „0“
Option „TapTime“ „250“
Property ‚Wacom Proximity Threshold‘ does not exist on device.
Option „Rotate“ „none“
Property ‚Wacom Wheel Buttons‘ does not exist on device.
Property ‚Wacom Wheel Buttons‘ does not exist on device.
Property ‚Wacom Wheel Buttons‘ does not exist on device.
Property ‚Wacom Wheel Buttons‘ does not exist on device.
Property ‚Wacom Wheel Buttons‘ does not exist on device.
Property ‚Wacom Wheel Buttons‘ does not exist on device.
Property ‚Wacom Strip Buttons‘ does not exist on device.
Property ‚Wacom Strip Buttons‘ does not exist on device.
Property ‚Wacom Strip Buttons‘ does not exist on device.
Property ‚Wacom Strip Buttons‘ does not exist on device.
Option „Threshold“ „27“
Option „ToolType“ „426“
Option „ToolSerial“ „1“
Option „ToolID“ „0“
Option „ToolSerialPrevious“ „0“
Option „BindToSerial“ „0“
Option „TabletID“ „0“

xinput  listet eine „Coordinate Transformation Matrix“ aus.Genau daas was ich suche 🙂

dennis@dennis-pc:~> xinput list-props „Wacom protocol 4 serial tablet“
Device ‚Wacom protocol 4 serial tablet‘:
Device Enabled (141):   1
Coordinate Transformation Matrix (143): 0.400000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000

Device Accel Profile (266):     0
Device Accel Constant Deceleration (267):       1.000000
Device Accel Adaptive Deceleration (268):       1.000000
Device Accel Velocity Scaling (269):    10.000000
Device Node (262):      „/dev/input/event14“
Wacom Tablet Area (600):        0, 0, 15240, 15240
Wacom Rotation (601):   0
Wacom Pressurecurve (602):      0, 0, 100, 100
Wacom Serial IDs (603): 0, 0, 2, 1, 0
Wacom Serial ID binding (604):  0
Wacom Pressure Threshold (605): 27
Wacom Sample and Suppress (606):        2, 4
Wacom Enable Touch (607):       0
Wacom Hover Click (608):        1
Wacom Enable Touch Gesture (609):       0
Wacom Touch Gesture Parameters (610):   0, 0, 250
Wacom Tool Type (611):  „STYLUS“ (426)
Wacom Button Actions (612):     „Wacom button action 0“ (613), „Wacom button action 1“ (614), „Wacom button action 2“ (615), „None“ (0), „None“ (0), „None“ (0), „None“ (0), „Wacom button action 3“ (616), „Wacom button action 4“ (617)
Wacom button action 0 (613):    1572865
Wacom button action 1 (614):    1572866
Wacom button action 2 (615):    1572867
Wacom button action 3 (616):    1572872
Wacom button action 4 (617):    1572873
Device Product ID (261):        63, 0
Wacom Debug Levels (618):       12, 0

Infos zum Screen:

dennis@dennis-pc:~>  xrandr
Screen 0: minimum 8 x 8, current 3200 x 1200, maximum 16384 x 16384
DVI-I-0 disconnected (normal left inverted right x axis y axis)
VGA-0 connected 1600×1200+1600+0 (normal left inverted right x axis y axis) 408mm x 306mm
1600×1200      60.0*+
1280×1024      75.0     60.0
1280×960       60.0
1152×864       75.0
1024×768       75.0     70.1     60.0
800×600        75.0     72.2     60.3     56.2
640×480        75.0     72.8     59.9
DVI-I-1 connected primary 1600×1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm
1600×1200      60.0*+
1280×1024      70.0     60.0
1024×768       85.0     75.0     60.0
800×600        85.1     75.0     60.3
640×480        85.0     75.0     60.0     59.9

Setzen einer Matrix, die den Tabletbereich auf  den Monitor-bereich 1200×1200 am linken Bildschirm setzt:

xinput set-prop „Wacom protocol 4 serial tablet“ –type=float „Coordinate Transformation Matrix“ 0.375 0 0 0 1 0 0 0 1

Erklärung: 1 0 0 0 1 0 0 0 1 ist die Matrix
100
010
001 . Dies ist die Identitätsmatrix. Damit wird der Tablet-Bereich auf den Gesamtbildschirm umgerechnet. Dies bringt eine starke Zerrung in horizontaler Richtung mit sich.

Ich möchte keinerlei Verzerrung beim Zeichnen. Dann darf der Tablet-Bereich nur auf einen Bereich gemappt werden, dessen Aspect Ratio auch 1:1 ist. Die maximale Ausdehung in Y-Richtung ist bedingt durch die Monitore 1200. Ich kann also einen Bereich 1200×1200 innerhalb meiner 3200×1200 definieren, in den das Tablet verzerrungsfrei gemappt wird. Der Skalierfaktor in X-Richtung ist 1200/3200 = 0.375.
Somit ergibt sich „meine“ Matrix zu:
0.375 0 0
0        1 0
0        0 1 .

und xinput wird so aufgerufen:
xinput set-prop „Wacom protocol 4 serial tablet“ –type=float „Coordinate Transformation Matrix“ 0.375 0 0 0 1 0 0 0 1

Wenn man wieder das volle Mapping haben will (mit Verzerrung):
xinput set-prop „Wacom protocol 4 serial tablet“ –type=float „Coordinate Transformation Matrix“ 1 0 0 0 1 0 0 0 1

Details und Diskussion siehe hier: http://ubuntuforums.org/archive/index.php/t-1656089.html

Nutzung mit Gimp

In Gimp kann man via Einstellungen weitere Eingabegeräte aktivieren. Als ich das für mein Tablet gemacht habe, konnte ich sofort zeichnen, auch mit unterschiedlicher Aufdruckstärke. Die Bedienung ist aber erstmal gewöhnungsbedürftig und vermutlich müssen zusätzliche InputClass-Optionen eingestellt werden, ich habe z.B-. zwei Bildschirme mit zusammen 3200×1200 Pixeln und ich kam mit dem Tablet zwar auf beide Bildschirme, aber nicht ganz bis in die rechte Ecke. Außerdem behinderten sich beide vorhandenen Cursoren gegenseitig, z.B. bei angedockten Dialogen.

Hier mein allererstes Bild, ca, 5 Minuten nachdem das Tablet erstmal lief hingezaubert :-)))

(Etwas infantil, ich gebs zu. Dem gingen allerdings drei Stunden Kernel-Modul Basteleien voran…)

Das Innenleben des Tablets

Chips on Board: W3007F, W5000F, W6001F


Riesige Abschirmung

 


Der Controller

 


Chips on Board: W3007F, W5000F, W6001F. Oben das EPROM 27C512 mit der Firmware. Neuester Datecode 29. Woche 1994.

 

 

 

Den Scanner N-TEK SB 1200 (aka Microtek ScanMaker M3) unterLinux anschliessen

Beim Kauf eines Geräts hat mir ein freundlicher Verkäufer einen alten SCSI-fähigen Scanner quasi mitgeschenkt. Ich habe dann irgendwann versucht, den Scanner in Betrieb zu nehmen. Leider ist im Internet praktisch nichts zu diesem Scanner zu finden – wenn man ihn unter seinem aufgedruckten Namen sucht.

Des Rätsels Lösung ist, dass es sich um einen „Microtek ScanMaker M3“ handelt. Die Firma Mikrotek hat diesen Scanner Ende der 90iger Jahre unter diversen Handelsbezeichnungen verkauft. Die Herkunft ergibt sich, wenn man das Gerät öffnet. Auf der Hauptplatine steht dann als Hersteller Microtek. Ein Vergleich mit alten Produktbildern ergab dann, dass es sich um den ScanMaker M3 handelt.

Der Scanner von außen. Auch der Scanmaker hat die Griffmulde mittig vorne und die beiden Leds (grün/gelb) vorne rechts.

Hier die Hauptpatine, die den Hersteller offenbarte. Der Text „TR-952“ und sonstige weitere aufgedruckte Daten führten leider nirgendwo hin.

Installation mit sane

Das Programm, mit dem dem man unter Linux Scanner nutzt, heißt sane. Dieses wird über zwei Konfigurationsdateien gesteuert:
1) /etc/sane.d/dll.conf : Diese Datei verweist auf alle verfügbaren Scanner. Dort steht für einen Microtek-Scanner folgendes:

...
 #ma1509
 #matsushita
 microtek
 #microtek2
 #mustek
 #mustek_pp
 ...

D.h. alle Einträge für Scanner, die nicht vorhanden sind, werden auskommentiert.

2) Sane sucht dann im selben Verzeichnis nach der Datei „microtek.conf“, die ich wie folgt abgeändert habe:

socraggio:/etc/sane.d # cat /etc/sane.d/microtek.conf
 # Uncomment following line to disable "real calibration" routines...
 #norealcal
 # Uncomment following line to disable "clever precalibration" routines...
 #noprecal
 #   Using "norealcal" will revert backend to pre-0.11.0 calibration code.
 scsi * * Scanner
 #/dev/scanner

Damit sucht sane den Scanner unter allen Scsi-Devices. Der Scanner übermittelt einen Identifier, der hier als „Scanner“ eingetragen ist. Den übermittelten Text kann man wie folgt ermitteln:

dennis@socraggio:~>  grep -i scanner /var/log/boot.msg
<5>scsi 10:0:2:0: Scanner           CANON    IX-27015C        1.17 PQ: 0 ANSI: 2
<5>scsi 10:0:3:0: Scanner                    Scanner          1.50 PQ: 0 ANSI: 4 CCS

Ich habe zwei Scanner angeschlossen, daher ist der Check auf den richtigen Identifier wichtig.

Mit scanimage lässt sich die Verfügbarkeit des Scanners testen:

socraggio:/etc/sane.d # scanimage -L
device `microtek:/dev/sg4' is a Microtek ScanMaker E3 flatbed scanner
device `canon:/dev/sg3' is a CANON IX-27015C        film scanner

(Achtung: Der Scanner muss eingeschaltet sein, wenn der Rechner gestartet wird!!! Sonst wird er nicht erkannt)

Nun lässt sich mittels Gimp -> Datei -> Holen vom Scanner ein Bild einscannen.

Für den Scanner sind übrigens auch über Umwege Treiber bis Windows XP vorhanden (von Adaptec (SCSI-Treiber) und MicroTek (Scanner-Treiber)). Ich habe das aber nicht weiter getestet.

Nachtrag: Einbinden des Microtek ScanMaker X6

Dies ist ein etwas neuerer Scanner als der oben beschriebene. Er meldet sich beim booten wie folgt:

dennis@socraggio:~/02_fotos/2010_06_roedelheim> dmesg|grep -i scsi
...
[   20.849299] scsi 10:0:6:0: Scanner                    Scanner 636A4    1.30 PQ: 0 ANSI: 2
[   20.849312] scsi target10:0:6: Beginning Domain Validation
[   20.886924] scsi target10:0:6: Ending Domain Validation
...
[   25.536091] scsi 10:0:6:0: Attached scsi generic sg4 type 6
..

In /etc/sane.d/dll.conf ist der Treiber „mikrotrek2“ zu enablen (statt „mikrotec“ wie oben). Ein /etc/sane.d/microtek2.conf soll in etwa wie foigt aussehen:

socraggio:/home/dennis # cat /etc/sane.d/microtek2.conf
 # Uncomment following line to disable "real calibration" routines...
 #norealcal
 # Uncomment following line to disable "clever precalibration" routines...
 #noprecal
 #   Using "norealcal" will revert backend to pre-0.11.0 calibration code.
 scsi * * Scanner
 #/dev/scanner

Dann sollte scanimage folgendes bringen:

socraggio:/home/dennis # scanimage -L
device `microtek2:/dev/sg4' is a Microtek ScanMaker X6 / Phantom 636 flatbed scanner

Danach ist auch damit scannen möglich.

Transferraten mit USB, SATA, LAN und intern

Dies ist ein historischer Artikel von ca. 2010.

Wer sich mit dem Gedanken trägt, Backups auf einem externen Gerät durchzuführen, hat die Wahl zwischen externen  Platten, die mittels USB, LAN oder SATA angebunden werden können. Hierfür existieren spezielle Leergehäuse. Die LAN-Gehäuse kosten dabei deutlich mehr als die anderen Varianten. Alternativ ist auch die Nutzung eines zweiten Mini-PCs via LAN  möglich, den man im Internet günstig ersteigern kann.

Im folgenden sind unterschiedliche Szenarien gegenübergestellt, bei denen Dateien kopiert werden und die Transferraten gemessen wurden. Mit externen SATA-Platten wurde keine Messung gemacht mangels SATA-Gehäuse.

Ergebnis

Während beim internen Kopieren (also von Harddisk zu Harddisk innerhalb eines Rechners) fast 60 MByte/s erreicht werden, fallen alle anderen Technologien deutlich ab.

Die als externe Harddisk angeschlossene 2,5“ USB-Disk kommt mit 8,7MByte/s nur auf einen Bruchteil (knapp 10%) der theoretisch möglichen 60MByte/s (entspricht 480MBit/s). Da ist sogar die extern gemountete LAN-Platte des Mini-PCs schneller, die mit 10,5MByte/s immerhin 84% der theoretisch möglichen 12,5MByte/s (entspricht 100MBit/s) erreicht. Eine externe, LAN-fähige Platte kommt da auch nicht mit und erreicht sogar nur 3.5MByte/s. Diese Platten werden z.B. von Longshine angeboten und beinhalten einen Microcontroller, auf dem ein proprietäres Betriebssystem oder auch Linux (bei Longshine) läuft. Durch die niedrige Taktrate des Controllers ist für die Transferrate wohl mehr als der Wert, den ich in Foren im Internet gefunden habe, nicht drin.

Nachtrag 2007: Mit einer externen, über USB angeschlossenen 3,5“ Harddisk wurden deutlich höhere Werte als mit der 2,5“ Notebookplatte erreicht. Die verwendete 3,5“ Platte war ein 20GByte Seagate Baracuda Modell aus 2001, ATA4-fähig, also nicht ganz neu und von daher eher langsam. Dennoch wurden 28MByte/s Transferrate erreicht. Die früher getestete Notebookplatte fällt daher mit ihren 8,7MByte/s vermutlich aus dem Rahmen, sie ist besonders langsam. Dies ist vermutlich dem gewünschten niedrigen Stromverbrauch und der möglichst geringen Lautstärke von Notebookplatten geschuldet.

Ich habe in 2007 mein LAN auf Gigabit umgestellt und auch Messungen gemacht. Dies habe ich hier beschrieben.

Nachtrag 2008: Auf einer etwas neueren Plattform habe ich 2008 Messungen mit einer externen, über E-SATA angeschlossenen Harddisk gemacht. SATA bietet die Möglichkeit, neben internen Platten auch externe anzuschließen. Dafür gibt es spezielle, abgeschirmte Kabel, bei denen Längen bis ~2m möglich sind. Ich habe ein externes Gehäuse gekauft, dass 2 SATA.-Platten aufnimmt. Das Fantec MR-35DUS2 hat einen eigenen internen SATA-Controller. Dieser kann eine oder zwei eingesteckte, schnell und ohne Schrauben wechselbare Platten verwalten. Er kann die Platten in verschiedenen Modi betreiben ( RAID0, RAID1, BIG, JBOD).

Das Fantec MR-35DUS2 für 2 SATA-Platten mit E-SATA und USB Anschluss

Ich habe nur eine Platte eingesteckt und gemessen. Es sind im Schnitt über 60MByte/s möglich. Damit ist E-SATA bei meinen Tests der klare Sieger und genauso schnell wie interne Platten. Ein einem anderen Bericht im Internet habe ich gelesen, dass jemand mit zwei Platten in RAID0 sogar 110 MByte/s erreicht hat.

Fazit

Somit erscheint die Variante mit einem externen E-Sata Laufwerk optimal. Als zweitbeste Lösung erscheint ein Mini-PC. Mini-PCs gibt es z.B. von Siemens (Scovery) oder von HP. Der Mini-PC lässt sich problemlos mit einer leichtgewichtigen Linux-Distribution (z.B. Zenwalk) bestücken.
Mit Gigabit-Ethernet wird die LAN-Variante weiter an Attraktivität gewinnen. Der begrenzende Faktor bei Gigabit-Ethernet wird dann wieder die Platte selbst sein, so dass Transferraten wie intern möglich sein sollten.
Externe Harddisks sind dann vorzuziehen, wenn Mobilität gefragt ist.

Medium Quelle Medium Ziel Verbindungstechnik Volumen
[MByte]
Übertragungs-
dauer [s]
Transferrate
[MByte/s]
interne HD
UDMA 133
Linux reiserfs3
interne HD
SATA-1
Linux reiserfs3
intern (SATA/IDE) 1079 18,9 57
interne HD
UDMA 133
Linux reiserfs3
externe HD 3,5“
DOS FAT32
USB2 (Externes Festplattengehäuse: Power Mobile Harddisk. Chip: Cypress Semiconductor Corp. USB-2.0 IDE Adapter) 2045 73 28
interne HD
UDMA 133
Linux reiserfs3
externe HD 2,5“
DOS FAT32
mount mit „async“
USB2 (Externes Festplattengehäuse: No Name. Chip: Genesys Logic, Inc. USB 2.0 IDE Adapter) 1950 223 8,7
interne HD
UDMA 133
Linux reiserfs3
externe HD via NFS
Linux reiserfs 4
mount mit „sync“
Fast Ethernet 100MBit/s 1079 308 3,5
interne HD
UDMA 133
Linux reiserfs3
externe HD via NFS
Linux reiserfs 4
mount mit „async“
Fast Ethernet 100MBit/s 1079 103 10,5
interne HD externe LAN-fähige
Harddisk
Longshine
Linux ext3
Fast Ethernet 100MBit/s unbekannt unbekannt 3,5
(Wert aus Internet)

Getestet wurde mit folgenden Geräten:
Quellrechner:
CPU: Intel Pentium 4 3.0 Ghz, RAM: 1024 MB PC400 DDR, Board: ASRock P4V88 (SATA RAID 8xUSB). Betriebssystem: OpenSuse 10.0.
Zielrechner:
CPU: Intel Celeron 900Mhz, RAM: 512MB PC133 SDRAM, Board: Siemens Scovery XS D1215. Betriebssystem: Zenwalk Linux 2.0.1.

 

Medium Quelle Medium Ziel Verbindungstechnik Volumen
[MByte]
Übertragungs-
dauer [s]
Transferrate
[MByte/s]
interne HD
SATA-II
Linux OpenSuse 11.0
ext3
externe HD
SATA-II
ext3
E-SATA verschiedene Dateien von 0,2-2,8GB unterschiedlich 60,5 im Schnitt (45..77)

Getestet wurde mit folgenden Geräten:
Quellrechner:
CPU:Intel Quad Core 2,4GHz, RAM: 2048 MB PC400 DDR. Betriebssystem: OpenSuse 11.0.

 

VirtualBox unter OpenSuse 11.x

Dies ist ein historischer Artikel von 2010.

Von VMWare zu VirtualBox…

VMWare läuft gut unter Linux. Es ist schnell und bindet sich gut in die vorhandene Hardware ein. Ich konnte sogar auf die vorhandenen seriellen Schnittstellen zugreifen.

Nachteil von VMWare war aber immer, das die VMWare Server Version, die bei VMWare herunterzuladen ist, meist nicht zum vorhandenen OpenSuse Kernel passt. Der Kernel ist meist „zu neu“ für VMWare. Dies hat den Effekt, dass VMWare bei der Installation, die manuell erfolgen muss, Kernel Module neu compilieren muss. Die kann man mal machen, ist eigentlich nicht so schlimm.

Leider muss diese Prozedur immer wiederholt werden, wenn beim einem Systemupdate eine neue Kernelversion mitkommt. Dies führt dazu, dass ich alle paar Wochen die manuelle Installationsprozedur von VMWare Server starten musste. Am Ende muss dann auch immer noch der (kostenlose) Lizenzkey eingegeben werden, alles in allem eine nervige und aufwendige Prozedur.

In den letzten drei Jahren kam es leider auch mehrfach vor, dass VMWare eine Zeitlang gar nicht installierbar war, weil es bei der Nachcompilierung zu Fehlern kommt und die Kernelmodule nicht erstellt werden können. Es gibt dazu die inoffiziellen(?) „any-to-any“-Patches, die VM-Ware für neuere Kernel-Versionen fit machen. Das Beschaffen der Patches und das Checken, ob sie für Kernel+VMWare Version ordentlich passen, ist dann immer eine Bastelarbeit.

Installation

Im Frühjahr 2010 trat die Situation wieder auf, ich konnte die neueste VMware Version nicht auf meinem OpenSuse 11.2 installieren.

Diesmal habe ich VirtualBox eine Chance gegeben.

Vor einiger Zeit hatte ich das schon mal probiert, aber damals musste man die Netzwerk-Konfiguration des Host-Rechners verändern, um unter dem Gast Networking verwenden zu können, was ich damals nicht tun wollte.

Dies ist in der aktuellen Version 3.2.6 vom VirtualBox nicht nötig. Unter OpenSuse kann einfach via YasT nachinstalliert werden. Nach der Installation hat man eine Verwaltungsfenster, in dem die Virtuellen Maschinen sichtbar sind und von dort aus gestartet, gestoppt und verändert werden können.

Import vorhandener VMware VMs

Vorhandene VMWare-VMs können tatsächlich importiert werden. Das Import-Format ist OVF, soweit ich verstanden habe eine Art Standard, um eine VM strukturiert zu verpacken. Es gibt von VMWare einen Skript, OVFTOOL, den man sich bei vmware herunterladen kann. Nach Start des heruntergeladenen sh-Skripts entpackt sich das Tool und installiert sich in ein wählbares Verzeichnis. Eine vorhandene VMWare-VM kann dann mittels ovftool /dir-der-vorhandenen-vmware zieldatei in das Standardformat konvertiert werden.

VirtualBox bietet einen Punkt „Importieren“ an, der das Importieren der VM im Standardformat erlaubt. Ich habe dies für eine VM gemacht und es hat gut funktioniert.

Nutzung

Das Handling ist genauso bequem wie mit VMWare Server. In untigem Bild wird gerade OpenSuse 11.3 64 Bit installiert.

Gast Erweiterungen

<noch offen>

Stabilität

Mit meinen beiden ersten VMs (Windows XP Professional) habe ich keine Abstürze oder anderen unangenehmen Effekte gehabt. Das ganze wirkt sehr stabil.

Konvertierung von VirtualBox VMs nach VMware VDMK

Warum braucht man das? Ich arbeite zuhause mit virtualbox, muß aber bei meinem Arbeitgeber VMware nutzen. Daher brauche ich auch den Weg von Virtualbox VM (im .vdi-Format) zum .vmdk-Format oder irgenbdwas anderem, was VMware versteht.
Laut Internet Foren soll das mittel VBoxManage. Beispiellink:
http://communities.vmware.com/thread/197423

VBoxManage clonehd          <uuid>|<filename> <outputfile>
[–format VDI|VMDK|VHD|RAW|<other>]
[–variant Standard,Fixed,Split2G,Stream,ESX]
[–type normal|writethrough|immutable]
[–remember] [–existing]

Evtl. auch
VBoxManage export           <machines> –output|-o <ovf>
[–legacy09]
[–vsys <number of virtual system>]
[–product <product name>]
[–producturl <product url>]
[–vendor <vendor name>]
[–vendorurl <vendor url>]
[–version <version info>]
[–eula <license text>]
[–eulafile <filename>]

<noch auszuprobieren>

Fazit

VirtualBox ist mittlerweile ausgereift und kann ganz simpel installiert werden. Es sind keine Nacharbeiten nötig. Es ist besser in das Linux-Restsystem integriert als VMWare Server, insbesondere treten beim Wechsel des Kernels nicht die VMware-üblichen Probleme auf. Ich habe nach einiger Zeit die Reste von VMware aus meinen Linux-Installationen entfernt.

VMWare Server 2.0 unter OpenSuse 11.0

Hinweis: Dies ist ein historischer Artikel. Mittlerweile empfehle ich eher die Nutzung von VirtualBox. Siehe Beitrag VirtualBox

Seit einiger Zeit arbeitet VMWare an der 2.0-Version des VMWare Servers. Diese bietet eine verbesserte Nutzung der Ressourcen des Hosts durch den Gast und kommt mit einer neuen Administrationsoberfläche, die nun webbasiert ist.

Da in meiner Konfiguration (OpenSuse 11.0 mit KDE4 auf Quad Core CPU) der Betrieb von VMWare sehr instabil war, habe ich die 2.0 Beta Version ausprobiert. Die Instabilität kommt übrigens von der Nutzung von KDE4. Auf dem Rechner ist parallel auch KDE 3.5 installiert, damit gibt es keine Probleme. Da ich aber auf KDE4 umgestiegen bin, ist das für mich keine Lösung.

Installation des VMWare Servers 2.0 Beta RC2

Man kann sich bei vmware ein RPM (oder auch ein tar.gz)-File herunterladen. Dieses lässt sich mittels    rpm -ivh VMware-server-2.0.0-110949.x86_64.rpm installieren. Vorher ein evtl. vorhandenes altes Paket deinstallieren (rpm -e VMware-server-1.0.6-91891 o.ä.). Nach Installation muss VMWare Server konfiguriert werden, dies geschieht mittels des üblichen Perl-Skripts von VMWare:
/usr/bin/vmware-config.pl

Wie immer passt keines der vorhandenen Kernel-Module, so dass VMWare mehrere Module compiliert. Es gibt auch Warnungen:
WARNING: „VMCIDatagram_CreateHnd“ [/tmp/vmware-config0/vsock-only/vsock.ko] undefined!
WARNING: „VMCIDatagram_DestroyHnd“ [/tmp/vmware-config0/vsock-only/vsock.ko] undefined! WARNING: „VMCI_GetContextID“ [/tmp/vmware-config0/vsock-only/vsock.ko] undefined!
WARNING: „VMCIDatagram_Send“ [/tmp/vmware-config0/vsock-only/vsock.ko] undefined!

Ansonsten bleibe ich überall bei den Defaults, nutze nur Bridged Networking und erhalte einen lauffähigen Server, der sich sofort startet.

Nutzung

Die Fat-Client-Anwendung VMWare Server Konsole ist durch eine webbasierte GUI ersetzt. Der zugehörige Webserver läuft unter den Ports 8222 (http), 8333 (https) und 902 (für remote Connections, vermutlich mit dem alten Fat Client?, habs nicht probiert).

Nach dem Aufruf der URL erhält man folgende GUI. Die Optik ist der der alten Konsole durchaus ähnlich:

Die webbasierte Administationsoberfläche von VMWare Server 2.0. (Nein, ich habe keinen Rechner mit 6,4GHz. Eventuell
werden die gerade aktuellen GHz-Werte des Quad-Cores aufaddiert oder die Zahl ist einfach falsch)

Unter dem Reiter „Console“ kann auf die VM zugegriffen werden. Die Webanwendung möchte dazu ein Plugin im Firefox installieren, was ich gemacht habe. Direkt danach kann man auf die VMs zugreifen. Das Handling ist gefühlt deutlich besser.

Hier habe ich zwei VMs gestartet, meine Windows XP-Installation und eine gerade laufende OpenSuse-Server-Installation.
Wie man am ksensors-Fenster erkennen kann, brauchen 2 Gäste und der Host zusammen nur 1097MB Speicher.

Erstes Fazit

Der RC2 vom VMWare Server 2.0 Beta läuft bei mir problemlos. Es gab keinerlei Abstürze, Einfrieren von VMs etc. Diese hatte ich unter KDE4.0 mit VMWare Server 1.0.6 am laufenden Band.