Ultra DMA pl


Ultra-DMA mini HOWTO Autor: Brion Vibber, brion@pobox.com v3.0, 9 Listopada 1999 WWeerrssjjaa ppoollsskkaa:: BBaarrttoosszz MMaarruusszzeewwsskkiiBB..MMaarruusszzeewwsskkii@@jjttzz..oorrgg..ppll.. v1.0, 2 Marca 2001 Celem tego dokumentu jest wyjaśnienie sposobu użytkowania dysków UltraDMA/UltraATA/Ultra33/Ultra66 w Linuksie. Najnowsza wersja ory ginału znajduje się pod adresem http://pobox.com/~brion/linux/Ultra- DMA.html. Dokument ten napisany został w standardzie ISO-8859-2. ______________________________________________________________________ Spis treści 1. Wprowadzenie. 1.1 Zastrzeżenie 1.2 Wyrazy uznania 1.3 Prawa autorskie 2. Co to jest Ultra-DMA i dlaczego tego chcę? 2.1 IDE, EIDE, ATAPI 2.2 Bus Master DMA 2.3 Ultra-DMA/Ultra-ATA/Ultra33/... 2.4 Właściwie to jak ,,ultra'' to jest? 2.5 Jak się ma UDMA do SCSI? 3. Używanie dysku UDMA z interfejsem EIDE. 4. Używanie dysku UDMA z interfejsem UDMA 5. Interfejsy UDMA PCI nie zintegrowane z płytą główną 5.1 Promise Ultra33 5.2 Promise Ultra66 5.3 Artop ATP850UF 5.4 Dodawanie plików urządzeń. 6. Interfejsy UDMA na płycie głównej 6.1 Intel FX, HX, VX, TX, LX i BX 6.2 VIA VP2 i podobne chipsety 6.3 TX Pro i inne płyty główne ,,Pro'' 6.4 HPT 366 7. Zunifikowana łata IDE 8. Włączanie i wyłączanie UDMA 8.1 Parametry jądra podczas startu 8.2 Używanie hdparm 9. Problemy 9.1 ,,Czarna Lista'' UDMA 9.2 Czy masz przetaktowane PCI? 9.3 Czy BIOS na płycie głównej jest aktualny? 9.4 Jeśli nadal nie działa 9.5 Jeśli masz informacje na temat UDMA, których nie ma tutaj... 10. Od tłumacza. ______________________________________________________________________ 11.. WWpprroowwaaddzzeenniiee.. Celem tego dokumentu jest wyjaśnienie sposobu użytkowania dysków UltraDMA/UltraATA/Ultra33/Ultra66 w Linuksie. W wielu przypadkach nie ma trudności w użytkowaniu tych urządzeń, a drobne ,,poprawki'' mogą wpłynąć pozytywnie na lepsze działanie. Z kolei w innych przypadkach wymagane są dodatkowe działania tylko po to, żeby dostać się do dysku. 11..11.. ZZaassttrrzzeeżżeenniiee Informacje zawarte w tym dokumencie są, wg. mojej wiedzy, poprawne. Jednak mogą pojawić się literówki, jakieś tajemnicze błędy podczas transmisji jak również dziwne niekompatybilności w systemie, które będą powodowały niepoprawne działanie opisanych tutaj sposbów. Tak więc... przed rozpoczęciem grzebania w konfiguracji dysku NNAALLEEŻŻYY ZZRROOBBIIĆĆ KKOOPPIIĘĘ ZZAAPPAASSOOWWĄĄ DDAANNYYCCHH,, KKTTÓÓRRYYCCHH NNIIEE CCHHCCEEMMYY SSTTRRAACCIIĆĆ. Jeśli jeszcze nie robisz tego regularnie, to dla własnego dobra - zacznij. 11..22.. WWyyrraazzyy uuzznnaanniiaa Michel Aubry - łata do VIA do włączania UDMA dla jądra 2.0.33 i inne; zunifikowana łata UDMA dla 2.0.34+. Andrew Balsa - dostarczył ogólnych informacji na temat UDMA oraz łatę UDMA do Intel TX, SiS i VP1 dla jądra 2.0.33 oraz zunifikowaną łatę dla 2.0.34+. Maxime Baudin - tłumaczenie francuskie Bokonon - ``Controller'' vs. ``interface'' John G. - łata do VIA VP2 dla jądra 2.0.33 i różne informacje Martin Gaitan - obejście instalacji dla Ultra33 ide0/ide1 Andre M. Hedrick - aktualny opiekun systemu IDE w Linuksie Hvard Tautra Knutsen - tłumaczenie norweskie Norman Jacobowitz - nakłonił mnie do dodania informacji o VP3 John Levon - informacja o TX Pro Peter Monta - informacja o używaniu dwóch sterowników Ultra33 Masayoshi Nakano - tłumaczenie japońskie Gadi Oxman - łata do Ultra33 dla jądra 2.0.34 i znalazł tajemnicze numerki do zastosowania w obejściu Andy Pearce - zasugerował dodanie informacji o dodatkowych plikach urządzeń _h_d_e_, _h_d_h Andrei Pitis - łata dla LILO Brion Vibber - ten dokument 11..33.. PPrraawwaa aauuttoorrsskkiiee Dokument ten można kopiować i dystrybuować w celach informacyjnych bez ograniczeń. Nie wolno go modyfikować bez zgody autora z wyjątkiem zmiany wyglądu. Tumaczenie tego dokumentu jest dozwolone. Jednak zalecany jest kontakt z autorem, aby otrzymać najnowszą wersję. 22.. CCoo ttoo jjeesstt UUllttrraa--DDMMAA ii ddllaacczzeeggoo tteeggoo cchhccęę?? Oto krótki przegląd technologii opartych na IDE: 22..11.. IIDDEE,, EEIIDDEE,, AATTAAPPII Są to starsze technologie dyskowe. Większość interfejsów nie-SCSI i dyskowych, które można dzisiaj kupić, to EIDE chociaż wiele dużych dysków umie obsługiwać UDMA. [Od tłumacza: ponieważ dokument jest z XI.1999, więc warto dopowiedzieć, że w tej chwili II.2001 praktycznie wszystkie szanujące się firmy wypuszczają dyski z obsługą UDMA (najlepiej ATA100)]. 22..22.. BBuuss MMaasstteerr DDMMAA Bus master DMA to technologia zwiększająca prędkość transferu danych z/do dysku twardego, która wymaga obslugi przez płytę główną i BIOS i chociaż najmniejszej obsługi ze strony dysku. Więcej możesz się dowiedzieć pod adresem http://developer.intel.com/design/pcisets/busmastr/FAQs.htm. 22..33.. UUllttrraa--DDMMAA//UUllttrraa--AATTAA//UUllttrraa3333//...... Ultra-DMA ma wiele nazw - tutaj będziemy je nazywać UDMA. UDMA jest bardziej zaawwansowaną technologią, która umożliwia o wiele większe transfery (do 33,3 MB/s w UDMA 2 i 66,7 w UDMA 4) od dwóch do czterech razy szybciej niż EIDE i po znacznie niższej cenie niż SCSI. Wiele nowych komputerów dostarczanych jest z dużymi dyskami UDMA i interfejsami UDMA. Możliwe jest też dodanie interfejsów UDMA (jak np. Promise Ultra33/66) do komputera, aby zwiększyć transfery dysków bez obsługi UDMA. Dużo szczegółów na temat UDMA można się dowiedzieć ze strony http://www.quantum.com/src/whitepapers/ultraata/ Należy zauważyć, że długość taśmy łączącej urządzenie z kontrolerem UDMA musi być mniejsza od zwykłego DMA - najlepiej mniej niż 30 cm, maksymalnie 45 cm. Jeśli chcemy mieć 66 MB/s, to wymagana jest taśma 80-pinowa i na pewno nie dłuższa niż ww. Jeśli pojawia się dużo błędów CRC, to należy użyć krótszej taśmy. 22..44.. WWłłaaśścciiwwiiee ttoo jjaakk ,,,,uullttrraa'''' ttoo jjeesstt?? Zanim zaczniemy, pozwolę sobie wyjaśnić drobne nieporozumienie. Te transfery 33 MB/s i 66 MB/s to transfery maksymalne (bbuurrsstt ttrraannssffeerr rraattee) i nie doświadcza się ich zbyt często. Oto mały wyciąg z ,,generic UDMA.txt'': Transfery chwilowe/maksymalne (burst) powinny osiągać wartości od 16,6 MB/s (dla PIO 4 i DMA 2) do 33 MB/s dla UDMA. W swojej łacie do jądra 2.1.55 Kim-Hoe Pang wyliczył te transfery z zależności 60 ns/słowo co daje 33 MB/s. Jednak transfery takie dotyczą tylko danych przesyłanych z/do cache'u (476 kB dla dysku IBM 6,4 GB) i nie są zbyt odpowiednie dla większości użytkowników Linuksa. Jądro Linuksa używa tyle RAMu ile się tylko da, aby cache'ować dane z dysku. Tak więc jeśli czegoś nie ma w tej podręcznej pamięci jądra, to jest bardzo małe prawdopodobieństwo, że będzie w o wiele mniejszym cache'u dysku. O wiele bardziej odpowiedni będzie ssuussttaaiinneedd ttrraannssffeerr rraattee, czyli prędkość z jaką dane są transportowane z dysku do głównej pamięci, gdzię mogą być użyte. Prostym sposobem na zmierzenie tego transferu jest użycie polecenia hdparm - np hdparm -Tt /dev/hda, aby zmierzyć transfer pierwszego dysku IDE. Oto trochę danych zebranych po intesnywnym testowaniu hdparmem: [od tłumacza: W tej chwili (II.2001) te transfery wyglądają znacznie lepiej] PIO tryb 4: +/- 5,2 MB/s DMA tryb 2: +/- 7,2 MB/s UDMA tryb2: +/- 9,8 MB/s Jak widać, UDMA jest prawie dwa razy szybsze od EIDE i znacząco szybsze niż zwykłe ,,bus mastering DMA''. Większość obecnych dysków UDMA potrafi osiągnąć tranfery między 10 a 15 MB/s w UDMA 2 (33 MB/s) i UDMA 4 (66 MB/s). 22..55.. JJaakk ssiięę mmaa UUDDMMAA ddoo SSCCSSII?? Nie mam żadnych konkretnych liczb, abym mógł je podać, ale ogólnie dyski SCSI są szybsze od UDMA. Jednak jeśli spojrzeć na cenę, to można zauważyć, że dyski UDMA są o wiele tańsze. Stosunek wydajność/cena jest znacznie lepszy dla UDMA. 33.. UUżżyywwaanniiee ddyysskkuu UUDDMMAA zz iinntteerrffeejjsseemm EEIIDDEE.. To jest akurat łatwe do zrobienia. Ponieważ wszystkie dyski UDMA są kompatybilne z EIDE, należy po prostu podpiąć dysk UDMA do interfejsu EIDE i Linux nie powinien mieć najmniejszych problemów z wykryciem go. Należy pamiętać, że transfery będą takie jak na zwykłym EIDE. 44.. UUżżyywwaanniiee ddyysskkuu UUDDMMAA zz iinntteerrffeejjsseemm UUDDMMAA Mam dwie wiadomości: dobrą i złą. Dobra, to ta, że interfejs UDMA można używać zarówno dla dysków UDMA i ,,legacy EIDE''. Będzie o wiele szybciej niż w interfejsie EIDE. Zła wiadomość to ta, że stare jądra (2.0.x) nie obsługują UDMA zbyt dobrze. Nowsze jądra 2.2.x obsługują UDMA33, a do tych, które nie obsługują, są dostępne łaty. Dodatkowo należy zaznaczyć, że niektóre interfejsy UDMA, które są dodawanymi kartami a nie są wbudowane w płytę główną, wymagają jakiejś łaty lub kilku sztuczek, żeby używać ich ze starym jądrem. Oto po co w ogóle ten dokument istnieje - aby wyjaśnić jak zdobyć łaty i jakie to są sztuczki. 55.. IInntteerrffeejjssyy UUDDMMAA PPCCII nniiee zziinntteeggrroowwaannee zz ppłłyyttąą ggłłóówwnnąą Istnieją interfejsy UDMA jako karty PCI, przy pomocy których można dodać obsługę UDMA bez wymiany płyty głównej lub dodać kolejny kontroler jeśli istniejące zostały już zapełnione. Są one także czasami instalowane w nowych komputerach: Gateway 2000 i Dell. Większość z nich nie jest obsługiwana przez stare jądra serii 2.0.x, ale wiele powinno być obsługiwanych przez jądra 2.2.x. Jednak niektóre z najnowszych takich kart (np. Promise Ultra66) nie są obsługiwane nawet przez najnowsze jądra [od tłumacza: teraz (II.2001) jednak chyba już większość jest obsługiwana]. Jeśli posiadasz taką kartę, to musisz zainstalować łatę na jądro albo znaleźć nowsze z obsługą twojej karty. Jeśli musisz zainstalować Linuksa na dysku na takim interfejsie, to trzeba będzie trochę pokombinować. 55..11.. PPrroommiissee UUllttrraa3333 Jest to karta PCI z dwoma kanałami UDMA, obsługująca do 4 dysków. Specyfikacje i ceny można znaleźć pod adresem http://www.promise.com. Karta ta jest we wczesnych modelach Gateway 2000 Pentium II. Jądra 2.0.35 i nowsze oraz wszystkie 2.2.x obsługują Ultra33 i nie powinno być problemów z zainstalowaniem dystrybucji opartej na tych jądrach. Starsze jądra nie obsługują tego standardu i z instalacją Linuksa starszej wersji możgą być kłopoty jeśli nie można lub nie chce się przejść na nowsze jądro. IInnssttaallaaccjjaa LLiinnuukkssaa zz oobbssłłuuggąą UUllttrraa3333 Pomimo iż jest łata do interfejsu Ultra 33, to zainstalowanie jej i kompilacja jądra nie jest prostą sprawą jeśli nigdy nie instalowałeś Linuksa. Jest więc pewne obejście, które pozwala zainstalować system na takim interfejsie. Podziękowania dla Gadi Oxmana za poniższe informacje na temat ustawień interfejsu: Jeśli jest dostęp do konsoli z dysku instalacyjnego, to można wyświetlić ustawienia karty Promise poleceniem "cat /proc/pci": RAID bus interface: Promise Technology Unknown device (rev 1). Vendor id=105a. Device id=4d33. Medium devsel. IRQ 12. Master Capable. Latency=32. I/O at 0xe000. (a) I/O at 0xd804. (b) I/O at 0xd400. (c) I/O at 0xd004. (d) I/O at 0xc800. (e) i przekazać do jądra parametry "ide2=a,b+2 ide3=c,d+2". Uwaga: Liczby podane tutaj będą się różnić od Twoich. Przykładowymi parametrami w tym przypadku będą: ``ide2=0xe000,0xd806 ide3=0xd400,0xd006''. Jeśli używany jest tylko pierwszy kanał Ultra33 (np. jeśli jest tylko jeden dysk czy dwa jeśli są to master i slave na jednym kanale) wtedy nie trzeba podawać ide3. RReedd HHaatt 55..11::Należy wystartować z dyskietki startowej i wcisnąć ENTER po pojawieniu się zachęty. Jądro wystartuje i pojawi się zapytanie o język, klawiaturę i metodę instalacji. Źródło instalacji nie ma znaczenia, ważny jest kolejny krok: powinno się pojawić okienko zatytułowane ``Select Installation Path'', wciskamy Alt-F2, aby przejść do linii poleceń. Wpisujemy ``cat /proc/pci'', zapisujemy liczby, które się pojawią i startujemy ponownie z dyskietki startowej. Tym razem, gdy pojawi się zachęta wpisujemy ``linux ide2= _(_t_u_t_a_j _t_e _n_u_m_e_r_k_i _s_p_i_s_a_n_e _w_c_z_e_ś_n_i_e_j _j_a_k _n_a _p_r_z_y_k_ł_a_d_z_i_e _w_y_ż_e_j_) ide3=_(_i _k_o_l_e_j_n_e _n_u_m_e_r_k_i_)''. Teraz instalacja na dysk twardy powinna odbyć się już bez problemów, chociaż LILO będzie pewnie miało problemy z zainstalowaniem się. Zamiast instalować LILO trzeba zrobić dyskietkę startową i startować z niej z parametrami jw. dopóki nie będzie można załatać jądra i LILO. RReedd HHaatt 55..00 i SSllaacckkwwaarree 33..44:Tutaj sytuacja jest podobna, z małym wyjątkiem: programy instalacyjne ignorują /dev/hde-h (dyski na ide2 i ide3). Aby zainstalować Linuksa na lub z takiego dysku trzeba nadpisać jeden lub oba kanały z płyty głównej. Jednak uwaga na nadpisanie kanału, z którego odbywać się będzie instalacja. Np. jeśli instalacja odbędzie się z CD-ROMu na /dev/hdd (ide1 - kontroler na płycie głównej) na dysk /dev/hde (ide2 - Ultra33), trzeba nadpisać ide0 przez ide2 a zostawić ide1. Przy starcie z dyskietki ratunkowej pojawi się zachęta w RH 5.0 natomiast Slackware udostępnia powłokę w trybie instalacyjnym. Jednak RH 5.0 stwarza problemy z wystartowaniem po instalacji. Jeśli takie problemy pojawią się można sciągnąć dyskietkę startową Slackware'a z ftp://ftp.icm.edu.pl/pub/linux/slackware/slackware- current/bootdsks.144/ i użyć tej dyskietki. W wypadku innych dystrybucji trzeba trochę poimprowizować, ale proces powinien być podobny. _W_A_Ż_N_E_: Bez łaty (omawianej w punkcie ``Zunifikowane IDE'') jjąąddrroo ppoottrrzzeebbuujjee parametrów startowych, aby dostać się do dysku! Z tego powodu bardzo ważnym jest podczas konfiguracji LILO (na dysku lub dyskietce), aby podać ddookkłłaaddnniiee ttee ssaammee ppaarraammeettrryy jak podczas instalacji. W przeciwnym wypadku system nie wystartuje! Można te parametry przekazać podczas startu systemu (tak samo jak podczas instalacji) w zachęcie LILO wciskając SHIFT i wpisując ``linux ide2=_._._._._.'' za każdym razem. Polecam jednak czym prędzej załatać jądro i zapomnieć o wpisywaniu tych parametrów. Z tego co się orientuję, to nie ma sposobu przekazania parametrów do jądra startującego z dyskietki, TTRRZZEEBBAA używać LILO lub innego programu ładującego system, który pozwala na przekazywanie parametrów. Niełatane jądra i programy instalacyjne często mają problemy z używaniem ide2 czy ide3 nawet jeśli napędy zostały poprawnie wykryte. Jeśli nie można użyć tych interfejsów przy pomocy powyższej techniki, to można spróbować podać ide0 lub ide1 zamiast ide2 czy ide3 (podziękowania dla Martina Gaitana). To podmienia interfejsy na płycie głównej na Promise Ultra33 i można kierować się wskazówkami z następnego punktu tak jak po fizycznej zamianie tych interfejsów. Jeśli do instalacji użyty zostanie CD-ROM, to należy uważać, żeby nie podmienić interfejsu, do którego jest on podpięty, bo instalacja będzie nie możliwa! Jeśli jest to hda lub hdb, to dysk należy podpiąć do ide1 w przeciwnym razie (hdc, hdd) - do ide0. IInnssttaallaaccjjaa LLiinnuukkssaa oommiijjaajjąąccaa UUllttrraa3333 Jeśli nie można zastosować takiego obejścia jw., to trzeba spróbować czegoś innego. Oto alternatywna metoda, która gwarantuje działanie, ale wymaga otwarcia komputera i pogrzebania w nim. UUWWAAGGAA:: Jeśli nie bardzo wiesz jak podłączać i odłączać dyski, to radzę zapoznać się z podręcznikiem, który otrzymałeś z dyskiem czy sterownikiem! Jeśli coś pochrzanisz i nie będziesz wiedział jak to złożyć spowrotem, to będziesz żałować! Skoro już to napisałem, to reszta jest już prosta. Większość płyt głównych z czasów obecnych ma wbudowane interfejsy EIDE. Należy odłączyć dysk od Ultra33 i podłączyć go do EIDE. Jeśli są jakieś inne urządzenia IDE, to należy albo podłączyć dysk na nie używanym kanale, albo chwilo odłączyć urządzenie, które nie jest teraz potrzebne. Potem: zainstaluj Linuksa, ściągnąć łatę, zainstalować ją na jądro (następny punkt). Teraz można już przełączyć dysk spowrotem do interfejsu Promise... no prawie. Na wszelki wypadek należy zrobić dyskietkę startową (cd /usr/src/linux ; make zdisk), którą będzie można użyć do startu systemu jeśli LILO nie będzie działać. A żeby być jeszcze bardziej pewnym można zrobić dwie i jedną odłożyć na bok. Dobra, to teraz czas trochę pomyśleć. Jeśli na interfejsie Promise jest tylko jeden dysk, to będzie to /dev/hde (a i b to pierwszy kontroler IDE, c i d - drugi). Ewentualne dodatkowo umieszczane tam napędy będą przyjmować kolejne litery od e tak jak dyski IDE. Teraz trzeba zmodyfikować plik /etc/fstab i podmienić wpisy hda, hdb, ... na odpowiednie hde, hdf, .... Jeśli zmieniona została lokalizacja (z master na slave) jakiegoś innego urządzenia (CD-ROM, ZIP) lub jakieś wyjęte, które mają zostać w komputerze, to także trzeba je dopisać do tego pliku. W przypadku użycia LILO, trzeba także skonfigurować i je, aby używało nowych plików urządzeń (omawianie konfiguracji LILO jest poza zakresem tego dokumentu. Aby dowiedzieć się jak to się robi zajrzyj do LILO mini-HOWTO. W przeciwnym wypadku trzeba będzie użyć dyskietki, która została zrobinoa wcześniej, którą i tak trzeba teraz skonfigurować, aby widziała dysk na hde. Robi się to poleceniem rdev. Wkładamy dyskietkę do stacji i wpisujemy ``rdev /dev/fd0 /dev/hde1''. Oczywiście zakładam tutaj, że Twoja główna partycja jest pierwszą na dysku pierwszym. Jeśli nie, to użyj poprawnego numeru partycji! Reboot. Teraz system powinien działać poprawnie. IInnssttaalloowwaanniiee łłaattyy ddoo UUllttrraa3333 Jądra w wersji 2.0.35 i nowsze mają wbudowaną obsługę Promise Ultra33. Trzeba tylko ściągnąć takie jądro z ftp.icm.edu.pl i je skompilować. Instrukcji jak to zrobić należy szukać w Kernel HOWTO. UUżżyywwaanniiee ddwwóócchh kkaarrtt UUllttrraa3333 ww jjeeddnnyymm kkoommppuutteerrzzee W tej chwili nie działa... Nie radzę próbować o ile oczywiście nie masz ochoty na kompilacje jądra i kombinowanie z różnymi konfiguracjami. 55..22.. PPrroommiissee UUllttrraa6666 Jest to mnie więcej to samo urządzenie co Ultra33, tyle że obsługuje UDMA 4 66 MB/s. Niestety nie ma jeszcze obsługi w jądrach 2.2.x Obsługa jest zawarta w dostępnej łacie dla jąder 2.0.x i 2.2.x pod adresem ftp.icm.edu.pl oraz w jądrach rozwojowych 2.3.x od 2.3.3 w górę. Jednak zanim będzie można załatać jadro lub uaktualnić je, to trzeba zastosować te same sztuczki co dla Promise Ultra33. Albo można użyć dystkietki startowej udostępnionej przez Promise . 55..33.. AArrttoopp AATTPP885500UUFF Ta karta jest obsługiwana przez zunifikowany kod IDE. Instalacja Linuksa na niej może być podobna do instalacji na Promise Ultra33. 55..44.. DDooddaawwaanniiee pplliikkóóww uurrzząąddzzeeńń.. Trzeci i czwarty interfejs IDE (ide2 i ide3) używają plików urządzeń /dev/hde* do /dev/hdh*. W przypadku starszych jąder pliki te nie były tworzone automamtycznie i trzeba je dodać ręcznie, aby dysk działał. W źródłach któregoś z nowszych jąder, znajduje się skrypt /usr/src/linux/scripts/MAKEDEV.ide, który wystarczy uruchomić. 66.. IInntteerrffeejjssyy UUDDMMAA nnaa ppłłyycciiee ggłłóówwnneejj Używają one standardowych portów I/O IDE i są w pełni kompatybilne z wolniejszymi transferami na niełatanym jądrze 2.0.x. Przez to nie powinny sprawiać żadnych problemów podczas instalacji a instalacja łaty to tylko polepszenie szybkości a nie wymagany krok. Trochę obsługi UDMA jest w najnowszych jądrach 2.0.x a obsługa chipsetów Intela znajduje się w jądrach 2.2.x. 66..11.. IInntteell FFXX,, HHXX,, VVXX,, TTXX,, LLXX ii BBXX Jeszcze raz dziękuje Gadiemu za tę informację: Obsługa , można je ściągnąć z najbliższej kopii serwera ftp.kernel.org . UDMA jest obsługiwane w poniższych chipsetach i prawdopodobnie w wielu innych, których nie znam: Wszystkie chipsety Intela: FX, HX, VX, TX, LX Wszystkie chipsety SiS (przetestowany tylko SiS5598, ale cała rodzina tych chipsetów ma ten sam wbudowany interfejs 5513) Chipsety VIA (przetestowany tylko 82C586B, ale tak jak wyżej cała rodzina chipsetów ma ten sam interfejs). W interfejsach na VIA obsługiwana jest specjalna diagnostyka Promise i Artop PCI UDMA. Aladdin V (ALi15x3) HPT343 i HPT366 (zobacz ``Abit BP-6'') Kod jest napisany tak, aby było go łatwo rozszerzyć o obsługę kolejnego chipsetu. Oto kilka uwag od Andre Balsa'y, autora wcześniejszej łaty: Na dobrej płycie głównej z dyskiem IBM UDMA można osiągnąć prawie maksymalny transfer: 10 Mb/s (zmierzone 'hdparm -t -T'). Chipset Intela TX ma pojedynczą kolejkę FIFO dla dysków i jest ona dzielona przez dwa interfejsy IDE, tak więc używanie dwóch dysków UDMA spowolni ich działanie. Jednak, SiS5598 ma dwa oddzielne interfejsy, każdy z własną kolejką FIFO. Teoretycznie można się zbliżyć do 66 Mb/s na płytach głównych z chipem SiS5598 używając software'owego RAID0. SiS5571 ma chyba tę samą strukturę interfejsu. Nie mam żadnych danych na temat VIA, więc nie mogę nic na ten temat powiedzieć. Sterownik IDE (U)DMA napisany przez Marka Lorda ma szczególnie krótki czas konfiguracji (a stąd opóżnienia w transferach). Jest on idealny do częstych transferów małych paczek danych (takich jak serwery news) i może być lepszy od technologii SCSI. 88.. WWłłąącczzaanniiee ii wwyyłłąącczzaanniiee UUDDMMAA Jądro z wkompilowaną obsługą UDMA włączy je automatycznie jeśli wykryje napęd UDMA. W większości przypadków, kiedy obsługa taka się nie włączy to albo jądro nie umie obsłużyć chipsetu (zdobądź łatę, ``patrz wyżej'') albo włączenie obsługi nie jest uważane za bezpieczne. Jednak czasami napęd umie obsługiwać UDMA, ale BIOS tego nie podaje. W takich przypadkach należy włączyć obsługę ręcznie. 88..11.. PPaarraammeettrryy jjąąddrraa ppooddcczzaass ssttaarrttuu W jądrach 2.1.113+ można włączyć obsługę DMA dla obu napędów na podanym interfejsie IDE przy pomocy parametru jądra ideX=dma, gdzie X jest numerem interfejsu (pierwszy to '0'). Jednak podanie tego parametru wcale nie musi uaktywnić UDMA. Parametry do jądra można przekazać przez LILO, LOADLINa czy większości popularnych programów ładujących system. Więcej informacji można znaleźć w Bootdisk HOWTO. 88..22.. UUżżyywwaanniiee hhddppaarrmm Jest to program służący do ustawiania różnych parametrów dysku twardego. Jedną z możliwości jest włączenie obsługi UDMA i pomiar szybkości stałego przesyłu danych. Bieżąca wersja hdparmu to 3.6 (w czasie pisania) [Od tłumacza: w tej chwili jest wersja 3.9]]. Starsze, niełatane wersje nie będą poprawnie raportowały ani ustawiały parametrów związanych z UDMA, tak więc należy zdobyć aktualną wersję. Źródło znajduje się pod adresem ftp.icm.edu.pl . Program po ściągnięciu należy skompilować mniej więcej tak: tar zxvf /tmp/download/hdparm-3.6.tar.gz cd hdparm-3.5 make su root (podaj hasło) make install cp /usr/local/sbin/hdparm /sbin/hdparm exit AAbbyy wwłłąącczzyyćć DDMMAA:: hdparm -d1 /dev/hda AAbbyy wwyyłłąącczzyyćć DDMMAA:: hdparm -d0 /dev/hda AAbbyy zzmmiieerrzzyyćć sszzyybbkkoośśćć ddyysskkuu:: hdparm -Tt /dev/hda AAbbyy zzoobbaacczzyyćć jjaakkiiee ssąą uussttaawwiieenniiaa ddyysskkuu:: hdparm /dev/hda AAbbyy zzoobbaacczzyyćć wwiięęcceejj ddaannyycchh ddoott.. ddyysskkuu nniiżż kkiieeddyykkoollwwiieekk cchhcciiaałłeeśś:: (np. które tryby UDMA są włączone) hdparm -i /dev/hda Więcej informacji (np. jakich trybów UDMA użyć) można znaleźć w stronie podręcznika systemowego (``man 8 hdparm''). 99.. PPrroobblleemmyy 99..11.. ,,,,CCzzaarrnnaa LLiissttaa'''' UUDDMMAA Napędy wymienione poniżej znajdują się na liście nie działających. NNiiee wwoollnnoo ich używać w trybie UDMA ponieważ może to spowodować utratę danych. Aby tego uniknąć sterownik powinien automatycznie wyłączyć obsługę DMA dla tych napędów. Western Digital WDC AC11000H, AC22100H, AC32500H, AC33100H, AC31600H - wszystkie wersje Western Digital WDC AC32100H revision 24.09P07 Western Digital WDC AC23200L revision 21.10N21 99..22.. CCzzyy mmaasszz pprrzzeettaakkttoowwaannee PPCCII?? Jeśli tak, to ostrożnie! Oto cytat z poprzedniej dokumentacji do UDMA: Nie wolno przetaktowywać szyny PCI. 37,5 MHz, to maksymalna częstotliwość. Niektóre (prawdopodobnie obsługiwane) napędy UDMA nie zadziałają nawet przy częstotliwości 37,5 MHz, ale 33 MHz powinno działać. W każdym bądź razie NIGDY _NIGDY_ ! nie wolno ustawiać szyny PCI na 41,5 MHz. ZALECANYM bezpiecznym ustawieniem jest 33 MHz. 99..33.. CCzzyy BBIIOOSS nnaa ppłłyycciiee ggłłóówwnneejj jjeesstt aakkttuuaallnnyy?? Oto kolejny cytat z dokumentacji do UDMA: Tak naprawdę BIOS każdej płyty głównej przestawia napędy dyskowe na tryb UDMA. Oczywiście trzeba mieć nadzieję, że taki BIOS został zaprogramowany poprawnie... Np. płyta główna ASUS SP-97V z oryginalnym BIOSem (rev. 1.03) będzie działać niepoprawnie w trybach DMA 2 i UDMA ze zmodyfikowanym sterownikiem linuksowym. Będzie natomiast działać poprawnie w trybie PIO 4 oraz w Windows 95 we wszystkich trybach. Ściągnąłem najnowszy BIOS (rev. 1.06) ze strony ASUSa i uaktualniłem na swojej płycie. Od tego momentu działa idealnie (przy częstotliwości szyny 66 MHz). Mówi nam to o fakcie, że BIOS ustawia w kontrolerze DMA pewne specyficzne parametry (active pulse i recovery clock cycles) [od tłumacza: jak mi ktoś zaproponuje kiedyś tłumaczenie, to przetłumaczę, bo ja nie mam pojęcia o czym mowa...] Moja poprzednia wersja BIOSu prawdopodobnie miała te ustawienia niepoprawne. Ponieważ sterownik Windows 95 ustawia te wartości samemu (nie zależnie od BIOSu) miałem problemy tylko ze sterownikiem Linuksa a pod Windows 95 wszystko działało poprawnie. Tak więc jeszcze raz: sterownik UDMA w Linuksie polega na ustawieniach BIOSu. Jeśli pojawiają się problemy należy sprawdzić czy mamy najnowszą wersję BIOSu dla naszej płyty głównej. 99..44.. JJeeśśllii nnaaddaall nniiee ddzziiaałłaa Jeśli żadna ze wskazówek nie okazała się pomocna na tyle, żeby rozwiązać problemy z UDMA, najlepszym wyjście jest napisanie na grupę _p_l_._c_o_m_p_._o_s_._l_i_n_u_x_._s_p_r_z_e_t. W wiadomości należy zawrzeć dokładny opis problemu: typ posiadanego interfejsu UDMA, czy jest na płycie głównej czy na karcie rozszerzeń, czy napęd jest w UDMA czy w zwykłym EIDE, dokładna konfiguracja napędów, wersja dystrybucji i jądra oraz wszystko inne co wydaje się być pomocne. Najprawdopodobniej znajdzie się tam ktoś pomocny. 99..55.. JJeeśśllii mmaasszz iinnffoorrmmaaccjjee nnaa tteemmaatt UUDDMMAA,, kkttóórryycchh nniiee mmaa ttuuttaajj...... Wspaniale! Jeśli wiesz coś czego ja nie wiem, prześlij do mnie informację na ten temat (brion@pobox.com) i ukaże się ona w kolejnej wersji. 1100.. OOdd ttłłuummaacczzaa.. Tłumaczenie to jest chronione prawami autorskimi Bartosza Maruszewskiego. Dozwolone jest rozprowadzanie i dystrybucja na prawach takich samych jak dokument oryginalny. Zmiany w tym dokumencie: W punkcie o ``IDE, EIDE i ATAPI'' dopisałem informację o dyskach UDMA w tej chwili dostępnych na rynku. W punkcie ``o ,,ultra'''' dopisałem informację o transferach Jeśli znalazłeś jakieś rażące błędy ortograficzne, gramatyczne, składniowe, techniczne to pisz do mnie: B.Maruszewski@jtz.org.pl Napewno znajdziesz tu jakieś niejasne i niepolskie konstrukcje. Jeśli wpadniesz na lepszy pomysł daj mi znać. 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 /pub/Linux/JTZ/. Przetłumaczone przeze mnie dokumenty znajdują się także na mojej stronie WWW. Są tam też odwołania do Polskiej Strony Tłumaczeniowej. Kontakt z naszą grupą, grupą tłumaczy możesz uzyskać poprzez listę dyskusyjną jtz@ippt.gov.pl. Jeśli chcesz sie na nią zapisać, to wyślij list o treści subscribe jtz Imię Nazwisko na adres majordomo@ippt.gov.pl

Wyszukiwarka