Opis sterowników do PCMCIA: Kompilacja, instalacja i konfiguracja.
Następna strona
Poprzednia strona
Spis treści
2. Kompilacja, instalacja i konfiguracja.
2.1 Wymagania i ustawienia jądra.
Zanim zaczniesz, powinieneś pomyśleć czy rzeczywiście musisz
samemu skompilować pakiet PCMCIA. Wszyskie popularne dystrybucje
Linux-a są dostarczane wraz z pakietami zawierającymi
skompilowane sterowniki dla PCMCIA. Ogólnie musisz tylko
zainstalować od nowa sterowniki jeśli potrzebujesz jakiejś nowej
cechy obecnych sterowników albo jeśli zaktualizowałeś czy
przekonfigurowałeś jądro tak, że przestało być kompatybilne ze
sterownikami przychodzącymi z dystrybucją. Chociaż kompilacja
pakietu PCMCIA nie jest trudna technicznie, to wymaga jednak
pewnego obycia z Linux-em.
Następujące elementy powinny być zainstalowane w twoim systemie
zanim zaczniesz instalować PCMCIA:
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.
2.2 Instalacja.
Oto streszczenie procesu instalacji:
Rozpakuj pcmcia-cs-2.9.?.tar.gz w /usr/src.
Uruchom make config w nowym katalogu pcmcia-cs-2.9.?
Uruchom make all, potem make install.
Ustaw skrypty startowe dla PCMCIA i pliki opcji w /etc/pcmcia
odpowiednio dla twojego systemu.
Jeśli planujesz zainstalować jakieś dodatkowe sterowniki klienta
nie zawarte w dystrybucji PCMCIA, rozpakuj każdy z nich w głównym
katalogu źródeł PCMCIA. Potem postępuj zgodnie z normalnymi
instrukcjami kompilacji. Dodatkowe sterowniki zostaną skompilowane
i zainstalowane automatycznie.
Uruchomienie make config zapyta o kilka opcji
konfiguracyjnych i sprawdzi twój system, aby zweryfikować czy
spełnia on wszystkie wymagania instalacji obsługi PCMCIA. W
większości przypadków, będziesz po prostu akceptował wszystkie
domyślne opcje. Upewnij się, że dokładnie sprawdziłeś komunikaty
wyjściowe w razie błędów.
Jeśli kompilujesz zestaw PCMCIA do instalacji na inną maszynę,
podaj alternatywny katalog docelowy kiedy zostaniesz zapytany
przez skrypt konfiguracyjny. Powinna to być ścieżka bezwzględna.
Wszystkie narzędzia do PCMCIA zostaną zainstalowane względem tego
katalogu. Będziesz mógł następnie "zarchiwizować" ten katalog
poleceniem tar i skopiować go na maszynę docelową, a
następnie rozpakować względem jej katalogo głównego, aby
zainstalować wszystko we właściwym miejscu.
Jeśli "cross-kompilujesz" na innej maszynie, możesz podać
alternatywne nazwy kompilatora i linkera. Może to być także
pomocne na systemach z pomieszaną architekturą a.out i ELF. Skrypt
zapyta także o dodatkowe opcje śledzenia dla kompilatora.
Niektóre z narzędzi wspierających (cardctl i cardinfo)
mogą być skompilowane w formie "safe" (bezpiecznej) lub
"trusting" (ufającej). Forma bezpieczna nie pozwala
użytkownikom innym niż root na modyfikację konfiguracji karty.
Forma ufająca pozwala zwykłemu użytkownikowi na zawieszenie,
odwieszenie i reset karty oraz na zmianę bieżącej konfiguracji.
Skrypt konfiguracyjny zapyta cię czy chcesz skompilować narzędzia
jako "safe" czy "trusting"; wartością
domyślną jest "safe".
Jest kilka opcji konfiguracji jądra które mają wpływa na narzędzia
do PCMCIA. Skrypt konfiguracyjny może je wywnioskować z
działającego jądra (najpopularniejszy przypadek). Alternatywnie,
jeśli kompilujesz do instalacji na inną maszynę może przeczytać
konfigurację z drzewa źródeł jądra, albo każda opcja może być
podana interaktywnie.
Uruchomienie make all a potem make install stworzy i
następnie zainstaluje moduły do jądra i programy narzędziowe.
Moduły do jądra są instalowane w /lib/modules/<wersja>/pcmcia.
Programy cardmgr i cardctl są instalowane w /sbin.
Jeśli tworzony jest cardinfo, to instalowany jest on w
/usr/bin/X11.
Pliki konfiguracyjne zostaną zainstalowane w /etc/pcmcia.
Jeśli instalujesz na starej wersji, twoje stare pliki
konfiguracyjne zostaną zarchiwizowane przed skasowaniem ich.
Zachowanym skryptom zostaną nadane rozszerzenia w stylu
*.~1~, *.~2~.
Jeśli nie wiesz jakiego typu jest twój kontroler, to możesz użyć
narzędzia probe z podkatalogu cardmgr, aby go
wykryć. Są dwa główne typy: Databook TCIC-2 i kompatybilne z
Intel i82365SL.
Demon na poziomie użytkownika obsługuje włożenie i
wyjęcie karty. Nazywa się on cardmgr. Jest podobny w
funkcjonowaniu do wcześniejszej wersji pcmciad Barry'ego
Jaspana. Cardmgr czyta plik konfiguracyjny opisujący znane
karty PCMCIA z /etc/pcmcia/config. W pliku tym zawarte
jest jakie zasoby mogą być zaalokowane dla użycia przez urządzenia
PCMCIA, i mogą być zmodyfikowane dla twojego systemu. Zobacz
stronę w podręczniku systemowym "man" na temat pcmcia, aby
dowiedzieć się więcej na temat tego pliku.
2.3 Post-instalacja dla systemów używających skryptów inicjacyjnych a'la BSD.
Niektóre dystrybucje Linux-a, włączając Slackware, używają systemu
skryptów a'la BSD. Jeśli istnieje plik /etc/rc.d/rc.M, to
twój system zalicza się do tej grupy.
Skrypt rc.pcmcia, zainstalowany w /etc/rc.d
kontroluje startowanie i wyłączanie systemu PCMCIA.
make install użyje polecenia probe, aby wykryć typ
twojego kontrolera i odpowiednio zmodyfikować rc.pcmcia.
Powinieneś dodać do skryptu startowego /etc/rc.d/rc.M
linię, która wywołuje skrypt startowy PCMCIA, np. tak:
/etc/rc.d/rc.pcmcia start
Właściwie nie ma znaczenia, gdzie umieścisz ten plik, tak długo
jak sterowniki PCMCIA są startowane po syslogd.
2.4 Post-instalacja dla systemów używających skryptów inicjacyjnych a'la SYS V.
Red Hat, Caldera i Debian mają ten właśnie system. Jeśli masz
katalog /etc/init.d albo /etc/rc.d/init.d, to
twój system jest w tej grupie. Skrypt rc.pcmcia zostanie
zainstalowany jako /etc/rc.d/init.d/pcmcia, lub
/etc/init.d/pcmcia. Nie ma potrzeby edytowania żadnego
skryptu startowego, aby włączyć PCMCIA: zostanie to zrobione
automatycznie.
Jeśli istnieje katalog /etc/sysconfig, wtedy zostanie
utworzony oddzielny plik konfiguracyjny /etc/sysconfig/pcmcia
z opcjami startowymi. Jeśli musisz zmienić jakiekolwiek opcje
modułów (jak PCIC= czy PCIC_OPTS=) modyfikuj raczej ten
plik konfiguracyjny aniżeli właściwy skrypt startowy PCMCIA. Plik
ten nie zostanie skasowny przez kolejne instalacje.
Niektóre wcześniejsze wersje używały katalogu
/etc/sysconfig/pcmcia-scripts zamiast /etc/pcmcia
na tych platformach. Wersja bieżąca natomiast używa /etc/pcmcia
dla wszystkich systemów, a istniejący
/etc/sysconfig/pcmcia-scripts przeniesie do
/etc/pcmcia.
2.5 Opcje konfiguracji specyficzne dla danego systemu.
Pakiet Card Services powinien automatycznie zapobiegać alokacji
portów IO i przerwań, które są już używane przez inne urządzenia.
Spróbuje on także wykryć konflikty z nieznanymi urządzeniami, ale
nie jest to w pełni godne zaufania. W niektórych przypadkach,
muisz wyraźnie podać zasoby, które mają być niedostępne dla danego
urządzenia w pliku /etc/pcmcia/config.opts.
Oto niektóre ustawienia zasobów dla specyficznych typów laptopów.
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"
2.6 Problemy podczas ładowania modułów jądra.
Skrypt konfiguracyjny normalnie upewni się czy moduły PCMCIA są
kompatybilne z twoim jądrem. Tak więc, problemy podczas ładownia
modułów wskazuje z reguły na to, że użytkownik ingerował w jakiś
sposób w normalny proces instalacji. Niektóre z tych problemów są
wysyłane bezpośrednio na konsolę Linux-a. Inne błędy są zapisywane
w pliku "log-file", zwykle jest to /usr/adm/messages albo
/var/log/messages. W zależności od konfiguracji twojego
syslogd, niektóre komunikaty mogą być zapisane do innych plików,
które zwykle znajdują się także w /usr/adm czy
var/log. Aby wyśledzić problem, upewnij się, że
sprawdziłeś obie lokalizacje.
Niektóre moduły PCMCIA wymagają serwisów jądra, które mogą, ale
nie muszą być obecne, zależnie od konfiguracji jądra. Na przykład,
sterowniki kart SCSI wymagają skonfigurowanej obsługi SCSI w
jądrze, a sterowniki sieci wymagają skonfigurowania sieci w
jądrze. Jeśli w jądrze brakuje potrzebnego serwisu insmod
może twierdzić, że są niezdefiniowane symbole i nie załadować
modułu.
Jeśli insmod zwraca błąd "wrong version", oznacza to, że
moduł był skompilowany dla innej wersji jądra niż to, które akurat
działa. Może to się pojawić jeśli moduły skompilowane na jednej
maszynie są kopiowane na drugą z inną konfiguracją, albo jeśli
jądro jest rekonfigurowane po tym, jak pakiet PCMCIA został
zainstalowany.
Innym źródłem błędów podczas ładowana modułów może być to, że
moduły i jądra były skompilowane z różnymi ustawieniami
CONFIG_MODVERSIONS. Jeśli moduł z wkompilowanym sprawdzaniem
wersji jest ładowany do jądra bez sprawdzania wersji, insmod
zwróci błąd "undefined symbols".
Ostatecznie, względnie nowe wersje binutils są niekompatybilne ze
starszymi wersjami narzędzi do modułów, i mogą powodować, że są
zwracane takie właśnie błędy. Najczęstszym symptomem jest błąd o
niezdefiniowaniu gcc_compiled. Jeśli masz takie błędy,
odśwież narzędzia do modułów do najnowszej wersji, dostępnych z
ftp.icm.edu.pl.
2.7 Problemy z przerwaniem zmiany statusu karty.
W większośći wypadków sterownik do gniazd (i82365 albo
tcic) automatycznie wykryje i wybierze odpowiednie
przerwanie, aby sygnalizować zmiany statusu karty. Automatyczne
wyszukiwanie przerwania nie działa na niektórych kontrolerach
kompatybilnych z Intel-em, włączając Cirrus-a i niektóre IBM
ThinkPad. Jeśli urządzenie nie jest aktywne w czasie sprawdzania,
jego przerwanie może także pojawić się jako niedostępne. W takich
przypadkach sterownik gniazd może wybrać przerwanie które jest
używane przez inne urządzenie.
W sterownikach i82365 i tcic można używać opcji
irq_list aby ograniczyć ilość wyszukiwanych przerwań. Lista
ta ogranicza zbiór przerwań, które mogą być użyte przez karty
PCMCIA oraz do monitorowania zmian statusu karty. Opcja
cs_irq może być użyta, aby wyraźnie określić przerwanie,
którego należy użyć do monitorowania zmian statusu karty.
Jeśli nie możesz znaleźć numeru przerwania, które działa, jest
jeszcze tryb statusu "polled": oba - i82365 i tcic
zaakceptują opcję poll_interval=100, aby sprawdzać zmiany
statusu karty raz na sekundę. Opcja ta powinna być także używana
jeśli w twoim systemie brakuje dostępnych przerwań dla kart
PCMCIA. Szczególnie w systemach z więcej niż jednym kontrolerem
PCMCIA, nie ma zbytnio sensu w przeznaczaniu przerwań na
monitorowanie zmian statusu kart.
Wszystkie te opcje powinny być ustawiane w linii PCIC_OPTS= w
pliku /etc/rc.d/rc.pcmcia albo /etc/sysconfig/pcmcia
zależnie od twojego systemu.
2.8 Problemy z identyfikacją karty.
Domyślnie, sterowniki PCMCIA alokują okna pamięci w przestrzeni
0xC0000-0xFFFFF, po sprawdzeniu czy nie ma w niej jakichś
konfliktów z ROM-em czy innymi urządzeniami. To okno pamięci jest
podane w pliku /etc/pcmcia/config.opts. Sprawdzanie ma
miejsce przy pierwszej próbie skonfigurowania nowej karty.
Procedura sprawdzania nie jest idioto-odporna, więc możliwe jest
niezidentyfikowanie konfliktu. Jeśli obszar ten jest używany przez
inne urządzenia w twoim systemie, karty mogą nie zostać
zidentyfikowane poprawnie. Przy układach które to obsługują,
konflikt może też powstawać przy przesłanianiu tego obszaru
pamięci.
Klasycznym symptomem problemu z konfiguracją okna pamięci jest
zidentyfikowanie wszystkich kart jako karty pamięci. W
nadzwyczajnych przypadkach konflikt taki może powstać z jakimś
krytycznym serwisem systemowym, co może powodować zawieszenia czy
restarty. Jeśli podejrzewasz taki konflikt, sprawdź najpierw czy
wyłączone jest przesłanianie ROM-u w ustawieniach twojego sprzętu.
Znalezienie dobrego okna może wymagać trochę eksperymentów. Kilka
alternatywnych okien to: 0xD0000-0xDFFFF, 0xC9000-0xCFFFF i
0xD8000-0xDFFFF.
Jeśli masz sterowniki DOS-owe do PCMCIA, możesz zobaczyć jakich
obszarów pamięci one używają. Zauważ, że adresy pamięci w DOS-ie
są często podawane w formie segmentów, która to obcina ostatnią
cyfrę szesnastkową (tak, że adres bezwzględny 0xD0000 byłby podany
jako 0xD000. Upewnij się, że dodałeś tę jedną cyfrę kiedy
wpisywałeś wartość do pliku /etc/pcmcia/config.opts.
Jeśli problem z identyfikacją karty nie został rozwiązany
dopasowywaniem okien pamięci, to prawdopodobnie jest to problem z
"timing-ami"
2.9 Dlaczego nie dystrybujesz binariów do PCMCIA ?
Dla mnie, dystrybucja binariów jest bardzo niewygodna. Jest to
sprawa skomplikowana ponieważ niektóre zalety mogą być podane
dopiero w czasie kompilacji, oraz dlatego, że moduły PCMCIA są
zależne od "poprawnej" konfiguracji jądra. Więc musiałbym
przypuszczalnie dystrybułować prekompilowane moduły wraz z
odpowiednimi wersjami jąder. Idąc dalej, prekompilowane moduły są
najbardziej potrzebne kiedy instalujemy Linux-a od początku. To z
reguły wymaga ustawienia PCMCIA tak, żeby można jej było użyć w
procesie instalacji dla konkretnej dystrybucji Linux-a. Każda
dystrybucja Linux-a ma własną procedurę, i nie jest dla mnie
wykonalnym udostępniać dyskietki "boot" i "root" chcociażby tylko
dla tych najbardziej popularnych kombinacji sterowników i dystrybucji.
PCMCIA jest teraz częścią większości ważniejszych dystrybucji,
włączając Red Hat, Caldera, Slackware, Yggdrasil, Craftworks oraz
Nascent Technology.
2.10 Dlaczego ten pakiet jest taki wielki ?
No cóż, po pierwsze, to on wcale nie jest taki wielki. Wszystkie
moduły sterowników razem wzięte zajmują jakieś 200k. Programy
narzędziowe dodają jeszcze jakieś 70k, a rzeczy w /etc/pcmcia
zajmują jakieś 30k. Podczas działania, rdzeń modułów PCMCIA
zabiera około 48k pamięci systemowej. Demon cardmgr z reguły jest
wyswapowywany oprócz momentów kiedy karty są wsadzane lub
wyjmowane. Całkowita objętość pakietu nie wiele różni się od
implementacji Card Services pod DOS-a.
W porównaniu z DOS-owymi "włącznikami", może się to wydawać trochę
przesadzone, szczególnie dla ludzi, którzy nie planują używać tych
wszystkich zalet jakie posiada PCMCIA, jak np. zarządzanie
zasilaniem czy "gorące wymiany". "Włączniki" mogą być malutkie
ponieważ generalnie obsługują one ograniczoną ilość kontrolerów
PCMCIA. Jeśli ktoś miałby napisać autentycznie "ogólny" "włącznik"
do modemu, skońyczłoby się na tym, że pojawiłaby się tam większość
funkcji z Card Services, aby obsłużyć karty od różnych sprzedawców
oraz pełny zakres różnych wariantów kontrolerów PCMCIA.
Następna strona
Poprzednia strona
Spis treści
Wyszukiwarka
Podobne podstrony:
PCMCIA HOWTO pl 5 (2)PCMCIA HOWTO pl 1 (2)PCMCIA HOWTO pl (2)PCMCIA HOWTO plpcmcia howto pl 3PCMCIA HOWTO pl 4 (2)PCMCIA HOWTO pl (3)PCMCIA HOWTO pl 6 (2)bootdisk howto pl 8PPP HOWTO pl 6 (2)NIS HOWTO pl 1 (2)cdrom howto pl 1jtz howto pl 5Keystroke HOWTO pl (2)PostgreSQL HOWTO pl 14printing howto pl 5debian apt howto plKernel HOWTO pl 12 (2)XFree86 HOWTO pl (3)więcej podobnych podstron