In der Arbeit durfte ich in der letzten Zeit mich ein wenig mit den diversen Fake-RAID-Controllern beschäftigen und wie gut diese unter Linux unterstützt sind. Die Ergebnisse sind leider wenig begeisternd.
Category Archives: Kernel
Sound-Desaster
Die Aufgabe war eigentlich ganz einfach: Schließe ein Mikrofon an die Soundkarte des Rechners an und nimm darüber was auf. Die Umsetzung war allerdings ein Drama in mehreren Akten.
Update von Lenny auf Squeeze
Gestern und heute habe ich meinen Arbeitsrechner daheim endlich auch von Lenny nach Squeeze hochgezogen. Vorher gab es erstmal ein Backup von /etc und /home und dann die Prozedur des “apt-get upgrade” und “apt-get dist-upgrade”. Und nach dem ersten Reboot dann die Checkliste, was alles noch funktioniert und was nicht.
Von Lenny nach Squeeze
Letztes Wochenende wurde das lange erwartete Debian 6.0 (Squeeze) freigegeben. Da habe ich mir dann am Montag gesagt “no risk, no fun” und auf meinem Bürorechner einfach mal das Upgrade gestartet.
Los gehts
Der Bürorechner ist eine kleine Workstation und tut seit Etch seinen Dienst. Als vor zwei Jahren Lenny rauskam habe ich ihn auf Lenny hochgezogen und nun war das Upgrade auf Squeeze fällig. Also erst mal die /etc/apt/sources.list umgestellt und statt Lenny überall Squeeze eingetragen. Das “aptitude safe-upgrade” brauchte dann erst mal einige Minuten um zu entscheiden, welche Pakete alles hochgezogen werden müssen. Dann der Download der zahlreichen Pakete der sich über einige Zeit erstreckte. Zum Glück kann man ja auch bei einem solchen Upgrade problemlos weiterarbeiten, das ist was wovon die Kollegen mit Windows-Rechnern die beim Starten öfter mal eine Gedenkminute einlegen für Updates nur träumen können. Das “safe-upgrade” hat natürlich etliche Pakete zurückgehalten die ich dann in einem zweiten Anlauf mit “aptitude dist-upgrade” dann aktualisiert habe.
Dist-Upgrade
Hier kam dann auch gleich die erste Situation die mich ins Schwitzen brachte. Im Zuge des Updates wird der Bootloader Grub durch Grub2 ersetzt und das erfordert, dass die Einstellungen von Grub ins neue Grub2 übernommen werden. Man erhält einen Dialog der sagt, man möge nun überprüfen ob die importierte Kernel-Befehlszeile richtig ist und sie gegebenenfalls anpassen und als Zeile sieht man eine Leerzeile. Was bitteschön soll da stehen? Selbst ich als Profi komme da ins Grübeln was mir dieser Dialog mitteilen will, also Augen zu und durch, einfach mik “OK” weiter und sehen was passieren wird. Diese Phase dauerte auch nochmal ein paar Stunden und nach dem Essen kam dann der erste Reboot mit dem neuen 2.6.32-Kernel.
Reboot
Der Reboot brachte dann erst mal wieder den alten Grub der danach dann den neuen Grub per Chainloader nachlud. Von da aus dann in den neuen Kernel, denn einen alten Kernel konnte ich in den Grub-Menüs dank nicht funktionierender Cursortasten gar nicht auswählen. Dieses Problem hatte seine Ursache in der USB-Tastatur die im BIOS nicht als “legacy”-enabled eingestellt war, setzt man das im BIOS richtig, dann funktionieren auch die Tasten im Bootloader.
Die erste Ernüchterung kam dann beim Start, denn der X-Server wollte nicht starten, obwohl das nvidia-Kernel-Modul und der glx-Treiber installiert waren. Den Grund fand ich dann im Syslog, denn Squeeze aktualisiert auf die 195er-Version des Treibers und der ist für meine alte Quadro-FX1300 zu neu, da braucht es die ebenfalls als Paket vorhandene Version 173xx, die ja auch bei Lenny eingesetzt war. Nachdem diese Version installiert war funktionierte der X-Server auch und das erste was ich bemerkte war, dass KDE4 mit “nur einem Gigabyte RAM” nicht wirklich Spaß macht. Aber es war Zeit für den Feierabend und den Vorsatz, am nächsten Morgen erst mal den Speicher aufzurüsten.
KDE4 oder Gnome
Am nächsten Morgen bekam die Kiste dann erst mal 4 GB RAM verpasst und damit lässt es sich ganz gut arbeiten. Jetzt ging es an die Applikationen, geht noch alles was vorher ging. Der erste Kandidat war der Pdigin, das Instant Messaging Programm aus Gnome. Das hatte ich unter Lenny selbst gebaut weil ich da das damals nicht vorhandene SIPE-Plugin brauchte um den in der Firma verwendeten Office-Communicator von Microsoft als Server nutzen zu können. Nun liefert Squeeze das ja mit, nur wollte diese Version nicht richtig funktionieren weil er wohl beim Start eine veraltete Library (nämlich die selbstgebaute in /usr/local/lib) nutzen wollte. Also mal kurz den Pfad raus und ldconfig aufgerufen und schon startete Pidgin wenigstens, behauptete aber, auf eine Verbindung zu warten. Die Ursache für dieses Verhalten liegt darin, dass meine Kiste mit festen IP-Adressen in /etc/network/interfaces versorgt wird, aber das Upgrade trotzdem irgendwie den NetworkManager angezogen hat. Und wenn NetworkManager läuft, dann will das neue Pidgin wohl offensichtlich unbedingt ein vom NetworkManager verwaltetes Netz nutzen und das gibt es natürlich nicht. Das habe ich dann unter Gnome probiert und nach der Deinstallation des NetworkManagers und der abhängigen Pakete funktionierte dann das neue Pidgin. Also zurück nach KDE.
KDE4 geht nicht mehr
Die Ernüchterung folgte auf dem Fusse. KDE4 startet kurz an wenn man sich in KDM einloggt und dann sieht man wieder den KDM-Screen. Ich habe dann mal spaßhalber erst mal alle KDE-Pakete weggeworfen und neu installiert, aber gebracht hat es gar nix. Also doch mal nach sachdienlichen Hinweisen suchen. Diese findet man in der Datei “~./xsession-erors”, hier mosert der X-Server ein nicht gefundenes Symbol in der libGL.so.1 an. Hey, eine solche Library lungerte auf der Kiste auch in /usr/local/lib rum, kam irgendwann zu Etch-Zeiten mit der manuellen Installation des nvidia-Treibers da wohl hin. Und siehe da, wenn /usr/local/lib in ldconfig drin ist, dann funkionierte KDE wieder. Erst mal beiseite gelegt und weitergemacht. Was ich hin und wieder auch nutzen muss ist der ICAClient von Citrix um auf Windows-Terminalserver zuzugreifen. Das geschieht bei uns über eine Web-Applikation die die Sessiondaten bereitstellt welche dann vom Citrix-Receiver ausgewertet werden. Ausprobiert und Fehlanzeige. Erst mal dauerte der Aufbau dieser Webseite ewig und das npica.so-Plugin wollte nicht so recht. Ein ldd auf wfcmgr im Verzeichnis des ICAClient zeigte dann auch, dass er keine libXm.so.4 fand. Die kann man sich aus dem libmotif4-Paket für i386 von sid holen und dann nach /usr/lib32 kopieren. ldd mosert dann zwar nicht mehr, aber funktionieren tut das Plugin deswegen immer noch nicht. Um das zu beheben musste ich nochmals “nspluginwrapper -i /usr/lib/ICAClient/npica.so” aufrufen, danach ging es wieder.
Direct Rendering: No
Der nächste Knackpunkt war die 3D-Hardwarbeschleunigung. glxinfo meldete permanent “Direct-Rendering: No” und ich wusste nicht warum. Dann habe ich mal die verschiedenen libGL-Stände gesucht und gesehen, dass via /etc/alternatives die libGL auf die richtige 173er-Version verlinkt (unter /usr/lib/nvidia), die libGL.so.1 aber wohl auf die vorher von Lenny vorhandene Version zeigte die vom Installskript dann unter /usr/lib/nvidia/diversions abgelegt wurde. Also das totale Kuddelmuddel an GL-Bibliotheken. Als ich das ein wenig aufgeräumt hatte und alle Verlinkungen auf die “richtige” 173er-Version gebogen habe war dann Direct Rendering auch wieder eingeschaltet und mit einem mal gingen die Desktopeffekte.
Bacula-Backup
Der nächste Knackpunkt ist Bacula. Unter Lenny habe ich eine Version 2.4.4 auf meinem Büro-PC und dem Server der die Backups macht installiert. Mit Squeeze ist ist nun bacula-fd auf dem Client in einer Version 5.x vorhanden und das gemeine ist, dass die sich nicht mehr mit dem Bacula-Director in der alten Version unterhalten will. Aber den Server will ich jetzt nicht auch noch updaten, denn der ist momentan “business critical” und da will ich keine Downtime wegen ähnlicher Überraschungen. Also werde ich wohl die Bacula-Pakete auf dem Server hochziehen müssen, die sind in Lenny-Backports mittlerweile auch in der Version 5 drin.
Fazit
So ganz schmerzfrei ging das Upgrade nicht, aber trotzdem kann ich nach 2 Tagen sagen, alles ist wieder funktionsfähig und die Anwendungssoftware wie OpenOffice oder GIMP sind nun auf einem relativ aktuellen Stand. KDE4 ist noch etwas gewöhnungsbedürftig, funktioniert mit 4 GB aber relativ gut. Auf Maschinen mit weniger als 1 GB ist aber KDE4 definitiv der Overkill, hier sollte man dann vielleicht auf einen “leichteren” Desktop wie z.B. LXDE umsteigen.
Und ehrlich gesagt, es hat Spaß gemacht. Die kleinen Widrigkeiten beim Upgrade sehe ich eher als Denksportaufgabe an die das Gehirn in Form hält und freue mich, für jedes Problem auch eine Ursache (root cause) und Behebung gefunden zu haben. Ohne so was wäre es ja wirklich langweilig. Danke an das Debian-Team für die neue Version.
Warum ich Windows nicht mag
Heute war wieder so ein Tag der mich in meiner Abneigung von Windows bekräftigt hat. Was ist passiert? Meine Frau wollte unser USB-Midi-Keyboard welches ich mal günstig eingekauft habe an ihrem Laptop zum Noteneingeben nutzen. Der Laptop hat das superneue Windows 7 drauf und ich dachte, sollte ja kein Problem sein, aber ich habe die Rechnung ohne Microsoft gemacht. Der Gerätemanager zeigt mir das Ding an, mit gelbem Warnsymbol und sonst nix. Treiber gibts wohl nicht.
Stecke ich das Midi-Keyboard hier an meine Linux-Kiste, dann übernimmt der snd_usb_audio-Treiber die Arbeit und es funktioniert einfach. Der Treiber wird dabei gar nicht über Vendor- und Device-ID aktiviert sondern über den läppischen Classcode 1 (Audio) und Subclass 3 (MIDI Streaming). Und dann kann ich das Ding einfach benutzen ohne mir Gedanken machen zu müssen.
An der Windows-Front habe ich eine ganze Weile die Suchmaschinen strapaziert um rauszufinden, dass ich nicht alleine bin und man seit Vista wohl die Treiber für MIDI eingespart hat. Fazit: In der Zeit in der ich bei Windows vergeblich nach einer Lösung gesucht habe hätte ich auf einer Kiste auch Linux installiert.
Und Plug & Play kann man bei Windows 7 wohl wieder Plug & Pray nennen. Da bin ich einfach froh um mein Linux, da weiß ich wenigstens warum es funktioniert und sehe sogar intime Infos zu dem Ding. Bei Windows habe ich hingegen keinerlei sachdienliche Hinweise wie z.B. Vendor und Device-ID gesehen.
Sound spinnt nach Update auf Lenny
Neulich habe ich endlich auch den Rechner von Cristina von Etch auf Lenny aktualisiert. Die riesige Nebenwirkung davon war, dass der Sound sich danach sehr seltsam verhielt. Ein Rumspielen mit den Mixer-Settings zeigte dann, dass PCM total übersteuert war und die Lautsprecherboxen nur auf den “Front”-Regler reagierten. Gar nicht schön.
Was also ist anders zwischen Etch (wo das problemlos ging) und Lenny? Da hilft ein Blick in die Datei “/usr/share/doc/alsa-base/driver/ALSA-Configuration.txt.gz”. Und das wissen dass die Soundkarte in ihrem PC einen ALC260-Codec benutzt. Letzteres krieg man ja raus, wenn man in “/proc/asound/card#0″ nach einer Datei mit den Infos zum Codec sucht.
Gucken wir dann in die ALSA-Dokumentation zum Treiber “snd-hda-intel”, dann steht da für den ALC260 folgendes:
ALC260 hp HP machines hp-3013 HP machines (3013-variant) fujitsu Fujitsu S7020 acer Acer TravelMate will Will laptops (PB V7900) replacer Replacer 672V basic fixed pin assignment (old default model) test for testing/debugging purpose, almost all controls can adjusted. Appearing only when compiled with $CONFIG_SND_DEBUG=y auto auto-config reading BIOS (default)
Der default beim aktuellen 2.6.26-Kernel in Lenny ist also “auto”, früher war das “basic”. Daher habe ich mal einen Versuch mit diesem Model “basic” (eingetragen als Option für das Modul in “/etc/modprobe.d/sound”) gestartet und siehe da, der Sound tut wieder so gut wie früher.
Probleme mit der Soundkonfiguration
Als ich gestern abend so richtig schön mit der Webcam gespielt habe wollte ich auch gucken, ob das was “luvcview” als Video aufnimmt auch mit Tonspur kommt. Kommt es nicht, aber ges gibt ja genügend Sound-Recorder unter Linux und ich habe dann mal geschaut, ob das USB-Mikrofon von “Krec” oder “audacity” erkannt wird. Letzteres Programm kann das, aber irgendwann später merkte ich, daß ich bei YouTube-Videos keinen Ton mehr hatte und daß die KDE-Systemklänge auch nicht mehr klingen wollten.
Lenny-Update beendet
So, seit gerade eben rennt meine Kiste mit Lenny. Das Update war zeitintensiv da ich dank der vielen installierten Pakete ca. 3 GB an Updates ziehen mußte und trotzdem konnte ich die meiste Zeit einfach ganz normal weiterarbeiten und die Leute im IRC waren ein wenig neidisch.
Dann hat es aber doch gekracht und die Kiste hat mir einen Kernel-Panic um die Ohren gehauen, wohl ein Problem mit noch nicht richt auflösenden Dependencies oder ein Problem im nVidia Graphiktreiber.
Egal, reboot mit dem alten Kernel und einfach weitermachen, dann halt im Textmodus. Und nach ein wenig Paket-Konfigurieren und Installieren der nVidia-Pakete klappt das auch mit dem Graphikmode wieder.
Auch der Scanner tut ohne Probleme. Ebenso die DVB-Karte. Und die Webcam tut auch out-of-the-box. Jetzt gehe ich aber erst mal schlafen und um die Anwendungsseite kümmere ich mich dann morgen.
Update auf Lenny
Gerade eben habe ich das Update meiner Arbeitskiste hier daheim von Etch auf Lenny angestoßen. Bin mal gespannt, wie schmerzfrei das gehen wird. Kandidaten für Probleme sehe ich hier:
- nVidia Treiber (gibts jetzt als Binary-Paket, sollte einfach tun)
- Scanner (bei Etch mußte ich da ein Wrapper-Skript nutzen)
- Webcam (mal sehen ob man die Module wieder selber compilieren muß)
- DVB-T-Karte. Die sollte hoffentlich schmerzfrei weiter funktionieren, immerhin aktualisiere ich den Kernel von 2.6.22 auf 2.6.26.
Aber Zeit wird es, da Lenny ja schon fast ein halbes Jahr draußen ist. Und Debian will ja jetzt feste Releasezyklen machen, da sollte ich dann schon mal updaten bevor Squeeze zu stable wird.
Auf der Softwareseite wird es wohl auch ein paar Anpassungen erfordern. Eines das mir spontan einfällt ist PostgreSQL welches die Basis für LX-Office darstellt. Das habe ich aber prinzipiell schon auf meinem Notebook durchgenudelt und wieder zum Laufen gebracht.
Na ja, der FTP-Download für “aptitude upgrade” dauert noch ungefähr 40 Minuten und wenn das durch ist kommt “dist-upgrade” und danach sollte es ausgestanden sein.
USB MIDi Kabel und Linux
Am Wochenende habe ich mir ein USB-MIDI-Kabel besorgt damit ich mal ein wenig die MIDI-Fähigkeiten von Linux ausprobieren kann. Bei MusicWorld konnten sie allerdings nicht sicher sagen, ob das Kabel mit Linux funktionieren wird, also bin ich da nochmals mit meinem Notebook angerückt und wir haben das gleich vor Ort ausprobiert. Die Ausgabe von dmesg hat immerhin verraten, dass der Kernel das Ding erkennt und wohl auch einen Treiber lädt, also habe ich das Ding gekauft und nach Hause genommen.