3c59x

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
guennid

3c59x

Beitrag von guennid » 24.09.2006 16:08:12

Ich habe eine pcmcia-cardbus-Netzwerkkarte von 3com: 3ccfe575ct.
In einem sehr sehr alten Toshiba-Notebook (portege 660cdt) kriege ich diese immerhin erkannt und auch ein wenig ans Laufen (erspart mir Einzelheiten, ich denke die sind irrelevant). Auf einem etwas weniger alten tecra 8000 kann ich das Netzwerk überhaupt nicht aktivieren.
Auf beiden Schleppis ist sarge im Einsatz. Benötigt wird für die Karte das Modul 3c59x
Hier die Meldungen in messages:

660cdt:

Code: Alles auswählen

Sep 13 19:30:25 localhost kernel: pccard: CardBus card inserted into slot 0
Sep 13 19:30:25 localhost kernel: PCI: Enabling device 0000:01:00.0 (0000 -> 0003)
Sep 13 19:30:25 localhost kernel: 3c59x: Donald Becker and others. www.scyld.com/network/vortex.html
Sep 13 19:30:25 localhost kernel: 0000:01:00.0: 3Com PCI 3CCFE575CT Tornado CardBus at c625e000.
Sep 13 19:30:30 localhost pci.agent[2900]:      3c59x: already loaded
Sep 13 19:31:57 localhost kernel: eth0:  setting half-duplex
tecra 8000:

Code: Alles auswählen

Sep 24 22:36:51 buch5 kernel: ACPI: PCI interrupt 0000:05:00.0[A]: no GSI
Sep 24 22:36:51 buch5 kernel: 3c59x: Donald Becker and others. www.scyld.com/network/vortex.html
Sep 24 22:36:51 buch5 kernel: 0000:05:00.0: 3Com PCI 3CCFE575CT Tornado CardBus at 0x4800. Vers LK1.1.19
Sep 24 22:36:51 buch5 kernel:  *** Warning: IRQ 0 is unlikely to work! ***
Sep 24 22:36:51 buch5 kernel: NET: Registered protocol family 23
ifconfig eth0 up bringt diese Fehlermeldung:

Code: Alles auswählen

eth0: Could not reserve IRQ 0
SIOCSIFFLAGS: Das Gerät oder die Resource ist belegt
Ich denke mal, ich muss dem Modul 3c95x auf dem tecra 8000 noch irgendwo im debian-Modul-Dschungel irgendwelche Parameter mitgeben. Wie ich das auf dem 660cdt gemacht habe, weiß ich nicht mehr. Kann mir jemand sagen, welche Parameter in welche Datei müssen?

Ich bin weder hier, noch bei google, noch in /usr/src/.../Doku.../vortex.txt schlauer geworden.

Grüße, Günther

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Beitrag von Spasswolf » 24.09.2006 16:22:22

Vielleicht kannst du im Bios der Karte eine andere IRQ zuweisen.

guennid

Beitrag von guennid » 24.09.2006 16:44:28

Ich finde keine IRQ-Einstellmöglichkeit für 'ne pcmcia-Karte im bios.
Ich meine, bei dem 660cdt wäre was bei der Kompilierung des kernels gewesen. Auf dem tecra läuft (noch) der standard 2.6.8. Aber extra kompilieren möcht' ich jetzt nicht. - Und das kann's ja auch eigentlich nicht sein.

Grüße, Günther

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Beitrag von cosmac » 24.09.2006 16:47:22

dann probier mal

Code: Alles auswählen

rmmod 3c59x
modprobe 3c59x compaq_irq=10
oder

Code: Alles auswählen

rmmod 3c59x
modprobe 3c59x irq=10
wobei statt 10 auch 5, 7, 12 in Frage kommen. Welche frei sind,
sagt "cat /proc/interrupts". Falls das klappen sollte, könntest du
eine einzeilige Datei "/etc/modprobe.d/3c59x" erstellen:

Code: Alles auswählen

options  3c59x  compaq_irq=10
natürlich angepasst wie bei modprobe.
Wenn das beim nächsten Reboot nicht hilft, könntest du diese Zeile
an die Datei "/etc/modules.conf" anhängen, falls die existiert.
Beware of programmers who carry screwdrivers.

guennid

Beitrag von guennid » 24.09.2006 17:39:43

Mit irq oder compaq_irq kann mein System nichts anfangen: "Unknown parameter"

Grüße, Günther

edit:
Also,so wie's aussieht,wird man wohl das Modul 3c59x nicht auf einen anderen Interrupt als 0 umlenken können. Ich sehe nichts, was an cosmacs Syntax falsch sein könnte. Wie sieht's denn andersherum aus? Gibt's 'ne Möglichkeit,IRQ 0 freizuschaufeln?
cat /proc/interrupts liefert folgendes:

Code: Alles auswählen

           CPU0       
  0:    1760240          XT-PIC  timer
  1:       1242          XT-PIC  i8042
  2:          0          XT-PIC  cascade
  5:          1          XT-PIC  MS Sound System
  7:          3          XT-PIC  parport0
  9:         15          XT-PIC  acpi
 11:          2          XT-PIC  uhci_hcd
 12:         58          XT-PIC  i8042
 14:       1443          XT-PIC  ide0
 15:         11          XT-PIC  ide1
NMI:          0 
LOC:          0 
ERR:          0
MIS:          0
Was ist XT-PIC timer?

Grüße, Günther

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Beitrag von cosmac » 24.09.2006 23:38:11

hast du es schon mit den berüchtigten Boot-Parametern versucht?
- nolapic
- noapic
- acpi=noirq
- pci=noacpi
- acpi=off
- noacpi
"buch5 kernel: ACPI: PCI interrupt 0000:05:00.0[A]: no GSI" spricht
dafür, dass da was gehen müsste. Das ist eine üble Frickelei und
kann auch Nebenwirkungen haben, ist aber aussichtsreicher als
den Timer-Interrupt zu verbiegen. Der ist seit ewigen Zeit in jeder
Hardware auf 0 und wird gerade bei älterer Hardware wirklich vom
Kernel gebraucht.

Edit: nur für die Akten: was kommt denn dabei raus:
modinfo 3c59x | grep '^par'
Beware of programmers who carry screwdrivers.

guennid

Beitrag von guennid » 25.09.2006 19:07:20

Code: Alles auswählen

pci=noacpi
hat Linderung gebracht. NIC funktioniert jetzt.
Kannst du mir noch verraten, was ich mir damit sonst noch so nebenbei eingehandelt habe?
Vielleicht guckst du auch mal auf den hier. Das ist der 660cdt. Dort funktioniert die nic zwar prinzipiell, aber unter Last hängt sich das System auf. CardBus ist hier praktisch nicht machbar.

Für die Akten:

Code: Alles auswählen

buch5:~# modinfo 3c59x | grep '^par':
parm:           watchdog:3c59x transmit timeout in milliseconds
parm:           compaq_device_id:3c59x PCI device ID (Compaq BIOS problem workaround)
parm:           compaq_irq:3c59x PCI IRQ number (Compaq BIOS problem workaround)
parm:           compaq_ioaddr:3c59x PCI I/O base address (Compaq BIOS problem workaround)
parm:           max_interrupt_work:3c59x maximum events handled per interrupt
parm:           rx_copybreak:3c59x copy breakpoint for copy-only-tiny-frames
parm:           global_enable_wol:3c59x: same as enable_wol, but applies to all NICs if options is unset
parm:           enable_wol:3c59x: Turn on Wake-on-LAN for adapter(s) (0-1)
parm:           flow_ctrl:3c59x 802.3x flow control usage (PAUSE only) (0-1)
parm:           hw_checksums:3c59x Hardware checksum checking by adapter(s) (0-1)
parm:           global_full_duplex:3c59x: same as full_duplex, but applies to all NICs if options is unset
parm:           full_duplex:3c59x full duplex setting(s) (1)
parm:           global_options:3c59x: same as options, but applies to all NICs if options is unset
parm:           options:3c59x: Bits 0-3: media type, bit 4: bus mastering, bit 9: full duplex
parm:           debug:3c59x debug level (0-6)
:wink:

Ich versteh' nicht viel mehr als Bahnhof. Was hat eigentlich compaq mit diesem toshiba Teil zu tun?

Grüße und dickes Dankeschön! Günther

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Beitrag von cosmac » 25.09.2006 22:32:54

Günther Ditthardt hat geschrieben:

Code: Alles auswählen

pci=noacpi
hat Linderung gebracht. NIC funktioniert jetzt.
Kannst du mir noch verraten, was ich mir damit sonst noch so nebenbei eingehandelt habe?
Solange eine CardBusKarte richtig erkannt wird, sobald du sie einsteckst,
duerfte es nicht weiter stoeren. Frueher liefen PCs auch komplett ohne acpi
und ganz abgeschaltet ist es ja noch nicht. Wenn ich das so genau wuesste...
das meinte ich mit Frickelei.

Zum 660cdt schliesse ich mich neuss' Aussagen an. Deine Vermutung mit den
32Bit fuer die Platte hat zwar auf den ersten Blick nichts damit zu tun, aber
"unter Last" heisst ja meistens Last fuer den CardBus und fuer die Platte,
also 2 x fuer den PCI-Bus. Damit koennte eine langsamere Uebertragung zur
Platte durchaus einen Unterschied machen.
Günther Ditthardt hat geschrieben:

Code: Alles auswählen

buch5:~# modinfo 3c59x | grep '^par':
(...)
parm:           compaq_irq:3c59x PCI IRQ number (Compaq BIOS problem workaround)
(...)
Ich versteh' nicht viel mehr als Bahnhof. Was hat eigentlich compaq mit diesem toshiba Teil zu tun?
Die falsche IRQ-Zuordnung ist ein BIOS/ACPI-Problem. Bei Compaq gab's wohl
mal was aehnliches, weshalb der Treiber einen workaround anbietet. Das waere
eine bessere Loesung als pci=noacpi gewesen. Weshalb er bei dir den Parameter
nicht akzeptiert :?:
Beware of programmers who carry screwdrivers.

Antworten