Pandora levert twee mogelijke netwerkkaarten bij de kabelmodem:
De ISA-kaart staat ook wel bekend als de 3com Etherlink III. Deze kaart kan in twee modi werken: Plug-and-Play en non-Plug-and-Play. Je kan zelf de settings veranderen aan de hand van een kleine DOS-utility 3c5x9cfg.exe, te vinden in de 3com etherdisk 2 of hier. (De moedigen onder U kunnen ook de Linux 3c5x9utils (tevens in RPM op de RedHat contrib mirror) gebruiken, maar deze utility werkt niet goed samen met goedkope NE2000-clones (lees: complete lock-up)).
Je kan tevens de software van Pandora gebruiken. Hiervoor moet je in DOS-modus opstarten en vervolgens de cdrom van Pandora in de cdrom-speler steken (zit in het doosje "In 1-2-3 op Internet"). Onder de directory \drivers\isa.2 vind je het batch-programmatje Pnpdsabl.bat. Voer dit programma uit om PnP af te zetten.
De Ethernet-HOWTO vermeld tevens dat om de verandering tot uitvoer te brengen, het noodzakelijk is een harde reset te doen, en eventueel zelfs de computer van de stroom los te koppelen als je een ATX-systeem bezit.
Plug-and-Play of non-Plug-and-Play: Zorg er voor dat het medium type altijd op 10 baseT blijft staan.
Ik raad aan om Plug-and-Play af te zetten: dit maakt het makkelijker om de kaart onder Linux te gebruiken en is zelfs noodzakelijk voor Windows NT. Tevens maakt dit mogelijk om de driver in de kernel te compileren.
Zet de PnP van de kaart af met het bovenvermelde DOS-programma (nee, dit runt niet onder een DOS-box onder Windows). Denk eraan om op voorhand te checken welke IRQ's en IO-poorten vrij zijn. Ik kies meestal voor IRQ 10 en IO-poort 0x300, maar ik heb weinig exotische randapparatuur. Als je een IRQ hebt gekozen moet je ook nog de BIOS duidelijk maken dat deze IRQ in gebruik is door een ISA-kaart (meestal zoiets als Assign IRQ xx to: ISA).
Ongeveer elke distributie bevat tegenwoordig alle mogelijke modules. Je zult de kernel dus niet per sé moeten hercompileren. In geval van twijfel moet je kijken of je onder /lib/modules/<kernelversie>/net/ een bestand met de naam 3c509.o tegenkomt. Zorg ervoor dat de module bestaat: als je een nieuwe kernel gecompileerd heb mag je vooral de stap make modules_install niet vergeten.
Test de module met "modprobe 3c509.o io=0xXXX irq=XX". De irq-parameter is niet noodzakelijk, maar de documentatie raad in ieder geval aan om een io-parameter te verstrekken. Met "lsmod" kan je zien of de module geladen is.
Om de module automatisch te laden kan je de bovenstaande modprobe regel in /etc/rc.d/rc.local (permanent) zetten ofwel /etc/conf.modules aanpassen (automatisch). Er zou dan in conf.modules iets dergelijks moeten staan:
alias eth0 3c509
options 3c509 io=0xXXX irq=XX
waarbij de laatste regel optioneel is.
Dit lijkt veel moeilijker dan het is: de meeste distributies werken zowieso met modules en zorgen ervoor dat de file /etc/conf.modules automatisch correct wordt ingevuld:
Kies bij Adaptor 1 voor
Config mode: dhcp
Net device: eth0
Kernel module: 3c509.
Je kan hier ook nog de IO-poort en IRQ ingeven.
Kies bij de kernelconfiguratie onder
Ethernet [Y] voor
3com cards [Y] en
3c509/3c579 support [Y].
Installeer de nieuwe kernel, herstart en de kernel zou de kaart moeten herkennen. Als de kaart niet herkend wordt dan kunnen hiervoor twee oorzaken zijn:
Voor het eerste probleem bestaat maar één oplossing: bonk met uw hoofd tegen de monitor tot hij mooi rond de nek past. Het tweede probleem kan opgelost worden door een parameter aan de kernel mee te geven, bv. in /etc/lilo.conf:
append="ether=27,0x666,eth0"
waarbij het eerste getal de IRQ voorstelt en het tweede de IO-poort.
Als je de kaart in Plug-and-Play modus wil laten staan, dan moet je met modules werken. Je hebt tevens isapnp nodig.
isapnptools bestaat uit twee programma's die het mogelijk maken met, jawel, ISA-PnP kaarten te werken. Je zult dit tweetal zowieso nodig hebben om een soundkaart aan de praat te krijgen.
Het principe van isapnptools is simpel, de uitwerking iets minder. Het programma pnpdump toont alle mogelijke configuraties van PnP-kaarten, het programma isapnp leest de configuratie in van de file /etc/isapnp.conf en zet de kaart in de door jouw gekozen configuratie.
Dus, maak de file /etc/isapnp.conf als volgt: "pnpdump > /etc/isapnp.conf". Je krijgt dan iets dat er als volgt uit ziet: (ingekort)
# Card 3: (serial identifier 2d 5a 52 eb 1f 95 50 6d 50)
# Vendor Id TCM5095, Serial Number 1515383583, checksum 0x2D.
# Version 1.0, Vendor version 1.0
# ANSI string -->3Com 3C509B EtherLink III<--
#
# Logical device id TCM5095
# Device support I/O range check register
# Device supports vendor reserved register @ 0x38
# Device supports vendor reserved register @ 0x3a
#
# Edit the entries below to uncomment out the configuration required.
# Note that only the first value of any range is given, this may be
# changed if required
# Don't forget to uncomment the activate (ACT Y) when happy
(CONFIGURE TCM5095/1515383583 (LD 0
# Compatible device id PNP80f7
# IRQ 3, 5, 7, 9, 10, 11, 12 or 15.
# High true, edge sensitive interrupt (by default)
# (INT 0 (IRQ 3 (MODE +E)))
# Logical device decodes 16 bit IO address lines
# Minimum IO base address 0x0210
# Maximum IO base address 0x03e0
# IO base alignment 16 bytes
# Number of IO addresses required: 16
# (IO 0 (SIZE 16) (BASE 0x0210) (CHECK))
(NAME "TCM5095/1515383583[0]{3Com 3C509B EtherLink III}")
# (ACT Y)
))
# End tag... Checksum 0x00 (OK)
Als je de kaart IRQ 10 en IO-poort 0x300 wil geven, dan maak je hier het volgende van:
(CONFIGURE TCM5095/1515383583 (LD 0
# Compatible device id PNP80f7
# IRQ 3, 5, 7, 9, 10, 11, 12 or 15.
# High true, edge sensitive interrupt (by default)
--> (INT 0 (IRQ 10 (MODE +E)))
# Logical device decodes 16 bit IO address lines
# Minimum IO base address 0x0210
# Maximum IO base address 0x03e0
# IO base alignment 16 bytes
# Number of IO addresses required: 16
--> (IO 0 (SIZE 16) (BASE 0x0300) (CHECK))
(NAME "TCM5095/1515383583[0]{3Com 3C509B EtherLink III}")
--> (ACT Y)
))
# End tag... Checksum 0x00 (OK)
Vergeet vooral niet de hekjes (#) weg te halen!
run isapnp: als er geen foutmeldingen zijn dan zou het in orde moeten zijn. Kijk ook na of je distributie bij het opstarten isapnp start voor de modules geladen worden. Gebruikers van RedHat 6.0 moeten zich hieromtrent geen zorgen maken.
Er bestaat ook een grafische configuratie-tool, maar die krijg ik momenteel niet aan de praat: gpnpconf.
De module configureren gebeurd op net dezelfde manier als hierboven (stap A.1.a), d.w.z. pas /etc/conf.modules aan zodanig dat deze jouw keuze van IRQ en IO-poorten weerspiegeld.
De PCI-netwerkkaart is ook bekend onder de naam 3Com Fast Etherlink XL 3C90x PCI. De driver voor deze kaart is genaamd 3c59x.
In /etc/conf.modules (of met modprobe) zou moeten staan:
alias eth0 3c59x
Kijk voor meer info naar stap A.1.a.
Kies bij de kernelconfiguratie onder
Ethernet [Y] voor
3com cards [Y] en
3c590/3c900 series (592/595/597) "Vortex/Boomerang" support [Y].
Installeer de nieuwe kernel, herstart en de kernel zou de kaart moeten herkennen. Kijk ook eens naar stap A.1.b hierboven.
Ik hoop het :-)
Check volgende punten:
Als je snel genoeg kan lezen, zal je bij het opstarten als alles goed gaat iets zien voorbij flisen als:
eth0: 3c509 at 0x300 tag 1, 10baseT port, address 00 10 5a 47 48 13, IRQ 10.
3c509.c:1.16 2/3/98 becker@cesdis.gsfc.nasa.gov
Je kan dit ook achteraf nog lezen met "dmesg | less" of "dmesg | grep 3c509" als je niet geïnteresseerd bent in de rest van de boot-messages.
Als je de netwerkkaart hier niet in terugvindt, dan wil dat zeggen dat:
Onder /proc/modules vind je de modules terug die geladen zijn. Met "cat /proc/modules" of "lsmod" krijg je een lijstje dat er zo niet mag uitzien:
nfsd 143396 8 (autoclean)
awe_wave 157804 0
sb 33492 0
uart401 5904 0 [sb]
sound 56376 0 [awe_wave sb uart401]
soundlow 224 0 [sound]
soundcore 2148 7 [sb sound]
Zoals je kan zien, is hier geen module 3c509 aanwezig. Als je die wel had verwacht, dan moet je toch nog eens proberen met modprobe.
"cat /proc/interrupts" zou een dergelijk resultaat moeten geven:
CPU0
0: 2482219 XT-PIC timer
1: 86943 XT-PIC keyboard
2: 0 XT-PIC cascade
5: 1 XT-PIC soundblaster
8: 2 XT-PIC rtc
10: 12632 XT-PIC eth0 <--------
12: 517871 XT-PIC PS/2 Mouse
13: 1 XT-PIC fpu
14: 31381 XT-PIC ide0
15: 9 XT-PIC ide1
NMI: 0
"cat /proc/ioports" zou een dergelijk resultaat moeten geven:
0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : ide1
01f0-01f7 : ide0
0220-022f : soundblaster
02f8-02ff : serial(auto)
0300-030f : 3c509 <------------
0330-0333 : MPU-401 UART
0376-0376 : ide1
03c0-03df : vga+
03f6-03f6 : ide0
03f8-03ff : serial(auto)
0620-0623 : sound driver (AWE32)
0a20-0a23 : sound driver (AWE32)
0e20-0e23 : sound driver (AWE32)
d800-d807 : ide0
d808-d80f : ide1
Lees de relevante HOWTO's: Ethernet-HOWTO en NET3-HOWTO. Je kan deze ook terug vinden in de directory /usr/doc/HOWTO.
Als het dan nog niet lukt dan kan stuur je best een gedetailleerd verslag met alle voorgaande punten naar de nieuwsgroep pandora.os.linux en/of be.comp.os.linux.