Több ethernet kártya Linux alatt - Mini HOGYAN
A legtöbb ember egy szabványos, ,,hétköznapi'' Linux disztribúciót használ. A legtöbb esetben elég a következő sort hozzátenni a /etc/lilo.conf
fájlod elejére és ezután újrafuttatni a ,,lilo
''-t:
append = "ether=0,0,eth1"
Ez minden amit tenned kell. A legközelebbi bootoláskor a Linuxnak fel kellene ismernie a második ethernet kártyádat.
1. Mit és hogyan tettél az imént
Alapértelmezésben egy szokványos (szabványos) Linux kernel csak egyetlen ethernet kártya után kutat, majd miután talált egyet, felfüggeszti a kutatást. Három pontosan meghatározott útja van annak, hogy rávegyünk egy kernelt, hogy kutasson a további kátyák után. Emelkedő sorrendben a nehézség és a tartósság szerint:
- Bootidő alatti paraméterátadás a kernelhez.
- A bootbetöltő beállítása úgy, hogy mindíg átadja az adott a paramétereket.
- A kernel hálózatikártya-leprobáló táblájának megváltoztatása a
drivers/net/Space.c
fájlban.
A legtöbb ember számára a második módszer a legmegfelelőbb és ezt ismertetjük az alábbiakban.
2. Paraméterek kapcsolása a bootbetöltőhöz (boot loader)
A következő instrukciók azt feltételezik, hogy a tisztelt olvasó a szabványos Linux bootbetöltőt, azaz a LILO-t használja.
A Linux kernele a bootidő alatt különféle megkapott paramétereket képes értelmezni. A leggyakrabban a konfiguráció olyan speciális esetében használják, amiket nem lehet meghatározni a bootolás ideje alatt. Hálózati adapterek esetében a következő paramétereket ismeri fel:
ether=<IRQ>,<IO-CÍM>,<PARAMÉTER_1>,<PARAMÉTER_2>,<NÉV>
Az érvényes numerikus értékek lehetnek decimális, oktális (megelőző ,,0''-val), hexadecimális (megelőző ,,0x'' jelzéssel) formában. Az első nemnumerikus argumentum az eszköz nevét fogja megadni. Az üres argumentumokat 0 értékkel kell megadni és bármilyen - a név előtti - hiányzó argumentum változatlan marad.
    Ez a bejegyzés határozza meg, hogy mely IRQ érték lesz beállítva (az alaplapon szoftveresen beállítható IRQ értékek) vagy használva (az alaplapon jumpereken keresztül beállított IRQ értékek). A ,,0'' érték azt jelenti, hogy az IRQ rész az alaplapi értékekből legyen kiolvasva (amennyiben ez lehetséges) vagy használja az autoIRQ beállítás lehetőségét, ha az alaplap nem tartalmazza az IRQ érték kiolvashatóságának lehetőségét.
|
    Ez a bejegyzés egy egyszerű alap I/O címet határoz meg a tesztelésre. A ,,0'' érték valamennyi lehetséges I/O cím vizsgálatát jelenti.
|
    Normális esetben egy I/O címfenntartási terület (I/O region reservation map) használt annak eldöntésére, hogy mely címterület kerüljon tesztelésre. Ez a címtár figyelmen kívűl helyezhető, ha egy I/O cím meg van adva. Ez engedélyezhető a "reserve=," paraméterrel, amellyel kizárható más eszközök tesztelése az adott IO címrégióban.
|
    Eredetileg ezek a bejegyzések arra voltak hivatottak, hogy meghatározzák az olyan adapterek memória címét, amelyek osztott memóriát (shared memory) használnak, mint például a WD8013. Ez idő alatt kiterjesztett módon látnak el más eszközspecifikus információkat.
|
    Az előredefiniált eszközmeghajtó neve. A szokványos kernel mindenképpen értelmezi az ,,eth0 '', ,,eth1 '', ,,eth2 '', ,,eth3 '' értékeket. Más eszköz nevek (mint például a PPP, SLIP, vagy a pocket ehternet eszközmeghajtó) is létezhetnek, ám ezeknek ettől eltérő a szemantikája.
|
A LILO bootbetöltőn keresztül két féle módon kapcsolhatjuk ezeket a bootidejű paramétereket a kernelhez. A legáltalánosabb útja annak, hogy ezt megtegyük az, ha begépeljük rögtön azután, hogy megadtuk a bootimage nevét. A következő példában engedélyezzük mind a négy lehetséges szlot tesztelését.
linux ether=0,0,eth1 ether=0,0,eth2 ether=0,0,eth3
Természetesen egy kissé komplikált ezt begépelni minden egyes bootoláskor és lehetetlenné tenné az olyan bootolási eseteket, amikor nem szükséges ott lennie valakinek, hogy minden egyes alkalommal begépelje a kívánt paramétereket. A kernelparaméterek használatát állandósíthatjuk, hozzáadva egy ,,append
'' sort a LILO konfigurációs fájlunkhoz, /etc/lilo.conf
, és lefuttatva a LILO-t, hogy ezáltal installáljuk a frissített beállításokat.
append = "ether=0,0,eth1 ether=0,0,eth2 ether=0,0,eth3"
3. A kernel megváltoztatása
Amennyiben lehetséges konfigurálni a rendszert a kernelforrás megváltoztatása nélkül, javasolt, hogy inkább ezt az utat használjuk. A kernelforrás megváltoztatása hivatalosan nem dokumentált és kernelfrissítéskor (kernel upgrade) különleges nehézségeket eredményez. Ennek ellenére következzen néhány példa, amikor szükséges lehet a megvalósítása:
- Amikor, több mint négy eszköz engedélyezése szükséges. (A
drivers/net/Space.c
fájlban csak négy bejegyzés van; eth0-tól....eth3-ig.)
- Amikor korlátozni kívánod egy lehetséges kártyaaltípus letesztelését (például, amikor egy eszköz tesztelése összezavar egy eltérő típusú eszközt).
- Amikor egy - az eth
N
-től - eltérő eszköznevet akarsz.
Ha eldöntötted, hogy ezt az utat fogod járni, módosítsd az eszközlistát a driver/net/Space.c
fájlban beillesztve abba az általad kívánt értékeket. Amennyiben szükséges hozzáadni egy új eszközt ügyelj arra, hogy fenntartsd a megkötéseket: használd az irányelvekben megadott meglévő listabejegyzéseket.
4. Speciális megjegyzések, speciális eszközök tesztelésekor
    A LANCE eszköz speciális alacsony-memóriatartományú DMA puffereket igényel és ezért a LANCE tesztelése eltérően és korábban megy végbe, mint más egyéb hálózati eszközök ,,lepróbálása''. Mindezek tetejében figyelmen kívűl hagyhatod ezt a részt, mert több LANCE kártya tesztelése automatikusan megtörténik. Ám a LANCE eszköz (még!) nem használ LILO paramétereket (például IRQ).
|
A 3C509 KÁRTYA ISA MÓDBAN
|
    A 3C509 kártyának van egy egyedi lehetősége, amely lehetővé teszi teljesen megbízhatóvá tenni az ISA busz tesztelését. Mindez nagyon jó, csak szerencsétlenségre ennek az eljárásnak a használata nem keverhető jól a további tesztelésekkel.
    A legfigyelemreméltóbb szempont az, hogy nehéz megjósolni a priori módon (a megtapasztalást megelőzően..:-), hogy melyik kártya kerül elfogadásra ,,először'' - ennek sorrendje a a hardver ethernet címén alapul. Ez azt jelenti, hogy a legalacsonyabb ethernet című kártya lesz kijelölve az ,,eth0 '' értékhez, majd a következő az ,,eth1 '' értékhez,...stb. Amennyiben az ,,eth0 '' értékű ethernet kártyát eltávolítjuk, a maradék valamennyi kártya lefelé tolódik egy számértéket.
    A fent említett szemponthoz kapcsolódik még az, hogy lehetetlen egy ,,korábbi'' kártyát letiltott (disabled) módban hagyni, valamint az, hogy a kártya engedélyezése egy adott címen és IRQ értéken különbözik attól, ha ez EEPROM-ot szeretnénk beállítani, vagy ha a kártyát egy speciális címen szeretnénk engedélyezni.
|
AZ EISA 3C579 ÉS A 3C509 EISA MÓDBAN
|
    Az 1.1.25-ös verzió előtti kernelek nem tökéletesen tesztelik le a töbszörös EISA-modú (multiple EISA-mode) kártyákat. Ha több ,,ethN '' bejegyzés van meghatározva *ugyanahhoz* a 3c5*9 kártyához, akkor azokat nem egyszerre, hanem egymás után fogja megtalálni. Az elkerülô megoldás világosan meghatározza a szlot-alapú I/O címet. Az 1.1.25-ös verzió utáni kernelek már helyesen fogják keresni a többszörös (multiple) EISA-módú kártyákat, és folytatják a keresést a további ISA-módú adapterek után, miután már valamennyi potenciális EISA-módú címterület leellenőrzésre került.
|