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.