Hallo, On Mon, 04 Nov 2002, Stefan Schmidt wrote:
On Sunday 03 November 2002 12:42, Klaus Brekau wrote:
Driver couldn't read signature and other info stored in the EEPROM.
Ja, daher kommt die Fehlermeldung.
Und die ist wohl auch korrekt.
My workaround was :
[radikaler Workaround mit Auskommentieren des Lesens der MAC-Adresse gelöscht]
Nein, auskommentiert wird nur die Ueberpruefung, ob das EEPROM eine "gescheite" Signatur hat -- und das ist offenbar nicht der Fall. Allerdings wuerde ich vermulich nur die Zeile 'return 0;' im fraglichen if-Block auskommentieren / aus-ifdef-en, denn die EEPROM Sig. wird dadurch nicht korrekter.
Ich habe nach dem Editieren der sis900.c, lediglich die Module aus den SuSE-Kernelquellen neu übersetzt und dann sis900.o in /lib/modules/2.4.19-4GB/kernel/drivers/net ersetzt.
Entgegen den obrigen Angaben ist sogar die MAC-Adresse korrekt.
Merkwürdig. Wo holt er die denn her, denn lesen tut er die nicht mehr...
Doch, tut er, wie immer, (genau) lesen bildet: ==== drivers/net/sis900.c:218 (Kernel 2.4.16) ==== /* check to see if we have sane EEPROM */ signature = (u16) read_eeprom(ioaddr, EEPROMSignature); if (signature == 0xffff || signature == 0x0000) { printk (KERN_INFO "%s: Error EERPOM read %x\n", net_dev->name, signature); return 0; } /* get MAC address from EEPROM */ for (i = 0; i < 3; i++) ((u16 *)(net_dev->dev_addr))[i] = read_eeprom(ioaddr, i+EEPROMMACAddr); ==== Wie man sieht, wenn man ein wenig C _lesen_ kann, wird die Mac-Adresse ausgelesen, wenn das 'return' nicht "zuschlaegt". -dnh -- SuSE verscheuert eine Bastardisierung eines zusammenkopierten Softwarehaufens, wo zufällig auch der Linux Kernel drin vorkommt. -- fefe in dcsm