![]() |
|
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.
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.
Bie��c� g��wn� wersj� Card Services jest wersja 2.9, a pomniejsze uaktualnienia czy poprawki b��d�w s� numerowane jako 2.9.1, 2.9.2 itd.
Kod �r�d�owy najnowszej wersji jest dost�pny pod adresem hyper.stanford.edu. Nazywa si� pcmcia-cs-2.9.?.tar.gz. B�dzie tam przewa�nie kilka wersji. Z regu�y trzymam najnowsz� podwersj� wersji g��wnej. Nowe wersje g��wne mog� zawiera� wzgl�dnie nieprzetestowany kod, tak wi�c trzymam tak�e najnowsz� wersj� poprzedniej wersji g��wnej jako wzgl�dn� stabiln� wersj�, do kt�rej mo�na si� cofn��; bie��c� tak� wersj� jest 2.8.23. To ju� zale�y od ciebie czy zdecydujesz si� na wersj� najnowsz� z 2.9.x czy na 2.8.23; w pliku CHANGES znajduj� si� najwa�niejsze r�nice.
Adres hyper.stanford.edu
jest mirrorowany pod adresem
sunsite.unc.edu
w katalogu /pub/Linux/kernel/pcmcia
.
[Od t�umacza.]Serwer ten z kolei jest mirrorowany w Polsce pod adresem
ftp.icm.edu.pl.
Postaram si� te� umieszcza� g��wne wersje na tsx-11.mit.edu
w katalogu /pub/linux/packages/laptops/pcmcia
teraz i
p�niej.
Je�li nie czujesz si� na si�ach, �eby skompilowa� sterowniki do PCMCIA, w wersji bie��cej s� zawarte pre-kompilowane sterowniki w najpopularniejszych dystrybucjach: Slackware, Red Hat, Caldera i Yggdrasil, mi�dzy innymi.
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.
Wersja obecna zawiera sterowniki dla r�nych kart ethernetowych, sterownik do modemu, kart port�w szeregowych, niekt�rych kontroler�w SCSI, sterownik do kart ATA/IDE oraz sterowniki do kart pami�ci kt�re powinny obs�ugiwa� wi�kszo�� kart SRAM i niekt�re karty flash. Plik SUPPORTED.CARDS zawarty w ka�dej wersji Card Services zawiera wszystkie karty jakie dzia�aj� w przynajmniej jednym w�a�ciwym systemie.
Prawdopodobie�stwo tego, �e karta nie wymieniona w tym pliku b�dzie dzia�a� zale�y od typu tej karty. Zasadniczo wszystkie modemy powinny dzia�a� z zawartym sterownikiem. Niekt�re karty sieciowe mog� dzia�a� je�li s� wersjami OEM karty obs�ugiwanej. Inne typy kart IO (bufory ramkowe, karty d�wi�kowe itd.) nie b�d� dzia�a� dop�ki kto� nie napisze odpowiednich sterownik�w.
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.
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.
Zanim zaczniesz, powiniene� pomy�le� czy rzeczywi�cie musisz samemu skompilowa� pakiet PCMCIA. Wszyskie popularne dystrybucje Linux-a s� dostarczane wraz z pakietami zawieraj�cymi skompilowane sterowniki dla PCMCIA. Og�lnie musisz tylko zainstalowa� od nowa sterowniki je�li potrzebujesz jakiej� nowej cechy obecnych sterownik�w albo je�li zaktualizowa�e� czy przekonfigurowa�e� j�dro tak, �e przesta�o by� kompatybilne ze sterownikami przychodz�cymi z dystrybucj�. Chocia� kompilacja pakietu PCMCIA nie jest trudna technicznie, to wymaga jednak pewnego obycia z Linux-em.
Nast�puj�ce elementy powinny by� zainstalowane w twoim systemie zanim zaczniesz instalowa� PCMCIA:
Wersja najnowsza wymaga j�dra w wersji 1.2.8 lub wy�szej, albo j�dra z serii testowych 1.3.30 lub wy�sze, 1.3.38 jest definitywnie popsute, a 1.3.31 do 1.3.36 nie s� przetestowane. Wymaga tak�e wzgl�dnie �wie�ej wersji narz�dzi do modu��w. Nie ma �at na j�dro specyficznych dla PCMCIA.
Musiz mie� pe�ne drzewo �r�de� j�dra, nie tylko aktualny obraz j�dra, aby skompilowa� pakiet PCMCIA. Modu�y PCMCIA zawieraj� niekt�re odwo�ania do plik�w ze �r�de� j�dra. O ile ty mo�esz chcie� skompilowa� nowe j�dro, �eby usun�� niepotrzebne sterowniki, instalacja PCMCIA nie wymaga tego.
Bie��ce stabilne wersje �r�de� j�dra oraz �aty do niego s�
dost�pne pod adresem
ftp://ftp.icm.edu.pl/pub/Linux/kernel/v2.0. Bie��ca wersja
narz�dzi jest pod tym samym adresem w pliku modules-2.0.0.tgz
.
J�dra w wersji rozwojowej znajduj� si� pod adresem
ftp://ftp.icm.edu.pl/pub/Linux/kernel/v2.1.
W pliku Documentation/Changes
znajduj� si� opisy wersji
wszystkich rodzaj�w innych sk�adnik�w systemu, kt�re s� wymagane
dla tej wersji j�dra. Mo�esz sprawdzi� t� list� i upewni� si� czy
tw�j system jest aktualny, szczeg�lnie je�li ostatnio
uaktualnia�e� j�dro. Je�li u�ywasz j�dra 2.1, upewnij si�, �e
u�ywasz poprawnej kombinacji bibliotek dzielonych i narz�dzi do
modu��w. Najnowsze wersje narz�dzi do modu��w, tak samo jak wersje
dla starszych j�der mo�na znale�� pod adresem
http://www.pi.se/blox/modules.
Je�li planujesz u�ywanie karty ethernetowej PCMCIA podczas konfigurowania twojego j�dra powiniene� w��czy� obs�ug� sieci, ale wy��cz obs�ug� zwyk�ych kart sieciowych, w��czaj�c w to "pocket and portable adapters". Sterowniki do kart sieciowych PCMCIA s� zaimplementowane jako �adowalne modu�y. Jakiekolwiek sterowniki wkompilowane w twoje j�dro b�d� tylko zabiera� miejsce.
Je�li chcesz u�ywa� SLIP-a, PPP czy PLIP-a musisz albo skonfigurowa� twoje j�dro z w��czonymi tymi opcjami, albo u�y� modu��w �adowalnych tych sterownik�w. Niestety w j�drze w wersji 1.2.X nie mo�na skompilowa� pewnych opcji jako modu�y �adowalne (jak np. kompresja SLIP-a) wi�c najlepiej b�dzie je�li wkompilujesz ten sterownik do j�dra je�li go potrzebujesz.
Je�li chcesz u�ywa� kontrolera Token Ring do PCMCIA, musisz
wkompilowa� obs�ug� Token Ring do swojego j�dra - "Token Ring
driver support", ale powiniene� wy��czy� CONFIG_IBMTR
.
Je�li chcesz u�ywa� kontrolera IDE PCMCIA, musisz w��czy� opcj�
CONFIG_BLK_DEV_IDE_PCMCIA
, w j�drach w wersji 1.3.72 do
2.1.7. Starsze j�dra nie obs�uguj� urz�dze� IDE. nowsze j�dra nie
wymagaj� specjalnych ustawie�.
Je�li b�dziesz u�ywa� kontrolera SCSI PCMCIA, powiniene� w��czy�
opcj� CONFIG_SCSI
podczas konfiguracji j�dra. W��cz tak�e
wszelkie sterowniki "top level" (dyski SCSI, ta�my, CD-ROM-y,
generic), kt�rych spodziewasz si� u�ywa�. Wszystkie sterowniki
"low level" dla konkretnych kontroler�w powinny by� wy��czone,
poniewa� b�d� tylko zajmowa� miejsce.
Je�li chcesz zmodularyzowa� sterownik, kt�ry jest potrzebny do
urz�dzenia PCMCIA, musisz zmodyfikowa� plik /etc/pcmcia/config
,
aby poda�, kt�re modu�y maj� by� za�adowane dla kt�rych typ�w
kart. Na przyk�ad, je�li sterownik szeregowy jest
zmodularyzowany, wtedy m�g�by� zmieni� definicj� urz�dzenia
szeregowego na:
device "serial_cs" class "serial" module "misc/serial", "serial_cs"
Pakiet ten zawiera narz�dzie do podawania statusu karty oparte na
X11 - cardinfo
. Narz�dzie to jest oparte na wolno
dystrybuowanym interfejsie zwanym "Forms Library", kt�re
b�dziesz musia� zainstalowa� przed stworzeniem cardinfo
.
Dystrybucja binarna jest na
hyper.stanford.edu. S� tam wersje a.out oraz ELF.
B�dziesz tak�e musia� mie� wszystkie normalne pliki nag��wkowe pod
X i biblioteki.
Oto streszczenie procesu instalacji:
make config
w nowym katalogu pcmcia-cs-2.9.?
make all
, potem make install
./etc/pcmcia
odpowiednio dla twojego systemu.Je�li planujesz zainstalowa� jakie� dodatkowe sterowniki klienta nie zawarte w dystrybucji PCMCIA, rozpakuj ka�dy z nich w g��wnym katalogu �r�de� PCMCIA. Potem post�puj zgodnie z normalnymi instrukcjami kompilacji. Dodatkowe sterowniki zostan� skompilowane i zainstalowane automatycznie.
Uruchomienie make config
zapyta o kilka opcji
konfiguracyjnych i sprawdzi tw�j system, aby zweryfikowa� czy
spe�nia on wszystkie wymagania instalacji obs�ugi PCMCIA. W
wi�kszo�ci przypadk�w, b�dziesz po prostu akceptowa� wszystkie
domy�lne opcje. Upewnij si�, �e dok�adnie sprawdzi�e� komunikaty
wyj�ciowe w razie b��d�w.
Je�li kompilujesz zestaw PCMCIA do instalacji na inn� maszyn�,
podaj alternatywny katalog docelowy kiedy zostaniesz zapytany
przez skrypt konfiguracyjny. Powinna to by� �cie�ka bezwzgl�dna.
Wszystkie narz�dzia do PCMCIA zostan� zainstalowane wzgl�dem tego
katalogu. B�dziesz m�g� nast�pnie "zarchiwizowa�" ten katalog
poleceniem tar
i skopiowa� go na maszyn� docelow�, a
nast�pnie rozpakowa� wzgl�dem jej katalogo g��wnego, aby
zainstalowa� wszystko we w�a�ciwym miejscu.
Je�li "cross-kompilujesz" na innej maszynie, mo�esz poda� alternatywne nazwy kompilatora i linkera. Mo�e to by� tak�e pomocne na systemach z pomieszan� architektur� a.out i ELF. Skrypt zapyta tak�e o dodatkowe opcje �ledzenia dla kompilatora.
Niekt�re z narz�dzi wspieraj�cych (cardctl
i cardinfo
)
mog� by� skompilowane w formie "safe" (bezpiecznej) lub
"trusting" (ufaj�cej). Forma bezpieczna nie pozwala
u�ytkownikom innym ni� root na modyfikacj� konfiguracji karty.
Forma ufaj�ca pozwala zwyk�emu u�ytkownikowi na zawieszenie,
odwieszenie i reset karty oraz na zmian� bie��cej konfiguracji.
Skrypt konfiguracyjny zapyta ci� czy chcesz skompilowa� narz�dzia
jako "safe" czy "trusting"; warto�ci�
domy�ln� jest "safe".
Jest kilka opcji konfiguracji j�dra kt�re maj� wp�ywa na narz�dzia do PCMCIA. Skrypt konfiguracyjny mo�e je wywnioskowa� z dzia�aj�cego j�dra (najpopularniejszy przypadek). Alternatywnie, je�li kompilujesz do instalacji na inn� maszyn� mo�e przeczyta� konfiguracj� z drzewa �r�de� j�dra, albo ka�da opcja mo�e by� podana interaktywnie.
Uruchomienie make all
a potem make install
stworzy i
nast�pnie zainstaluje modu�y do j�dra i programy narz�dziowe.
Modu�y do j�dra s� instalowane w /lib/modules/<wersja>/pcmcia
.
Programy cardmgr
i cardctl
s� instalowane w /sbin
.
Je�li tworzony jest cardinfo
, to instalowany jest on w
/usr/bin/X11
.
Pliki konfiguracyjne zostan� zainstalowane w /etc/pcmcia
.
Je�li instalujesz na starej wersji, twoje stare pliki
konfiguracyjne zostan� zarchiwizowane przed skasowaniem ich.
Zachowanym skryptom zostan� nadane rozszerzenia w stylu
*.~1~
, *.~2~
.
Je�li nie wiesz jakiego typu jest tw�j kontroler, to mo�esz u�y�
narz�dzia probe
z podkatalogu cardmgr
, aby go
wykry�. S� dwa g��wne typy: Databook TCIC-2 i kompatybilne z
Intel i82365SL.
Demon na poziomie u�ytkownika obs�uguje w�o�enie i
wyj�cie karty. Nazywa si� on cardmgr
. Jest podobny w
funkcjonowaniu do wcze�niejszej wersji pcmciad
Barry'ego
Jaspana. Cardmgr
czyta plik konfiguracyjny opisuj�cy znane
karty PCMCIA z /etc/pcmcia/config
. W pliku tym zawarte
jest jakie zasoby mog� by� zaalokowane dla u�ycia przez urz�dzenia
PCMCIA, i mog� by� zmodyfikowane dla twojego systemu. Zobacz
stron� w podr�czniku systemowym "man" na temat pcmcia
, aby
dowiedzie� si� wi�cej na temat tego pliku.
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
.
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
.
Pakiet Card Services powinien automatycznie zapobiega� alokacji
port�w IO i przerwa�, kt�re s� ju� u�ywane przez inne urz�dzenia.
Spr�buje on tak�e wykry� konflikty z nieznanymi urz�dzeniami, ale
nie jest to w pe�ni godne zaufania. W niekt�rych przypadkach,
muisz wyra�nie poda� zasoby, kt�re maj� by� niedost�pne dla danego
urz�dzenia w pliku /etc/pcmcia/config.opts
.
Oto niekt�re ustawienia zasob�w dla specyficznych typ�w laptop�w.
Niekt�re kontrolery PCMCIA maj� opcjonalne zalety, kt�re mog� by� zaimplementowane w danym systemie, ale nie musz�. Generalnie jest niemo�liwe dla sterownika gniazdka (socket driver), aby wykry� czy te zalety s� zaimplementowane. Sprawd� stron� w podr�czniku systemowym na temat swojego sterownika, aby zobaczy� jakie opcjonalne zalety mog� by� w��czone.
W kilku przypadkach polecenie probe
nie b�dzie w stanie
wykry� automatycznie typu twojego kontrolera. Je�li masz system
Halikan NBD 486, to jego kontroler TCIC-2 znajduje si� w
niezwyk�ym miejscu: b�dziesz musia� zmodyfikowa� rc.pcmcia
, aby
za�adowa� modu� tcic
oraz ustawi� PCIC_OPTS
na
tcic_base=0x2C0
.
Sterowniki gniazda typu "low level" tcic
i i82365
maj�
liczne parametry do timing-�w szyny, kt�re mo�e b�dzie trzeba
ustawi� dla system�w ze szczeg�lnie szybkimi procesorami. Symptomy
problem�w z timing-ami zawieraj� problemy z wykryciem karty,
zawi�ni�cia przy du�ym za�adowaniu systemu, du�e �rednie b��d�w,
albo z�a wydajno�� urz�dze�. Sprawd� odpowiednie strony w
podr�czniku systemowym, aby dowiedzie� si� wi�cej szczeg��w. A
tu jest kr�tkie podsumowanie:
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.fast_pci
, kt�ry
powinien by� ustawiony je�li szybko�� szyny PCI jest wi�ksza ni�
25 MHz.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�.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.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:
freq_bypass=1 cmd_time=8
.cmd_time=12
.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"
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.
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.
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"
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.
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.
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
".
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.
Normalnie interfejsy sieciowe typu Ethernet na Linux-ie maj� nazwy
eth0
, eth1
itd. Kontrolery Token-Ring s� obs�ugiwane
podobnie, chocia� nazywane s� tr0
, tr1
itd. Polecenie
ifconfig
jest wywo�ywane, aby zobaczy� albo zmodyfikowa� stan
urz�dzenia sieciowego. W�asno�ci� Linux-a jest to, �e interfejsy
sieciowe nie maj� odpowiednich plik�w w katalogu /dev
,
wi�c nie b�d� zaskoczony, �e nie mo�esz ich znale��.
Kiedy zostanie wykryta karta Ethernet-owa PCMCIA, zostanie jej
przydzielona pierwsza wolna nazwa interfejsu, kt�r� b�dzie
przypuszczalnie eth0
. Cardmgr
wykona skrypt
/etc/pcmcia/network
, aby skonfigurowa� ten interfejs.
Nie konfiguruj swojej karty Ethernet-owej w
/etc/rc.d/rc.inet1
poniewa� karty mo�e nie by� kiedy
skrypt ten jest wykonywany. Wstaw w komentarz wszystko, opr�cz
urz�dzenia "loopback" w rc.inet1
.
Je�li tw�j system ma automatyczn� procedur� konfiguracji sieci
powiniene� zwykle wskaza�, �e nie masz zainstalowanej karty sieciowej. W
zamian, zmodyfikuj plik /etc/pcmcia/network.opts
, tak aby
odpowiada� twojej lokalnej konfiguracji sieci. Skrypty
network
i network.opts
zostan� wykonane tylko je�li
twoja karta Ethernet-owa jest obecna.
Adres urz�dzenia przekazany do network.opts
sk�ada si�, z
czterech p�l oddzielonych przecinkami: schematu, numeru gniazda,
numeru urz�dzenia i sprz�towego adresu karty Ethernet. Numer
urz�dzenia jest u�ywany do numerowania urz�dze� dla kart, kt�re
maj� kilka interfejs�w sieciowych, tak wi�c zwykle b�dzie to 0.
Je�li masz kilka kart sieciowych u�ywanych do r�nych cel�w,
jedn� z opcji by�oby skonfigurowanie kart oparte na numerze
gniazda, jak tu:
case "$ADDRESS" in *,0,*,*) # definicje dla karty sieciowej w gnie�dzie 0 ;; *,1,*,*) # definicje dla karty sieciowej w gnie�dzie 1 ;; esac
Alternatywnie mog�yby one by� skonfigurowane u�ywaj�c ich adres�w sprz�towych, jak tu:
case "$ADDRESS" in *,*,*,00:80:C8:76:00:B1) # definicje dla karty D-Link ;; *,*,*,08:00:5A:44:80:01) # definicje dla karty IBM esac
Aby automatycznie zamontowa� i odmontowa� system plik�w NFS,
najpierw dodaj te wszystkie systemy do /etc/fstab
, ale w
opcjach podaj noauto. W network.opts
wpisz
katalogi, w kt�rych maj� by� zamontowane systemy plik�w NFS w
zmiennej MOUNTS
. Jest tu szczeg�lnie wa�ne, aby u�y� albo
cardctl
albo cardinfo
, aby wy��czy� kart� sieciow� kiedy
montowanie z NFS jest w ten spos�b skonfigurowane. Nie jest
mo�liwe czyste odmontowanie systemu plik�w NFS je�li karta
sieciowa jest po prostu wyrzucana bez ostrze�enia.
Dodatkowo opr�cz zwyk�ych parametr�w konfiguracyjnych dla sieci,
skrypt network.opts
mo�e podawa� inne akcje, kt�re maj� mie�
miejsce po tym jak interfejs zosta� skonfigurowany, albo przed
zamkni�ciem interfejsu. Je�li w network.opts
zdefiniowana
jest funkcja start_fn
, zostanie ona wywo�ana przez skrypt
sieciowy po skonfigurowaniu interfejsu, a nazwa interfejsu
zostanie przekazana do tej funkcji jako pierwszy i jedyny
argument. Podobnie je�li funkcja stop_fn
jest zdefiniowana,
to zostanie ona wywo�ana przed zamkni�ciem interfejsu.
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
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.io_speed=#
podczas �adowania modu�u pcmcia_core
. Aby ustawi� t� opcj�
zmodyfikuj linijk� CORE_OPTS
w skrypcie startowym.pcmcia_core
z opcj� probe_io=0
.
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.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./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/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./etc/pcmcia/network.opts
. Upewnij si�, �e twoje kable,
wtyczka "T", terminator itp. dzia�aj�.
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"
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./etc/pcmcia/config.opts
i wy��cz obszar
port�w, kt�ry zosta� zaalokowany dla modemu.setserial
, aby zmieni� IRQ na 0 i sprawd� czy modem dzia�a.
Wywo�anie takie wymusza na sterowniku u�ycie wolniejszego trybu
"polled" 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./etc/pcmcia/config
,
aby zaznaczy�, �e modu� serial
powinien by� za�adowany przed
serial_cs
.
Wszystkie obecnie obs�ugiwane karty PCMCIA SCSI s� podobne w
dzia�aniu do jednej z nast�puj�cych kart: Qlogic, Adaptec
AHA-152X albo Future Domain TMC-16x0. Sterowniki PCMCIA s�
stworzone przez do��czanie cz�ci specyficznego dla PCMCIA kodu (w
qlogic_cs.c
, toaster_cs.c
albo fdomain_cs.c
) do
normalnego sterownika SCSI dla Linux-a.
Kiedy wykryty zostanie nowy kontroler SCSI, sterowniki do SCSI b�d�
szuka� urz�dze�. Sprawd� logi systemowe, aby upewni� si�, �e twoje
urz�dzenia zosta�y wykryte poprawnie. Nowym urz�dzeniom SCSI
zostanie przypisany pierwszy wolny plik urz�dzenia SCSI. Pierwszy
dysk SCSI b�dzie /dev/sda
, pierwsza ta�ma SCSI b�dzie
/dev/st0
, a pierwszy CD-ROM SCSI b�dzie /dev/scd0
.
Rdzeniowe sterowniki PCMCIA s� w stanie dowiedzie� si� od j�dra
1.3.X i p�niejszego, kt�re urz�dzenia SCSI s� pod��czone do karty. B�d� one
wymienione w /var/run/stab
, a skrypt konfiguracyjny SCSI
/etc/pcmcia/scsi
b�dzie wywo�any jeden raz dla ka�dego
do��czonego urz�dzenia, aby je albo skonfigurowa� albo wy��czy�.
Skrypt domy�lny nie robi nic, aby skonfigurowa� urz�dzenia SCSI,
ale poprawnie odmontuje systemy plik�w z urz�dze�SCSI kiedy karta
zostanie usuni�ta.
Sterowniki PCMCIA z j�drem w wersji 1.2.X nie potrafi� automatycznie
wykry� , kt�re urz�dzenia s� przypisane konkretnemu
sterownikowi. W zamian za to, je�li masz jedn� normaln�
konfiguracj� urz�dzenia SCSI, mo�esz wymieni� te urz�dzenia w
/etc/pcmcia/scsi.opts
. Na przyk�ad: je�li normalnie masz
dysk i CD-ROM SCSI, u�y�by�:
# Dla j�dra 1.2: lista urz�dze� do��czonych SCSI_DEVICES="sda scd0"
Adresy urz�dze� przekazywane do scsi.opts
s� skomplikowane, z
powodu du�ej ilo�ci urz�dze�, kt�re mog� by� do��czone do
kontrolera SCSI. Adresy sk�adaj� si� albo z sze�ciu albo z siedmiu
p�l oddzielonych przecinkami: bie��cy schemat, typ urz�dzenia,
numer gniazda, kana� SCSI, ID, numer logicznej jednostki i
opcjonalnie numer partycji. Typ urz�dzenia b�dzie jednym z: "sd"
dla dysk�w, "st" dla ta�m, "sr" dla CD-ROM-�w i "sg" dla og�lnych
urz�dze� SCSI. W wi�kszo�ci ustawie�, kana� SCSI oraz numer
logicznej jednostki b�dzie 0. Dla urz�dze� dyskowych z kilkoma
partycjami, scsi.opts
zostanie najpierw wywo�any dla ca�ego
urz�dzenia, z pi�ciopolowym adresem. Skrypt ten powinien ustawi�
w zmiennej PARTS
list� partycji. Potem, scsi.opts
zostanie wywo�any dla ka�dej partycji, z d�u�szymi -
siedmiopolowymi adresami. Na przyk�ad: oto skrypt do konfiguracji
urz�dzenia dyskowego pod SCSI ID = 3 z dwiema partycjami oraz
CD-ROM pod SCSI ID = 6:
case "$ADDRESS" in *,sd,*,0,3,0) # To urz�dzenie ma dwie partycje... PARTS="1 2" ;; *,sd,*,0,3,0,1) # Opcje dla partycji nr 1: # zaktualizuj /etc/fstab i zamontuj system plik�w ext2 na /usr1 DO_FSTAB="y" ; DO_FSCK="y" ; DO_MOUNT="y" FSTYPE="ext2" OPTS="" MOUNTPT="/usr1" ;; *,sd,*,0,3,0,2) # Opcje dla partycji nr 2: # zaktualizuj /etc/fstab i zamontuj system plik�w ext2 na /usr2 DO_FSTAB="y" ; DO_FSCK="y" ; DO_MOUNT="y" FSTYPE="msdos" OPTS="" MOUNTPT="/usr2" ;; *,sr,*,0,6,0) # Opcje dla CD-ROM-u ID = 6 PARTS="" DO_FSTAB="y" ; DO_FSCK="n" ; DO_MOUNT="y" FSTYPE="iso9660" OPTS="ro" MOUNTPT="/cdrom" ;; esac
Je�li twoje j�dro nie posiada sterownika "top-level" (do dysku,
ta�my itp.) dla konkretnego urz�dzenia SCSI, wtedy urz�dzenie to
nie zostanie skonfigurowane przez sterownik PCMCIA. Jako efekt
uboczny, nazwa urz�dzenia w /var/run/stab
b�dzie wygl�da�
mniej wi�cej tak: "sd#nnnn", gdzie "nnnn" jest czterocyfrow�
liczb� szesnastkow�. Zdarza si� to, je�li cardmgr
nie jest w
stanie przet�umaczy� ID urz�dzenia SCSI na odpowiadaj�c� mu nazw�
urz�dzenia Linux-owego.
Mo�liwe jest zmodularyzowanie sterownik�w "top-level" do SCSI,
tak aby by�y �adowane tylko wtedy kiedy zostanie wykryty kontroler
SCSI. Aby tak zrobi�, musisz zmodyfikowa� /etc/pcmcia/config
,
aby poinformowa� cardmgr
, kt�re dodatkowe modu�y musz� by�
za�adowane kiedy dany kontroler jest konfigurowany.
Na przyk�ad:
device "aha152x_cs" class "scsi" module "scsi/scsi_mod", "scsi/sd_mod", "aha152x_cs"
Taka zawarto�� pliku spowodowa�aby za�adowanie rdzennego modu�u SCSI oraz modu�u sterownika "top-level" do dysk�w przed �adowaniem normalnego modu�u sterownika PCMCIA. Skrypt Configure nie wykryje automatycznie zmodularyzowanych sterownik�w SCSI, tak wi�c b�dziesz musia� w��czy� obs�ug� SCSI r�cznie u�ywaj�c opcji konfiguracyjnych.
Zawsze w��czaj swoje urz�dzenia przed w��czeniem laptopa, albo
przed w�o�eniem karty kontrolera, tak aby szyna SCSI zosta�a
poprawnie zako�czona podczas konfiguracji kontrolera. B�d� tak�e
bardzo ostro�ny przy wyjmowaniu kontrolera SCSI. Przed wyj�ciem
karty upewnij si�, �e wszystkie urz�dzenia do niej
przydzielone zosta�y odmontowane i wy��czone. Najlepiej przed
wyj�ciem karty skorzysta� z programu cardctl
albo cardinfo
i za��da� usuni�cia karty z systemu. W chwili obecnej wszystkie
urz�dzenia SCSI powinny by� w��czane przed w�o�eniem karty
sterownika SCSI i powinny pozosta� pod��czone do momentu wyj�cia
karty sterownika lub wy��czenia laptopa.
Korzystanie z tych kart niesie za sob� potencjalne komplikacje nieznane w przypadku korzystania ze zwyk�ych sterownik�w ISA. Szyna SCSI przenosi sygna� "termination power" niezb�dny do prawid�owego dzia�ania zwyk�ych pasywnych terminator�w SCSI. Sterowniki SCSI standardu PCMCIA nie dostarczaj� sygna�u "power termination", je�li jest on wymagany musi zosta� dostarczony przez urz�dzenie zewn�trzne. Niekt�re zewn�trzne urz�dzenia SCSI mog� zosta� skonfigurowane w taki spos�b, aby dostarcza�y wspomnianego sysgna�u. Inne, jak np. Zip Drive czy Syquest EZ-Drive u�ywaj� aktywnych terminator�w, przez co nie s� zale�ne od sygna�u podawanego na szynie SCSI. W niekt�rych przypadkach mo�e okaza� si� konieczne skorzystanie ze specjalnego bloku terminatora, np. APS SCSI Sentry 2, kt�ry posiada niezale�ne, zewn�trzne �r�d�o zasilania. Konfiguruj�c �a�cuch urz�dze� SCSI musisz sobie zdawa� spraw�, kt�re z nich wymagaj� lub dostarczaj� sygna� "power termination".
Kontroler Adaptec APA-460 SlimSCSI nie jest obs�ugiwany. Kart� t� sprzedawano oryginalnie pod nazw� Trantor, a kiedy Adaptec po��czy� si� z Trantor-em, kontynuowano sprzeda� Trantora z nazw� Adaptec. APA-460 nie jest kompatybilny z jakimkolwiek istniej�cym sterownikiem Linux-owym. Nie jestem pewien jak trudno by�oby napisa� sterownik; nie s�dz�, �eby kto� by� w stanie wyci�gn�� jakiekolwiek informacje od Adaptec-a.
(Nieobs�ugiwany) Trantor SlimSCSI mo�e zosta� zidentyfikowany nast�puj�co:
Trantor / Adaptec APA-460 SlimSCSI FCC ID: IE8T460 Shipped with SCSIworks! driver software
(Obs�ugiwany) Adaptec SlimSCSI mo�e zosta� zidentyfikowany nast�puj�co:
Adaptec APA-1460 SlimSCSI FCC ID: FGT1460 P/N: 900100 Shipped with EZ-SCSI driver software
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"
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
.
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
.
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.
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
pcmcia_core
z opcj�:
CORE_OPTS="unreset_delay=400"
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�.
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.
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.
Pakiet Card Services mo�e zosta� skompilowany z obs�ug� APM (Advanced Power Management) je�li zainstalowa�e� ten pakiet w swoim systemie. APM jest do��czony do j�der 1.3.46 i nowszych. Opiekunem tego pakietu jest obecnie Rick Faith (faith@cs.unc.edu), a narz�dzia do APM mo�na uzyska� z ftp.cs.unc.edu. Modu�y PCMCIA zostan� skonfigurowane automatycznie pod wzgl�dem APM je�li na twoim systemie zostanie wykryta wersja kompatybilna.
Aby poprawnie zako�czy� dzia�anie i ponownie wystartowa� karty PCMCIA,
mo�esz wykona� cardctl suspend
przed zawieszeniem twojego laptopa i
cardctl resume
po przywr�ceniu go do pracy bez zmian w APM.
Niezadzia�a to jednak z modemem PCMCIA, kt�ry jest w�a�nie u�ywany,
poniewa� sterownik szeregowy nie jest w stanie zachowa� i odtworzy�
parametr�w operacyjnych modemu.
APM wydaje si� by� niepewne na niekt�rych systemach. Je�li masz problemy z APM i PCMCIA w twoim systemie, spr�buj zaw�zi� problem do jednego albo drugiego pakietu zanim wy�lesz list z raportem o b��dzie.
Niekt�re sterowniki, szczeg�lnie sterowniki PCMCIA SCSI, nie mog�
si� odtworzy� ze stanu zawie�/odtw�rz. Kiedy u�ywasz karty PCMCIA
SCSI, u�yj cardctl eject
zanim zawiesisz system.
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.
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.
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.
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
Posiadanie g��wnego systemu plik�w na urz�dzeniu PCMCIA jest troch� k�opotliwe, bo system PCMCIA na Linux-a nie zosta� przystosowany do w��czenia do j�dra. G��wne sk�adniki, �adowalne modu�y i uruchamiany w trybie u�ytkownika demon cardmgr, zale�� od ju� dzia�aj�cego systemu. Mo�liwo�� startu przy pomocy "initrd" pozwala obej�� ten problem pozwalaj�c Linux-owi wystartowa� u�ywaj�c tymczasowego ramdysku jako minimalnego obrazu katalogu g��wnego, za�adowa� sterowniki i potem ponownie zamontowa� inny system plik�w jako katalog g��wny. Tymczasowy katalog g��wny mo�e skonfigurowa� urz�dzenia PCMCIA i potem zamontowa� urz�dzenie PCMCIA jako katalog g��wny.
Niekt�re dystrybucje Linux-a pozwalaj� na instalacj� na urz�dzeniu pod��czonym do kontrolera SCSI PCMCIA, jako niezamierzony skutek uboczny mo�liwo�ci instalacji z CD-ROM-�w pod��czonych do SCSI PCMCIA. Aczkolwiej w tej chwili �adne narz�dzie instalacyjne dla Linux-a nie pozwala na konfiguracj� odpowiedniego "initrd" do startu z g��wnym systemem plik�w na PCMCIA. Dlatego te� konfiguracja takiego systemu wymaga u�ycia drugiego Linux-a, aby stworzy� obraz "initrd". Je�li nie masz dost�pu do drugiego Linux-a, to inn� mo�liwo�ci� jest tymczasowe zainstalowanie minimalnego Linux-a na nap�dzie nie b�d�cym urz�dzeniem PCMCIA, stworzenie obrazu initrd i zainstalowanie na PCMCIA.
W Bootdisk-HOWTO znajduj� si� og�lne informacje jak zrobi�
dyskietki startowe, ale nic konkretnego na temat initrd. G��wny
dokument opisuj�cy initrd zawarty jest w ostatnich �r�d�ach j�dra
Linux-a w katalogu linux/Documentation/initrd.txt
. Zanim
zaczniesz powiniene� to przeczyta�. Pomocna jest te� znajomo��
lilo
. U�ycie initrd wymaga tak�e w��czonych opcji
CONFIG_BLK_DEV_RAM
i CONFIG_BLK_DEV_INITRD
w
j�drze.
Skrypt 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
'.
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.
Jednym z popularnych zastosowa� initrd s� systemy gdzie wewn�trzny
dysk twardy jest dedykowany dla innego systemu operacyjnego. J�dro
Linux-a i obraz initrd mog� zosta� umieszczone na partycji bez
Linux-a a lilo
lub LOADLIN
mog� zosta� skonfigurowane,
aby �adowa�y Linux-a z tych obraz�w.
Zak��daj�c, �e twoje j�dro jest skonfigurowane na odpowiednie
urz�dzenie z g��wnym systemem plik�w i masz stworzony obraz initrd
na innym Linux-ie, najprostszym sposobem aby zacz��, to
wystartowanie Linux-a u�ywaj�c LOADLIN
-a w ten spos�b:
LOADLIN <kernel> initrd=<initrd-image>
Jak ju� mo�esz wystartowa� Linux-a na swojej maszynie, mo�esz
wtedy zainstalowa� lilo
aby umo�liwi� startowanie Linux-a
bezpo�rednio.
Na przyk�ad powiedzmy, �e /dev/hda1
jest partycj� bez
Linux-a i /mnt
mo�na u�y� jako katalog do montowania.
najpierw utw�rz podkatalog na partycji docelowej dla plik�w
Linux-a:
mount /dev/hda1 /mnt
mkdir /mnt/linux
cp [obraz-j�dra] /mnt/linux/vmlinuz
cp [obraz-initrd] /mnt/linux/initrd
W tym przyk�adzie, powiedzmy, �e /dev/sda1
jest partycj�
na kt�rej ma si� znale�� g��wny system plik�w, dysk twardy SCSI
zamontowany przez kontroler SCSI PCMCIA. Aby zainstalowa�
lilo
, stw�rz plik lilo.conf
z tak� zawarto�ci�:
boot=/dev/hda
map=/mnt/linux/map
compact
image=/mnt/linux/vmlinuz
label=linux
root=/dev/sda1
initrd=/mnt/linux/initrd
read-only
other=/dev/hda1
table=/dev/hda
label=windows
Linia boot=
informuje, �eby zainstalowa� program �aduj�cy
system do Master Boot Record podanego urz�dzenia. Linia root=
identyfikuje konkretny g��wny system plik�w, kt�ry ma zosta� u�yty
po za�adowaniu obrazu initrd, parametr ten mo�e by� niepotrzebny
je�li j�dro jest ju� skonfigurowane w ten spos�b. Sekcja
other=
u�ywana jest do opisania innego systemu operacyjnego
zainstalowanego na /dev/hda1
.
Aby zainstalowa� lilo
w tym przypadku u�yj:
lilo -C lilo.conf
Zauwa�, �e w tym przypadku plik lilo.conf
u�ywa scie�ek
absolutnych, kt�re zawieraj� /mnt
. Zrobi�em tak w
przyk�adzie poniewa� docelowy system plik�w mo�e nie umie� tworzy�
urz�dze� Linux-a dla parametr�w boot=
i root=
.
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.
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.
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).
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.
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:
probe
./etc/pcmcia
albo rc.pcmcia
.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�.
Modu�y PCMCIA zawieraj� du�o warunkowo skompilowanego kodu
�ledzenia. Wi�kszo�� tego kodu jest pod kontrol� definicji
preprocesora PCMCIA_DEBUG
. Je�li jest to niezdefiniowane, to
kod do �ledzenia nie zostanie wkompilowany. Je�li jest utawione na
0, kod ten jest wkompilowany, ale nieaktywny. Im wi�ksze poziomy
tym wi�cej informacji. Ka�dy modu� stworzony ze zdefiniowanym
symbolem PCMCIA_DEBUG
b�dzie mia� parametr typu Integer,
pc_debug
, kt�ry kontroluje ilo�� pojawiaj�cych si�
informacji. Mo�e to by� ustawiane wtedy, kiedy modu� jest
�adowany, tak wi�c wyj�cie mo�e by� kontrolowane, na zasadzie "dla
ka�dego modu�u" bez potrzeby przekompilowywania.
Jest kilka narz�dzi do �ledzenia w podkatalogu debug_tools/
w dystrybucji PCMCIA. Narz�dzia dump_tcic
i dump_i365
generuj� kompletny zrzut rejestr�w kontrolera PCMCIA i dekoduj�
du�o informacji z rejestr�w. S� najbardziej po�yteczne wtedy, gdy
masz dost�p do schematu danych konkretnego uk�adu scalonego
kontrolera. Narz�dzie dump_tuples
wy�wietla CIS-y (Card
Information Structure) danej karty i dekoduje niekt�re z
najwa�niejszych bit�w. A narz�dzie dump_cisreg
wy�wietla
rejestry lokalnej konfiguracji karty.
Sterownik memory_cs
do karty pami�ci jest tak�e czasami
przydatny do �ledzenia. Mo�e on zosta� powi�zany z ka�d� kart�
PCMCIA i nie wp�ywa to negatywnie na inne sterowniki. Mo�e on
zosta� u�yty do bezpo�redniego dost�pu do pami�ci atrybutowej
karty albo zwyk�ej pami�ci.
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
.
Zdecydowa�em, �e nie jest rozs�dne dla mnie, abym rozprowadza� wszystkie sterowniki klient�w PCMCIA jako cz�� pakietu PCMCIA. Ka�dy nowy sterownik czyni g��wny pakiet trudniejszym do utrzymania i, co mo�na by�o przewidzie�, do��czenie sterownika przenosi troch� pracy opiekuna z autora na mnie. W zamian za to, zdecyduj� osobno dla ka�dego przypadku (case by case) czy w��czy� czy nie sterowniki pisane przez osoby trzecie, w zale�no�ci od ��da� u�ytkownik�w jak i mo�liwo�ci utrzymywania. Sugeruj�, �eby autorzy sterownik�w, kt�re nie dosta�y si� do g��wnego pakietu, zaadoptowali nast�puj�cy schemat przy przygotowywaniu ich sterownik�w do dystrybucji.
Pliki sterownika powinny by� u�o�one w takiej samej strukturze
katalog�w jak w g��wnej dystrybucji, tak, �eby mo�na by�o
rozpakowa� sterownik ten w g��wnym katalogu �r�de� g��wnej
dystrybucji. Sterownik powinien posiada� pliki �r�d�owe (w
./modules/
), stron� do podr�cznika systemowego (w
./man/
) i pliki konfiguracyjne (w ./etc/
).
Katalog g��wny powinien zawiera� tak�e plik README.
W katalogu g��wnym powinien si� tak�e znajdowa� makefile,
ustawiony w taki spos�b, �e "make -f ...
all" i
"make -f ... install
" skompiluje sterownik i
zainstaluje wszystkie potrzebne pliki. Je�li plik ten posiada
rozszerzenie .mk
, to zostanie on automatycznie wykonany przez
g��wny pliku Makefile
dla cel�w all
i install
.
Oto przyk�ad jak taki plik m�g�by by� skonstruowany.
# Przyk�adowy Makefile dla sterownik�w pisanych przez osoby trzecie
FILES = sample_cs.mk README.sample_cs \
modules/sample_cs.c modules/sample_cs.h \
etc/sample etc/sample.opts man/sample_cs.4
all:
$(MAKE) -C modules MODULES=sample_cs.o
install:
$(MAKE) -C modules install-modules MODULES=sample_cs.o
$(MAKE) -C etc install-clients CLIENTS=sample
$(MAKE) -C man install-man4 MAN4=sample_cs.4
dist:
tar czvf sample_cs.tar.gz $(FILES)
Plik ten u�ywa cel�w install zdefiniowanych w pakiecie PCMCIA
2.9.10 i p�niejszych. Zawiera on tak�e cel "dist" dla
wygody autora sterownika. Przypuszczalnie b�dziesz chcia� doda�
numer wersji do ostatecznego pakietu (np. sample_cs-1.5.tar.gz
).
Pe�na dystrybucja mog�aby wygl�da� tak:
sample_cs.mk
README.sample_cs
modules/sample_cs.c
modules/sample_cs.h
etc/sample
etc/sample.opts
man/sample_cs.4
Z takim uk�adem katalog�w, po rozpakowaniu sterownik staje si� cz�ci� g��wnej dystrybucji. Mo�e korzysta� z plik�w nag��wkowych PCMCIA, tak jak i z mo�liwo�ci sprawdzania konfiguracji systemu u�ytkownika i automatycznego sprawdzania zale�no�ci tak samo jak "normalny" sterownik klienta.
B�d� akceptowa� sterowniki przygotowane zgodnie z t� specyfikacj�
i umieszcza� je w katalogu /pub/pcmcia/contrib
na moim
serwerze FTP - hyper.stanford.edu
. Plik README w tym katalogu
b�dzie opisywa� jak rozpakowa� sterownik pisany przez trzeci�
osob�.
Interfejs sterownika PCMCIA nie zmieni� si� wiele przez ten czas i prawie zawsze zachowywa� wsteczn� kompatybilno��. Sterownik klienta nie b�dzie musia� by� aktualizowany dla pobocznych wersji w pakiecie g��wnym PCMCIA. Spr�buj� powiadamia� autor�w sterownik�w o zmianach, kt�re wymagaj� uaktualnienia ich sterownik�w.
T�umaczenie to jest chronione prawami autorskimi © Bartosza Maruszewskiego. Dozwolone jest rozprowadzanie i dystrybucja na prawach takich samych jak dokument oryginalny.
Je�li znalaz�e� jakie� ra��ce b��dy ortograficzne, gramatyczne, sk�adniowe, techniczne to pisz do mnie:
B.Maruszewski@jtz.org.pl A mo�esz tu znale�� do�� du�o mo�e nie b��d�w, ale konstrukcji, kt�re nie s� podobne do j�zyka polskiego. Ale to wszystko dlatego, �e jest troch� ci�ko przet�umaczy� zdanko z angielskiego je�li jest obok siebie 4 czy czasami nawet 6 rzeczownik�w ;) Je�li zauwa�ysz taki stw�r i wpadniesz na lepsze okre�lenie, napisz. Je�li b�dzie to w miar� sensowne, to napewno tego nie zignoruj�.
Oficjaln� stron� t�umacze� HOWTO jest http://www.jtz.org.pl/
Aktualne wersje przet�umaczonych dokument�w znajduj� si� na
tej�e stronie. Dost�pne s� tak�e poprzez anonimowe ftp pod adresem
ftp.jtz.org.pl w katalogu /HOWTO/
.
Przet�umaczone przeze mnie dokumenty znajduj� si� tak�e na mojej stronie WWW. S� tam te� odwo�ania do Polskiej Strony T�umaczeniowej.
Kontakt z nasz� grup�, grup� t�umaczy mo�esz uzyska� poprzez list�
dyskusyjn� jtz@ippt.gov.pl. Je�li chcesz sie na ni� zapisa�, to
wy�lij list o tre�ci subscribe jtz Imi� Nazwisko
na adres
majordomo@ippt.gov.pl
Zmiany w tym dokumencie wprowadzone przez t�umacza to odwo�ania do polskich serwer�w ftp. # # # #
Hosting by: Hurra Communications Sp. z o.o.
Generated: 2007-01-26 18:02:22