PCMCIA HOWTO pl


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

Wyszukiwarka

Podobne podstrony:
PCMCIA HOWTO pl 5 (2)
PCMCIA HOWTO pl 1 (2)
PCMCIA HOWTO pl (2)
pcmcia howto pl 3
PCMCIA HOWTO pl 4 (2)
pcmcia howto pl 2
PCMCIA HOWTO pl (3)
PCMCIA HOWTO pl 6 (2)
bootdisk howto pl 8
PPP HOWTO pl 6 (2)
NIS HOWTO pl 1 (2)
cdrom howto pl 1
jtz howto pl 5
Keystroke HOWTO pl (2)
PostgreSQL HOWTO pl 14
printing howto pl 5
debian apt howto pl
Kernel HOWTO pl 12 (2)
XFree86 HOWTO pl (3)

więcej podobnych podstron