(Halb-)Defekte Hardware unter Linux

Posted on the July 1st, 2007 under adminlife by stefan

Da wollte ich Skype unter Linux ausprobieren, doch mir wurde ein Strich durch die Rechnung gemacht. Sobald ich Skype geöffnet hatte, hing der PC immer für einige Sekunden, lief dann wieder ein paar usw. Erst nach einem Reboot verhielt er sich wieder normal. Der Sound klang beim Abspielen von normalem Ton in den letzten Tagen manchmal verzerrt und das letzte Kernel-Update lag auch erst ein paar Tage zurück, also dachte ich daher zuerst an einen Treiberproblem/Treiberfehler, aber alles war korrekt für meine ESS ES1938 (Solo-1) eingestellt. Nach erneutem Abspielen eines Sounds zeigte sich dann noch das hier:

[sourcecode language="css"]# tail /var/log/messages
Apr 19 21:28:03 nuw snd_es1938_write_cmd timeout (0x02a1/0×0280)
Apr 19 21:28:03 nuw snd_es1938_write_cmd timeout (0x02e8/0×0280)
Apr 19 21:28:03 nuw snd_es1938_write_cmd timeout (0x02a2/0×0280)
Apr 19 21:28:03 nuw snd_es1938_write_cmd timeout (0x02fa/0×0280)
[/sourcecode]

Aha! Also schnell in den Quellcode des Treibers (/usr/src/linux/sound/pci/es1938.c) geschaut (wofür benutze ich schließlich ein Open-Source System?):

[sourcecode language="css"]
/* —————————————————————–
* Write command to Controller Registers
* —————————————————————–*/
static void snd_es1938_write_cmd(struct es1938 *chip, unsigned char cmd)
{
int i;
unsigned char v;
for (i = 0; i < WRITE_LOOP_TIMEOUT; i++) {
if (!(v = inb(SLSB_REG(chip, READSTATUS)) & 0×80)) {
outb(cmd, SLSB_REG(chip, WRITEDATA));
return;
}
}
printk(KERN_ERR "snd_es1938_write_cmd timeout (0×02%x/0×02%x)n", cmd, v);
}
[/sourcecode]

Die Karte wird zwar noch korrekt erkannt, hat aber scheinbar Probleme damit, in die Controller Register zu schreiben. Altersschwäche! Gut, die war immerhin schon über 7 Jahre im Dienst und hatte sich nun die ewige Ruhe verdient. Glücklicherweise lag im prall gefüllten Schrank noch Ersatz parat! :)

Unter anderen Betriebssystemen hätte man kaum eine Chance gehabt, den Fehler zu finden – außer durch Ausprobieren / schrittweises Ersetzen der Komponenten!

|

3 Responses to '(Halb-)Defekte Hardware unter Linux'

  1. 01. July 2007 at 16:15
    matthias
  2. 01. July 2007 at 17:24
    Der Adminblogger
  3. 01. July 2007 at 18:35
    Stefan

Leave a Reply




XHTML::
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>