Opis sterownik�w do PCMCIA
Autor: David Hinds,
[email protected]
v1.105, 9 Wrze�nia 1997
WWeerrssjjaa ppoollsskkaa:: BBaarrttoosszz MMaarruusszzeewwsskkii BB..MMaarruusszzeewwsskkii@@jjttzz..oorrgg..ppll
v2.0, 13 Grudnia 1997
Dokument ten opisuje jak zainstalowa� i u�ywa� Card Services PCMCIA w
Linux-ie oraz odpowiada na niekt�re cz�sto zadawane pytania.
Najnowsz� wersj� orygina�u tego dokumentu mo�na zawsze znale�� pod
adresem hyper.stanford.edu. Wersja HTML znajduje si� pod adresem
hyper.stanford.edu/HyperNews/get/pcmcia/home.html <
http://hyper.stan�
ford.edu/HyperNews/get/pcmcia/home.html> Dokument ten zosta� napisany
w standardzie ISO-8859-2. Nowsza wersja zawiera uaktulanione wskaza�
nia na katalog zawieraj�cy j�dro na ftp.icm.edu.pl. Kolejna wersja
jest uaktualnieniem do obecnej wersji orygina�u.
______________________________________________________________________
Table of Contents:
1. Informacje og�lne i wymagania sprz�towe.
1.1. Wprowadzenie.
1.2. Prawa autorskie i Disclaimer.
1.3. Jaka jest najnowsza wersja i sk�d mog� j� wzi�� ?
1.4. Jakie systemy s� obs�ugiwane ?
1.5. Jakie karty PCMCIA s� obs�ugiwane?
1.6. Kiedy moja nowa karta b�dzie obs�ugiwana ?
1.7. Listy dyskusyjne.
2. Kompilacja, instalacja i konfiguracja.
2.1. Wymagania i ustawienia j�dra.
2.2. Instalacja.
2.3. Post-instalacja dla system�w u�ywaj�cych skrypt�w
inicjacyjnych a'la BSD.
2.4. Post-instalacja dla system�w u�ywaj�cych skrypt�w
inicjacyjnych a'la SYS V.
2.5. Opcje konfiguracji specyficzne dla danego systemu.
2.6. Problemy podczas �adowania modu��w j�dra.
2.7. Problemy z przerwaniem zmiany statusu karty.
2.8. Problemy z identyfikacj� karty.
2.9. Dlaczego nie dystrybujesz binari�w do PCMCIA ?
2.10. Dlaczego ten pakiet jest taki wielki ?
3. Stosowanie i zalety.
3.1. Narz�dzia do monitorowania urz�dze� PCMCIA.
3.2. Przegl�d skrypt�w konfiguracyjnych PCMCIA.
3.3. Adaptery sieciowe PCMCIA.
3.3.1. Wyb�r transceiver-a.
3.3.2. Komentarze na temat konkretnych kart.
3.3.3. Diagnozowanie problem�w z kartami sieciowymi.
3.4. Urz�dzenia szeregowe i modemy PCMCIA.
3.4.1. Diagnozowanie problem�w z urz�dzeniami szeregowymi.
3.5. Adaptery PCMCIA SCSI.
3.5.1. Diagnozowanie problem�w z kartami SCSI.
3.6. Karty pami�ci PCMCIA.
3.6.1. U�ywanie kart pami�ci "flash".
3.7. Karty PCMCIA nap�d�w ATA/IDE.
3.7.1. Diagnozowanie problem�w z adapterami ATA/IDE.
3.8. Karty wielofunkcyjne.
3.9. Kiedy mo�na bezpiecznie w�o�y� albo wyj�� kart� PCMCIA ?
3.10. Card Services i Advanced Power Management.
3.11. Jak mam wy��czy� kart� PCMCIA bez wyjmowania jej ?
3.12. Jak usuwam sterowniki PCMCIA z pami�ci ?
4. Zaawansowane tematy.
4.1. Alokoacja zasob�w dla urz�dze� PCMCIA.
4.2. Jak zrobi� dwie r�ne konfiguracje urz�dze� do domu i pracy ?
4.3. Startowanie z urz�dzenia PCMCIA.
4.3.1. Skrypt-pomocnik pcinitrd.
4.3.2. Tworzenie dyskietki startowej z initrd.
4.3.3. Instalacja obrazu initrd na nap�dach bez Linux-a.
5. Jak radzi� sobie z nieobs�ugiwanymi kartami.
5.1. Konfiguracja nieobs�ugiwanych kart.
5.2. Jak mam doda� obs�ug� dla karty kompatybilnej z NE2000 ?
5.3. Interfejs PCMCIA do dyskietek.
5.4. Co jest z obs�ug� kart Xircom ?
6. Wskaz�wki do �ledzenia (debugging) i informacje do
programowania.
6.1. Jak mog� wys�a� pomocny list o b��dzie ?
6.2. Informacje na temat niskopoziomowego �ledzenia PCMCIA.
6.3. Jak mam napisa� sterownik Card Services dla nowej karty ?
6.4. Wskaz�wki dla autor�w sterownik�w klient�w PCMCIA.
6.5. Od t�umacza.
______________________________________________________________________
11.. IInnffoorrmmaaccjjee oogg��llnnee ii wwyymmaaggaanniiaa sspprrzz��ttoowwee..
11..11.. WWpprroowwaaddzzeenniiee..
Card Services dla Linux-a to kompletny pakiet obs�uguj�cy PCMCIA.
Zawiera on zestaw �adowalnych modu��w j�dra, kt�re tworz� wersj�
aplikacji interfejsowych dla PCMCIA Card Services, zestaw sterownik�w
klient�w dla specyficznych kart, oraz demona-mened�era do kart, kt�ry
mo�e reagowa� na wk�adanie kart i ich wyjmowanie poprzez �adowanie i
usuwanie odpowiednich modu��w. Obs�uguje on tak�e tzw. "gor�ce
wymiany" kart PCMCIA, tak �e karty mog� by� wk�adane i wyjmowane w
ka�dej chwili.
Oprogramowanie to jest w ci�g�ym rozwoju. Zawiera przypuszczalnie
b��dy i nale�y go u�ywa� ostro�nie. Zrobi� co w mojej mocy, �eby
poprawi� b��dy zg�aszane do mnie, ale je�li nie powiesz mi o takim, to
mog� si� o nim nigdy nie dowiedzie�. Je�li ju� u�yjesz tego
oprogramowania, mam nadziej�, �e wy�lesz mi swoje do�wiadczenia, z�e
czy dobre !
Je�li masz jakie� sugestie na temat polepszenia tego dokumentu, daj mi
zna�
[email protected].
11..22.. PPrraawwaa aauuttoorrsskkiiee ii DDiissccllaaiimmeerr..
Copyright (c) 1996, 1997 David A. Hinds
Dokument tez mo�e by� reprodukowany lub dystrybuowany bez mojej
wyra�nej zgody. Wersje zmodyfikowane, w��czaj�c t�umaczenia na inne
j�zyki, mog� by� wolno dystrybuowane, zak�adaj�c, �e s� jasno
identyfikowane jako takie, i ta uwaga o prawach autorskich jest w nich
zawarta.
Dokument ten mo�e by� zawarty w dystrybucjach komercyjnych bez mojej
wyra�nej zgody. Poniewa� nie jest to wymagane chcia�bym by�
powiadomiony o takowych dzia�aniach. Je�li zamierzasz rozprowadza� ten
dokument jako prac� wydawan�, skontaktuj si� ze mn�, aby upewni� si�,
�e masz najnowsz� wersj�.
Dokument ten jest rozprowadzany "takim jakim jest", bez wyra�nych czy
wynikaj�cych gwarancji. U�ywaj informacji zawartych tutaj na swoje
w�asne ryzyko.
11..33.. JJaakkaa jjeesstt nnaajjnnoowwsszzaa wweerrssjjaa ii sskk��dd mmoogg�� jj�� wwzzii���� ??
Bie��c� g��wn� wersj� Card Services jest wersja 2.9, a pomniejsze
uaktualnienia czy poprawki b��d�w s� numerowane jako 2.9.1, 2.9.2 itd.
Kod �r�d�owy najnowszej wersji jest dost�pny pod adresem
hyper.stanford.edu. Nazywa si� _p_c_m_c_i_a_-_c_s_-_2_._9_._?_._t_a_r_._g_z. B�dzie tam
przewa�nie kilka wersji. Z regu�y trzymam najnowsz� podwersj� wersji
g��wnej. Nowe wersje g��wne mog� zawiera� wzgl�dnie nieprzetestowany
kod, tak wi�c trzymam tak�e najnowsz� wersj� poprzedniej wersji
g��wnej jako wzgl�dn� stabiln� wersj�, do kt�rej mo�na si� cofn��;
bie��c� tak� wersj� jest 2.8.23. To ju� zale�y od ciebie czy
zdecydujesz si� na wersj� najnowsz� z 2.9.x czy na 2.8.23; w pliku
_C_H_A_N_G_E_S znajduj� si� najwa�niejsze r�nice.
Adres hyper.stanford.edu jest mirrorowany pod adresem sunsite.unc.edu
w katalogu /pub/Linux/kernel/pcmcia. [Od t�umacza.]Serwer ten z kolei
jest mirrorowany w Polsce pod adresem ftp.icm.edu.pl.
Postaram si� te� umieszcza� g��wne wersje na tsx-11.mit.edu w katalogu
/pub/linux/packages/laptops/pcmcia teraz i p�niej.
Je�li nie czujesz si� na si�ach, �eby skompilowa� sterowniki do
PCMCIA, w wersji bie��cej s� zawarte pre-kompilowane sterowniki w
najpopularniejszych dystrybucjach: Slackware, Red Hat, Caldera i
Yggdrasil, mi�dzy innymi.
11..44.. JJaakkiiee ssyysstteemmyy ss�� oobbss��uuggiiwwaannee ??
Kod ten powinien dzia�a� na prawie wszystkich laptopach nadaj�cych si�
do Linux-a. Obs�ugiwane s� wszystkie popularne kontrolery PCMCIA
w��czaj�c w to Intel, Cirrus, Vadem, VLSI, Ricoh i Databook.
Kontrolery ustawiane u�ywane w IBM i Toshiba-ch tak�e s� obs�ugiwane.
Doki (docks) kart PCMCIA dla system�w typu desktop tak�e powinny
dzia�a� tak d�ugo, dop�ki s� tego typu, �e wk�ada si� je bezpo�rednio
do szyny ISA, ni� poprzez kontrolery SCSI-PCMCIA czy IDE-PCMCIA.
Kontroler Motorola 6AHC05GA u�ywany w niekt�rych laptopach Hyundaia
nie jest obs�ugiwany. Kontrolery ustawiane w HP Omnibook 600 nie s�
obs�ugiwane. Kontroler mostka PCI-CardBus (od SMC, Ricoh-a, Cirrus-a i
TI) jest obecnie obs�ugiwany tylko w przypadku trybu 16-bitowego, a i
tak obs�uga ta jest ci�gle troch� eksperymentalna.
11..55.. JJaakkiiee kkaarrttyy PPCCMMCCIIAA ss�� oobbss��uuggiiwwaannee??
Wersja obecna zawiera sterowniki dla r�nych kart ethernetowych,
sterownik do modemu, kart port�w szeregowych, niekt�rych kontroler�w
SCSI, sterownik do kart ATA/IDE oraz sterowniki do kart pami�ci kt�re
powinny obs�ugiwa� wi�kszo�� kart SRAM i niekt�re karty flash. Plik
_S_U_P_P_O_R_T_E_D_._C_A_R_D_S zawarty w ka�dej wersji Card Services zawiera
wszystkie karty jakie dzia�aj� w przynajmniej jednym w�a�ciwym
systemie.
Prawdopodobie�stwo tego, �e karta nie wymieniona w tym pliku b�dzie
dzia�a� zale�y od typu tej karty. Zasadniczo wszystkie modemy powinny
dzia�a� z zawartym sterownikiem. Niekt�re karty sieciowe mog� dzia�a�
je�li s� wersjami OEM karty obs�ugiwanej. Inne typy kart IO (bufory
ramkowe, karty d�wi�kowe itd.) nie b�d� dzia�a� dop�ki kto� nie
napisze odpowiednich sterownik�w.
11..66.. KKiieeddyy mmoojjaa nnoowwaa kkaarrttaa bb��ddzziiee oobbss��uuggiiwwaannaa ??
Niestety, nikt mi z regu�y nie p�aci za pisanie sterownik�w, tak wi�c
je�li chcesz mie� sterownik do swojej ulubionej karty, b�dziesz
przypuszczalnie musia� zrobi� cz�� roboty na w�asn� rek�. W wersji
idelanej, chcia�bym si� kierowa� w stron� modelu zbli�onego do j�dra
Linux-a, gdzie b�d� g��wnie odpowiedzialny za "rdze�" kodu do PCMCIA a
inni autorzy pisaliby sterowniki do konkretnych urz�dze�. W pliku
SUPPORTED.CARDS wspomniane s� niekt�re karty, dla kt�rych sterownik
jest w trakcie pisania. B�d� si� stara� pom�c gdzie tylko mog� ale
miej na uwadze, �e �ledzenie (debugging) sterownik�w do urz�dze� w
j�drze poprzez e-mail nie jest zbytnio efektywne.
Producenci zainteresowani pomoc� w tworzeniu obs�ugi ich urz�dze� mog�
si� ze mn� skontaktowa� w sprawie konkret�w.
11..77.. LLiissttyy ddyysskkuussyyjjnnee..
Kiedy� zajmowa�em si� baz� danych i list� dyskusyjn� na temat
u�ytkownik�w Linux-a na PCMCIA. Ostatnio zmieni�em swoj� stron� WWW z
informacjami na temat PCMCIA w stron� "HyperNews", ze zbiorem
wiadomo�ci na temat PCMCIA w Linux-ie. S� listy na temat instalacji i
konfiguracji, na temat r�nych typ�w kart oraz na temat programowania
i �ledzenia (debug) pod PCMCIA. Strona z informacjami na temat PCMCIA
jest pod adresem
http://hyper.stanford.edu/HyperNews/get/pcmcia/home.html
<
http://hyper.stanford.edu/HyperNews/get/pcmcia/home.html>.
U�ytkownicy mog� ustawi� sobie opcj� informowania poprzez email o
nowych odpowiedziach na konkretne pytania, albo o wszystkich nowych
wiadomo�ciach w danej kategorii. Mam nadziej�, �e stanie si� to
u�ytecznym archwium informacji dla pyta�, kt�re wychodz� poza tre��
tego HOWTO.
Jest lista dyskusyjna, kt�rej tematem jest Linux na laptopie - lista
"linux-laptop". Aby uzyska� wi�cej informacji, wy�lij list zawieraj�cy
s�owo "help" na adres
[email protected]. Aby zapisa� si� na
t� list�, wy�lij list zawieraj�cy �a�cuch "subscribe linux-laptop" na
ten sam adres. Lista ta mo�e by� dobrym forum dyskusyjnym na temat
Linux-a na PCMCIA.
Na Stronie Domowej Linux-a na Laptopy
http://www.cs.utexas.edu/users/kharker/linux-laptop znajduje si� wiele
odwo�a� do adres�w, na kt�rych s� informacje na temat konfigurowania
Linux-a na konkretnych typach laptop�w. Jest tak�e przeszukiwalna baza
danych na temat konfiguracji systemu.
22.. KKoommppiillaaccjjaa,, iinnssttaallaaccjjaa ii kkoonnffiigguurraaccjjaa..
22..11.. WWyymmaaggaanniiaa ii uussttaawwiieenniiaa jj��ddrraa..
Zanim zaczniesz, powiniene� pomy�le� czy rzeczywi�cie musisz samemu
skompilowa� pakiet PCMCIA. Wszyskie popularne dystrybucje Linux-a s�
dostarczane wraz z pakietami zawieraj�cymi skompilowane sterowniki dla
PCMCIA. Og�lnie musisz tylko zainstalowa� od nowa sterowniki je�li
potrzebujesz jakiej� nowej cechy obecnych sterownik�w albo je�li
zaktualizowa�e� czy przekonfigurowa�e� j�dro tak, �e przesta�o by�
kompatybilne ze sterownikami przychodz�cymi z dystrybucj�. Chocia�
kompilacja pakietu PCMCIA nie jest trudna technicznie, to wymaga
jednak pewnego obycia z Linux-em.
Nast�puj�ce elementy powinny by� zainstalowane w twoim systemie zanim
zaczniesz instalowa� PCMCIA:
� Jedno z nast�puj�cych j�der: 1.2.8 do 1.2.13, 1.3.30, 1.3.37,
1.3.39 do 1.3.99, 1.99.* (czyli, pre-2.0), 2.0.* lub 2.1.*.
� Bie��ca wersja pakietu z modu�ami i narz�dziami do nich.
� (Opcjonalnie) "Forms" - interface dla u�ytkownika pod X11.
Wersja najnowsza wymaga j�dra w wersji 1.2.8 lub wy�szej, albo j�dra z
serii testowych 1.3.30 lub wy�sze, 1.3.38 jest definitywnie popsute, a
1.3.31 do 1.3.36 nie s� przetestowane. Wymaga tak�e wzgl�dnie �wie�ej
wersji narz�dzi do modu��w. Nie ma �at na j�dro specyficznych dla
PCMCIA.
Musiz mie� pe�ne drzewo �r�de� j�dra, nie tylko aktualny obraz j�dra,
aby skompilowa� pakiet PCMCIA. Modu�y PCMCIA zawieraj� niekt�re
odwo�ania do plik�w ze �r�de� j�dra. O ile ty mo�esz chcie�
skompilowa� nowe j�dro, �eby usun�� niepotrzebne sterowniki,
instalacja PCMCIA nie wymaga tego.
Bie��ce stabilne wersje �r�de� j�dra oraz �aty do niego s� dost�pne
pod adresem
ftp://ftp.icm.edu.pl/pub/Linux/kernel/v2.0. Bie��ca wersja
narz�dzi jest pod tym samym adresem w pliku modules-2.0.0.tgz. J�dra
w wersji rozwojowej znajduj� si� pod adresem
ftp://ftp.icm.edu.pl/pub/Linux/kernel/v2.1.
W pliku Documentation/Changes znajduj� si� opisy wersji wszystkich
rodzaj�w innych sk�adnik�w systemu, kt�re s� wymagane dla tej wersji
j�dra. Mo�esz sprawdzi� t� list� i upewni� si� czy tw�j system jest
aktualny, szczeg�lnie je�li ostatnio uaktualnia�e� j�dro. Je�li
u�ywasz j�dra 2.1, upewnij si�, �e u�ywasz poprawnej kombinacji
bibliotek dzielonych i narz�dzi do modu��w. Najnowsze wersje narz�dzi
do modu��w, tak samo jak wersje dla starszych j�der mo�na znale�� pod
adresem
http://www.pi.se/blox/modules.
Je�li planujesz u�ywanie karty ethernetowej PCMCIA podczas
konfigurowania twojego j�dra powiniene� w��czy� obs�ug� sieci, ale
wy��cz obs�ug� zwyk�ych kart sieciowych, w��czaj�c w to "pocket and
portable adapters". Sterowniki do kart sieciowych PCMCIA s�
zaimplementowane jako �adowalne modu�y. Jakiekolwiek sterowniki
wkompilowane w twoje j�dro b�d� tylko zabiera� miejsce.
Je�li chcesz u�ywa� SLIP-a, PPP czy PLIP-a musisz albo skonfigurowa�
twoje j�dro z w��czonymi tymi opcjami, albo u�y� modu��w �adowalnych
tych sterownik�w. Niestety w j�drze w wersji 1.2.X nie mo�na
skompilowa� pewnych opcji jako modu�y �adowalne (jak np. kompresja
SLIP-a) wi�c najlepiej b�dzie je�li wkompilujesz ten sterownik do
j�dra je�li go potrzebujesz.
Je�li chcesz u�ywa� kontrolera Token Ring do PCMCIA, musisz
wkompilowa� obs�ug� Token Ring do swojego j�dra - "Token Ring driver
support", ale powiniene� wy��czy� CONFIG_IBMTR.
Je�li chcesz u�ywa� kontrolera IDE PCMCIA, musisz w��czy� opcj�
CONFIG_BLK_DEV_IDE_PCMCIA, w j�drach w wersji 1.3.72 do 2.1.7. Starsze
j�dra nie obs�uguj� urz�dze� IDE. nowsze j�dra nie wymagaj�
specjalnych ustawie�.
Je�li b�dziesz u�ywa� kontrolera SCSI PCMCIA, powiniene� w��czy� opcj�
CONFIG_SCSI podczas konfiguracji j�dra. W��cz tak�e wszelkie
sterowniki "top level" (dyski SCSI, ta�my, CD-ROM-y, generic), kt�rych
spodziewasz si� u�ywa�. Wszystkie sterowniki "low level" dla
konkretnych kontroler�w powinny by� wy��czone, poniewa� b�d� tylko
zajmowa� miejsce.
Je�li chcesz zmodularyzowa� sterownik, kt�ry jest potrzebny do
urz�dzenia PCMCIA, musisz zmodyfikowa� plik /etc/pcmcia/config, aby
poda�, kt�re modu�y maj� by� za�adowane dla kt�rych typ�w kart. Na
przyk�ad, je�li sterownik szeregowy jest zmodularyzowany, wtedy
m�g�by� zmieni� definicj� urz�dzenia szeregowego na:
device "serial_cs"
class "serial" module "misc/serial", "serial_cs"
Pakiet ten zawiera narz�dzie do podawania statusu karty oparte na X11
- cardinfo. Narz�dzie to jest oparte na wolno dystrybuowanym
interfejsie zwanym "Forms Library", kt�re b�dziesz musia� zainstalowa�
przed stworzeniem cardinfo. Dystrybucja binarna jest na
hyper.stanford.edu. S� tam wersje a.out oraz ELF. B�dziesz tak�e
musia� mie� wszystkie normalne pliki nag��wkowe pod X i biblioteki.
22..22.. IInnssttaallaaccjjaa..
Oto streszczenie procesu instalacji:
� Rozpakuj pcmcia-cs-2.9.?.tar.gz w /usr/src.
� Uruchom make config w nowym katalogu pcmcia-cs-2.9.?
� Uruchom make all, potem make install.
� Ustaw skrypty startowe dla PCMCIA i pliki opcji w /etc/pcmcia
odpowiednio dla twojego systemu.
Je�li planujesz zainstalowa� jakie� dodatkowe sterowniki klienta nie
zawarte w dystrybucji PCMCIA, rozpakuj ka�dy z nich w g��wnym katalogu
�r�de� PCMCIA. Potem post�puj zgodnie z normalnymi instrukcjami
kompilacji. Dodatkowe sterowniki zostan� skompilowane i zainstalowane
automatycznie.
Uruchomienie make config zapyta o kilka opcji konfiguracyjnych i
sprawdzi tw�j system, aby zweryfikowa� czy spe�nia on wszystkie
wymagania instalacji obs�ugi PCMCIA. W wi�kszo�ci przypadk�w, b�dziesz
po prostu akceptowa� wszystkie domy�lne opcje. Upewnij si�, �e
dok�adnie sprawdzi�e� komunikaty wyj�ciowe w razie b��d�w.
Je�li kompilujesz zestaw PCMCIA do instalacji na inn� maszyn�, podaj
alternatywny katalog docelowy kiedy zostaniesz zapytany przez skrypt
konfiguracyjny. Powinna to by� �cie�ka bezwzgl�dna. Wszystkie
narz�dzia do PCMCIA zostan� zainstalowane wzgl�dem tego katalogu.
B�dziesz m�g� nast�pnie "zarchiwizowa�" ten katalog poleceniem tar i
skopiowa� go na maszyn� docelow�, a nast�pnie rozpakowa� wzgl�dem jej
katalogo g��wnego, aby zainstalowa� wszystko we w�a�ciwym miejscu.
Je�li "cross-kompilujesz" na innej maszynie, mo�esz poda� alternatywne
nazwy kompilatora i linkera. Mo�e to by� tak�e pomocne na systemach z
pomieszan� architektur� a.out i ELF. Skrypt zapyta tak�e o dodatkowe
opcje �ledzenia dla kompilatora.
Niekt�re z narz�dzi wspieraj�cych (cardctl i cardinfo) mog� by�
skompilowane w formie "safe" (bezpiecznej) lub "trusting" (ufaj�cej).
Forma bezpieczna nie pozwala u�ytkownikom innym ni� root na
modyfikacj� konfiguracji karty. Forma ufaj�ca pozwala zwyk�emu
u�ytkownikowi na zawieszenie, odwieszenie i reset karty oraz na zmian�
bie��cej konfiguracji. Skrypt konfiguracyjny zapyta ci� czy chcesz
skompilowa� narz�dzia jako "safe" czy "trusting"; warto�ci� domy�ln�
jest "safe".
Jest kilka opcji konfiguracji j�dra kt�re maj� wp�ywa na narz�dzia do
PCMCIA. Skrypt konfiguracyjny mo�e je wywnioskowa� z dzia�aj�cego
j�dra (najpopularniejszy przypadek). Alternatywnie, je�li kompilujesz
do instalacji na inn� maszyn� mo�e przeczyta� konfiguracj� z drzewa
�r�de� j�dra, albo ka�da opcja mo�e by� podana interaktywnie.
Uruchomienie make all a potem make install stworzy i nast�pnie
zainstaluje modu�y do j�dra i programy narz�dziowe. Modu�y do j�dra
s� instalowane w /lib/modules/<wersja>/pcmcia. Programy cardmgr i
cardctl s� instalowane w /sbin. Je�li tworzony jest cardinfo, to
instalowany jest on w /usr/bin/X11.
Pliki konfiguracyjne zostan� zainstalowane w /etc/pcmcia. Je�li
instalujesz na starej wersji, twoje stare pliki konfiguracyjne zostan�
zarchiwizowane przed skasowaniem ich. Zachowanym skryptom zostan�
nadane rozszerzenia w stylu *.~1~, *.~2~.
Je�li nie wiesz jakiego typu jest tw�j kontroler, to mo�esz u�y�
narz�dzia probe z podkatalogu cardmgr, aby go wykry�. S� dwa g��wne
typy: Databook TCIC-2 i kompatybilne z Intel i82365SL.
Demon na poziomie u�ytkownika obs�uguje w�o�enie i wyj�cie karty.
Nazywa si� on cardmgr. Jest podobny w funkcjonowaniu do wcze�niejszej
wersji pcmciad Barry'ego Jaspana. Cardmgr czyta plik konfiguracyjny
opisuj�cy znane karty PCMCIA z /etc/pcmcia/config. W pliku tym zawarte
jest jakie zasoby mog� by� zaalokowane dla u�ycia przez urz�dzenia
PCMCIA, i mog� by� zmodyfikowane dla twojego systemu. Zobacz stron� w
podr�czniku systemowym "man" na temat pcmcia, aby dowiedzie� si�
wi�cej na temat tego pliku.
22..33.. PPoosstt--iinnssttaallaaccjjaa ddllaa ssyysstteemm��ww uu��yywwaajj��ccyycchh sskkrryypptt��ww iinniiccjjaaccyyjjnnyycchh
aa''llaa BBSSDD..
Niekt�re dystrybucje Linux-a, w��czaj�c Slackware, u�ywaj� systemu
skrypt�w a'la BSD. Je�li istnieje plik /etc/rc.d/rc.M, to tw�j system
zalicza si� do tej grupy.
Skrypt rc.pcmcia, zainstalowany w /etc/rc.d kontroluje startowanie i
wy��czanie systemu PCMCIA.
make install u�yje polecenia probe, aby wykry� typ twojego kontrolera
i odpowiednio zmodyfikowa� rc.pcmcia. Powiniene� doda� do skryptu
startowego /etc/rc.d/rc.M lini�, kt�ra wywo�uje skrypt startowy
PCMCIA, np. tak:
/etc/rc.d/rc.pcmcia start
W�a�ciwie nie ma znaczenia, gdzie umie�cisz ten plik, tak d�ugo jak
sterowniki PCMCIA s� startowane po syslogd.
22..44.. PPoosstt--iinnssttaallaaccjjaa ddllaa ssyysstteemm��ww uu��yywwaajj��ccyycchh sskkrryypptt��ww iinniiccjjaaccyyjjnnyycchh
aa''llaa SSYYSS VV..
Red Hat, Caldera i Debian maj� ten w�a�nie system. Je�li masz katalog
/etc/init.d albo /etc/rc.d/init.d, to tw�j system jest w tej grupie.
Skrypt rc.pcmcia zostanie zainstalowany jako /etc/rc.d/init.d/pcmcia,
lub /etc/init.d/pcmcia. Nie ma potrzeby edytowania �adnego skryptu
startowego, aby w��czy� PCMCIA: zostanie to zrobione automatycznie.
Je�li istnieje katalog /etc/sysconfig, wtedy zostanie utworzony
oddzielny plik konfiguracyjny /etc/sysconfig/pcmcia z opcjami
startowymi. Je�li musisz zmieni� jakiekolwiek opcje modu��w (jak PCIC=
czy PCIC_OPTS=) modyfikuj raczej ten plik konfiguracyjny ani�eli
w�a�ciwy skrypt startowy PCMCIA. Plik ten nie zostanie skasowny przez
kolejne instalacje.
Niekt�re wcze�niejsze wersje u�ywa�y katalogu /etc/sysconfig/pcmcia-
scripts zamiast /etc/pcmcia na tych platformach. Wersja bie��ca
natomiast u�ywa /etc/pcmcia dla wszystkich system�w, a istniej�cy
/etc/sysconfig/pcmcia-scripts przeniesie do /etc/pcmcia.
22..55.. OOppccjjee kkoonnffiigguurraaccjjii ssppeeccyyffiicczznnee ddllaa ddaanneeggoo ssyysstteemmuu..
Pakiet Card Services powinien automatycznie zapobiega� alokacji port�w
IO i przerwa�, kt�re s� ju� u�ywane przez inne urz�dzenia. Spr�buje
on tak�e wykry� konflikty z nieznanymi urz�dzeniami, ale nie jest to w
pe�ni godne zaufania. W niekt�rych przypadkach, muisz wyra�nie poda�
zasoby, kt�re maj� by� niedost�pne dla danego urz�dzenia w pliku
/etc/pcmcia/config.opts.
Oto niekt�re ustawienia zasob�w dla specyficznych typ�w laptop�w.
� W AMS SoundPro wy��cz IRQ 10.
� W niekt�rych modelach TravelPro 5300 u�yj adres�w pami�ci
0xc8000-0xcffff.
� W BMX 486DX2-66 wy��cz IRQ 5 i 9
� W Chicony NB5 u�yj adres�w pami�ci 0xda000-0xdFFFF.
� Na Compaq Presario 1020, wy��cz porty 0x2F8-0x2FF, IRQ 3 i IRQ 5.
� W HP Omnibook 4000C wy��cz porty 0x300-0x30F.
� Na Micron Millenia Transport, wy��cz IRQ 5, IRQ 9.
� W NEC Versa M, wy��cz IRQ 9 i porty 0x2E0-2FF.
� W NEC Versa P/75 wy��cz IRQ 5 i 9.
� W NEC Versa S wy��cz IRQ 9 i 12.
� W NEC Versa seria 6000 wy��cz porty 0x300-0x33f, IRQ 9 i 10.
� W ProStar 9200, Altima Virage i Acquiline Hurricane DX4-100 wy��cz
IRQ 5 i porty 0x330-0x35f. U�yj mo�e adres�w pami�ci
0xd8000-0xdffff.
� W Siemens Nixdorf SIMATIC PG 720C u�yj adres�w pami�ci
0xc0000-0xcffff i port�w 0x300-0x3bf.
� W TI TravelMate 5000 u�yj adres�w pami�ci 0xd4000-0xdffff.
� W Toshiba T4900 CT wy��cz IRQ 5, porty 0x2E0-0x2E8 i 0x330-0x338.
� W Twinhead 5100, HP 4000, Sharp PC-8700 i PC-8900 wy��cz IRQ 9
(d�wi�k) i 12
� W MPC seria 800 wy��cz IRQ i porty 0x300-0x30f dla CD-ROM-u.
Niekt�re kontrolery PCMCIA maj� opcjonalne zalety, kt�re mog� by�
zaimplementowane w danym systemie, ale nie musz�. Generalnie jest
niemo�liwe dla sterownika gniazdka (socket driver), aby wykry� czy te
zalety s� zaimplementowane. Sprawd� stron� w podr�czniku systemowym na
temat swojego sterownika, aby zobaczy� jakie opcjonalne zalety mog�
by� w��czone.
W kilku przypadkach polecenie probe nie b�dzie w stanie wykry�
automatycznie typu twojego kontrolera. Je�li masz system Halikan NBD
486, to jego kontroler TCIC-2 znajduje si� w niezwyk�ym miejscu:
b�dziesz musia� zmodyfikowa� rc.pcmcia, aby za�adowa� modu� tcic oraz
ustawi� PCIC_OPTS na tcic_base=0x2C0.
Sterowniki gniazda typu "low level" tcic i i82365 maj� liczne
parametry do timing-�w szyny, kt�re mo�e b�dzie trzeba ustawi� dla
system�w ze szczeg�lnie szybkimi procesorami. Symptomy problem�w z
timing-ami zawieraj� problemy z wykryciem karty, zawi�ni�cia przy
du�ym za�adowaniu systemu, du�e �rednie b��d�w, albo z�a wydajno��
urz�dze�. Sprawd� odpowiednie strony w podr�czniku systemowym, aby
dowiedzie� si� wi�cej szczeg��w. A tu jest kr�tkie podsumowanie:
� Kontrolery Cirrus maj� liczne konfigurowalne parametry timing-�w.
Najwa�niejszy wydaje si� by� cmd_time, kt�ry okre�la d�ugo�� cyklu
szyny PCMCIA. Szybkie systemy 486 (np. DX4-100) wydaj� si�
zwi�ksza� wydajno�� przy zwi�kszeniu tego parametru z domy�lnej
warto�ci 6 na 12 czy 16.
� Kontroler Cirrus PD6729 PCI ma parametr fast_pci, kt�ry powinien
by� ustawiony je�li szybko�� szyny PCI jest wi�ksza ni� 25 MHz.
� W kontrolerach Vadem VG-468 i Databook TCIC-2 parametr async_clock
zmienia wzgl�dne taktowanie szyny PCMCIA i cykle szyny host.
Ustawienie tego parametru spowoduje dodanie stan�w oczekiwania na
niekt�re operacje. Chocia� jeszcze nie s�ysza�em o jakim� laptopie,
kt�ry by tego potrzebowa�.
� Modu� pcmcia_core posiada parametr cis_speed, kt�ry zmienia
pr�dko�� pami�ci u�ywan� dla dost�pu do Card Information Structure
(CIS). Na niekt�rych systemach z szybkimi zegarami szynowymi,
zwi�kszanie tego parametru (czyli zwalnianie dost�pu do kart) mo�e
przynie�� po�ytek przy problemach z rozpoznaniem karty.
� To nie jest sprawa timing-�w, ale je�li masz wi�cej ni� jeden
kontroler PCMCIA w twoim systemie, albo jakie� dodatkowe gniazda w
stacji dokowania (docking station), powiniene� za�adowa� modu�
i82365 z parametrem extra_sockets ustawionym na 1.
Wszystkie te opcje powinny by� skonfigurowane przez modyfikowanie
pocz�tku pliku /etc/rc.d/rc.pcmcia. Na przyk�ad:
# Albo i82365 albo tic
PCIC=i82365
# Wstaw tu parametry timing-�w dla sterownika gniazd
PCIC_OPTS="cmd_time=12"
# Wstaw tu opcje pcmcia_core
CORE_OPTS="cis_speed=500"
Oto niekt�re ustawienia timing-�w dla specyficznych sytem�w:
� W ARM Pentium-90 albo Midwest Micro Soundbook Plus u�yj
freq_bypass=1 cmd_time=8.
� W Midwest Micro Soundbook Elite u�yj cmd_time=12.
� W Gateway Liberty spr�buj cmd_time=16.
W niekt�rych systemach u�ywaj�cych kontrolera Cirrusa, w��czaj�c NEC
Versa M, BIOS ustawia kontroler w specyficzny stan zawieszenia podczas
startu systemu. W tych systemach, polecenie probe nie powiedzie si�.
Je�li tak si� zdarzy, zmodyfikuj plik /etc/rc.d/rc.pcmcia r�cznie tak:
# Wstaw tu parametry timing-�w dla sterownika gniazd
PCIC=i82365
# Wstaw tu opcje pcmcia_core
PCIC_OPTS="wakeup=1"
22..66.. PPrroobblleemmyy ppooddcczzaass ��aaddoowwaanniiaa mmoodduu����ww jj��ddrraa..
Skrypt konfiguracyjny normalnie upewni si� czy modu�y PCMCIA s�
kompatybilne z twoim j�drem. Tak wi�c, problemy podczas �adownia
modu��w wskazuje z regu�y na to, �e u�ytkownik ingerowa� w jaki�
spos�b w normalny proces instalacji. Niekt�re z tych problem�w s�
wysy�ane bezpo�rednio na konsol� Linux-a. Inne b��dy s� zapisywane w
pliku "log-file", zwykle jest to /usr/adm/messages albo
/var/log/messages. W zale�no�ci od konfiguracji twojego syslogd,
niekt�re komunikaty mog� by� zapisane do innych plik�w, kt�re zwykle
znajduj� si� tak�e w /usr/adm czy var/log. Aby wy�ledzi� problem,
upewnij si�, �e sprawdzi�e� obie lokalizacje.
Niekt�re modu�y PCMCIA wymagaj� serwis�w j�dra, kt�re mog�, ale nie
musz� by� obecne, zale�nie od konfiguracji j�dra. Na przyk�ad,
sterowniki kart SCSI wymagaj� skonfigurowanej obs�ugi SCSI w j�drze, a
sterowniki sieci wymagaj� skonfigurowania sieci w j�drze. Je�li w
j�drze brakuje potrzebnego serwisu insmod mo�e twierdzi�, �e s�
niezdefiniowane symbole i nie za�adowa� modu�u.
Je�li insmod zwraca b��d "wrong version", oznacza to, �e modu� by�
skompilowany dla innej wersji j�dra ni� to, kt�re akurat dzia�a. Mo�e
to si� pojawi� je�li modu�y skompilowane na jednej maszynie s�
kopiowane na drug� z inn� konfiguracj�, albo je�li j�dro jest
rekonfigurowane po tym, jak pakiet PCMCIA zosta� zainstalowany.
Innym �r�d�em b��d�w podczas �adowana modu��w mo�e by� to, �e modu�y i
j�dra by�y skompilowane z r�nymi ustawieniami CONFIG_MODVERSIONS.
Je�li modu� z wkompilowanym sprawdzaniem wersji jest �adowany do j�dra
bez sprawdzania wersji, insmod zwr�ci b��d "undefined symbols".
Ostatecznie, wzgl�dnie nowe wersje binutils s� niekompatybilne ze
starszymi wersjami narz�dzi do modu��w, i mog� powodowa�, �e s�
zwracane takie w�a�nie b��dy. Najcz�stszym symptomem jest b��d o
niezdefiniowaniu gcc_compiled. Je�li masz takie b��dy, od�wie�
narz�dzia do modu��w do najnowszej wersji, dost�pnych z
ftp.icm.edu.pl.
22..77.. PPrroobblleemmyy zz pprrzzeerrwwaanniieemm zzmmiiaannyy ssttaattuussuu kkaarrttyy..
W wi�kszo��i wypadk�w sterownik do gniazd (i82365 albo tcic)
automatycznie wykryje i wybierze odpowiednie przerwanie, aby
sygnalizowa� zmiany statusu karty. Automatyczne wyszukiwanie
przerwania nie dzia�a na niekt�rych kontrolerach kompatybilnych z
Intel-em, w��czaj�c Cirrus-a i niekt�re IBM ThinkPad. Je�li urz�dzenie
nie jest aktywne w czasie sprawdzania, jego przerwanie mo�e tak�e
pojawi� si� jako niedost�pne. W takich przypadkach sterownik gniazd
mo�e wybra� przerwanie kt�re jest u�ywane przez inne urz�dzenie.
W sterownikach i82365 i tcic mo�na u�ywa� opcji irq_list aby
ograniczy� ilo�� wyszukiwanych przerwa�. Lista ta ogranicza zbi�r
przerwa�, kt�re mog� by� u�yte przez karty PCMCIA oraz do
monitorowania zmian statusu karty. Opcja cs_irq mo�e by� u�yta, aby
wyra�nie okre�li� przerwanie, kt�rego nale�y u�y� do monitorowania
zmian statusu karty.
Je�li nie mo�esz znale�� numeru przerwania, kt�re dzia�a, jest jeszcze
tryb statusu "polled": oba - i82365 i tcic zaakceptuj� opcj�
poll_interval=100, aby sprawdza� zmiany statusu karty raz na sekund�.
Opcja ta powinna by� tak�e u�ywana je�li w twoim systemie brakuje
dost�pnych przerwa� dla kart PCMCIA. Szczeg�lnie w systemach z wi�cej
ni� jednym kontrolerem PCMCIA, nie ma zbytnio sensu w przeznaczaniu
przerwa� na monitorowanie zmian statusu kart.
Wszystkie te opcje powinny by� ustawiane w linii PCIC_OPTS= w pliku
/etc/rc.d/rc.pcmcia albo /etc/sysconfig/pcmcia zale�nie od twojego
systemu.
22..88.. PPrroobblleemmyy zz iiddeennttyyffiikkaaccjj�� kkaarrttyy..
Domy�lnie, sterowniki PCMCIA alokuj� okna pami�ci w przestrzeni
0xC0000-0xFFFFF, po sprawdzeniu czy nie ma w niej jakich� konflikt�w z
ROM-em czy innymi urz�dzeniami. To okno pami�ci jest podane w pliku
/etc/pcmcia/config.opts. Sprawdzanie ma miejsce przy pierwszej pr�bie
skonfigurowania nowej karty. Procedura sprawdzania nie jest idioto-
odporna, wi�c mo�liwe jest niezidentyfikowanie konfliktu. Je�li obszar
ten jest u�ywany przez inne urz�dzenia w twoim systemie, karty mog�
nie zosta� zidentyfikowane poprawnie. Przy uk�adach kt�re to
obs�uguj�, konflikt mo�e te� powstawa� przy przes�anianiu tego obszaru
pami�ci.
Klasycznym symptomem problemu z konfiguracj� okna pami�ci jest
zidentyfikowanie wszystkich kart jako karty pami�ci. W nadzwyczajnych
przypadkach konflikt taki mo�e powsta� z jakim� krytycznym serwisem
systemowym, co mo�e powodowa� zawieszenia czy restarty. Je�li
podejrzewasz taki konflikt, sprawd� najpierw czy wy��czone jest
przes�anianie ROM-u w ustawieniach twojego sprz�tu. Znalezienie
dobrego okna mo�e wymaga� troch� eksperyment�w. Kilka alternatywnych
okien to: 0xD0000-0xDFFFF, 0xC9000-0xCFFFF i 0xD8000-0xDFFFF.
Je�li masz sterowniki DOS-owe do PCMCIA, mo�esz zobaczy� jakich
obszar�w pami�ci one u�ywaj�. Zauwa�, �e adresy pami�ci w DOS-ie s�
cz�sto podawane w formie segment�w, kt�ra to obcina ostatni� cyfr�
szesnastkow� (tak, �e adres bezwzgl�dny 0xD0000 by�by podany jako
0xD000. Upewnij si�, �e doda�e� t� jedn� cyfr� kiedy wpisywa�e�
warto�� do pliku /etc/pcmcia/config.opts.
Je�li problem z identyfikacj� karty nie zosta� rozwi�zany
dopasowywaniem okien pami�ci, to prawdopodobnie jest to problem z
"timing-ami"
22..99.. DDllaacczzeeggoo nniiee ddyyssttrryybbuujjeesszz bbiinnaarrii��ww ddoo PPCCMMCCIIAA ??
Dla mnie, dystrybucja binari�w jest bardzo niewygodna. Jest to sprawa
skomplikowana poniewa� niekt�re zalety mog� by� podane dopiero w
czasie kompilacji, oraz dlatego, �e modu�y PCMCIA s� zale�ne od
"poprawnej" konfiguracji j�dra. Wi�c musia�bym przypuszczalnie
dystrybu�owa� prekompilowane modu�y wraz z odpowiednimi wersjami
j�der. Id�c dalej, prekompilowane modu�y s� najbardziej potrzebne
kiedy instalujemy Linux-a od pocz�tku. To z regu�y wymaga ustawienia
PCMCIA tak, �eby mo�na jej by�o u�y� w procesie instalacji dla
konkretnej dystrybucji Linux-a. Ka�da dystrybucja Linux-a ma w�asn�
procedur�, i nie jest dla mnie wykonalnym udost�pnia� dyskietki "boot"
i "root" chcocia�by tylko dla tych najbardziej popularnych kombinacji
sterownik�w i dystrybucji.
PCMCIA jest teraz cz�ci� wi�kszo�ci wa�niejszych dystrybucji,
w��czaj�c Red Hat, Caldera, Slackware, Yggdrasil, Craftworks oraz
Nascent Technology.
22..1100.. DDllaacczzeeggoo tteenn ppaakkiieett jjeesstt ttaakkii wwiieellkkii ??
No c�, po pierwsze, to on wcale nie jest taki wielki. Wszystkie
modu�y sterownik�w razem wzi�te zajmuj� jakie� 200k. Programy
narz�dziowe dodaj� jeszcze jakie� 70k, a rzeczy w /etc/pcmcia zajmuj�
jakie� 30k. Podczas dzia�ania, rdze� modu��w PCMCIA zabiera oko�o 48k
pami�ci systemowej. Demon cardmgr z regu�y jest wyswapowywany opr�cz
moment�w kiedy karty s� wsadzane lub wyjmowane. Ca�kowita obj�to��
pakietu nie wiele r�ni si� od implementacji Card Services pod DOS-a.
W por�wnaniu z DOS-owymi "w��cznikami", mo�e si� to wydawa� troch�
przesadzone, szczeg�lnie dla ludzi, kt�rzy nie planuj� u�ywa� tych
wszystkich zalet jakie posiada PCMCIA, jak np. zarz�dzanie zasilaniem
czy "gor�ce wymiany". "W��czniki" mog� by� malutkie poniewa�
generalnie obs�uguj� one ograniczon� ilo�� kontroler�w PCMCIA. Je�li
kto� mia�by napisa� autentycznie "og�lny" "w��cznik" do modemu,
sko�ycz�oby si� na tym, �e pojawi�aby si� tam wi�kszo�� funkcji z Card
Services, aby obs�u�y� karty od r�nych sprzedawc�w oraz pe�ny zakres
r�nych wariant�w kontroler�w PCMCIA.
33.. SSttoossoowwaanniiee ii zzaalleettyy..
33..11.. NNaarrzz��ddzziiaa ddoo mmoonniittoorroowwaanniiaa uurrzz��ddzzee�� PPCCMMCCIIAA..
Demon cardmgr normalnie wydaje sygna� d�wi�kowy (beep) kiedy karta
jest wsadzana, a ton tego d�wi�ku informuje nas o statusie nowo
w�o�onej karty. D�wi�k wysoki a po nim niski informuje, �e karta
zosta�a zidentyfikowana, ale z jakiego� powodu nie mog�a zosta�
skonfigurowana. Jeden d�wi�k niski informuje, �e karta nie mog�a
zosta� zidentyfikowana.
Je�li wszystkie modu�y s� poprawnie za�adowane, polecenie lsmod daje
mniej wi�cej taki wynik (bez w�o�onych kart):
Module: #pages: Used by:
ds 2
i82365 3
pcmcia_core 7 [ds i82365]
Wszystkie modu�y PCMCIA oraz demon cardmgr wysy�aj� komunikaty o
statusie do systemowego programu loguj�cego. B�dzie to z regu�y
/var/log/messages albo /usr/adm/messages. Powinno to by� pierwsze
miejsce, do kt�rego nale�y zajrze� kiedy co� nie dzia�a. Kiedy
wysy�asz mi wiadomo�� o jakim� b��dzie, zawsze do��cz zawarto�� tego
pliku. Je�li nie mo�esz znale�� komunikat�w z twojego systemu, to
sprawd� konfiguracj� w pliku /etc/syslogd.conf, aby zobaczy� do jakich
plik�w s� one zapisywane. Cardmgr tak�e zapisuje niekt�re bie��ce
informacje o urz�dzeniach dla ka�dego gniazda w pliku /var/run/stab.
Oto przyk�adowa zawarto�� tego pliku:
Socket 0: Adaptec APA-1460 SlimSCSI
0 scsi aha152x_cs 0 sda 8 0
0 scsi aha152x_cs 1 scd0 11 0
Socket 1: Serial or Modem Card
1 serial serial_cs 0 ttyS1 5 65
W liniach opisuj�cych urz�dzenia, pierwsze pole jest gniazdem, drugie
- klas� urz�dzenia, trzecie - nazw� sterownika, czwarte jest u�ywane,
aby numerowa� urz�dzenia z�o�one (multiple devices) zwi�zane z tym
samym sterownikiem, pi�te - nazw� urz�dzenia, a ostatnie dwa pola s�
liczb� g��wn� i poboczn� dla danego urz�dzenia (je�li jest dost�pne).
Polecenie cardctl mo�e s�u�y� do sprawdzenia statusu gniazda, albo
jego konfiguracji. Oto przyk�adowy rezultat polecenia "cardctl
config":
Socket 0:
Socket 1:
Vcc = 5.0, Vpp1 = 0.0, Vpp2 = 0.0
Card type is memory and I/O
IRQ 3 is dynamic shared, level mode, enabled
Speaker output is enabled
Function 0:
Config register base = 0x0800
Option = 0x63, status = 0x08
I/O window 1: 0x0280 to 0x02bf, auto sized
I/O window 2: 0x02f8 to 0x02ff, 8 bit
Je�li masz uruchomione X-y, to narz�dzie cardinfo wy�wietla informacje
o statusie wszystkich gniazd PCMCIA, podobn� w zawarto�ci do "cardctl
config".
33..22.. PPrrzzeeggll��dd sskkrryypptt��ww kkoonnffiigguurraaccyyjjnnyycchh PPCCMMCCIIAA..
Ka�de urz�dzenie PCMCIA jest przyporz�dkowane jakiej� klasie, kt�ra
opisuje jak powinno ono zosta� skonfigurowane i jak nim zarz�dza�.
Klasy s� zwi�zane ze sterownikami urz�dze� w /etc/pcmcia/config. Jest
w tej chwili pi�� klas urz�dze� IO (sie�, SCSI, CD-ROM, dyski fixed i
szeregowe) oraz dwie klasy urz�dze� zwi�zanych z pami�ci� (pami�� i
FTL). Dla ka�dej klasy s� dwa skrypty w /etc/pcmcia/config: g��wny
skrypt konfiguracyjny (/etc/pcmcia/scsi dla urz�dze� SCSI), i skrypt z
opcjami (/etc/pcmcia/scsi.opts). Skrypt g��wny dla danego urz�dzenia
zostanie wywo�any, aby skonfigurowa� to urz�dzenie kiedy karta jest
wk�adana, i �eby wy��czy� dane urz�dzenie kiedy karta jest wyjmowana.
Dla kart, z kt�rymi jest zwi�zane kilka urz�dze�, skrypt zostanie
wywo�any dla ka�dego urz�dzenia.
Skrypty konfiguracyjne zaczynaj� od wyci�gni�cia pewnych informacji o
danym urz�dzeniu z pliku /var/run/stab. Ka�dy skrypt konstruuje
"adres urz�dzenia" w zmiennej ADDRESS, kt�ry jest unikatowy dla
urz�dzenia, kt�re ma by� skonfigurowane. Jest to przekazywane do
skryptu *.opts, kt�ry powinien zwr�ci� informacj� o tym, jak dane
urz�dzenie z podanego adresu powinno zosta� skonfigurowane. Dla
niekt�rych urz�dze�, adres ten jest po prostu numerem gniazda. Dla
innych, zawiera on dodatkowe informacje, kt�re mog� by� przydatne do
zadecydowania jak skonfigurowa� dane urz�dzenie. Na przyk�ad,
urz�dzenia sieciowe przekazuj� sw�j adres Ethernet-owy jako cz��
swojego "adresu urz�dzenia", tak �eby skrypt network.opts m�g� tego
u�y�, aby wybra� z kilku r�nych konfiguracji.
Pierwsz� cz�ci� wszystkich adres�w urz�dze� jest bie��cy schemat
PCMCIA. Parametr ten jest u�ywany do obs�ugi z�o�onych zbior�w
konfiguracji urz�dze� opartych na pojedynczej zewn�trznej zmiennej
podanej przez u�ytkownika. Jeden ze sposob�w u�ycia schemat�w to
posiadanie schematu domowego, i schematu roboczego, kt�ry zawiera�by
r�ne zbiory parametr�w konfiguracji sieci. Schemat bie��cy jest
wybierany przy pomocy polecenia cardctl. Domy�lnym schematem, je�li
�aden nie jest podany, jest "default".
Jako zasada og�lna podczas konfiguracji Linux-a na laptopa, urz�dzenia
PCMCIA powinny by� konfigurowane tylko przy pomocy skrypt�w do
urz�dze� PCMCIA. Nie pr�buj konfigurowa� urz�dzenia PCMCIA w ten sam
spos�b co urz�dzenie do��czone na sta�e.
33..33.. AAddaapptteerryy ssiieecciioowwee PPCCMMCCIIAA..
Normalnie interfejsy sieciowe typu Ethernet na Linux-ie maj� nazwy
eth0, eth1 itd. Kontrolery Token-Ring s� obs�ugiwane podobnie, chocia�
nazywane s� tr0, tr1 itd. Polecenie ifconfig jest wywo�ywane, aby
zobaczy� albo zmodyfikowa� stan urz�dzenia sieciowego. W�asno�ci�
Linux-a jest to, �e interfejsy sieciowe nie maj� odpowiednich plik�w w
katalogu /dev, wi�c nie b�d� zaskoczony, �e nie mo�esz ich znale��.
Kiedy zostanie wykryta karta Ethernet-owa PCMCIA, zostanie jej
przydzielona pierwsza wolna nazwa interfejsu, kt�r� b�dzie
przypuszczalnie eth0. Cardmgr wykona skrypt /etc/pcmcia/network, aby
skonfigurowa� ten interfejs.
Nie konfiguruj swojej karty Ethernet-owej w /etc/rc.d/rc.inet1
poniewa� karty mo�e nie by� kiedy skrypt ten jest wykonywany. Wstaw w
komentarz wszystko, opr�cz urz�dzenia "loopback" w rc.inet1.
Je�li tw�j system ma automatyczn� procedur� konfiguracji sieci
powiniene� zwykle wskaza�, �e nie masz zainstalowanej karty sieciowej.
W zamian, zmodyfikuj plik /etc/pcmcia/network.opts, tak aby odpowiada�
twojej lokalnej konfiguracji sieci. Skrypty network i network.opts
zostan� wykonane tylko je�li twoja karta Ethernet-owa jest obecna.
Adres urz�dzenia przekazany do network.opts sk�ada si�, z czterech p�l
oddzielonych przecinkami: schematu, numeru gniazda, numeru urz�dzenia
i sprz�towego adresu karty Ethernet. Numer urz�dzenia jest u�ywany do
numerowania urz�dze� dla kart, kt�re maj� kilka interfejs�w
sieciowych, tak wi�c zwykle b�dzie to 0. Je�li masz kilka kart
sieciowych u�ywanych do r�nych cel�w, jedn� z opcji by�oby
skonfigurowanie kart oparte na numerze gniazda, jak tu:
case "$ADDRESS" in
*,0,*,*)
# definicje dla karty sieciowej w gnie�dzie 0
;;
*,1,*,*)
# definicje dla karty sieciowej w gnie�dzie 1
;;
esac
Alternatywnie mog�yby one by� skonfigurowane u�ywaj�c ich adres�w
sprz�towych, jak tu:
case "$ADDRESS" in
*,*,*,00:80:C8:76:00:B1)
# definicje dla karty D-Link
;;
*,*,*,08:00:5A:44:80:01)
# definicje dla karty IBM
esac
Aby automatycznie zamontowa� i odmontowa� system plik�w NFS, najpierw
dodaj te wszystkie systemy do /etc/fstab, ale w opcjach podaj _n_o_a_u_t_o.
W network.opts wpisz katalogi, w kt�rych maj� by� zamontowane systemy
plik�w NFS w zmiennej MOUNTS. Jest tu szczeg�lnie wa�ne, aby u�y� albo
cardctl albo cardinfo, aby wy��czy� kart� sieciow� kiedy montowanie z
NFS jest w ten spos�b skonfigurowane. Nie jest mo�liwe czyste
odmontowanie systemu plik�w NFS je�li karta sieciowa jest po prostu
wyrzucana bez ostrze�enia.
Dodatkowo opr�cz zwyk�ych parametr�w konfiguracyjnych dla sieci,
skrypt network.opts mo�e podawa� inne akcje, kt�re maj� mie� miejsce
po tym jak interfejs zosta� skonfigurowany, albo przed zamkni�ciem
interfejsu. Je�li w network.opts zdefiniowana jest funkcja start_fn,
zostanie ona wywo�ana przez skrypt sieciowy po skonfigurowaniu
interfejsu, a nazwa interfejsu zostanie przekazana do tej funkcji jako
pierwszy i jedyny argument. Podobnie je�li funkcja stop_fn jest
zdefiniowana, to zostanie ona wywo�ana przed zamkni�ciem interfejsu.
33..33..11.. WWyybb��rr ttrraannsscceeiivveerr--aa..
Typ transceiver-a mo�na wybra� w network.opts przy pomocy ustawienia
IF_PORT. Mo�e to by� zar�wno warto�� numeryczna jak we wcze�niejszych
wydaniach PCMCIA, jak i s�owo kluczowe identyfikuj�ce typ transceiver-
a. Warto�ciami domy�lnymi we wszystkich sterownikach sieciowych s�:
wykrywanie automatyczne interfejsu je�li jest to mo�liwe, a w
przeciwnym razie - 10baseT. Przy pomocy polecenia ifport mo�na
sprawdzi� lub ustawi� bie��cy typ transceiver-a. Np.:
# ifport eth0 10base2
#
# ifport eth0
eth0 2 (10base2)
Obecne wersje sterownika 3c589 pr�buj� automatycznie wykry� po��czenie
sieciowe, ale nie jest to jeszcze w pe�ni funkcjonalne. Aby
automatyczne wykrywanie dzia�a�o, kabel sieciowy powinien tkwi� w
karcie podczas jej konfiguracji. Alternatywnym rozwi�zaniem jest
zmuszenie sterownika do sprawdzenia po��czenia przy pomocy polecenia:
ifconfig eth0 down up
33..33..22.. KKoommeennttaarrzzee nnaa tteemmaatt kkoonnkkrreettnnyycchh kkaarrtt..
� Przy kartach IBM CCAE i Socket EA musisz wybra� typ transceiver-a
(10base2, 10baseT, AUI) gdy urz�dzenie sieciowe jest ju�
skonfigurowane. Upewnij si�, �e typ transceiver-a zapisany w logach
jest zgodny z rzeczywistym.
� Sterowniki dla kart SMC, Megahertz, Ositech i 3Com powinny
automatycznie wykry� typ do��czonej sieci (10base2 lub 10baseT).
Ustawienie typu transceiver-a kiedy sterownik jest ju� za�adowany
ma na celu zdefiniowanie pierwszej warto�ci sprawdzanej przez
sterownik.
� Karta Farallon EtherWave jest w�a�ciwie zbudowana na bazie 3Com
3c589 ze specjalnym transceiver-em. Pomimo, i� EtherWave u�ywa
po��cze� 10baseT jej transceiver wymaga, �eby 3c589 by�a
skonfigurowana na tryb 10base2.
� Je�li masz problemy z kartami IBM CCAE, NE4100, Thomas Conrad czy
Kingston - spr�buj zwi�kszy� czas dost�pu do pami�ci opcj�
mem_speed=# dla modu�u pcnet_cs. Przyk�ad jak to zrobi� znajdziesz
w standardowym pliku config.opts. Wypr�buj pr�dko�ci do 1000
nanosekund.
� Na niekt�rych systemach przy karcie New Media Ethernet mo�liwe, �e
trzeba zwi�kszy� czas dost�pu do port�w IO opcj� io_speed=# podczas
�adowania modu�u pcmcia_core. Aby ustawi� t� opcj� zmodyfikuj
linijk� CORE_OPTS w skrypcie startowym.
� Obs�uga muticastingu w sterowniku dla New media Ethernet nie jest
pe�na. Najnowszy sterownik b�dzie dzia�a� z j�drem skompilowanym do
multicastingu, ale b�dzie ignorowa� takie pakiety. Tryb
"promiscuous" powinien dzia�a� poprawnie.
� Wygl�da na to, �e sterownik u�ywany przez karty IBM i 3Com token
ring zachowuje si� bardzo �le je�li karty nie s� po��czone z
pier�cieniem podczas inicjalizacji. Zawsze pod��czaj te karty do
sieci kiedy s� uruchamiane. Sterownik ten wymaga tak�e wolnych
port�w w obszarze 0xA20-0xA27. Na niekt�rych systemach,
automatyczne sprawdzanie konflikt�w w�r�d port�w IO b��dnie okre�li
ten obszar jako niedost�pny. W tym wypadku, sprawdzanie mo�e zosta�
wy��czone poprzez za�adowanie modu�u pcmcia_core z opcj�
probe_io=0.
� Nowsze karty Linksys i D-Link maj� sw�j unikalny spos�b wybierania
typu transceiver-a, kt�ry nie jest obs�ugiwany przez sterowniki
Linux-owe. Jednym ze sposob�w na obej�cie tego jest wystartowa�
DOS-a i u�y� narz�dzia dostarczonego przez sprzedawc�, aby wybra�
transceiver i potem wystartowa� Linux-a na "ciep�o". Szukam beta-
tester�w do narz�dzia na Linux-a, kt�re by umo�liwia�o tak�
funkcj�.
� Jean Tourrilhes (
[email protected] napisa� HOWTO <
http://www-
uk.hpl.hp.com/people/jt/Linux/Wavelan.html> na temat
bezprzewodowych kart sieciowych WaveLAN.
33..33..33.. DDiiaaggnnoozzoowwaanniiee pprroobblleemm��ww zz kkaarrttaammii ssiieecciioowwyymmii..
� Czy twoja karta jest rozpoznawana jako karta etnernetowa? Sprawd�
logi systemowe i upewnij si�, �e cardmgr identyfikuje twoj� kart�
poprawnie i startuje jeden ze sterownik�w sieciowych. Je�li nie,
to twoj� kart� mo�na wci�� u�y� je�li jest ona kompatybilna z jak��
obs�ugiwan�. Najpro�ciej jest to zrobi� je�li karta "twierdzi", �e
jest kompatybilna z NE2000.
� Czy karta jest poprawnie skonfigurowana? Je�li u�ywasz obs�ugiwanej
karty i zosta�a ona rozpoznana przez cardmgr, ale wci�� nie dzia�a,
to mo�liwy jest konflikt z przerwaniami lub portami. Zobacz jakich
zasob�w u�ywa karta (z log�w systemowych) i spr�buj wy��czy� je w
/etc/pcmcia/config.opts, aby zmusi� kart� do u�ycia innych.
� Je�li twoja karta wydaje si� by� skonfigurowana poprawnie, ale
czasami si� zawiesza, szczeg�lnie przy du�ym obci��eniu systemu,
mo�liwe, �e musisz spr�bowa� zmieni� paramtery "timing-owe" gniazda
dla sterownika. Wi�cej informacji znajdziesz w sekcji ``2.3''.
� Je�li masz komunikaty w stylu "network unreachable" kiedy pr�bujesz
dosta� si� do sieci, to przypuszczalnie b��dnie ustawi�e� parametry
w /etc/pcmcia/network.opts. Jednak z drugiej strony b��dnie
skonfigurowane karty z regu�y nie zainicjuj� si� i nie wy�wietl�
przy tym �adnych komunikat�w
� Aby sprawdzi� problemy z /etc/pcmcia/network.opts, zacznij od pr�by
ping-owania innych system�w w tej samej podsieci uzywaj�c ich
adres�w IP. Potem spr�buj ping-owa� sw�j gateway, i maszyny w
innych podsieciach. Ping-uj maszyny po ich adresach tylko po
zrobieniu tych prostych test�w.
� Upewnij si�, �e tw�j problem to naprawd� problem z PCMCIA.
Sprawdzenie, czy karta dzia�a pod DOS-em ze sterownikiem od
sprzedawcy mo�e pom�c. Sprawd� dwa razy modyfikacje w skrypcie
/etc/pcmcia/network.opts. Upewnij si�, �e twoje kable, wtyczka "T",
terminator itp. dzia�aj�.
33..44.. UUrrzz��ddzzeenniiaa sszzeerreeggoowwee ii mmooddeemmyy PPCCMMCCIIAA..
Linux-owe urz�dzenia szeregowe s� dost�pne poprzez specjalne pliki
/dev/cua* i /dev/ttyS*. Urz�dzenia ttyS* s� dla po��cze�
przychodz�cych, jak np. bezpo�rednio pod��czone terminale. Urz�dzenia
cua* s� dla po��cze� wychodz�cych, jak np. modemy. Ka�dy fizyczny port
szeregowy ma plik urz�dzenia ttyS i cua: to ju� zale�y od ciebie jaki
plik wykorzystasz w swojej aplikacji. Konfiguracja urz�dzenia
szeregowego mo�e by� sprawdzana i modyfikowana poprzez polecenie
setserial.
Kiedy zostanie wykryta karta szeregowa lub modemowa PCMCIA, zostanie
jej przypisany pierwszy dost�pny slot urz�dzenia szeregowego. B�dzie
to zwykle /dev/ttyS1 (cua1) albo /dev/ttyS2 (cua2) w zale�no�ci od
ilo�ci wbudowanych port�w szeregowych. Urz�dzenie ttyS* jest
raportowane w pliku /var/run/stab. Domy�lny skrypt z opcjami dla
urz�dzenia szeregowego /etc/pcmcia/serial.opts pod��czy odpowiedni w
ramach udogodnienia plik urz�dzenia cua* do /dev/modem.
Nie pr�buj u�ywa� /etc/rc.d/rc.serial do konfiguracji modemu PCMCIA.
Skrypt ten powinien by� u�ywany tylko do konfiguracji urz�dze�
zainstalowanych na sta�e. Modyfikuj /etc/pcmcia/serial.opts je�li
chcesz jakich� specjalnych ustawie� dla swojego modemu. Nie pr�buj
tak�e zmienia� portu IO czy IRQ szeregowego urz�dzenia PCMCIA
programem setserial. Poinformowa�oby to sterownik szeregowy, �e karta
jest w innym miejscu, ale nie zmieni�oby ustawie� sprz�towych karty.
Skrypt konfiguracyjny pozwala na podanie innych opcji setserial jak
rownie� to czy linia dla tego portu powinna zosta� dodana do
/etc/inittab.
Adres urz�dzenia przekazywany do serial.opts ma trzy pola odzielone
przecinkami: pierwsze jest schematem, drugie - numerem gniazda,
trzecie - numerem urz�dzenia. Numer urz�dzenia mo�e przyjmowa� kilka
warto�ci dla kart, kt�re obs�uguj� wieloportowe karty szeregowe, ale
dla kart jednoportowych b�dzie to zawsze 0. Je�li zwykle u�ywasz
wi�cej ni� jednego modemu PCMCIA, mo�esz poda� r�ne ustawienia oparte
na numerze gniazda, jak tu:
case "$ADDRESS" in
*,0,*)
# Opcje dla modemu w gnie�dzie 0
LINK=/dev/modem0
;;
*,1,*)
# Opcje dla modemu w gnie�dzie 1
LINK=/dev/modem1
;;
esac
Je�li modem PCMCIA jest ju� skonfigurowany gdy Linux startuje, mo�e
zosta� �le zidentyfikowany jako zwyk�y wbudowany port szeregowy. Jest
to nieszkodliwe, chocia�, kiedy sterowniki PCMCIA przejmuj� kontrol�
nad modemem, b�dzie mu nadany inny slot. Najlepiej albo zmodyfikowa�
/var/run/stab albo u�y� /dev/modem ni� liczy� na to, �e modem PCMCIA
b�dzie zawsze mia� przypisane to samo urz�dzenie.
Je�li skonfigurujesz twoje j�dro, aby �adowa�o podstawowy sterownik do
port�w szeregowych jako modu�, musisz zmodyfikowa� /etc/pcmcia/config,
aby wskaza�, �e ten modu� ma by� �adowany. Zmie� pozycj� urz�dzenia
szeregowego tak:
device "serial_cs"
class "serial" module "char/serial", "serial_cs"
33..44..11.. DDiiaaggnnoozzoowwaanniiee pprroobblleemm��ww zz uurrzz��ddzzeenniiaammii sszzeerreeggoowwyymmii..
� Czy twoja karta jest rozpoznawana jako modem? Sprawd� log systemowy
i upewnij si�, �e cardmgr identyfikuje kart� poprawnie i startuje
sterownik serial_cs. Je�li nie, to mo�liwe, �e musisz doda� jeszcze
jedn� pozycj� do swojego pliku /etc/pcmcia/config tak, �e zostanie
ona poprawnie zidentyfikowana. Wi�cej szczeg��w w sekcji ``3.6''.
� Czy modem zosta� poprawnie skonfigurowany przez serial_cs? Znowu,
sprawd� logi systemowe i poszukaj komunikat�w pochodz�cych od
sterownika serial_cs. Je�li zobaczy� "register_serial() failed()",
to mo�esz mie� konflikt port�w IO. Inn� wskaz�wk� na konflikt jest
zg�oszenie urz�dzenia 8250; wi�kszo�� nowoczesnych modem�w PCMCIA
powinna by� identyfikowana jako UART 16550A. Je�li s�dzisz, �e masz
do czynienia z konfliktem port�w, zmodyfikuj
/etc/pcmcia/config.opts i wy��cz obszar port�w, kt�ry zosta�
zaalokowany dla modemu.
� A mo�e jest konflikt przerwa�? Je�li log systemowy wygl�da na
dobry, ale modem po prostu nie dzia�a, to spr�buj u�y� setserial,
aby zmieni� IRQ na 0 i sprawd� czy modem dzia�a. Wywo�anie takie
wymusza na sterowniku u�ycie wolniejszego trybu "_p_o_l_l_e_d" zamiast
u�ycia przerwa�. Je�li to naprawia problem, to ca�kiem mo�liwe, �e
jakie� inne urz�dzenie w twoim systemie u�ywa przerwania wybranego
przez serial_cs. Powiniene� doda� lini� do pliku
/etc/pcmcia/config.opts wy��czaj�ce to przerwanie.
� Je�li modem zdaje si� dzia�a�, ale bardzo, bardzo wolno, to jest
prawie pewne, �e jest konflikt przerwa�.
� Upewnij si�, �e tw�j problem, to rzeczywi�cie problem z PCMCIA.
Pomocne mo�e by� sprawdzenie, czy karta dzia�a pod DOS-em u�ywaj�c
sterownika dostarczonego przez sprzedawc�. Nie testuj tak�e karty w
skomplikowanych warunkach jak SLIP czy PPP dop�ki nie jeste�
pewnien, �e mo�esz nawi�zywa� proste po��czenia. Je�li proste
rzeczy dzia�aj� a SLIP - nie, to problem jest ze SLIP-em, a nie
PCMCIA.
� Je�li otrzymujesz komunikaty od j�dra wskazuj�ce na to, �e modu�
serial_cs nie mo�e by� za�adowany, to znaczy, �e j�dro nie ma
obs�ugi dla urz�dze� szeregowych. Je�li skompilowa�e� sterownik
szeregowy jako modu�, to musisz zmodyfikowa� /etc/pcmcia/config,
aby zaznaczy�, �e modu� serial powinien by� za�adowany przed
serial_cs.
33..55.. AAddaapptteerryy PPCCMMCCIIAA SSCCSSII..
Wszystkie obecnie obs�ugiwane karty PCMCIA SCSI s� podobne w dzia�aniu
do jednej z nast�puj�cych kart: Qlogic, Adaptec AHA-152X albo Future
Domain TMC-16x0. Sterowniki PCMCIA s� stworzone przez do��czanie
cz�ci specyficznego dla PCMCIA kodu (w qlogic_cs.c, toaster_cs.c albo
fdomain_cs.c) do normalnego sterownika SCSI dla Linux-a.
Kiedy wykryty zostanie nowy kontroler SCSI, sterowniki do SCSI b�d�
szuka� urz�dze�. Sprawd� logi systemowe, aby upewni� si�, �e twoje
urz�dzenia zosta�y wykryte poprawnie. Nowym urz�dzeniom SCSI zostanie
przypisany pierwszy wolny plik urz�dzenia SCSI. Pierwszy dysk SCSI
b�dzie /dev/sda, pierwsza ta�ma SCSI b�dzie /dev/st0, a pierwszy CD-
ROM SCSI b�dzie /dev/scd0.
Rdzeniowe sterowniki PCMCIA s� w stanie dowiedzie� si� od j�dra 1.3.X
i p�niejszego, kt�re urz�dzenia SCSI s� pod��czone do karty. B�d� one
wymienione w /var/run/stab, a skrypt konfiguracyjny SCSI
/etc/pcmcia/scsi b�dzie wywo�any jeden raz dla ka�dego do��czonego
urz�dzenia, aby je albo skonfigurowa� albo wy��czy�. Skrypt domy�lny
nie robi nic, aby skonfigurowa� urz�dzenia SCSI, ale poprawnie
odmontuje systemy plik�w z urz�dze� SCSI kiedy karta zostanie
usuni�ta.
Sterowniki PCMCIA z j�drem w wersji 1.2.X nie potrafi� automatycznie
wykry� , kt�re urz�dzenia s� przypisane konkretnemu sterownikowi. W
zamian za to, je�li masz jedn� normaln� konfiguracj� urz�dzenia SCSI,
mo�esz wymieni� te urz�dzenia w /etc/pcmcia/scsi.opts. Na przyk�ad:
je�li normalnie masz dysk i CD-ROM SCSI, u�y�by�:
# Dla j�dra 1.2: lista urz�dze� do��czonych
SCSI_DEVICES="sda scd0"
Adresy urz�dze� przekazywane do scsi.opts s� skomplikowane, z powodu
du�ej ilo�ci urz�dze�, kt�re mog� by� do��czone do kontrolera SCSI.
Adresy sk�adaj� si� albo z sze�ciu albo z siedmiu p�l oddzielonych
przecinkami: bie��cy schemat, typ urz�dzenia, numer gniazda, kana�
SCSI, ID, numer logicznej jednostki i opcjonalnie numer partycji. Typ
urz�dzenia b�dzie jednym z: "sd" dla dysk�w, "st" dla ta�m, "sr" dla
CD-ROM-�w i "sg" dla og�lnych urz�dze� SCSI. W wi�kszo�ci ustawie�,
kana� SCSI oraz numer logicznej jednostki b�dzie 0. Dla urz�dze�
dyskowych z kilkoma partycjami, scsi.opts zostanie najpierw wywo�any
dla ca�ego urz�dzenia, z pi�ciopolowym adresem. Skrypt ten powinien
ustawi� w zmiennej PARTS list� partycji. Potem, scsi.opts zostanie
wywo�any dla ka�dej partycji, z d�u�szymi - siedmiopolowymi adresami.
Na przyk�ad: oto skrypt do konfiguracji urz�dzenia dyskowego pod SCSI
ID = 3 z dwiema partycjami oraz CD-ROM pod SCSI ID = 6:
case "$ADDRESS" in
*,sd,*,0,3,0)
# To urz�dzenie ma dwie partycje...
PARTS="1 2"
;;
*,sd,*,0,3,0,1)
# Opcje dla partycji nr 1:
# zaktualizuj /etc/fstab i zamontuj system plik�w ext2 na /usr1
DO_FSTAB="y" ; DO_FSCK="y" ; DO_MOUNT="y"
FSTYPE="ext2"
OPTS=""
MOUNTPT="/usr1"
;;
*,sd,*,0,3,0,2)
# Opcje dla partycji nr 2:
# zaktualizuj /etc/fstab i zamontuj system plik�w ext2 na /usr2
DO_FSTAB="y" ; DO_FSCK="y" ; DO_MOUNT="y"
FSTYPE="msdos"
OPTS=""
MOUNTPT="/usr2"
;;
*,sr,*,0,6,0)
# Opcje dla CD-ROM-u ID = 6
PARTS=""
DO_FSTAB="y" ; DO_FSCK="n" ; DO_MOUNT="y"
FSTYPE="iso9660"
OPTS="ro"
MOUNTPT="/cdrom"
;;
esac
Je�li twoje j�dro nie posiada sterownika "_t_o_p_-_l_e_v_e_l" (do dysku, ta�my
itp.) dla konkretnego urz�dzenia SCSI, wtedy urz�dzenie to nie
zostanie skonfigurowane przez sterownik PCMCIA. Jako efekt uboczny,
nazwa urz�dzenia w /var/run/stab b�dzie wygl�da� mniej wi�cej tak:
"sd#nnnn", gdzie "nnnn" jest czterocyfrow� liczb� szesnastkow�. Zdarza
si� to, je�li cardmgr nie jest w stanie przet�umaczy� ID urz�dzenia
SCSI na odpowiadaj�c� mu nazw� urz�dzenia Linux-owego.
Mo�liwe jest zmodularyzowanie sterownik�w "top-level" do SCSI, tak aby
by�y �adowane tylko wtedy kiedy zostanie wykryty kontroler SCSI. Aby
tak zrobi�, musisz zmodyfikowa� /etc/pcmcia/config, aby poinformowa�
cardmgr, kt�re dodatkowe modu�y musz� by� za�adowane kiedy dany
kontroler jest konfigurowany.
Na przyk�ad:
device "aha152x_cs"
class "scsi" module "scsi/scsi_mod", "scsi/sd_mod", "aha152x_cs"
Taka zawarto�� pliku spowodowa�aby za�adowanie rdzennego modu�u SCSI
oraz modu�u sterownika "_t_o_p_-_l_e_v_e_l" do dysk�w przed �adowaniem
normalnego modu�u sterownika PCMCIA. Skrypt Configure nie wykryje
automatycznie zmodularyzowanych sterownik�w SCSI, tak wi�c b�dziesz
musia� w��czy� obs�ug� SCSI r�cznie u�ywaj�c opcji konfiguracyjnych.
Zawsze w��czaj swoje urz�dzenia przed w��czeniem laptopa, albo przed
w�o�eniem karty kontrolera, tak aby szyna SCSI zosta�a poprawnie
zako�czona podczas konfiguracji kontrolera. B�d� tak�e bardzo ostro�ny
przy wyjmowaniu kontrolera SCSI. Przed wyj�ciem karty upewnij si�, �e
wszystkie urz�dzenia do niej przydzielone zosta�y odmontowane i
wy��czone. Najlepiej przed wyj�ciem karty skorzysta� z programu
cardctl albo cardinfo i za��da� usuni�cia karty z systemu. W chwili
obecnej wszystkie urz�dzenia SCSI powinny by� w��czane przed w�o�eniem
karty sterownika SCSI i powinny pozosta� pod��czone do momentu wyj�cia
karty sterownika lub wy��czenia laptopa.
Korzystanie z tych kart niesie za sob� potencjalne komplikacje
nieznane w przypadku korzystania ze zwyk�ych sterownik�w ISA. Szyna
SCSI przenosi sygna� "termination power" niezb�dny do prawid�owego
dzia�ania zwyk�ych pasywnych terminator�w SCSI. Sterowniki SCSI
standardu PCMCIA nie dostarczaj� sygna�u "power termination", je�li
jest on wymagany musi zosta� dostarczony przez urz�dzenie zewn�trzne.
Niekt�re zewn�trzne urz�dzenia SCSI mog� zosta� skonfigurowane w taki
spos�b, aby dostarcza�y wspomnianego sysgna�u. Inne, jak np. Zip Drive
czy Syquest EZ-Drive u�ywaj� aktywnych terminator�w, przez co nie s�
zale�ne od sygna�u podawanego na szynie SCSI. W niekt�rych przypadkach
mo�e okaza� si� konieczne skorzystanie ze specjalnego bloku
terminatora, np. APS SCSI Sentry 2, kt�ry posiada niezale�ne,
zewn�trzne �r�d�o zasilania. Konfiguruj�c �a�cuch urz�dze� SCSI
musisz sobie zdawa� spraw�, kt�re z nich wymagaj� lub dostarczaj�
sygna� "power termination".
Kontroler Adaptec APA-460 SlimSCSI nie jest obs�ugiwany. Kart� t�
sprzedawano oryginalnie pod nazw� Trantor, a kiedy Adaptec po��czy�
si� z Trantor-em, kontynuowano sprzeda� Trantora z nazw� Adaptec.
APA-460 nie jest kompatybilny z jakimkolwiek istniej�cym sterownikiem
Linux-owym. Nie jestem pewien jak trudno by�oby napisa� sterownik; nie
s�dz�, �eby kto� by� w stanie wyci�gn�� jakiekolwiek informacje od
Adaptec-a.
(Nieobs�ugiwany) Trantor SlimSCSI mo�e zosta� zidentyfikowany
nast�puj�co:
Trantor / Adaptec APA-460 SlimSCSI
FCC ID: IE8T460
Shipped with SCSIworks! driver software
(Obs�ugiwany) Adaptec SlimSCSI mo�e zosta� zidentyfikowany
nast�puj�co:
Adaptec APA-1460 SlimSCSI
FCC ID: FGT1460
P/N: 900100
Shipped with EZ-SCSI driver software
33..55..11.. DDiiaaggnnoozzoowwaanniiee pprroobblleemm��ww zz kkaarrttaammii SSCCSSII..
� Przy sterowniku aha152x_cs (u�ywanym przez Adaptec-a, New Media i
kilka innych) �r�d�em cz�stych problem�w w nap�dach ta�m wydaje si�
by� obs�uga od��czania/pod��czania SCSI. Aby wy��czy�, t�
w�a�ciwo�� dodaj nast�puj�c� lini� do pliku
/etc/pcmcia/config.opts:
module "aha152x_cs" opts "reconnect=0"
� Je�li skompilowa�e� obs�ug� SCSI jako modu� (CONFIG_SCSI to "m"),
podczas konfiguracji PCMCIA, musisz wyra�nie zaznaczy�, �e chcesz,
aby sterownik zosta� skompilowany. Musisz zmodyfikowa� plik
/etc/pcmcia/config, aby �adowa� modu� SCSI przed odpowiednim
sterownikiem *_cs.
33..66.. KKaarrttyy ppaammii��ccii PPCCMMCCIIAA..
Sterownik memory_cs obs�uguje wszystkie typy kart pami�ci, jak r�wnie�
dostarcza bezpo�redniego dostepu do obszaru adresowego pami�ci PCMCIA
dla kart, kt�re maj� inne funkcje. Po za�adowaniu tworzy kombinacj�
urz�dze� znakowych i blokowych. Przeczytaj stron� podr�cznika na temat
modu��w, aby dowiedzie� si� wi�cej o schemacie nazewnictwa urz�dze�.
Urz�dzenia blokowe s� u�ywane do dost�pu a'la dysk (tworzenie i
montowanie system�w plik�w itp.) Urz�dzenia znakowe s�u�� do
bezpo�redniego (raw) niebuforowanego czytania i pisania do jakiego�
miejsca.
Adres urz�dzenia przekazany do memory.opts sk�ada si� z dw�ch p�l:
schematu i numeru gniazda. Opcje odnosz� si� do pierwszej zwyk�ej
partycji pami�ci na odpowiedniej karcie pami�ci. Oto przyk�ad skryptu,
kt�ry automatycznie montuje karty pami�ci w zale�no�ci od z��cza, w
kt�re zostan� karty w�o�one:
case "$ADDRESS" in
*,0,0)
# Zamontuj systemy plik�w, ale nie uaktualniaj /etc/fstab
DO_FSTAB="n" ; DO_FSCK="y" ; DO_MOUNT="y"
FSTYPE="ext2" ; OPTS=""
MOUNTPT="/mem0"
;;
*,1,0)
# Zamontuj systemy plik�w, ale nie uaktualniaj /etc/fstab
DO_FSTAB="n" ; DO_FSCK="y" ; DO_MOUNT="y"
FSTYPE="ext2" ; OPTS=""
MOUNTPT="/mem0"
;;
esac
Niekt�re starsze karty pami�ci i wi�kszo�� prostych statycznych kart
RAM nie posiadaj� "Card Information Structure" (CIS), kt�ra jest
schematem u�ywanym przez karty PCMCIA do identyfikowania si�.
Normalnie cardmgr za�o�y, �e ka�da karta, w kt�rej brakuje owej
struktury jest prost� kart� pami�ci i za�aduje sterownik memory_cs. I
tak, cz�stym skutkiem ubocznym og�lnego identyfikowania kart jest
identyfikacja innego typu kart jako karty pami�ci.
Sterownik memory_cs u�ywa heurystyki, aby zgadn�� pojemno�� tych kart.
Heurystyka nie dzia�a jednak dla kart zabezpieczonych przed zapisem i
mo�e czyni� b��dy tak�e w innych przypadkach. Je�li karta zosta�a �le
zidentyfikowana, jej rozmiar powinien by� wyra�nie podany podczas
u�ywania takich polece� jak dd czy mkfs.
33..66..11.. UU��yywwaanniiee kkaarrtt ppaammii��ccii ""ffllaasshh""..
Adres urz�dzenia przekazywany do ftl.opts sk�ada si� z trzech lub
czterech p�l: schematu, numeru gniazda, numeru regionu i opcjonalnie
numeru partycji. Wi�kszo�� kart "flash" ma tylko jeden region pami�ci
"flash", wi�c numerem regionu zwykle b�dzie zero.
Aby u�y� karty pami�ci "flash" jako zwyk�ego urz�dzenia blokowego jak
dysk, stw�rz najpierw partycj� "flash translation layer" na tym
urz�dzeniu poleceniem ftl_format:
ftl_format -i /dev/mem0c0c
Zauwa�, �e polecenie to uzyskuje dost�p do karty przez bezpo�redni
interfejs pami�ci karty. Raz sformatowana karta mo�e by� u�ywana jako
zwyk�e urz�dzenie blokowe przy pomocy sterownika ftl_cs. Na przyk�ad:
mke2fs /dev/ftl0c0
mount -t ext2 /dev/ftl0c0 /mnt
Nazewnictwo dla urz�dze� FTL jest troch� pokr�cone. Poboczne liczby
urz�dze� maj� trzy cz�ci: numer karty, numer regionu na tej karcie i
opcjonalnie partycj� w tym regionie. Region mo�e by� traktowany jako
pojedyncze urz�dzenie blokowe bez tablicy partycji (jak dyskietka)
albo mo�na go podzieli� na partycje tak jak dysk twardy. Urz�dzenie
"ftl0c0" jest kart� 0 o numerze regionu 0 i ca�ym regionem. Urz�dzenia
od "ftl0c0p1" do "ftl0c0p4" s� g��wnymi partycjami 1 do 4 je�li region
zosta� podzielony.
S� dwa g��wne formaty dla kart pami�ci flash: styl "flash translation
layer", i styl "Microsoft Flash File System". Format FTL jest og�lnie
bardziej elastyczny poniewa� pozwala na u�ycie ka�dego zwyk�ego
wysokopoziomowego systemu plik�w (ext2, ms-dos itp.) na kartach
pami�ci "flash" tak jakby by�y one na zwyk�ym urz�dzeniu dyskowym. FFS
jest ca�kiem odmiennym systemem plik�w. Linux nie umie w tej chwili
ob�ugiwa� kart sformatowanych w tym systemie.
33..77.. KKaarrttyy PPCCMMCCIIAA nnaapp��dd��ww AATTAA//IIDDEE..
Obs�uga nap�d�w ATA/IDE wymaga jadra 1.3.72 lub nowszego. Specyficzna
dla PCMCIA cz�� sterownika to fixed_cs. Pami�taj �eby u�ywa� cardctl
albo cardinfo do wy��czania karty ATA/IDE przed wyj�ciem jej, poniewa�
sterownik nie jest odporny na "gor�ce zmiany".
Adresy urz�dzenia przekazywane do fixed.opts sk�adaj� si� z trzech
albo czterech p�l: bie��cy schemat, numer gniazda, numer seryjny
nap�du i opcjonalny numer partycji. Tak samo jak w przypadku urz�dze�
SCSI, fixed.opts jest najpierw wywo�ywany dla ca�ego urz�dzenia. Je�li
fixed.opts zwr�ci list� partycji w zmiennej PARTS, skrypt zostanie
wtedy wywo�any dla ka�dej partycji.
Oto przyk�ad pliku fixed.opts, kt�ry montuje pierwsz� partycj�
jakiejkolwiek karty ATA/IDE na /mnt.
case "$ADDRESS" in
*,*,*)
PARTS="1"
;;
*,*,*,1)
DO_FSTAB="y" ; DO_FSCK="y" ; DO_MOUNT="y"
FSTYPE="msdos"
OPTS=""
MOUNTPT="/mnt"
;;
esac
Zauwa�, �e domy�lny plik fixed.opts posiada te linie, ale s� one w
komentarzu. Je�li chcesz, mo�esz mie� oddzielne konfiguracje dla
konkretnych kart oparte na ich numerach seryjnych. Aby odszuka� numer
seryjny nap�du, u�yj narz�dzia ide_info. Wtedy cz�� fixed.opts mo�e
wygl�da� tak:
case "$ADDRESS" in
*,*,Z4J60542)
# To s� moje rzeczy DOS-owe
PARTS="1"
;;
*,*,Z4J60542,1)
DO_FSTAB="y" ; DO_FSCK="y" ; DO_MOUNT="y"
FSTYPE="msdos"
OPTS=""
MOUNTPT="/mnt"
;;
esac
33..77..11.. DDiiaaggnnoozzoowwaanniiee pprroobblleemm��ww zz aaddaapptteerraammii AATTAA//IIDDEE..
� Niekt�re napedy IDE zaburzaj� specyfikacj� PCMCIA przez ��danie
d�u�szego czasu na "_r_o_z_k_r_�_c_e_n_i_e _s_i_�" ni� maksymalny dozwolony czas
na setup. Aby u�ywa� tych kart za�aduj modu� pcmcia_core z opcj�:
CORE_OPTS="unreset_delay=400"
� Aby u�ywa� urz�dzenia ATA/IDE CD-ROM, twoje j�dro musi by�
skompilowane z w��czon� opcj� CONFIG_BLK_DEV_IDECD. B�dzie to
zwykle przypadek dla standardowych j�der, chocia� jest to co� o
czym� powiniene� wiedzie� je�li kompilujesz j�dro z w�asn�
konfiguracj�.
33..88.. KKaarrttyy wwiieellooffuunnkkccyyjjnnee..
Od j�dra w wersji 1.3.73 pojedyncze przerwanie mo�e by� dzielone
mi�dzy kilka sterownik�w jak sterownik szeregowy i ethernetu. Je�li
u�ywasz wielofunkcyjnej karty z nowszym j�drem, to wszystkie funkcje
tej karty s� dost�pne bez potrzeby prze�adowywania sterownik�w.
Symultaniczne u�ycie dw�ch funkcji karty wymaga troch� sprytu i r�ni
sprzedawcy sprz�tu zaimplementowali dzielenie przerwa� na sw�j,
niekompatybilny (i czasem nieudokumentowany) spos�b. Sterowniki do
niekt�rych kart (Ositech Jack of Diamonds, 3Com 3c562, Linksys)
udost�pniaj� poprawnie symultaniczno��, ale inne (szczeg�lnie
Megahertz) - nie.
Wcze�niejsze j�dra nie obs�ugiwa�y dzielenia przerwa� pomi�dzy r�ne
sterowniki urz�dze�, wi�c jest niemo�liwe skonfigurowanie kart modemu
i ethernetu do dzia�ania symultanicznego. Sterowniki ethernetowy i
modemowy s� �adowane jednocze�nie automatycznie. Chocia� sterownik
ethernetowy przejmuje przerwanie domy�lnie. Aby u�y� modemu mo�esz
usun�� sterownik ethernetowy z pami�ci i zrekonfigurowa� port
szeregowy czym� takim:
ifconfig eth0 down
rmmod 3c589_cs
setserial /dev/modem autoconfig auto_irq
setserial /dev/modem
Drugie polecenie setserial powinno zweryfikowa� czy port zosta�
skonfigurowany tak, aby u�y� przerwania poprzednio u�ywanego przez
sterownik ethernetowy.
33..99.. KKiieeddyy mmoo��nnaa bbeezzppiieecczznniiee ww��oo��yy�� aallbboo wwyyjj���� kkaarrtt�� PPCCMMCCIIAA ??
Teoretycznie mo�esz wk�ada� i wyjmowa� karty PCMCIA w ka�dym momencie.
Chcocia�, generalnie dobrze jest nie wyjmowa� karty je�li jest ona
akurat u�ywana przez jak�� aplikacj�. J�dra starsze ni� 1.1.77 cz�sto
zawiesza�yby si� podczas wyjmowania kart szeregowych lub modemowych,
ale to powinno ju� by� naprawione.
33..1100.. CCaarrdd SSeerrvviicceess ii AAddvvaanncceedd PPoowweerr MMaannaaggeemmeenntt..
Pakiet Card Services mo�e zosta� skompilowany z obs�ug� APM (Advanced
Power Management) je�li zainstalowa�e� ten pakiet w swoim systemie.
APM jest do��czony do j�der 1.3.46 i nowszych. Opiekunem tego pakietu
jest obecnie Rick Faith (_f_a_i_t_h_@_c_s_._u_n_c_._e_d_u), a narz�dzia do APM mo�na
uzyska� z ftp.cs.unc.edu. Modu�y PCMCIA zostan� skonfigurowane
automatycznie pod wzgl�dem APM je�li na twoim systemie zostanie
wykryta wersja kompatybilna.
Aby poprawnie zako�czy� dzia�anie i ponownie wystartowa� karty PCMCIA,
mo�esz wykona� cardctl suspend przed zawieszeniem twojego laptopa i
cardctl resume po przywr�ceniu go do pracy bez zmian w APM.
Niezadzia�a to jednak z modemem PCMCIA, kt�ry jest w�a�nie u�ywany,
poniewa� sterownik szeregowy nie jest w stanie zachowa� i odtworzy�
parametr�w operacyjnych modemu.
APM wydaje si� by� niepewne na niekt�rych systemach. Je�li masz
problemy z APM i PCMCIA w twoim systemie, spr�buj zaw�zi� problem do
jednego albo drugiego pakietu zanim wy�lesz list z raportem o b��dzie.
Niekt�re sterowniki, szczeg�lnie sterowniki PCMCIA SCSI, nie mog� si�
odtworzy� ze stanu zawie�/odtw�rz. Kiedy u�ywasz karty PCMCIA SCSI,
u�yj cardctl eject zanim zawiesisz system.
33..1111.. JJaakk mmaamm wwyy����cczzyy�� kkaarrtt�� PPCCMMCCIIAA bbeezz wwyyjjmmoowwaanniiaa jjeejj ??
U�yj polecenia cardctl albo cardinfo. Polecenie cardctl suspend #
zawiesi jedno gniazdo, i wy��czy jego zasilanie. Odpowiednie polecnie
resume obudzi kart� w stan poprzedni.
33..1122.. JJaakk uussuuwwaamm sstteerroowwnniikkii PPCCMMCCIIAA zz ppaammii��ccii ??
Aby usun�� ca�y pakiet PCMCIA, uruchomrc.pcmcia tak:
/etc/rc.d/rc.pcmcia stop
Uruchomienie tego skryptu zajmie kilka sekund, poniewa� daje on czas
wszystkim sterownikom-klientom na poprawne zako�czenie dzia�ania.
Je�li jakie� urz�dzenie PCMCIA jest akurat u�ywane, zako�czenie b�dzie
niekompletne, i niekt�re modu�y j�dra mog� nie zosta� usuni�te. Aby
tego unikn�� u�yj cardctl eject, aby zamkn�� wszystkie gniazda przed
uruchomieniem rc.pcmcia. Status wyj�ciowy polecenia cardctl okre�li
czy jakie� gniazdo nie mog�o by� zamkni�te.
44.. ZZaaaawwaannssoowwaannee tteemmaattyy..
44..11.. AAllookkooaaccjjaa zzaassoobb��ww ddllaa uurrzz��ddzzee�� PPCCMMCCIIAA..
Teoretycznie nie powinno mie� znaczenia kt�re przerwanie jest
alokowane dla kt�rego urz�dzenia tak d�ugo jak dwa urz�dzenia nie s�
skonfigurowane, aby u�ywa� tego samego przerwania. W pliku
/etc/pcmcia/config.opts znajdziesz miejsce na wy��czenie przerwa�,
kt�re s� u�ywane przez inne urz�dzenia ni� PCMCIA.
Podobnie, nie ma sposobu, aby bezpo�rednio poda� adresy IO, kt�re maj�
byc u�ywane przez karty PCMCIA. Plik /etc/pcmcia/config.opts pozwala
na podanie obszaru port�w dost�pnego dla wszystkich sterownik�w
PCMCIA, albo wy��czy� obszary, kt�re powoduj� konflikty.
Po zmodyfikowaniu pliku /etc/pcmcia/config.opts mo�esz zrestartowa�
cardmgr poleceniem "kill -HUP".
Przerwanie u�ywane do monitorowania statusu zmian karty jest wybierane
przez modu� sterownika niskiego poziomu (i82365 lub tcic) przed
zinterpretowaniem pliku /etc/pcmcia/config przez cardmgr, wi�c plik
ten nie ma wp�ywu na wyb�r tego w�a�nie przerwania. Aby ustawi� to
przerwanie u�yj opcji cs_irq= podczas �adowania sterownika gniazd,
przez ustawienie zmiennej PCIC_OPTS w pliku /etc/rc.d/rc.pcmcia.
Wszystkie sterowniki kart klient�w maj� parametr irq_list do
podawania, kt�re przerwania mog� pr�bowa� one zaalokowa�. Te opcje
powinny by� ustawione w pliku /etc/pcmcia/config. Np.:
device "serial_cs"
module "serial_cs" opts "irq_list=8,12"
...
wymusi�oby u�ycie tylko przerwa� IRQ 8 i 12. Nie zale�nie od usatwie�
irq_list, Card Services nigdy nie zaalokuje przerwania, kt�re jest ju�
u�ywane przez inne urz�dzenie albo przerwania, kt�re jest wy��czone w
pliku konfiguracyjnym.
44..22.. JJaakk zzrroobbii�� ddwwiiee rr���nnee kkoonnffiigguurraaccjjee uurrzz��ddzzee�� ddoo ddoommuu ii pprraaccyy ??
Jest to ca�kiem proste u�ywaj�c schemat�w PCMCIA.
U�yj dw�ch schemat�w konfiguracyjnych o nazwie "dom" i "praca". Oto
przyk�ad skryptu network.opts z konkretnymi ustawieniami dla r�nych
schemat�w:
case "$ADDRESS" in
praca,*,*,*)
# definicje dla kart sieciowych w pracy
...
;;
dom,*,*,*|default,*,*,*)
# definicje dla kart sieciowych w domu
...
;;
esac
Pierwsz� cz�ci� adresu urz�dzenia PCMCIA jest zawsze schemat
konfiguracyjny. W tym przyk�adzie, drugi przypadek w "case" wybierze
oba schematy: domowy i domy�lny. Wi�c je�li schemat nie jest
ustawiony, domy�lnym b�dzie schemat domowy.
Teraz, aby wybra� pomi�dzy tymi dwoma ustawieniami uruchom albo:
cardctl scheme dom
albo
cardctl scheme praca
Polecenie cardctl wy��cza wszystkie twoje karty i inicjuje je
ponownie. Polecenie to mo�e by� bezpiecznie u�ywane, nie zale�nie od
tego czy system PCMCIA jest za�adowany czy nie, ale polecenie to mo�e
si� nie powie�� je�li u�ywasz innych urz�dze� PCMCIA w tym samym
czasie (nawet je�li ich konfiguracje nie r�ni� si� wyra�nie od
ustawie� schemat�w).
Aby zobaczy� bie��ce ustawienia schematu PCMCIA uruchom:
cardctl scheme
44..33.. SSttaarrttoowwaanniiee zz uurrzz��ddzzeenniiaa PPCCMMCCIIAA..
Posiadanie g��wnego systemu plik�w na urz�dzeniu PCMCIA jest troch�
k�opotliwe, bo system PCMCIA na Linux-a nie zosta� przystosowany do
w��czenia do j�dra. G��wne sk�adniki, �adowalne modu�y i uruchamiany w
trybie u�ytkownika demon cardmgr, zale�� od ju� dzia�aj�cego systemu.
Mo�liwo�� startu przy pomocy "initrd" pozwala obej�� ten problem
pozwalaj�c Linux-owi wystartowa� u�ywaj�c tymczasowego ramdysku jako
minimalnego obrazu katalogu g��wnego, za�adowa� sterowniki i potem
ponownie zamontowa� inny system plik�w jako katalog g��wny. Tymczasowy
katalog g��wny mo�e skonfigurowa� urz�dzenia PCMCIA i potem zamontowa�
urz�dzenie PCMCIA jako katalog g��wny.
Niekt�re dystrybucje Linux-a pozwalaj� na instalacj� na urz�dzeniu
pod��czonym do kontrolera SCSI PCMCIA, jako niezamierzony skutek
uboczny mo�liwo�ci instalacji z CD-ROM-�w pod��czonych do SCSI PCMCIA.
Aczkolwiej w tej chwili �adne narz�dzie instalacyjne dla Linux-a nie
pozwala na konfiguracj� odpowiedniego "initrd" do startu z g��wnym
systemem plik�w na PCMCIA. Dlatego te� konfiguracja takiego systemu
wymaga u�ycia drugiego Linux-a, aby stworzy� obraz "initrd". Je�li nie
masz dost�pu do drugiego Linux-a, to inn� mo�liwo�ci� jest tymczasowe
zainstalowanie minimalnego Linux-a na nap�dzie nie b�d�cym urz�dzeniem
PCMCIA, stworzenie obrazu initrd i zainstalowanie na PCMCIA.
W Bootdisk-HOWTO znajduj� si� og�lne informacje jak zrobi� dyskietki
startowe, ale nic konkretnego na temat initrd. G��wny dokument
opisuj�cy initrd zawarty jest w ostatnich �r�d�ach j�dra Linux-a w
katalogu linux/Documentation/initrd.txt. Zanim zaczniesz powiniene� to
przeczyta�. Pomocna jest te� znajomo�� lilo. U�ycie initrd wymaga
tak�e w��czonych opcji CONFIG_BLK_DEV_RAM i CONFIG_BLK_DEV_INITRD w
j�drze.
44..33..11.. SSkkrryypptt--ppoommooccnniikk ppcciinniittrrdd..
Skrypt pcinitrd tworzy podstawowy obraz initrd do startowania z
g��wnej partycji na PCMCIA. W obrazie tym zawarte s�: minimalna
struktura katalog�w, potrzebne pliki urz�dze�, kilka program�w,
biblioteki dzielone i zbi�r sterownik�w-modu��w PCMCIA. Podczas
uruchamiania pcinitrd podajesz sterowniki-modu�y, kt�re maj� by�
zawarte w obrazie. G��wne sk�adniki PCMCIA, pcmcia_core i ds s�
do��czane automatycznie.
Na przyk�ad powiedzmy, �e tw�j laptop u�ywa kontrolera PCMCIA
kompatybilnego z i82365 i chcesz startowa� Linux-a z g��wnym systemem
plik�w na dysku twardym przy��czonym do kontrolera Adpatec SlimSCSI.
Mo�esz stworzy� odpowiedni obraz przy pomocy;
pcinitrd -v initrd pcmcia/i82365.o pcmcia/aha152x_cs.o
Aby ustawi� sobie start initrd wedle swojego uznania, mo�esz
zamontowa� obraz u�ywaj�c urz�dzenia "loopback" poleceniem:
mount -o loop -t ext2 initrd /mnt
i potem zmodyfikuj skrypt linuxrc. Pliki konfiguracyjne PCMCIA zostan�
zainstalowane w obrazie w katalogu /etc i tak�e mog� by� ustawione
wedle w�asnego uznania. Wi�cej informacji znajdziesz w podr�czniku
'man pcinitrd'.
44..33..22.. TTwwoorrzzeenniiee ddyysskkiieettkkii ssttaarrttoowweejj zz iinniittrrdd..
Po stworzeniu obrazu skryptem pcinitrd, mo�esz stworzy� dyskietk�
startow� kopiuj�c j�dro, skompresowany obraz initrd i kilka
pomocniczych program�w dla lilo na czyst� dyskietk�. W nast�puj�cym
przyk�adzie zak�adamy, �e g��wny system plik�w znajduje si� na
/dev/sda1:
mke2fs /dev/fd0
mount /dev/fd0 /mnt
mkdir /mnt/etc /mnt/boot /mnt/dev
cp -a /dev/fd0 /dev/sda1 /mnt/dev
cp [j�dro] /mnt/vmlinuz
gzip < [obraz-initrd] > /mnt/initrd
Stw�rz /mnt/etc/lilo.conf z tak� zawarto�ci�:
boot=/dev/fd0
compact
image=/vmlinuz
label=linux
initrd=/initrd
read-only
root=/dev/sda1
Na ko�cu uruchom:
lilo -r /mnt
Je�li lilo uruchomione jest z parametrem -r, wszystkie akcje
wykonywane s� z podanym katalogiem jako g��wny system plik�w. Powodem
utworzenia plik�w urz�dze� w /mnt/dev by�o to, �e lilo nie b�dzie w
stanie u�y� plik�w w /dev kiedy b�dzie uruchomione z alternatywnym
katalogiem g��wnym.
44..33..33.. IInnssttaallaaccjjaa oobbrraazzuu iinniittrrdd nnaa nnaapp��ddaacchh bbeezz LLiinnuuxx--aa..
Jednym z popularnych zastosowa� initrd s� systemy gdzie wewn�trzny
dysk twardy jest dedykowany dla innego systemu operacyjnego. J�dro
Linux-a i obraz initrd mog� zosta� umieszczone na partycji bez Linux-a
a lilo lub LOADLIN mog� zosta� skonfigurowane, aby �adowa�y Linux-a z
tych obraz�w.
Zak��daj�c, �e twoje j�dro jest skonfigurowane na odpowiednie
urz�dzenie z g��wnym systemem plik�w i masz stworzony obraz initrd na
innym Linux-ie, najprostszym sposobem aby zacz��, to wystartowanie
Linux-a u�ywaj�c LOADLIN-a w ten spos�b:
LOADLIN <kernel> initrd=<initrd-image>
Jak ju� mo�esz wystartowa� Linux-a na swojej maszynie, mo�esz wtedy
zainstalowa� lilo aby umo�liwi� startowanie Linux-a bezpo�rednio.
Na przyk�ad powiedzmy, �e /dev/hda1 jest partycj� bez Linux-a i /mnt
mo�na u�y� jako katalog do montowania. najpierw utw�rz podkatalog na
partycji docelowej dla plik�w Linux-a:
mount /dev/hda1 /mnt
mkdir /mnt/linux
cp [obraz-j�dra] /mnt/linux/vmlinuz
cp [obraz-initrd] /mnt/linux/initrd
W tym przyk�adzie, powiedzmy, �e /dev/sda1 jest partycj� na kt�rej ma
si� znale�� g��wny system plik�w, dysk twardy SCSI zamontowany przez
kontroler SCSI PCMCIA. Aby zainstalowa� lilo, stw�rz plik lilo.conf z
tak� zawarto�ci�:
boot=/dev/hda
map=/mnt/linux/map
compact
image=/mnt/linux/vmlinuz
label=linux
root=/dev/sda1
initrd=/mnt/linux/initrd
read-only
other=/dev/hda1
table=/dev/hda
label=windows
Linia boot= informuje, �eby zainstalowa� program �aduj�cy system do
Master Boot Record podanego urz�dzenia. Linia root= identyfikuje
konkretny g��wny system plik�w, kt�ry ma zosta� u�yty po za�adowaniu
obrazu initrd, parametr ten mo�e by� niepotrzebny je�li j�dro jest ju�
skonfigurowane w ten spos�b. Sekcja other= u�ywana jest do opisania
innego systemu operacyjnego zainstalowanego na /dev/hda1.
Aby zainstalowa� lilo w tym przypadku u�yj:
lilo -C lilo.conf
Zauwa�, �e w tym przypadku plik lilo.conf u�ywa scie�ek absolutnych,
kt�re zawieraj� /mnt. Zrobi�em tak w przyk�adzie poniewa� docelowy
system plik�w mo�e nie umie� tworzy� urz�dze� Linux-a dla parametr�w
boot= i root=.
55.. JJaakk rraaddzzii�� ssoobbiiee zz nniieeoobbss��uuggiiwwaannyymmii kkaarrttaammii..
55..11.. KKoonnffiigguurraaccjjaa nniieeoobbss��uuggiiwwaannyycchh kkaarrtt..
Zak�adaj�c, �e twoja karta jest obs�ugiwana przez istniej�cy
sterownik, wszystko co trzeba zrobi�, to doda� pozycj� do
/etc/pcmcia/config, kt�ra poinformuje cardmgr jak zidentyfikowa� kart�
i kt�ry(e) sterownik(i) do��czy� do tej karty. Wi�cej informacji na
temat formatu pliku konfiguracyjnego na stronie podr�cznika "man" na
temat pcmcia. Je�li w�o�ysz nieznan� kart�, to cardmgr z regu�y
zapisze troch� informacji identyfikacyjnych w logu systemowym, kt�ry
mo�e zosta� u�yty do konfiguracji.
Oto przyk�ad raportu cardmgr w /usr/adm/messages na temat nieznanej
karty:
cardmgr[460]: unsupported card in socket 1
cardmgr[460]: version info: "MEGAHERTZ", "XJ2288", "V.34 PCMCIA
MODEM"
Odpowiadaj�ca pozycja konfiguracyjna w /etc/pcmcia/config wygl�da�oby
tak:
card "Megahertz XJ2288 V.34 Fax Modem"
version "MEGAHERTZ", "XJ2288", "V.34 PCMCIA MODEM"
bind "serial_cs"
Mo�esz u�y� "*", aby oznaczy� �a�cuchy, kt�re nie musz� si� dok�adnie
zgadza�, jak np. numery wersji. Kiedy robisz now� pozycj�
konfiguracyjn�, zwr�� uwag� na to, �eby dok�adnie skopiowa� �a�cuchy,
zachowuj�c wszelkie du�e i ma�e litery oraz przerwy (spacje). Upewnij
si� tak�e, �e pozycja konfiguracyjna ma tak� sam� ilo�� �a�cuch�w jak
to stwierdzono w logach.
Po tym jak zmodyfikujesz /etc/pcmcia/config, mo�esz poinformowa�
cardmgr, aby prze�adowa� plik konfiguracyjny:
kill -HUP `cat /var/run/cardmgr.pid`
Je�li uda ci si� ustawi� jak�� pozycj� konfiguracyjn� dla nowej karty,
przy�lij mi kopi� prosz�, tak �ebym m�g� j� do��czy� do standardowego
pliku konfiguracyjnego.
55..22.. JJaakk mmaamm ddooddaa�� oobbss��uugg�� ddllaa kkaarrttyy kkoommppaattyybbiillnneejj zz NNEE22000000 ??
Najpierw sprawd�, czy karta nie zosta�a ju� rozpoznana przez cardmgr.
Niekt�re karty nie wymienione w SUPPORTED.CARDS s� wersjami OEM kart
obs�ugiwanych. Je�li znajdziesz taka kart�, daj mi zna�, �ebym m�g� j�
doda� do listy.
Je�li twoja karta nie zosta�a rozpoznana, post�puj zgodnie z
instrukcjami w sekcji ``3.6'', aby stworzy� pozycj� konfiguracyjn� dla
twojej karty oraz powi�� swoj� kart� ze sterownikiem pcnet_cs.
Zrestartuj cardmgr, aby u�y� nowego zaktualizowanego pliku
konfiguracyjnego.
Je�li sterownik pcnet_cs twierdzi, �e nie mo�e okre�li� adresu
sprz�towego twojej karty ethernet-owej, to zmodyfikuj nowy plik
konfiguracyjny, aby powi�za� kart� ze sterownikiem karty pami�ci -
memory_cs. Zrestartuj cardmgr, aby u�y� nowego zaktualizowanego pliku
konfiguracyjnego. B�dziesz musia� zna� adres sprz�towy swojej karty
sieciowej. Adres ten jest seri� dwucyfrowych szesnastkowych liczb,
cz�sto wydrukowanych na karcie. Je�li go tam nie ma, mo�esz u�y�
sterownika DOS-owego, aby go wy�wietli�. W ka�dym razie, jak go ju�
znasz to uruchom:
dd if=/dev/mem0a count=20 | od -Ax -t x1
i poszukaj linijki z twoim adresem. Tylko parzyste bajty s�
zdefiniowane, wiec zignoruj bajty nieparzyste w wyniku. Zapisz
szesnastkowy offset pierwszego bajtu adresu. Teraz wyedytuj
modules/pcnet_cs.c i znajd� struktur� hw_info. B�dziesz musia�
utworzy� now� pozycj� dla twojej karty. Pierwsze pole jest offsetem
pami�ci. Nast�pne trzy pola to pierwsze trzy bajty adresu sprz�towego.
Ostatnie pole zawiera flagi dla konkretnych cech karty; na pocz�tek
spr�buj ustawi� tu 0.
Po edycji pcnet_cs.c, skompiluj i zainstaluj nowy modu�. Zmodyfikuj
jeszcze raz /etc/pcmcia/config i zmie� powi�zania karty z memory_cs na
pcnet_cs. Post�puj zgodnie z instrukacjami dla prze�adowywania pliku
konfiguracyjnego i wszystko powinno by� ustawione. Przy�lij mi prosz�
kopie twoich nowych pozycji konfiguracyjnych i hw_info.
Je�li nie mo�esz znale�� adresu sprz�towego swojej karty w formie
szesnastkowej, ostateczn� metod� mo�e okaza� si� jawne podanie adresu
w czasie inicjacji modu�u pcnet_cs. Popraw plik /etc/pcmcia/config
dodaj�c opcj� hw_addr=:
module "pcnet_cs" opts "hw_addr=0x00,0x80,0xc8,0x01,0x02,0x03"
Oczywi�cie zamiast podanego adresu podaj adres swojej karty w
odpowiednim miejscu.
55..33.. IInntteerrffeejjss PPCCMMCCIIAA ddoo ddyysskkiieetteekk..
Pakiet ten nie obs�uguje jeszcze interfejs�w u�ywanych przez Compaq
Aero i kilka innych laptop-�w. Kruczkiem w obs�udze dyskietek w Aero
jest to, �e Aero wydaje si� u�ywa� ustawianego kontrolera PCMCIA, aby
obs�ugiwa� DMA dla dyskietek. Nie wiedz�c jak to jest dok�adnie
robione, nie ma sposobu, aby zaimplementowa� to w Linux-ie.
Je�li kontroler dyskietek jest obecny podczas startowania Aero, BIOS
Aero skonfiguruje kart� i Linux zidentyfikuje j� jako normaln� stacj�
dyskietek. Kiedy za�adowane s� sterowniki Linux-owe PCMCIA, zauwa��,
�e karta jest ju� skonfigurowana i skojarzona ze sterownikiem Linux-
owym i zostawi� to gniazdo w spokoju. Tak wi�c nap�d mo�e by� u�ywany
je�li jest obecny podczas startu, ale nie mo�e by� wymieniany podczas
pracy (hot swapping).
55..44.. CCoo jjeesstt zz oobbss��uugg�� kkaarrtt XXiirrccoomm ??
Dzi�ki pracy Wernera Kocha w aktualnej wersji pakietu PCMCIA zawarty
jest sterownik do kart ethernetowej i ethernet/modem firmy Xircom.
Specjalnie dla dyskusji na temat rozwoju sterownika Xircom ustawi�em
forum HyperNews pod adresem
hyper.stanford.edu/HyperNews/get/pcmcia/xircom.html
<
http://hyper.stanford.edu/HyperNews/get/pcmcia/xircom.html>.
Przez d�ugi czas karty Xircom nie by�y obs�ugiwane poniewa� Xircom
mia� tak� zasad�, �eby nie ujawnia� technicznych informacji o swoich
kartach. Jednak troch� zmienili zasady i teraz rozprowadzaj�
informacje o sterowniku.
66.. WWsskkaazz��wwkkii ddoo ��lleeddzzeenniiaa ((ddeebbuuggggiinngg)) ii iinnffoorrmmaaccjjee ddoo pprrooggrraammoowwaanniiaa..
66..11.. JJaakk mmoogg�� wwyyss��aa�� ppoommooccnnyy lliisstt oo bb����ddzziiee ??
Najlepszym sposobem na zg�aszanie b��d�w jest u�ycie listy
komunikatowej na HyperNews-ach na stronie dotycz�cej PCMCIA na Linux-
ie. W ten spos�b inni tak�e mog� �ledzi� bie��ce problemy (i poprawki
czy obej�cia je�li s� dost�pne).
Oto rzeczy, kt�re powinny by� zawarte w ka�dym li�cie na temat b��du:
� Typ twojego systemu i wynik polecenia probe.
� Jakich kart PCMCIA u�ywasz.
� Wersja twojego j�dra i wersja PCMCIA.
� Jakiekolwiek zmiany, jakie zrobi�e� w pliku /etc/pcmcia albo
rc.pcmcia.
� Wszystko co jest zwi�zane z kartami PCMCIA z log-�w systemowych.
Przed wys�aniem listu o b��dzie, upewnij si� prosz�, �e u�ywasz
najnowszej wersji sterownik�w do PCMCIA. Szczerze powiem, �e czytanie
o czym�, co ju� naprawi�em nie jest najbardziej konstruktywnym
sposobem na sp�dzanie czasu.
Je�li tw�j problem zwi�zany jest tak�e z nag�ym przerwaniem dzia�ania
j�dra, podczas kt�rego wy�wietlane s� zawarto�ci rejestr�w, to
zawarto�� ta jest przydatna tylko wtedy je�li mo�esz wskaza� adres
EIP. Je�li jest on w g��wnym j�drze, sprawd� ten adres w System.map,
aby zidentyfikowa� funkcj�, kt�ra by�a w tym momencie wykonywana.
Je�li przerwa nast�pi�a podczas dzia�ania jakiego� modu�u �adowalnego,
jest to troch� trudniejsze do prze�ledzenia. W bie��cej wersji
narz�dzi do modu��w program ksyms -m wy�wietli adres podstawowy
ka�dego modu�u. We� modu�, kt�ry zawiera podane EIP, i odejmij jego
adres podstawowy od EIP, aby otrzyma� w ten spos�b offset w module.
Uruchom wtedy gdb z tym modu�em jako parametr i sprawd� otrzymany
offset poleceniem list. Zadzia�a to tylko wtedy kiedy dany modu� by�
skompilowany z opcj� -g, czyli z informacjami dla debugger-a.
Je�li nie masz dost�pu do WWW, informacje o b��dach mo�na wysy�a� do
mnie na adres
[email protected]. Chocia� wol�, aby informacje
takie by�y wysy�ane na mojej stronie WWW, tak �eby inni tak�e mogli je
widzie�.
66..22.. IInnffoorrmmaaccjjee nnaa tteemmaatt nniisskkooppoozziioommoowweeggoo ��lleeddzzeenniiaa PPCCMMCCIIAA..
Modu�y PCMCIA zawieraj� du�o warunkowo skompilowanego kodu �ledzenia.
Wi�kszo�� tego kodu jest pod kontrol� definicji preprocesora
PCMCIA_DEBUG. Je�li jest to niezdefiniowane, to kod do �ledzenia nie
zostanie wkompilowany. Je�li jest utawione na 0, kod ten jest
wkompilowany, ale nieaktywny. Im wi�ksze poziomy tym wi�cej
informacji. Ka�dy modu� stworzony ze zdefiniowanym symbolem
PCMCIA_DEBUG b�dzie mia� parametr typu _I_n_t_e_g_e_r, pc_debug, kt�ry
kontroluje ilo�� pojawiaj�cych si� informacji. Mo�e to by� ustawiane
wtedy, kiedy modu� jest �adowany, tak wi�c wyj�cie mo�e by�
kontrolowane, na zasadzie "dla ka�dego modu�u" bez potrzeby
przekompilowywania.
Jest kilka narz�dzi do �ledzenia w podkatalogu debug_tools/ w
dystrybucji PCMCIA. Narz�dzia dump_tcic i dump_i365 generuj� kompletny
zrzut rejestr�w kontrolera PCMCIA i dekoduj� du�o informacji z
rejestr�w. S� najbardziej po�yteczne wtedy, gdy masz dost�p do
schematu danych konkretnego uk�adu scalonego kontrolera. Narz�dzie
dump_tuples wy�wietla CIS-y (Card Information Structure) danej karty i
dekoduje niekt�re z najwa�niejszych bit�w. A narz�dzie dump_cisreg
wy�wietla rejestry lokalnej konfiguracji karty.
Sterownik memory_cs do karty pami�ci jest tak�e czasami przydatny do
�ledzenia. Mo�e on zosta� powi�zany z ka�d� kart� PCMCIA i nie wp�ywa
to negatywnie na inne sterowniki. Mo�e on zosta� u�yty do
bezpo�redniego dost�pu do pami�ci atrybutowej karty albo zwyk�ej
pami�ci.
66..33.. JJaakk mmaamm nnaappiissaa�� sstteerroowwnniikk CCaarrdd SSeerrvviicceess ddllaa nnoowweejj kkaarrttyy ??
Najlepsz� dokumentacj� dla interfejsu PCMCIA dla Linux-a jest "The
Linux PCMCIA Programmer's Guide". Najnowsza wersja jest zawsze
dost�pna z hyper.stanford.edu albo na WWW -
hyper.stanford.edu/HyperNews/get/pcmcia/home.html
<
http://hyper.stanford.edu/HyperNews/get/pcmcia/home.html>.
Dla urz�dze�, kt�re s� wzgl�dnie podobne do normalnych urz�dze� kart
ISA, b�dziesz m�g� przypuszczalnie u�y� fragment�w sterownik�w Linux-
a, kt�re ju� istniej�. W niekt�rych przypadkach, najwi�kszym problem
b�dzie takie przerobienie ju� istniej�cego sterownika, aby m�g� on
sobie poradzi� z wk�adaniem i wyjmowaniem danej karty. W bie��cej
wersji, sterownik do karty pami�ci jest jedynym sterownikiem, kt�ry
nie zale�y od �adnej cz�ci innego sterownika, kt�ry wykonywa�by za
niego brudn� robot�.
Napisa�em szkielet sterownika z du�� ilo�ci� komentarzy, kt�re
wyja�niaj� jak sterownik si� komunikuje z Card Sevices; znajdziesz ten
szkielet w dystrybucji �r�d�owej PCMCIA w podkatalogu
modules/skeleton.c.
66..44.. WWsskkaazz��wwkkii ddllaa aauuttoorr��ww sstteerroowwnniikk��ww kklliieenntt��ww PPCCMMCCIIAA..
Zdecydowa�em, �e nie jest rozs�dne dla mnie, abym rozprowadza�
wszystkie sterowniki klient�w PCMCIA jako cz�� pakietu PCMCIA. Ka�dy
nowy sterownik czyni g��wny pakiet trudniejszym do utrzymania i, co
mo�na by�o przewidzie�, do��czenie sterownika przenosi troch� pracy
opiekuna z autora na mnie. W zamian za to, zdecyduj� osobno dla
ka�dego przypadku (case by case) czy w��czy� czy nie sterowniki pisane
przez osoby trzecie, w zale�no�ci od ��da� u�ytkownik�w jak i
mo�liwo�ci utrzymywania. Sugeruj�, �eby autorzy sterownik�w, kt�re nie
dosta�y si� do g��wnego pakietu, zaadoptowali nast�puj�cy schemat przy
przygotowywaniu ich sterownik�w do dystrybucji.
Pliki sterownika powinny by� u�o�one w takiej samej strukturze
katalog�w jak w g��wnej dystrybucji, tak, �eby mo�na by�o rozpakowa�
sterownik ten w g��wnym katalogu �r�de� g��wnej dystrybucji. Sterownik
powinien posiada� pliki �r�d�owe (w Katalog g��wny powinien zawiera�
tak�e plik README.
W katalogu g��wnym powinien si� tak�e znajdowa� makefile, ustawiony w
taki spos�b, �e "make -f ... all" i "make -f ... install" skompiluje
sterownik i zainstaluje wszystkie potrzebne pliki. Je�li plik ten
posiada rozszerzenie .mk, to zostanie on automatycznie wykonany przez
g��wny pliku Makefile dla cel�w all i install.
Oto przyk�ad jak taki plik m�g�by by� skonstruowany.
# Przyk�adowy Makefile dla sterownik�w pisanych przez osoby trzecie
FILES = sample_cs.mk README.sample_cs \
modules/sample_cs.c modules/sample_cs.h \
etc/sample etc/sample.opts man/sample_cs.4
all:
$(MAKE) -C modules MODULES=sample_cs.o
install:
$(MAKE) -C modules install-modules MODULES=sample_cs.o
$(MAKE) -C etc install-clients CLIENTS=sample
$(MAKE) -C man install-man4 MAN4=sample_cs.4
dist:
tar czvf sample_cs.tar.gz $(FILES)
Plik ten u�ywa cel�w install zdefiniowanych w pakiecie PCMCIA 2.9.10 i
p�niejszych. Zawiera on tak�e cel "dist" dla wygody autora
sterownika. Przypuszczalnie b�dziesz chcia� doda� numer wersji do
ostatecznego pakietu (np. sample_cs-1.5.tar.gz). Pe�na dystrybucja
mog�aby wygl�da� tak:
sample_cs.mk
README.sample_cs
modules/sample_cs.c
modules/sample_cs.h
etc/sample
etc/sample.opts
man/sample_cs.4
Z takim uk�adem katalog�w, po rozpakowaniu sterownik staje si� cz�ci�
g��wnej dystrybucji. Mo�e korzysta� z plik�w nag��wkowych PCMCIA, tak
jak i z mo�liwo�ci sprawdzania konfiguracji systemu u�ytkownika i
automatycznego sprawdzania zale�no�ci tak samo jak "normalny"
sterownik klienta.
B�d� akceptowa� sterowniki przygotowane zgodnie z t� specyfikacj� i
umieszcza� je w katalogu /pub/pcmcia/contrib na moim serwerze FTP -
hyper.stanford.edu. Plik README w tym katalogu b�dzie opisywa� jak
rozpakowa� sterownik pisany przez trzeci� osob�.
Interfejs sterownika PCMCIA nie zmieni� si� wiele przez ten czas i
prawie zawsze zachowywa� wsteczn� kompatybilno��. Sterownik klienta
nie b�dzie musia� by� aktualizowany dla pobocznych wersji w pakiecie
g��wnym PCMCIA. Spr�buj� powiadamia� autor�w sterownik�w o zmianach,
kt�re wymagaj� uaktualnienia ich sterownik�w.
66..55.. OOdd tt��uummaacczzaa..
T�umaczenie to jest chronione prawami autorskimi � Bartosza
Maruszewskiego. Dozwolone jest rozprowadzanie i dystrybucja na
prawach takich samych jak dokument oryginalny.
Je�li znalaz�e� jakie� ra��ce b��dy ortograficzne, gramatyczne,
sk�adniowe, techniczne to pisz do mnie:
[email protected] A mo�esz tu znale�� do�� du�o mo�e nie
b��d�w, ale konstrukcji, kt�re nie s� podobne do j�zyka polskiego. Ale
to wszystko dlatego, �e jest troch� ci�ko przet�umaczy� zdanko z
angielskiego je�li jest obok siebie 4 czy czasami nawet 6 rzeczownik�w
;) Je�li zauwa�ysz taki stw�r i wpadniesz na lepsze okre�lenie,
napisz. Je�li b�dzie to w miar� sensowne, to napewno tego nie
zignoruj�.
Oficjaln� stron� t�umacze� HOWTO jest
http://www.jtz.org.pl/
Aktualne wersje przet�umaczonych dokument�w znajduj� si� na tej�e
stronie. Dost�pne s� tak�e poprzez anonimowe ftp pod adresem
ftp.jtz.org.pl w katalogu /JTZ/.
Przet�umaczone przeze mnie dokumenty znajduj� si� tak�e na mojej
stronie WWW. <
http://www.jtz.org.pl/bartek/tlumaczenie.html> S� tam
te� odwo�ania do Polskiej Strony T�umaczeniowej.
Kontakt z nasz� grup�, grup� t�umaczy mo�esz uzyska� poprzez list�
dyskusyjn�
[email protected]. Je�li chcesz sie na ni� zapisa�, to wy�lij
list o tre�ci subscribe jtz Imi� Nazwisko na adres
[email protected]
Zmiany w tym dokumencie wprowadzone przez t�umacza to odwo�ania do
polskich serwer�w ftp.