Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > c271e9e583b3924e0de744696831c936 > files > 25

howto-text-pl-2006-5mdv2010.0.noarch.rpm

  Opis sterowników do PCMCIA
  Autor: David Hinds, dhinds@hyper.stanford.edu
  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æ dhinds@hyper.stanford.edu.

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

  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 (jt@hplb.hpl.hp.com 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 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æ.

  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:

  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 /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± jtz@ippt.gov.pl. Je¶li chcesz sie na ni± zapisaæ, to wy¶lij
  list o tre¶ci subscribe jtz Imiê Nazwisko na adres
  listproc@ippt.gov.pl

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