Opis sterownik�w do PCMCIA

Autor: David Hinds, dhinds@hyper.stanford.edu
v1.105, 9 Wrze�nia 1997
Wersja polska: Bartosz Maruszewski B.Maruszewski@jtz.org.pl
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 Dokument ten zosta� napisany w standardzie ISO-8859-2. Nowsza wersja zawiera uaktulanione wskazania na katalog zawieraj�cy j�dro na ftp.icm.edu.pl. Kolejna wersja jest uaktualnieniem do obecnej wersji orygina�u.

1. Informacje og�lne i wymagania sprz�towe.

1.1 Wprowadzenie.

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� dhinds@hyper.stanford.edu.

1.2 Prawa autorskie i Disclaimer.

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.

1.3 Jaka jest najnowsza wersja i sk�d mog� j� wzi�� ?

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� pcmcia-cs-2.9.?.tar.gz. 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 CHANGES 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.

1.4 Jakie systemy s� obs�ugiwane ?

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.

1.5 Jakie karty PCMCIA s� obs�ugiwane?

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 SUPPORTED.CARDS 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.

1.6 Kiedy moja nowa karta b�dzie obs�ugiwana ?

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.

1.7 Listy dyskusyjne.

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. 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 majordomo@vger.rutgers.edu. 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.

2. Kompilacja, instalacja i konfiguracja.

2.1 Wymagania i ustawienia j�dra.

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:

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.

2.2 Instalacja.

Oto streszczenie procesu instalacji:

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.

2.3 Post-instalacja dla system�w u�ywaj�cych skrypt�w inicjacyjnych a'la BSD.

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.

2.4 Post-instalacja dla system�w u�ywaj�cych skrypt�w inicjacyjnych a'la SYS V.

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.

2.5 Opcje konfiguracji specyficzne dla danego systemu.

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.

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:

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 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"

2.6 Problemy podczas �adowania modu��w j�dra.

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.

2.7 Problemy z przerwaniem zmiany statusu karty.

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.

2.8 Problemy z identyfikacj� karty.

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"

2.9 Dlaczego nie dystrybujesz binari�w do PCMCIA ?

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.

2.10 Dlaczego ten pakiet jest taki wielki ?

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.

3. Stosowanie i zalety.

3.1 Narz�dzia do monitorowania urz�dze� PCMCIA.

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".

3.2 Przegl�d skrypt�w konfiguracyjnych PCMCIA.

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.

3.3 Adaptery sieciowe PCMCIA.

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 noauto. 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.

Wyb�r transceiver-a.

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

Komentarze na temat konkretnych kart.

Diagnozowanie problem�w z kartami sieciowymi.

3.4 Urz�dzenia szeregowe i modemy PCMCIA.

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"

Diagnozowanie problem�w z urz�dzeniami szeregowymi.

3.5 Adaptery PCMCIA SCSI.

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 "top-level" (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 "top-level" 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

Diagnozowanie problem�w z kartami SCSI.

3.6 Karty pami�ci PCMCIA.

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.

U�ywanie kart pami�ci "flash".

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.

3.7 Karty PCMCIA nap�d�w ATA/IDE.

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

Diagnozowanie problem�w z adapterami ATA/IDE.

3.8 Karty wielofunkcyjne.

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.

3.9 Kiedy mo�na bezpiecznie w�o�y� albo wyj�� kart� PCMCIA ?

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.

3.10 Card Services i Advanced Power Management.

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 (faith@cs.unc.edu), 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.

3.11 Jak mam wy��czy� kart� PCMCIA bez wyjmowania jej ?

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.

3.12 Jak usuwam sterowniki PCMCIA z pami�ci ?

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.

4. Zaawansowane tematy.

4.1 Alokoacja zasob�w dla urz�dze� PCMCIA.

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.

4.2 Jak zrobi� dwie r�ne konfiguracje urz�dze� do domu i pracy ?

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

4.3 Startowanie z urz�dzenia PCMCIA.

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.

Skrypt-pomocnik pcinitrd.

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'.

Tworzenie dyskietki startowej z initrd.

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.

Instalacja obrazu initrd na nap�dach bez Linux-a.

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=.

5. Jak radzi� sobie z nieobs�ugiwanymi kartami.

5.1 Konfiguracja nieobs�ugiwanych kart.

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.

5.2 Jak mam doda� obs�ug� dla karty kompatybilnej z NE2000 ?

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.

5.3 Interfejs PCMCIA do dyskietek.

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).

5.4 Co jest z obs�ug� kart Xircom ?

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.

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.

6. Wskaz�wki do �ledzenia (debugging) i informacje do programowania.

6.1 Jak mog� wys�a� pomocny list o b��dzie ?

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:

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 dhinds@hyper.stanford.edu. Chocia� wol�, aby informacje takie by�y wysy�ane na mojej stronie WWW, tak �eby inni tak�e mogli je widzie�.

6.2 Informacje na temat niskopoziomowego �ledzenia PCMCIA.

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 Integer, 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.

6.3 Jak mam napisa� sterownik Card Services dla nowej karty ?

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.

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.

6.4 Wskaz�wki dla autor�w sterownik�w klient�w PCMCIA.

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 ./modules/), stron� do podr�cznika systemowego (w ./man/) i pliki konfiguracyjne (w ./etc/). 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.

6.5 Od t�umacza.

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:

B.Maruszewski@jtz.org.pl 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 /HOWTO/.

Przet�umaczone przeze mnie dokumenty znajduj� si� tak�e na mojej stronie WWW. S� tam te� odwo�ania do Polskiej Strony T�umaczeniowej.

Kontakt z nasz� grup�, grup� t�umaczy mo�esz uzyska� poprzez list� dyskusyjn� jtz@ippt.gov.pl. Je�li chcesz sie na ni� zapisa�, to wy�lij list o tre�ci subscribe jtz Imi� Nazwisko na adres majordomo@ippt.gov.pl

Zmiany w tym dokumencie wprowadzone przez t�umacza to odwo�ania do polskich serwer�w ftp. # # # #

Hosting by: Hurra Communications Sp. z o.o.
Generated: 2007-01-26 18:02:22