ftape-HOWTO - streamery w Linuxie - jak to zrobić Autor : Kevin Johnson, v2.0, 15 Marca 1997 _W_e_r_s_j_a _p_o_l_s_k_a _: _J_a_k_u_b _C_h_m_i_e_l_e_w_s_k_i _y_a_c_o_o_b_@_m_a_n_a_g_e_r_._a_e_._w_r_o_c_._p_l _v_0_._9_9_._1_, _6 _l_i_p_c_a _1_9_9_7 _r_o_k_u_. Dokument ten zawiera najważniejsze przykazania dotyczące sterownika ftape. Sterownik ten obsługuje napędy zgodne z QIC-40, QIC-80, QIC-3010 i QIC-3020. Standardy QIC-3010 i QIC-3020 znane są też jako Niniejszy tekst nniiee ddoottyycczzyy urządzeń SCSI ani streamerów zgodnych z QIC-02. Napędy DAT zazwyczaj (zawsze?) komunikują się z komputerem przez sterownik SCSI. Tekst ten jest jednym z wielu dokumentów HOWTO. Listę tych prac można znaleźć tutaj a same dokumenty można ściągnąć przez ftp z ftp.icm.edu.pl, ftp.pwr.wroc.pl (to są polskie mirrory) lub z sunsite.unc.edu:pub/Linux/doc/HOWTO. Można też je oglądać na WWW - każdy mirror LDP ______________________________________________________________________ Table of Contents: 1. Legalności 2. Historia uaktualnień 3. Wstęp 3.1. Co to jest 4. Instalacja 4.1. Gdzie można znaleźć 4.2. Instalacja sterownika 4.3. Śledzenie rozwoju 4.4. Współpraca 5. Taśmy i streamer w użyciu 5.1. Formatowanie 5.1.1. Czy można formatować taśmy pod Linuxem? 5.1.2. Jakich programów używać do formatowania taśm (dla DOS'u)? 5.2. Retenstioning 5.3. Czyszczenie napędu 5.4. Napędy współpracujące z 5.5. kontrolery współpracujące z 5.5.1. Iomega Ditto Dash i inne kontrolery 2Mbps 5.6. Napędy 5.7. Współpraca zewnętrznego streamera z 5.8. Płyty główne PCI i 6. Archiwizowanie i odtwarzanie danych 6.1. Archiwizowanie 6.2. Odtwarzanie danych 6.3. Weryfikacja archiwum 6.4. Zapisywanie kilku(nastu) archiwów na jednej taśmie 6.5. Dołączanie nowych plików do archiwum 6.6. Montowanie/demontowanie 7. Tworzenie dyskietki systemowej (startowej) dla 8. Często zadawane pytania (FAQ) 8.1. Czy 8.2. Jak szybki jest 8.3. Jak zmienia się ,,trace-level''? 8.3.1. Sposób 1. 8.3.2. Sposób 2. Zmiana ,,trace-level'' przy pomocy 8.3.3. Sposób 3. Rekompilacja sterownika 8.4. Czy mogę wymieniać taśmy z kimś, kto używa MS-DOS? 8.5. Jak to zrobić ... z 8.6. Transfer danych przez DMA powoduje pojawianie się błędów ECC 8.7. (TT 8.8. Co to są te ,,versioned symbols''? 8.9. (TT 8.10. (TT 8.11. Gdzie mogę znaleźć binaria/kody źródłowe/strony podręcznika programów 8.12. Gdzie można znaleźć informacje na temat standardu QIC? 8.13. Jaką wielkość bloku powinienem stosować używając 8.14. (TT 8.15. Syslogd przesadza z ilością komunikatów 8.16. ,,Polerowanie'' 8.17. Próbując skompilować 8.18. Co robi ' 8.19. Help! W pliku syslogu system raczy mnie komunikatem 8.20. Czy wszysko jest w porządku, gdy wykonując komendę 9. Odpluskwianie sterownika 9.1. Jądro/ 9.2. No dobra, to błąd - jak go zgłośić? 10. Podziękowania 11. Od tłumacza 11.1. Obsługa napędów podłączanych do portu równoległego 11.2. Słowo o Ftape-HOWTO-pl 11.2.1. Zmiany 11.2.2. Adres 11.2.3. ,,Feedback'' czyli wszelkie ______________________________________________________________________ 11.. LLeeggaallnnoośśccii Niniejszy dokument (ftape-HOWTO) może być reprodukowany i rozprowadzany w całości pod następującymi warunkami: Copyright (c) 1993-1996 by Kai Harrekilde-Petersen Email: khp@dolphinics.no Copyright (c) 1996-1997 by Kevin Johnson Email: kjj@pobox.com Tłumaczenie na język polski: Copyright (c) 1997 by Jakub Chmielewski Email: yacoob@manager.ae.wroc.pl Linux ftape-HOWTO jest darmowy; możesz go kopiować, modyfikować zachowując jednak postanowienia wesji drugiej (i następnych) Licencji GNU General Public Licence opublikowanej przez Free Software Foundation. Dokument ten został napisany aby pomóc/usprawnić pracę użytkowników systemu Linux, jednak autor NIE DAJE ŻADNYCH GWARANCJI. Więcej szczegółów znajdziesz w GNU General Public Licence. Autor zachęca do kopiowania i dytrybucji niniejszego dokumentu w celach prywatnych jak i komercyjnych, pod warunkiem, że pozostają one w zgodzie z zaleceniami GNU General Public Licence. Oznacza to, że można go kopiować jednak bez żadnych opłat (z wyjątkiem tych pokrywających koszty reprodukcji) - czyli bez zysku. Autor (no i tłumacz) wyraża niniejszym zgodę na reprodukowanie swojej pracy w jakiejkolwiek postaci - fizycznej bądź elektronicznej. Uwaga! Prace oparte na Linux ftape-HOWTO (w szczególności tłumaczenia) muszą być dostępne zgodnie z GNU General Public Licence i oryginalny copyright musi zostać nienaruszony. Jeśli dodałeś nowe informacje do tego dokumentu, musisz utworzyć jego tekst źródłowy (tzn w formacie SGML) aby móc go uaktualniać. Prześlij, proszę swoje uaktualnienia do autora: kjj@pobox.com. Pozwoli to na dołączenie twoich informacji do oryginału i pozwoli wszystkim się z nimi zapoznać. Autor zachęca do załączania niniejszego dokumentu do dokumentacji twoich programów. Zgodnie z wcześniejszym zezwoleniem możesz ten tekst drukować lub w innej formie przekazywać osobom trzecim (oczywiście zachowując copyright). Możesz także, jeśli uznasz to za stosowne dołączyć odpowiedni ,,dodatek instalacyjny'' dotyczący twojego programu lub zmienić treść odpowiednich rozdziałów. Autor chciałby być informowany o jakichkolwiek planach publikowania tego tekstu w celach komercyjnych. Zapewni to Tobie dostęp do aktualnych wersji dokumentu. Jeśli zdarzy się, że jego nowsza wersja będzie miała ukazać się lada dzień, może zechcesz poczekać z publikacją twojej pracy do czasu ukazania się najświeższej wersji. Jeśli rozprowadzasz ten dokument w celach komercyjnych, wszelkie wartości materialne (finansowo płynne) jak i wydrukowane egzemplarze dokumentu przekazane autorowi spotkają się z jego wielką wdzięcznością. Wesprzesz w ten sposób autorów darmowego oprogramowanie oraz Linux Documentation Project. Jeśli masz pytania, komentarze, oto adres autora: kjj@pobox.com. 22.. HHiissttoorriiaa uuaakkttuuaallnniieeńń wweerrssjjaa 22..00 ((1155..33..11999977)) ˇ opis ftape w wersji 2.11 i 3.xx ˇ mnóstwo innych uaktualnień wweerrssjjaa 11..99 ((2200..99..11999966)) ˇ Nowy administrator ftape i HOWTO. ˇ Kilka drobnych poprawek w formatowaniu i ortografii. ˇ Uaktualnienie do wersji 2.0 jądra. ˇ Dodane niektóre informacje o ftape autorstwa Andrewa Martina. wweerrssjjaa 11..88 ((2222..55..11999966)) ˇ Zmieniony Copyright (zgodny z GNU GPL v2) ˇ Zmienił się adres email administratora. ˇ uaktualnienie do ftape-2.08 ˇ ftape jest teraz częścią jądra. wweerrssjjaa 11..77..11 ((1133..22..11999966)) ˇ Uaktualnienie do ftape-2.06b wweerrssjjaa 11..77 ((JJaannuuaarryy 2288..11..11999966)) ˇ Uaktualnienie do ftape-2.06 i modułów-1.3.57 wweerrssjjaa 11..66..22 ((2233..11..11999966)) ˇ Dodano opis Connor TST3200R. ˇ Uaktualnino informacje o 2Mbps FDC. wweerrssjjaa 11..66..11 ((1166..11..11999966)) ˇ drobne poprawki wweerrssjjaa 11..66 ((1100..11..11999966)) ˇ Nowy administrator ftape'a ˇ Uaktualnienie do w2.05 ˇ Dodane nowe napędy 33.. WWssttęępp Sterownikiem ftape i jego źródłami administruje Claus Heine . Jego strona WWW znajduje się w http://samuel.math.rwth-aachen.de/~LBFM/claus/ftape/ftape-page.html. Jeśli masz jakieś problemy, pytania związane z ftape, spróbuj umieścić je na liście linux.dev.tape. Jest to lista Usenet, która jest kopią listy dyskusyjnej linux-tape@vger.rutger.edu (zobacz też punkt ``Śledzenie rozwoju ftape'a'') Polecam korzystanie z grup dyskusyjnych zamiast bezpośrednio z listy, ponieważ serwer vger jest co nieco przeciążony listami. Wracając do streamerów osobiście używam ftape (to mój głównym środek archiwizacji danych na mojej maszynce :-). Nie chciałbym tutaj polecać jakiegokolwiek sprzętu. Ja używam Iomega Ditto Tape Insider 3200 i jest dla mnie wystarczający. Lista urządzeń obsługiwanych przez sterownik znajduje się w punkcie ``Napędy współpracujące z ftape'm''. Jeśli masz jakieś kłopoty ze streamerem a znalazłeś jakieś rozwiązanie podziel się swoimi uwagami z innymi (lista dyskusujna - linux.dev.tape) oraz ze mną (). Swoją pocztę przeglądam zwykle kilka razy na tydzień, staram się też odpowiadać na każdy list, ale nie mogę gwarantować, że odpiszę natychmiast. Często też przeglądam listy dyskusyjne linux.dev.tape oraz kernel'a Jeśli niniejszy tekst dotarł do ciebie w formie drukowanej, lub też tylko w części odwiedź proszę stronę the Linux Documentation home page lub ftp to aby dowiedzieć się czy nie ma nowszej wersji tego tekstu. Może to zaoszczędzić ci wiele kłopotu. Jeśli zechcesz do mnie napisać, umieść proszę nagłówek ftape w linijce tematu listu. Może to uchronić twój list przed wirtualną śmiercią, 33..11.. CCoo ttoo jjeesstt ffttaappee ftape jest sterownikiem, który obsługuje różne typy tanich streamerów podłączanych do kontrolera dyskietek. ftape nie jest programem archiwizującym - jest tylko sterownikiem, który pozwala używać tasiemca (tak samo jak sterownik SoundBlaster'a pozwala wykorzystać tę kartę) poprzez pliki /dev/[n]rft[0-3]. Pierwsze wersje ftape zostały napisane przez Bas'a Laarhoven'a z ,,niewielką pomocą ze strony przyjaciół'', którzy pomogli rozgryźć ECC (Error Correcting Code). Prawa autorskie do ftape'a należą do Bas'a i są zgodne z GNU Genral Public Licence, która to mówi: ,,spoko, możesz kopiować i rozdawać ttoo, tylko pozwól i innym to robić''. ftape jest już od dłuższego całkiem stabilnym sterownikiem. Jest wystarczająco bezpieczny aby na taśmach można było składować ważne dane (chociaż dobrym nawykiem jest sprawdzać swoje archiwa co jakiś czas, żeby nie być (nie)mile zaskoczonym pewnego pięknego poranka...). ftape współpracuje z napędaami zgodnymi ze specyfikacją QIC-117 oraz z jednym z następujących standardów: QIC-80, QIC-40, QIC-30101 lub QIC-3020. ftape nie współpracuje z napędami QIC-02, IDE (ATAPI) ani SCSI. Współpraca z napędami SCSI jest możliwa dzięki plikom /dev/[n]st[0-70 oraz jądru, które zawiera sterowniki SCSI. Informacje o napędach SCSI można znaleźć w SCSI-howto. Urządzenia ATAPI są obsługiwane przez kernel (jądro) od wersji 1.3.46. Zajrzyj do punktów ``Napędy współpracujące z ftape'' oraz ``Napędy nie współpracujące z ftape'', w których znajduje się spis tych urządzeń. 44.. IInnssttaallaaccjjaa ffttaappee'a 44..11.. GGddzziiee mmoożżnnaa zznnaalleeźźćć ffttaappee Wersje 2.0.x jądra zawierają sterownik ftape w wersji 2.08. Jednak najlepiej zdobyć najnowszą wersję kodu źródłowego. Nowsza wersja zawiera pliki nie dołączone do jądra oraz dużo bogatszą dokumentację dotyczącą instalacji itd. Najświeższe wersje sterownika (2.11a i wyżej) dostępne są na stronie http://samuel.math.rwth-aachen.de/~LBFM/claus/ftape/ftape-page.html. Gdy piszę ten dokument dostępna jest już wersja 3.xx ftape'a. Niemniej polecam starsze wydanie (2.xx), chyba że masz ochotę igrać z ogniem (3.xx jest wersją rozwojową i z pewnością ma kilka robaczków :-) ). 44..22.. IInnssttaallaaccjjaa sstteerroowwnniikkaa Niniejszy punkt zawiera informacje dotyczące instalacji sterownika w2.11a i czynnościach, które muszą ją poprzedzać. Zakładam, że masz już skompresowany kod źródłowy (najprawdopodobniej ftape-2.11a.tar.gz). Umieść go w katalogu docelowym (np /usr/src lub ~/src) rozpakuj komendą tar xvzf ftape-2.11a.tar.gz Wszystkie pliki zostaną umieszczone w podkatalogu ftape-2.11a czyli w /usr/src/ftape-2.11a albo ~/src/ftape-2.11a. Można też wrzucić cały pakiet do /usr/src/linux/drivers/char/ftape ale osobiście radzę najpierw przeczytać dokumentację a potem zdecydować gdzie go umieścić. Na początek przeczytaj plik README - zawiera on bardzo ważne informacje. Jeśli autor radzi zajrzeć do innych plików i zapoznać się z ich treścią - zrób to. Uchroni cię to przed przykrymi niespodziankami później i znacznie uprości dalszą instalację. Dobra rada: NIE rozpoczynaj instalacji (kompilacji) pakietu jeśli dokładnie nie przeczytałeś README lub Install-guide. W pliku README autor wspomina o liście dyskusyjnej linux-tape. Ja radzę jednak zapisać się na linux.dev.tape, ponieważ serwer obsługujący tą pierwszą jest, jak już wspominałem, przeładowany. Są dwa sposoby korzystania z ftape'a ˇ Skompilować sterownik jako stałą część jądra. ˇ Skompilować go jako moduł. Pierwsza metoda będzie zapewne nastręczać mniej kłopotów. Zaletą drugiej jest fakt, że moduł ładowany jest do pamięci tylko wtedy, gdy jest potrzebny (zawsze można go zdeinstalować bez konieczności przeładowania systemu). Autor wczesnych wersji sterownika (Bas Laarhoven) twierdzi jednak, że nie był on przeznaczony do kompilacji jako moduł (_o_d _t_e_g_o _c_z_a_s_u _w_i_e_l_e _s_i_ę _z_m_i_e_n_i_ł_o _i _t_e_r_a_z _f_t_a_p_e działa bez zarzutu w obydwu wersjach - przynajmniej u mnie - tłumacz :) ). Na swoim komputerze sterownik kompiluję bezpośrednio do jądra. Myślę, że jest to lepsze rozwiązanie, ponieważ mniej jest z tym problemów. Radzę tak właśnie zrobić, chyba że masz dobry powód aby postąpić inaczej i jesteś przygotowany na komplikacje, które mogą wyniknąć podczas przygotowywania modułów. Jeśli zdecydujesz się kompilować sterownik bezpośrednio do jądra, to: ˇ pamiętaj że nie można używać zftape zamiast ftape ponieważ obydwa te programy używają tego samego bardziej znaczącego numeru sterownika, ˇ możesz pominąć większość instrukcji dotyczących przygotowywania modułów. Jeśli używasz jądra w wersji 1.2, powinieneś zaopatrzyć się także w pakiet modules-1.3.57 a nie modules-1.2.8. (Bjř rn Ekwall, administrujący pakietem modules to właśnie zaleca). Jeśli masz wersję 1.3.x jądra, powinieneś rozważyć przejście na wersję 2.0.x. Jądro 1.3.x było wersją rozwojową zanim powstała stabilna 2.0.x. 44..33.. ŚŚlleeddzzeenniiee rroozzwwoojjuu ffttaappee'a Rozwój ftape'a można śledzić dzięki liście Usenet linux.dev.tape. Jak już wcześniej wspomniałem jest to kopia linux-tape@vger.rutgers.edu ale ze względu na przeciążenie tego serwera, radzę korzystać z Usenet'u. Jeśli nie masz dostępu do Usenet'u możesz zapisać się na tę listę wysyłając e-mail'a do majordomo@vger.rutgers.edu o następującej treści: subscribe linux-tape'. Na początek otrzymasz list zawierający informacje o sposobie korzystania z listy (wysyłanie własnych uwag, sposób wypisania się z listy itd.) Miej jednak na uwadze, że nie mam (NIE MAM) żadnych przywilejów jeśli chodzi o tę listę. Nie jestem w stanie wypisać cię z niej, jeśli serwer nie chce zrobić tego automatycznie, mogę co najwyżej wysłać ci list z kondolencjami (co ci w niczym nie pomoże). 44..44.. WWssppóółłpprraaccaa ffttaappee i stacji dyskietek Jako, że streamer i stacja dysków łączą się z tym samym kontrolerem (i wykorzystują to samo przerwanie - IRQ6) nie mogą pracować równolegle. Dlatego, jeśli zamontowałeś już (mount) stację dysków i spróbujesz odwołać się do streamera, ftape wyświetli komunikat, że nie może przejąć przerwania IRQ6 i odmówi współpracy. Staje się to szczególnie uciążliwe, gdy chcesz stworzyć dyskietkę systemową (ratunkową), która korzystałaby z ftape'a. Rozwiązaniem jest albo ładowanie dyskietki startowej do ramdysku i wtedy odłączenie stacji dysków (umount) albo zaopatrzenie się w dwa kontrolery FDC. 55.. TTaaśśmmyy ii ssttrreeaammeerr ww uużżyycciiuu 55..11.. FFoorrmmaattoowwaanniiee Zanim taśma jest zdatna do użytku, musi zostać najpierw sformatowana. Proces formatowania dzieli taśmę na sektory i zapisuje najważniejsze informacje na nośniku. Inne streamery (SCSI itd) zwykle nie wymagają formatowania, ale te podłączane do FDC muszą po prostu udawać dyskietki (trochę to dziwne, ale tak to już jest). 55..11..11.. CCzzyy mmoożżnnaa ffoorrmmaattoowwaaćć ttaaśśmmyy ppoodd LLiinnuuxxeemm?? Nie. (Na razie, bo trwają już prace nad tym) Dopóki nie można tego robić pod Linuxem, trzeba niestety używać M* DOSa (Tfu!Błeeh...) albo kupować taśmy już sformatowane. Trzeba jednak pamiętać, że niektóre preformatowane taśmy zostały przygotowane bbeezz sprawdzania czy nie zawierają błędnych sektorów!. Jeśli ftape stwierdzi, że taśma nie ma zaznaczonych żadnych błędnych sektorów, poinformuje cię o tym specjalnym ostrzeżeniem. Jeśli ftape będzie miał kłopoty z odczytem/zapisem twojej nowej taśmy, spróbuj sprawdzić ją pod DOS'em. Jeśli i dosowskiemu oprogramowaniu nie spodoba się twoja taśma, rozwiązaniem może być przeformatowanie jej. Pamiętaj jednak, że zanim będziesz mógł używać nowo sformatowane taśmy, musisz je najpierw wyczyścić poleceniem: # mt -f /dev/nftape erase 55..11..22.. JJaakkiicchh pprrooggrraammóóww uużżyywwaaćć ddoo ffoorrmmaattoowwaanniiaa ttaaśśmm ((ddllaa DDOOSS''uu))?? Poniżej wymienione zostały programy, które zostały sprawdzone i chodzą: ˇ Colorado Memory System's software (tape.exe) ˇ Conner Backup Basics v1.1 i wszystkie wersje pod Windowsy ˇ Norton Backup ˇ QICstream wersja 2 ˇ Tallgrass FileSecure v1.52 ˇ Escom Powerstream 3.0 (qs3.exe -- QICstream v3?) A te programy są mniej lub bardziej pewne: ˇ Conner Backup Basics 1.0 ˇ Colorado Windows tape ˇ CP Backup (marnuje miejsce na taśmie, ale poza tym jest w porządku) W zasadzie większość programów pod DOS'em całkiem nadaje się do formatowania taśm. Program Conner Backup Basics v1.0 miał błąd spowodowany złą interpretacją specyfikacji QIC przez programistów (sic). Błąd ten został poprawiony w wersji 1.1. ftape wykryje tę usterkę i nie ,,wysypie'' się na niej. Od Dennisa T. Flaherty () dowiedziałem się ostatnio, że posiadacze Connera C260MQ (niestety tylko w USA) mogą otrzymać wersję 1.1 tego programu dzwoniąc pod numer 1-800-4Conner za darmo lub płacąc tylko za dyskietkę. Dla innych pocieszenie - wersja dla Windows nie ma tego błędu i powinna działać dobrze. Niektóre wersje oprogramowania pod Windows'y dla streamerów Colorado mają błąd, ale ftape rozpoznaje i ,,obchodzi'' go. Dobrym programem jest także Central Point Backup ale ten znów marnuje drogocenne miejsce na taśmie gdy znajdzie jakiś uszkodzony sektor. UWAGA: Jeśli używasz innego oprogramowania pod DOS'a, nie wymienionego przeze mnie, napisz do mnie ( żebym mógł uaktualnić powyższą listę. 55..22.. RReetteennssttiioonniinngg Taśmy QIC są szczególnie wrażliwe na rozciąganie. Powodem tego jest fakt, że podczas preformatowania zapisywana jest na nich informacja o sektorach, podczas gdy w innych rodzajach streamerów informacje synchronizacji (pozycjonowania) są zapisywane wraz z twoimi danymi. Jeśli taka taśma rozciągnie się, mogą wystąpić przekłamania odczytu (sektor się wydłuża). Oczywiście im dłuższa taśma, tym większe niebezpieczeństwo uszkodzenia nośnika. Dobrym rozwiązaniem jest więc kilkuktrotne ,,retensionowanie'' (czyli rozprężanie) nowej taśmy przed pierwszym użyciem (zapisem danych albo formatowaniem). Retensionowanie taśmy zalecane jest także wtedy, gdy podczas odczytu występują błędy oraz przed każdym dokonaniem zapisu na taśmę. # mt -f /dev/nftape retension 55..33.. CCzzyysszzcczzeenniiee nnaappęędduu Powierzchnia taśmy pokryta jest związkiem tlenu. Kiedy nośnik styka się z głowicą zostawia na jej powierzchni niewielką ilość osadu. Co jakiś czas powinieneś ją czyścić. najlepiej użyć miękkiej szmatki lub czegoś z naturalnych włókien (żeby nie porysować głowicy) oraz płynu czyszczącego zalecanego przez producenta streamera. (Producent Jumbo-250 poleca zwykły czysty spirytus - swój chłop - tłumacz). Sposób czyszczenia powinien być opisany w instrukcji. Jeszcze jedna uwaga: jeśli zacząłeś korzystać z zupełnie nowej taśmy, powinieneś także wyczyścić głowicę - nowe taśmy zostawiają więcej osadu po pierwszym użyciu. Podziękowania dla Neal'a Friedman'a za doradzenie aby te informacje umieścić w tym dokumencie. 55..44.. NNaappęęddyy wwssppóółłpprraaccuujjąąccee zz ffttaappee Wszystkie napędy zgodne z QIC-117 _o_r_a_z zgodne z QIC-40, 80, 3010 lub 3020 powinny działać. ftape rozpoznaje także streamery QIC-WIDE i Travan (TR-1 to po prostu QIC-80 na 8 mm taśmie, TR-2 i TR-3 to odpowiednio QIC-3010 i 3020). Na dzień dzisiejszy znane mi są następujące urządzenia współpracujące z ftape AAllllooyy RReettrriieevveerr 225500 AArrcchhiivvee 55558800ii,, XXLL99225500ii CCoolloorraaddoo DDJJ--1100,, DDJJ--2200 ((ttzznn:: JJuummbboo 112200,, JJuummbboo 225500)) CCoolloorraaddoo 11440000 poinformował mnie o kłopotach podczas archiwizowania 1GB danych za pomocą tapera. HHPP CCoolloorraaddoo TT11000000 działa z taśmami 3M Travan 400M (TR-1) 120M. Zgłoszono już kilkukrotnie, że mt zawiesza się, ale działa z archiwami utworzonymi przez tar. Jeśli chcesz posługiwać się cpio, korzystaj raczej z ftape a nie z zftape. () Wiele osób miało problemy z zftape - napęd ciągle zatrzymywał się i wznawiał pracę (<75104.1756@compuserve.com>). Wydaje się, że winny jest napęd, który zbyt szybko czyta dane i komputer gubi je; bufory DMA są opróżniane zanim zdążą się zapełnić. Rozwiązanie jest tu proste - użyć nowszej wersji zftape albo stosować większe bufory DMA. (). CCoonnnneerr CC225500MMQQ((TT)) Napęd ten zgłasza błedy zapisu i często repozycjonuje taśmę (Frank Stuess z Nacamar Data Communications). CCoonnnneerr TTSSMM442200RR,, TTSSMM885500RR Modele 400 i 800 współpracują tylko z taśmami TR-1. CCoonnnneerr TTSSTT33220000RR Pracuje z taśmami TR-3 (tzn. tylko pojemność 1600MB) przy prędkości 1Mbps. Współpracuje też z QIC-WIDE 400m (Sony 5122?) (). Obsługuje też taśmy TR-3, QIC-3010 oraz QIC-3020. Napęd dostarczany jest z kontrolerem FDC z 2MB RAMU na pokładzie. Prawdopodobnie współpracuje z ftape 2.05 jeśli podłączony jest do szybkiego kontrolera (żeby móc korzystać z QIC-3020). Niektórzy nie mogą odczytywać rzadkich dyskietek. Prawdopodobnie trzeba grzebać w IRQ/portach/DMA (). CCoonnnneerr TTSSTT880000RR Działą z taśmami TR-1, Sony QW5122F (210m) i DC2120. Ponoć pracuje z ftape 2.02e (ale nie 2.03b) oraz z v2.05 (). Wymaga patcha ''the length patch''. Zgłoszono mi, że możesz potrzebować zmodyfikować Makefile żeby upewnić się, że ftape odwołuje się do pierwszego (PRIMARY) kontrolera dyskietek (). Pojawia się także błąd "Timer expired" gdy używane są taśmy TR-1 i ftape 2.05-2.07) (). CCoonnnneerr CCTTTT33220000 CTT3200 jest przypuszczalnie odpowiednikiem Iomega Ditto 3200. Działa z dołączonym kontrolerem 2Mbps ale przy szybkości 1Mbps. Na niektórych maszynach nie działa pod DOSem (). CCoonnnneerr 11..77GG TTaappeessttoorr ((TTSSMM11770000RR)) Działa z nośnikami QIC-WIDE (). Częściowo także z QIS-3200. Jeśli używasz kontrolera HSC-2, musisz zmienić numer kanału DMA (zwiększyć o 1, kanał 2? - w Makefile). Potem musisz zmodyfikować plik Makefile ftape'a, żeby ten uwzględnił zmiany. Jednak, nawet z tymi poprawkami ftape nie działa do końca poprawnie (co to znaczy flaky???) (). Kontroler HSC może nie działać w trybie 2Mbps - wyświetlany jest tylko komunikat "dumb tape stop" i koniec. (). EEssccoomm oorr AArrcchhiivvee ((HHoorrnneett)) 3311225500QQ EExxaabbyyttee EEXXBB--11550000 Działa z taśmami QIC-3010, wymaga jednak łatki (,,the length patch''). EExxaabbyyttee TTRR--33 IIrrwwiinn 8800SSXX,, IInnssiigghhtt 8800MMbb IIoommeeggaa 225500 IIoommeeggaa DDiittttoo TTaappee IInnssiiddeerr 442200,, 11770000 IIoommeeggaa DDiittttoo TTaappee IInnssiiddeerr 33220000 Właśnie tego streamera używam. Z mojego doświadczenia wiem, że standardowe ustawienie jumperów uniemożliwia poprawne działanie napędu. Numer irq i ioport pozostaw bez zmian (odpowiednio 6 i 0x370) ale zmień DMA z 3 na 2. W starszych wersjach ftape trzeba dodać następującą linię do pliku vendors.h: {0x08882, 80, wake_up_colorado, "Iomega 3200"} Problemy występują także z ftape v2.07 i jądrem 1.12.13. Jakiegokolwiek akceleratora by nie używać, na niektórych komputerach, napęd może być użyty tylko raz (). Czasami, także po pierwszym zapisie/odczycie, sterownik uznaje taśmę za zabezpieczoną przed zapisem (, ). Zgłoszono raz wypadek przewinięcia taśmy poza swój koniec (czyli urwania jej...). Na inny błąd natrafiono podczas tworzenia archiwum komendą dd. Na początku działa poprawnie ale potem streamer zatrzymuje się, przewija taśmę do początku i zaczyna czytać aż do końca taśmy. Dzieje się tak najprawdopodobniej dlatego, że sterownik zatrzymuje taśmę na chwilę, co powinno spowodować przewinięcie jej o 3 segmenty w tył, ale zamiast tego taśma przewija się do początku. Patch, który miał naprawić te błędy niestety nie działa. IIoommeeggaa DDiittttoo 880000 IInnssiiddeerr Można używać taśm Travan TR1, TR2 albo DC2120, ale trzeba użyć łatki ,,the length patch'' (). MMoouunnttaaiinn FFSS88000000 RReevveeaall TTBB11440000 Zgłoszono, że nie działa z jądrem 1.3.79 i ftape (nie podano numeru wersji) oraz jądrem 1.2.13 i zftape 1.04 (). SSuummmmiitt SSEE 115500,, SSEE 225500 TTaallllggrraassss FFSS330000 Jeśli twój kontroler to AHA1542B, musisz zwiększyć jego czas bus-on/bus-off. Antti Virjo (), pisze, że można tego dokonać zmieniając CMD_BUSON_TIME w pliku linux/drivers/scsi/aha1542.c z 4 na 12. TTeeaacc 880000 MMeemmoorreexx ttaappee ddrriivvee bbaacckkuupp ssyysstteemm WWaannggtteekk 33004400FF,, 33008800FF W pliku vendors.h (katalog linux/drivers/char/ftape) znajduje się aktualna lista urządzeń obsługiwanych przez daną wersję ftape'a. Jeśli chodzi o dobór sprzętu, to chociaż nie chciałbym tu specjalnie krytykować kontretnych urządzeń, doszły mnie słuchy, że Colorado Dj-20 (czyli Jumbo 250 - mój sprzęt! - tłumacz) jest raczej hałaśliwy (jak Jumbo Jet, ale co z tego? :( ). Mówi się, że nawet 5-10 razy głośniejszy od Connera (jakby to hałas miał jakikolwiek wpływ na dane - po prostu nie robić backupów w nocy i po kłopocie :). UWAGA: Jeśli posiadasz sprzęt nie wymieniony na tej liście (albo vendors.h) , który mimo to dobrze współpracuje z ftape'm zgłoś ten fakt autorowi HOWTO (). 55..55.. kkoonnttrroolleerryy wwssppóółłpprraaccuujjąąccee zz ffttaappee ftape obsługuje następujące specjalne kontrolery : ˇ Colorado FC-10, FC-20 ˇ Mountain MACH-2 ˇ Iomega Tape Accelerator II ˇ 2Mbps controllers (posiadające i82078-1 fdc) Obsługę kontrolera FC-10 włączono do ftape'a w wersji 1.12. Więcej informacji można znaleźć w plikach RELEASE-NOTES i Makefile w pakiecie ftape. Wersje 2.03 sterownika powinny obsługiwać już FC-20, ale dla pewności sprawdź w RELEASE-NOTES. MACH-2 działa ze sterownikiem w wersji 1.14d wzwyż. Aby móc korzystać z Iomega Tape Accelerator II, musisz użyć -DMACH2 (Makefile) oraz ustawić poprawne adresy I/O, IRQ oraz DMA. Będzie to działać przynajmniej z ftape-2.02 (wypróbowane przez Scott'a Bailey'a ) 55..55..11.. IIoommeeggaa DDiittttoo DDaasshh ii iinnnnee kkoonnttrroolleerryy 22MMbbppss Iomega Ditto Dash i inne kontrolery z możliwością transferu 2mbps używają układu Intel 82078-1. Obsługa tego układu jest cały czas w fazie rozwoju. Prace mają być zakończone w styczniu lub lutym '97 (czyli już dawno temu). Na razie jednak kontroler ten działa z normalną prędkością 1Mbps. 55..66.. NNaappęęddyy _n_i_e wwssppóółłpprraaccuujjąąccee zz ffttaappee ˇ Wszystkie napędy podłączane do portu równoległego (np Colorado Trakker) To nie do końca jest już prawdą - patrz punkt ``Od tłumacza'' ˇ Irwin AX250L / Accutrak 250. (niezgodne z QIC-80 drive) ˇ IBM Internal Tape Backup Unit (odpowiednik Irwin AX250L) ˇ COREtape light Jak już wcześniej wspomniałem WSZYSTKIE napędy podłączane do LPT nie są obsługiwane (a ja już wcześniej zauważyłem, że to się zmieniło ;) - tłumacz). Jest to spowodowane tym, że używają one innego sposobu komunikowania się z komputerem, który nie jest zgodny z QIC-117. Irwin AX250L oraz IBM Internal Tape Backup Unit nie współpracują z ftape'm ponieważ są zgodne jedynie z QIC-117 ale nie z QIC-80 (używają własnego formatu (''servo (Rhomat)''). Nie wiem niestety nic o tym formacie ani gdzie można zdobyć jakieś informacje o nim. COREtape light nie reaguje na komendy inicjujące, wysyłane przez sterownik, co czyni ten napęd bezużytecznym. Iomega 2GB Ditto także nie działa z ftape'm, ponieważ używa własnego formatu, na temat którego Claus (zarządzający ftape) nie mógł uzyskać żadnych informacji. 55..77.. WWssppóółłpprraaccaa zzeewwnnęęttrrzznneeggoo ssttrreeaammeerraa zz ffttaappee'm Jeśli masz kontroler FDC, posiadający żeńskie łącze DB37 i masz możliwość dostarczenia zasilania do streamera, możesz używać go z ftape'm. Dobra, nie jest to zbyt zrozumiałe. Spróbujmy inaczej. Niektóre starsze kontrolery FDC mają złącze DB37 na krawędzi, służące do podłączania zewnętrznych stacji dysków. Jeśli zaopatrzysz się w odpowiedni kabel podłączany do tego wejścia (czytaj: sam sobie go zrobisz), możesz zmusić ftape'a do obsługi twojego tasiemca. Sterownik nie rozróżnia bowiem zewnętrznych i wewnętrznych urządzeń. I dlatego dla niego oba warianty są identyczne. ˇ Pins 20-37: GROUND ˇ 1: +12 Volt (POWER) ˇ 2: +12 Volt return (GROUND) ˇ 3: +5 Volt return (GROUND) ˇ 4: +5 Volt (POWER) ˇ 5: 2 ˇ 6: 8 ˇ 7: 10 ˇ 8: 12 ˇ 9: 14 ˇ 10: 16 ˇ 11: 18 ˇ 12: 20 ˇ 13: 22 ˇ 14: 24 ˇ 15: 26 ˇ 16: 28 ˇ 17: 30 ˇ 18: 32 ˇ 19: 34 UWAGA!! - dostępny jest już patch parport, który umożliwia obsługę urządzeń podłączanych do LPT (nie tylko streamerów) oraz patch obsługujący Trakkera (patrz punkt ``Od tłumacza''). Wtyczka zasilania to ta mała, taka jak w stacji 3,5". Musisz taką wtyczkę podłączyć do gniazda DB37. Jeśli chcesz użyć tylko jednego kable, możesz użyć 50 żyłowego i użyć kilku połączeń dla zasilania (i uziemienia). Dotychczas nikt nie zgłosił mi, że takie coś działa. Jeśli tobie się uda pisz! 55..88.. PPłłyyttyy ggłłóówwnnee PPCCII ii ffttaappee Niestety, niektóre płyty główne stwarzają problemy podczas używania ftape'a. Niektórzy mieli kłopoty z odpaleniem ftape'a na płycie PCI, a na zwykłęj 386-ce z ISA program chodził bez problemów (z tym samym streamerem). Jeśli ty także masz podobny problem, przejrzyj plik README.PCI w katalogu ftape'a. 66.. AArrcchhiiwwiizzoowwaanniiee ii ooddttwwaarrzzaanniiee ddaannyycchh Punkt ten opisuje niektóre funkcje tar i mt. 66..11.. AArrcchhiiwwiizzoowwaanniiee Do tego celu służą tar, dd, cpio, oraz afio. Jednak aby móc w pełni wykorzystać możliwości swojej zabawki będziesz musiał użyć komendy mt. Na początek radzę poznać tar, ponieważ za jego pomocą można zarchiwizować całe drzewo katalogów oraz odtworzyć pojedyncze pliki. cpio tworzy mniejsze archiwa, jest bardziej elastyczny od tar'a, chociaż nie ma niektórych opcji, jak np nadawanie nazw woluminom. afio tworzy archiwa, w których każdy plik jest spakowany a następnie dołączony do archiwum. To pozwala odzyskać pliki znajdujące się za miejscem wystąpienia błędu (np uszkodzania nośnika). Jeśli takie archiwum utworzone byłoby tar'em i gzip'em wszystkie dane znajdujące sie za tym miejscem zostałyby utracone! (Dla mnie jest to dobry powód, żeby nie kompresować danych przy archiwizacji). Wybór metody archiwizacji zależy od sytuacji oraz zalet i wad każdego z tych programów. Polecam zapoznać się z każdym z nich i samemu ocenić ich walory. Możliwe jest, że w przyszłości dokument ten zawierać będzie więcej informacji na ten temat. No to bierzmy się do roboty! Aby zachować katalog /usr/src/linux wraz z podkatalogami używając tar'a trzeba wydać polecenia: # cd /usr/src # tar cf /dev/ftape linux Tą metodą dane zostaną zapisane bez kompresji, ale komputer będzie mógł nadążyć z dostarczeniem danych do streamera (Taśma nie będzie co chwila przewijana w tę i spowrotem). Jeśli chcesz skompresować dane użyj parametr(*) -z, np: `tar czf /dev/ftape linux' Więcej informacji o tar, dd i mt można znaleźć na stronach poręcznika (man pages) i w plikach texinfo dołączonych do tych programów. (*) tar zakłada, że piersze parametr jest opcją/parametrem programu, nie trzeba więc używać `-'. Na przykład komendy `tar xzf /dev/ftape' oraz `tar -xzf /dev/ftape' są interpretowane identycznie. 66..22.. OOddttwwaarrzzaanniiee ddaannyycchh Dobra, teraz odtworzymy dane zapisane w poprzednim punkcie (``Archiwizowanie''). Wpisz: tar xf /dev/ftape i to wszystko... Jeśli skompresowałeś dane, napisz: tar xzf /dev/ftape Na samym końcy archiwum gzip najprawdopodobniej uraczy cię komunikatem o jakichś smieciach (co zakończy się komunikatem Informacje o innych narzędziach znajdziesz na stronach podręcznika. 66..33.. WWeerryyffiikkaaccjjaa aarrcchhiiwwuumm tar posiada opcję d która umożliwia wykrycie różnic między archiwum na taśmie i plikami na dysku. Żeby zweryfikować poprawność zapisanych danych napisz: tar df /dev/ftape Jeśli nie masz na swoim dysku strony podręcznika do tar, to listę opcji możesz otrzymać pisząc: `tar --help 2>&1 | less' 66..44.. ZZaappiissyywwaanniiee kkiillkkuu((nnaassttuu)) aarrcchhiiwwóóww nnaa jjeeddnneejj ttaaśśmmiiee Żeby umieścić kilka archiwów na jednej taśmie musisz użyć programu mt. Jeśli używasz, którejś z popularnych dystrybucji (Slackware, Debian albo RedHat) najprawdopodobniej maż już go zainstalowanego. Programy takie jak tar and cpio tworzą pojedyncze Taśmowe ARchiwum i nie mają bladego pojęcia o pozycjonowaniu taśmy (odnajdywaniu konkretnego archiwum na taśmie), one po prostu czytają albo zapisują co im się pod głowice napatoczy. mt potrafi przewijać taśmę do przodu i do tyłu ale nie umie czytać danych. Jak już pewnie zauważyłeś umiejętne posługiwanie się tar'em lub cpio _o_r_a_z mt pozwoli na swobodne przemieszczanie się po taśmie i pełną nad nią kontrolę. Aby skorzystać z dobrodziejstw mt musisz korzystać z pseudo-plików urządzeń nrft[0-3] (nftape), np: mt -f /dev/nftape fsf 2 spowoduje przesunięcie taśmy o dwa pliki (file marks) do przodu (pliki utworzone przez np tar'a). Potem używając tar'a lub cpio odczytujemy interesujące nas pliki. Najczęściej pliki nrft[0-3] (tzw non-rewinding - czyli takie, które nie powodują przewinięcia taśmy automatycznie do początku po każdej zakończonej operacji) używane są do dołączaniam nowego pliku na końcu taśmy. A oto konkretny przykład: ˇ Włóż kasetkę do napędu. W niektórych urządzeniach może to spowodować automatyczne przewinięcie taśmy do początku. ˇ wydaj polecenie End-of-Tape (na koniec taśmy) urządzeniu nrft mt -f /dev/n???? eof Taśma powinna zostać przesunięta na koniec taśmy (a konkretnie - pomiędzy dwa znaczniki End-Of-File (EOF) 2*EOF=EOT) . Teraz napęd oczekuje kolejnych komend i nie zacznie przewijać taśmy dopóki pro­ gram/użytkownik nie wyda stosownej komendy (np czyta­ nia/zapisu/przewinięcia usunięcia modułu ftape z pamięci itd.) Uwaga: na urządzeniach QIC można użyć krótszej komendy: `mt eof' ˇ Teraz głowica taśmy ustawiona jest dokładnie na znaku EOT (Koniec Taśmy). Nie oznacza to jednak, że w tym miejscu kończy się taśma (no proszę...), tylko że tu kończy się ostatni plik archiwalny. Reszta taśmy jest puściutka i czeka na dane. Jeśli teraz rozkażemy komputerowi zapisać coś na taśmie, ten dołączy nowy plik bez kasowania starych. Jeśli zaś zechcemy odczytać z taśmy wystąpi błąd (Nie ma przecież czego czytać). Wracając do znaku EOT - składa się on z dwóch znaków EOF (Koniec pliku). Jeśli zapisujemy coś na koniec taśmy, drugi z tych znaków jest automatycznie kasowany, a pierwszy pozostaje i później będzie interpretowany jako zwykły znacznik końca pliku. Zapisywanie znaku EOF jest dokonywane przez program (na końcu każdego pliku) albo przez sterownik, gdy wykonywana jest instrukcja close(). ˇ Możemy już zapisywać dane... # tar cf /dev/ftape linux ˇ A teraz uwaga: PPrrzzeewwiińń ttaaśśmmęę ddoo ppoocczząąttkkuu. ftape i zftape przechowują niektóre dane (które powinny być zapisane w nagłówku taśmy) w pamięci operacyjnej. Dane te są umieszczane na taśmie ddooppiieerroo wwtteeddyy,, ggddyy zzoossttaajjee oonnaa pprrzzeewwiinniięęttaa!! Buforowanie to jest potrzebne, ponieważ bez niego komputer musiałby uaktualniać nagłówek nośnika, po każdej operacji zapisu, a ciągłe przewijanie kasetki jest czynnością dość zarówno długotrwałą jak i niezbyt ,,zdrową'' dla taśmy. Wadą tego rozwiązania jest możliwość utraty danych, gdy zapomnisz o przewinięciu taśmy. 66..55.. DDoołłąącczzaanniiee nnoowwyycchh pplliikkóóww ddoo aarrcchhiiwwuumm ,,Czy można rozszerzać archiwum - utworzyć je a poźniej dołączać pliki na jego końcu?'' Nie. Chociaż w dokumentacji tar'a stoi jak byk, że za pomocą tar -Ar' można tego dokonać, z ftape'm to nie działa (przynajmniej na razie). 66..66.. MMoonnttoowwaanniiee//ddeemmoonnttoowwaanniiee _(_m_o_u_n_t_/_u_m_o_u_n_t_) taśm Jako, że streamer nie tworzy żadnego formalnego systemu plików (file system) na taśmie, nie można używać komendy mount/umount. Operacji na zawartości nośnika dokonuje się tylko przy użyciu tar'a albo innego programu _p_r_z_e_z_n_a_c_z_o_n_e_g_o do obsługi streamera. 77.. TTwwoorrzzeenniiee ddyysskkiieettkkii ssyysstteemmoowweejj ((ssttaarrttoowweejj)) ddllaa ffttaappee Niniejszy rozdział zostałnapisany przez Clausa Třndering . Kiedy już zostaniesz szczęśliwym właścicielem streamera i całej kolekcji tasiemek z kopiami bezpieczeństwa zapytasz się pewnie: ,,Jeśli cały dysk twardy szlag weźmie i stracę wszystkie dane, w jaki sposób odtworzę zawartość moich taśm?'' Będziesz potrzebował zapasowej dyskietki startowej, zawierającej odpowiednie pliki (/dev/*rft*) oraz oprogramowania umożliwiających odtworzenie twojego twardziela z taśm. Pierwszą rzeczą, którą powinieneś zrobić zanim zaczniesz czytać dalej jest zapoznanie się ,,Bootdisk HOWTO'' napisanym przez Grahama Chapmana . Dokument ten zawiera wszystkie przydatne informacje na temat tworzenia dyskietek systemowych. Poniższy tekst zawiera kilka dodatkowych wskazówek, które ułatwią ci pracę z Bootdisk-HOWTO. ˇ Nie będziesz potrzebował /etc/init, /etc/inittab, /etc/getty, ani /etc/rc.d/*. Jeśli Linux nie znajdzie /etc/init/, uruchomi shell /bin/sh na twojej konsoli, który wystarczy do odtworzenia danych. Skasowanie tamtych plików zwiększy ilość wolnego miejsca na dyskietce, którego będziesz prawdopodobnie potrzebował. ˇ Zamiast klasycznego /bin/sh użyj jakiegoś małego jego odpowiednika. Można je znaleźć na dyskietkach startowych wchodzących w skład każdej dystrybucji Linuxa(RedHat, Debian....). To także da ci kilka dodatkowych kilobajtów na dyskietce. Sugerowałbym tu ash, który jest bardzo mały (około 62KB), a przy tym zgodny z bash'em. ˇ Plik /etc/fstab, który zostanie umieszczony na dystkietce powinien wyglądać mniej więcej tak: /dev/fd0 / minix defaults none /proc proc defaults /dev/hda /mnt ext2 defaults Zaraz po wystartowaniu systemu z dystketki wpisz: # mount -av co spowoduje ,,zamontowanie'' ˇ Zanim odwołasz się do streamera pamiętaj o zdemontowaniu stacji dyskietek. Jeśli tego nie zrobisz, system pozdrowi cię komunikatem: Unable to grab IRQ6 for ftape driver Pamiętakj bowiem, że streamer i stacja dysków używają tego samego prz­ erwania. To oznacza, że będziesz mmuussiiaałł załadować dyskietkę startową do RAMDYSK'u. Jest to o tyle niewygodne, że programy służące do odt­ warzania zawartości taśmy nie mogą być uruchamiane z dyskietki. Masz dwie możliwości: 1. Umieść programy, których używasz do obsługi streamera (tar, cpio...) na dyskietce systemowej (właśnie po to potrzebowałeś sporo wolnego miejsca na niej). Programy te zostaną zgrane do RAMDYSK'u. 2. Zanim przystąpisz do odtwarzania danych, skopiuj tar'a (albo cpio albo ....) na twardy dysk i stamtąd je uruchamiaj. ˇ Oprócz programów archiwizujących potrzebował będziesz pewnie mt. Umieść go także na swojej dyskietce. ˇ Upewnij się, że pseudo plik streamera (np /dev/nrft0) także znajduje się na niej. ˇ Na koniec : WWYYPPRRÓÓBBÓÓJJ JJĄĄ;;. Oczywiście nie namawiam cię do wykasowania całej zawartości twardziela, żeby zobaczyć, czy będziesz mógł go odtworzyć (czynność trochę samobójcza). Polecam jednak załadowanie systemu z tej dyskietki i spróbowanie przynajmniej wyświetlenia listy plików znajdujących się na taśmie. 88.. CCzzęęssttoo zzaaddaawwaannee ppyyttaanniiaa ((FFAAQQ)) Poniżej przytoczone zostały pytania, które mogą zostać potraktowane jako FAQ. Jeśli uważasz, że poniższa lista powinna zostać rozszerzona, napisz do mnie (dołącz odpowiedzi na zadane pytania :) dzięki! ) 88..11.. CCzzyy ffttaappee współpracuje z Iomega 2GB? Niestety, nie. Iomega używa własnego formatu zapisu na swoich taśmach, niezgodnego z QIC. Administrator ftape'a nie mógł uzyskać dokumentacji tego formatu od producenta. 88..22.. JJaakk sszzyybbkkii jjeesstt ffttaappee? Używając ftape'a można osiągnąć całkiem przyzwoite prędkości zapisu/odczytu. Oczywiście wszystko zależy od sprzętu: Colorado DJ-20 (Jumbo 250) oraz kontroler Adaptec 1542CF, weryfikując 70MB archiwum utrzymywał stałą prędkość transferu danych na poziomie 4.25MB/min (bez kompresji). Prędkość ftape'a zależy głównie od możliwości kontrolera FDC: AHA1542CD posiada kontroler ''post-1991 82077'' i może przesyłać dane z szybkością 1Mbit/sek. Jeśli twój FDC może przesyłać tylko 500Kbit/sek wydajność twojego systemu będzie prawdopodobnie o około połowę mniejsza. 88..33.. JJaakk zzmmiieenniiaa ssiięę ,,,,ttrraaccee--lleevveell''''?? ,,Trace level'' (poziom śledzenia) lub ,tracing'' jest to parametr mówiący sterownikowi ile (i jakie) informacje o pracy napędu przekazywać na konsolę. Poszczególne wartości tego parametru mają następujące znaczenie: ˇ 0 Wyświetl informacje o błędach w sterowniku (bugs) ˇ 1 + Błędy pracy napędu ˇ 2 + Ostrzeżenia (warnings) ˇ 3 + Informacje (well?) ˇ 4 + Więcej informacji ˇ 5 + Program flow (komendy programu) ˇ 6 + Informacje z FDC/DMA ˇ 7 + Przepływ danych ˇ 8 + Wszystko inne Wartość tego parametru można zmienić na trzy sposoby: 88..33..11.. SSppoossóóbb 11.. iinnssmmoodd Jeśli twój ftape jest modułem, możesz zdefiniować poziom jako opcję tej komendy. /sbin/insmod ftape.o tracing= 88..33..22.. SSppoossóóbb 22.. ZZmmiiaannaa ,,,,ttrraaccee--lleevveell'''' pprrzzyy ppoommooccyy mmtt Poziom śledzenia można także zmienić stosując małą ,,sztuczkę''. Wykorzystując komendę fsr programu mt możemy zmienić ten poziom. zftape niestety nie reaguje na to. mt -f /dev/ftape fsr Stosowanie komendy fsr jest _n_i_e_f_o_r_m_a_l_n_ą metodą zmiany poziomu śledzenia. W przyszłości najprawdopodobniej niemożliwe będzie użycie jej. 88..33..33.. SSppoossóóbb 33.. RReekkoommppiillaaccjjaa sstteerroowwnniikkaa Plik tracing.c zawiera linię int tracing=3; - tutaj właśnie zdefiniowana jest domyślna wartość ,,tracingu''. Zmień 3 na 0..8 i skompiluj. 88..44.. CCzzyy mmooggęę wwyymmiieenniiaaćć ttaaśśmmyy zz kkiimmśś,, kkttoo uużżyywwaa MMSS--DDOOSS?? Nie. Chociaż programy DOS'owskie stosują się do wszystkich zaleceń firmy QIC jeśli chodzi o specyfikację QIC-80, nie ma jeszcze programów, które pozwalałyby stosować taśmy nagrane w DOS'ie. Nie powinno być kłopotów z napisaniem takiego programu, pewnie większym problemem byłoby stworzenie przyjaznego interface'u użytkownika... 88..55.. JJaakk ttoo zzrroobbiićć ...... zz ttaarr'em? Najlepiej przeczytać strony podręcznika (man) albo info dotyczące tar'a. Jeśli nie masz żadnej z nich, możesz spróbować Jeśli twój tar jest v.1.11.1 albo starszy, powinieneś uaktualnić go do wersji 1.11.8. Dopiero ta obsługuje opcję -z czyli kompresję archiwum. Wersja ta ma także rozbudowaną pomoc (--help). 88..66.. TTrraannssffeerr ddaannyycchh pprrzzeezz DDMMAA ppoowwoodduujjee ppoojjaawwiiaanniiee ssiięę bbłłęęddóóww EECCCC Niestety niektóre karty SVGA oraz Ethernet niepoprawnie dekodują swoje adresy. Zazwyczaj zdarza się to, gdy bufory ftape'a znajdują się pomiędzy 0x1a0000 a 0x1c0000. DMA ,,gubi'' swoje cykle i co drugi bajt zapisany ma wartość 0xff. Znana jest co najmniej jedna karta, która takie problemy powoduje - ATI 16bit VGA. Najprostszym rozwiązaniem jest włożyć kartę do 8-bitowego slotu (niewystarcza przekofigurować jej na 8-bitowy transfer danych). Przesunięcie buforów ftape'a w inne miejsce pamięci jest tylko półśrodkiem - inne bufory DMA mogą mieć ten sam problem. Powiedzmy sobie jasno - błędy te nie są zawinione przez ftape'a. 88..77.. iinnssmmoodd twierdzi, że wersja jądra jest błędna! insmod może porównywać nr wersji jądra dla którego ftape'a został skompilowany z wersja aktualnie działającego jądra na dwa sposoby: przez porównanie numeru wersji jądra zapisanego w kodzie sterownika z nr działającego jądra albo, jeśli jądro i ftape zostały skompilowane z tzw ,,versioned symbols'' przez porównanie tych symboli. Jeśli uaktualniłeś GCC do wersji 2.7.0 lub późniejszej, musisz skompilować narzędzia obsługujące moduły (m.in : insmod) jeszcze raz. Nowsze wersje insmod pozwalają ,,zmusić'' jądro do załadowania modułu nawet, jeśli wcześniej wspomniane numery wersji się nie zgadzają. 88..88.. CCoo ttoo ssąą ttee ,,,,vveerrssiioonneedd ssyymmbboollss''''?? Jeśli podczas konfigurowania jądra (make config) na pytanie CONFIG_MODVERSIONS odpowiedziałeś twierdząco, wszystkie symbole jądra, które są eksportowane (tzn symbole, które ładowalne moduły ,,widzą'') są poszerzone o sumę kontrolną parametrów wywołania oraz tych zwracanych przez funkcje systemowe. Pozwala to np insmod'owi ustalić, czy definicja danej zmiennej albo funkcji jądra zmieniła się od czasu ostatniej kompilacji ftape'a. Ten sposób ,,znakowania'' symboli sprzyja bezpieczeństwu systemu i weryfikacji kompatybilności poszczególnych jego składników. Jeśli włączysz opcję CONFIG_MODVERSIONS w jądrze, pamiętaj aby wykasować znak '#' w linii MODULE_OPT znajdujący się przed `-DMODVERSIONS -include /usr/include/linux/modversions.h' w pliku ftapeMakefile. I na odwrót, jeśli wyłączysz tę opcję wstaw ten znak (# - znak komentarza) na powrót. 88..99.. iinnssmmoodd mówi, że jądro 1.2.0 różni się od 1.2.0 Czy wstawiłeś łatkę (patch) jądra dotyczącą ksyms.c? Jeśli nie przeczytaj README.linux-1.2 dostarczany razem ze źródłem sterownika. 88..1100.. ffttaappee wyświetla komunikat ,,This tape has no 'Linux raw for­ mat''' Komunikat taki przywita cię, gdy próbujesz bawić się niewykasowaną, świeżo sformatowaną taśmą. Trzeba ją skasować, ponieważ ftape wymaga ,,magicznego nagłówka'' na taśmie, który pozwala sterownikowi posługiwać się nią. Wpisz: # mt -f /dev/nftape erase 88..1111.. ttaarr/mt/cpio/dd? Gdzie mogę znaleźć binaria/kody źródłowe/strony podręcznika programów Wszystkie te narzędzia są tworzone jako projekt GNU i można je znaleźć prawie na każdym serwerze ftp, (więc także na ftp.icm.edu.pl, ftp.pwr.wroc.pl). Na pewno zaś można je znaleźć na serwerze GNU : prep.ai.mit.edu[18.71.0.38]:/pub/gnu. Najnowsze wersje tych programów (na dzień 12 września 1996) to: cpio: 2.4.2 (cpio-2.4.2.tar.gz) dd: 3.13 (fileutils-3.13.tar.gz) mt: 2.4.2 (cpio-2.4.2.tar.gz) tar: 1.11.8 (tar-1.11.8.tar.gz) gzip: 1.2.4 (gzip-1.2.4.tar.gz) Mogą być one skompilowane bez problemu w Linuxie v1.0.4, libc - v4.5.19, gcc - v2.5.8. 88..1122.. GGddzziiee mmoożżnnaa zznnaalleeźźćć iinnffoorrmmaaccjjee nnaa tteemmaatt ssttaannddaarrdduu QQIICC?? Jeśli chcesz przyczynić się do rozwoju ftape'a lub stworzyć własne narzędzia (na przykład program do formatowania taśm) będziesz musiał zapoznać się z odpowiednimi specyfikacjami QIC. Dokumenty, w które powinieneś się zaopatrzyć, to: opis standardu QIC-80, -117, 3010 i 3020. QIC-117 dotyczy obsługi napędu na niskim poziomie - sposób komunikowania się z urządzeniem - nie będziesz więc go prawdopodobnie potrzebować. QIC-80/3010/3020 dotyczą ,,wyższego'' poziomu działania streamera (zawierają m.in. kody ECC, sposób zapisu samych plików na taśmie). Wszystkie te dokumenty można otrzymać od samej firmy: Quarter Inch Cartridge Drive Standards, Inc. 311 East Carrillo Street Santa Barbara, California 93101 Phone: (805) 963-3853 Fax: (805) 962-1541 lub ściągając odpowiednie dokumenty (format Adobe Acrobat) z adresu ftp.qic.org 88..1133.. JJaakkąą wwiieellkkoośśćć bbllookkuu ppoowwiinniieenneemm ssttoossoowwaaćć uużżyywwaajjąącc ttaarr'a? Używając tar'a, dobrym pomysłem jest nakłonienie go do dzielenia danych archiwizowanych na części. Ponieważ ftape tnie archiwa na 29 kilobajtowe bloki, opcja -b58' powinna zapewnić sprawne działanie. ,,Dlaczego akurat 29kB?'' zapytasz pewnie? Zacznijmy więc od początku. Standard QIC-80 mówi, że dane powinny być chronione przez Error Correcting Code (ECC), który pozwala na detekcję i korektę ewentualnych błędów odczytu . Odmiana tego kodu stosowana przez QIC-80 znana jest pod nazwą Reed-Solomon (R-S) code. Zgodnie z jego zaleceniami ftape czyta 29 bajtów danych i na ich podstawie i tworzy 3 bajty parzystości. Aby zwiększyć wydajność kodu ECC, bajty parzystości zapisywane są zaraz po 29-ciu 1-kilobajtowych sektorów danych. ftape zapisuje więc 29kB danych plus 3 kB kodów ECC (29kB * 3b/29b) - co daje w sumie blok 32kB. ftape zawsze posługuje się 32kB blokami, z których tylko 29kB to dane a reszta to dane ECC. Jeśli chcesz dowiedzieć się więcej na temat ECC i Red-Solomon codes przejrzyj pliki ecc.c oraz ecc.h. 88..1144.. ffttaappee wykrywa więcej błędnych sektorów na taśmach QIC-3020 niż programy w DOS'ie Jeśli dokładnie przyjrzysz się różnicy w ilości błędnych sektorów, to zauważysz, że jest ona równa 2784. Liczba, którą podaje ftape jest oczywiście poprawna ;-). Każda które są umieszczone na mapie błędnych sektorów. Oto fragment specyfikacji dotyczących tych taśm: _n_a_r_a_ż_o_n_e _s_ą _n_a _z_w_i_ę_k_s_z_o_n_e _w_y_s_t_ę_p_o_w_a_n_i_e _b_ł_ę_d_ó_w _s_p_o_w_o_d_o_w_a_n_y_c_h _o_d_c_i_s_k_a_n_i_e_m _s_i_ę _n_a _n_o_ś_n_i_k_u _o_t_w_o_r_ó_w _z_n_a_j_d_u_j_ą_c_y_c_h _s_i_ę _n_a _p_o_c_z_ą_t_k_u _t_a_ś_m_y _(_d_z_i_ę_k_i _n_i_m _s_t_r_e_a_m_e_r _w_i_e_, _g_d_z_i_e _j_e_s_t _p_o_c_z_ą_t_e_k _t_a_ś_m_y _-_t_ł_u_m_a_c_z_)_. _D_l_a_t_e_g_o _t_e_ż_, _s_e_k_t_o_r_y _t_e _z_o_s_t_a_n_ą _o_d_z_n_a_c_z_o_n_e _j_a_k_o _b_ł_ę_d_n_e _p_o_d_c_z_a_s _f_o_r_m_a_t_o_w_a_n_i_a _i _u_m_i_e_s_z_c_z_o_n_e _n_a _m_a_p_i_e _b_ł_ę_d_n_y_c_h _s_e_k_t_o_r_ó_w_._'_' Daje to więc 12 ścieżek * 2 * 4 segmenty *29 sektorów = 2784 sektorów. ftape podaje więc prawdziwą ilość sektorów wyłączonych z użycia, DOS zaś daje bardziej ,,optymistyczny'' obraz sytuacji, co lepiej chyba pokazuje jakość taśmy. Zachowanie ftape'a może zmienić się w przyszłości - być może podawane będą dwie wartości ilości błędnych sektorów, jednak zadanie to ma stosunkowo niski priorytet. Powyższe informacje dotyczą także taśm QIC-3010. 88..1155.. SSyyssllooggdd pprrzzeessaaddzzaa zz iilloośścciiąą kkoommuunniikkaattóóww ffttaappee'a Opcje NO_TRACE i NO_TRACE_AT_ALL służą do kontrolowania ilości informacji przekazywanych do pliku log'u. Użyj jednej z tych opcji w plik Makefile i skompiluj jeszcze raz. 88..1166.. ,,,,PPoolleerroowwaanniiee'''' ,,Polerowanie'' to nieskończone przewijanie po kawałeczku taśmy w przód i w tył - tak jakby streamer chciał wypolerować i tak już błyszczącą taśmę. To niecodzienne zjawisko zostało zaobserwowane na Jumbo 250 (przez 74404.3051@compuserve.com) oraz na Iomega 250 Ditto Insider (tom@opus.cais.com). W drugim przypadku okazało się, że to wina twardziela SCSI podłączonego do Adapteca 1542cf. Skontaktuj się ze mną jeśli masz swoje własne teorie na temat takiego zachowania. 88..1177.. PPrróóbbuujjąącc sskkoommppiilloowwaaćć ffttaappee otrzymuję błąd: modversions.h: no such file or directory Plik modversions.h jest tworzony podczas kompilacji jądra z włączoną opcją CONFIG_MODVERSIONS. Dokładniej, komenda make dep powoduje jego utworzenie. Jeśli występuje w/w błąd, to prawdopodobnie zbiór ten został skasowany poleceniem make mrproper. Trzeba więc rekonfigurować jądro, i wykonać make dep aby przywrócić ów plik. 88..1188.. CCoo rroobbii ''mmtt eeoomm' jeśli nadpisuję nowy plik w środku taśmy? EOM znaczy End Of Recorded Media - czyli miejscę w którym kończy się jakikolwiek zapis na taśmie. ,,Pliki'' na taśmie są specyficznym rodzajem plików - są one zapisywane sekwencyjnie (gęsiego) i taki jest też do nich dostęp. Zapisując dane na taśmie możemy dołączać nowy plik na końcu gąśiennicy lub też uciąć ją w połowie i wyrzucając ogon dokleić nasze nowe archiwum. Ten drugi przypadek zachodzi właśnie wtedy gdy zapisujemy dane w środku zapisanej taśmy. ftape przed utworzeniem takiego archiwum kasuje (!) wszystkie pliki następujące po miejscu, w którym chcemy pisać (przenosi znak EOM w to miejsce) i zaczyna archiwizować. Oznacza to, że nowy znak EOM znajdzie się zaraz za naszym nowo utworzonym archiwum. Jedną z konsekwencji tego, jest fakt, że zapisując plik w środku taśmy, zostaje skasowany nie tylko zbiór znajdujący się wcześniej w tym miejscu ale także wszystkie po nim następujące. 88..1199.. HHeellpp!! WW pplliikkuu ssyysslloogguu ssyysstteemm rraacczzyy mmnniiee kkoommuunniikkaatteemm ddmmaaaalllloocc(()) ffaaiilleedd!! Taki komunikat może pojawić się tylko wtedy, gdy instalujesz ftape'a jako moduł. Spróbuj uruchomić swapout na początek. Program ten dostarczany jest razem z kodem źródłowym ftape'a ale nie tym dostarczanym ze źródłami jądra, lecz w osobnym pakiecie ftape.X.y.tgz. Oto przykład fragmentu pliku rc.local, który może wybawić cię z kłopotu: # Instaluj Streamera if [ -f /boot/modules/`uname -r`/misc/ftape.o ]; then echo Instaluję ftape'a, Linux w.`uname -r` swapout insmod /boot/modules/`uname -r`/misc/ftape.o fi Tego rodzaju błąd nie wystąpi, jeśli wkompilujesz ftape'a bezpośrednio w jądro. 88..2200.. CCzzyy wwsszzyysskkoo jjeesstt ww ppoorrzząąddkkuu,, ggddyy wwyykkoonnuujjąącc kkoommeennddęę mmtt ffssff, mt bsf taśma się nie przesuwa? Oczywiście. Sterownik po prostu zmienia swój wewnętrzny licznik, gdy wydajesz jedną z tych komend. Taśma zostanie przewinięta w odpowiednie miejsce, kiedy wydasz polecenie zapisu/odczytu. 99.. OOddpplluusskkwwiiaanniiee sstteerroowwnniikkaa ffttaappee. 99..11.. JJąąddrroo//ffttaappee zawiesza się gdy ..... - czy to błąd? Nie, tak miało być ;-) A teraz poważnie. Dobry program się nie wiesza. Szczególnie jądro tego nie robi lub nniiee ppoowwiinnnnoo tego robić. Jeśli jednak tak się stanie i możesz udowodnić, że to ftape jest winowajcą, możesz uznać to jako Błąd, Który Powinien Być Usunięty. Napisz do administratora () oraz na listę dyskusyjną. 99..22.. NNoo ddoobbrraa,, ttoo bbłłąądd -- jjaakk ggoo zzggłłoośśiićć?? Na początek, upewnij się, że możesz odtworzyć sytuację w której wystąpił ,,błąd''. Fałszywe błędy są szczególnie wredne, bo bardzo trudno je wytropić (podobnie jak i prawdziwe):-/. Oto krótka lista małego myśliwego: ˇ Wersja jądra i użyte łatki ˇ Wersja ftape'a ˇ model/producent streamera ˇ typ szyny/magistrali (ISA/EISA/PCI lub VL-bus) ˇ Co zrobiłeś, żeby sprowokować wystąpienie błędu ˇ Co się wtedy stało ˇ Nie kasuj jądra ani ftape'a. Może zostaniesz poproszony o wypróbowanie jakichś łatek albo posłużyć się innym testem wykrywającym być może i inne potencjalne błędy. Zwiększ wartość ,,trace level'' do 7 (prawie maksymalny poziom śledzenia) i uruchom program/komendę które sprawiały kłopot. Potem przeczytaj informacje zawarte w logu jądra (lub /proc/kmsg/ zależnie od tego gdzie jądro umieszcza swoje komunikaty). Sprawdź, co wypisuje tam ftape. Na początku może to się wydawać kompletnym bełkotem ale komunikaty jądra/ftape'a mogą okazać się ważnym źródłem informacji o twoich problemach. Większość zapisów zawiera nazwę funkcji, która go wysłała, co może uprościć znacznie odpluskwianie. Następnie przejrzyj odpowiednie pliki źródłowe i spróbuj sam zlokalizować robaka ;-). Jeśli wersja twojego jądra (lub ftape'a) jest nie pierwszej świeżości spróbuj użyć nowszej (lub najnowszej) i wtedy sprawdź czy błąd jeszcze występuje. Jeśli zdecydujesz się przesłać informacje o nim, pamiętaj, żeby umieścić istotne informacje o twoim systemie - wersje jądra, ftape'a, dane płycty głównej (ISA/PCI/....) szybkości zegara, kontrolera FDC i samego tasiemca. Opisz dokładnie i zwięźle sytuację. Niektórzy nie mogą odpalić streamera na płytach PCI a na 396DX ISA wszystko gra i buczy (dlatego przyglądnij się dokładnie punktowi ``Płyty główne PCI i ftape''). Pomyśl także o tych biednych duszyczkach, które płacą niemało kapuchy za dostęp do Internetu - nie wysyłaj potężnych logów sterownika bez wyraźnego powodu. Zamiast tego opisz swój problem i zaoferuj, że wyślesz log do zainteresowanych. Swoje spostrzeżenia/raport wyślij do . Możesz także napisać do . 1100.. PPooddzziięękkoowwaanniiaa Oto lista ludzi, którzy przyczynili się do powstania niniejszego dokumentu. Chciałbym także przeprosić tych, którzy powinni się znaleźć na niej a jakimś trafem tak się nie stało. Kai Harrekilde-Petersen : Poprzedni administrator ftape'a oraz HOWTO. Andrew Martin : Wniósł wiele dodatkowych informacji w HOWTO. Bas Laarhoven : Autor ftape'a. 1111.. OOdd ttłłuummaacczzaa 1111..11.. OObbssłłuuggaa nnaappęęddóóww ppooddłłąącczzaannyycchh ddoo ppoorrttuu rróówwnnoolleeggłłeeggoo W oryginalnej wersji Ftape-HOWTO autor nie zamieścił informacji na temat możliwości obsługi streamerów podłączanych do portu równoległego. Wkrótce jednak, mam nadzieję, zostanie zapełniona ta luka i będzie o tym można przeczytać w niniejszym Ftape-HOWTO. Ze swojej strony mogę dodać, że jest już dostępna łatka na jądro (2.0.29 i 2.0.30 oraz w wersjach rozwojowych 2.1.xx) parport, która pozwala na obsługę urządzeń podłączanych do portu równoległego - nie tylko streamerów. Jedyny znany mi model stremaera działający z tą łatką to Trakker. Bezpośrednią obsługą tego urządzenia zajmuje się druga, osobna łatka. Miałem przyjemność pracować z owymi ,,nowościami'' oraz Trakkerem i moje wrażenia są co najmniej pozytywne. Chociaż ,,testowałem'' dość wczesną wersję trakker.c i na początku streamer nie chciał w ogóle odpalić, wkrótce otrzymałem poprawioną wersję źródła i mogłem już tworzyć pierwsze archiwa. Więcej informacji o łatce parport można znaleźć na stronie http://www.cyberelk.demon.co.uk/parport.html . Informacje o łatce dla Trakkera są na stronie http://www.informatik.uni- oldenburg.de/~delwi/trakker.html Jeśli znasz inne urządzenia współpracujące z parport'em, daj mi znać yacoob@manager.ae.wroc.pl. Dzięki! 1111..22.. SSłłoowwoo oo FFttaappee--HHOOWWTTOO--ppll 1111..22..11.. ZZmmiiaannyy Jedyne zmiany w stosunku do oryginalnego tekstu, dotyczą adresów internetowych pod którymi można znaleźć inne dokumenty - wskazałem polskie mirrory. Inne zmiany są odznaczone w dokumencie dopiskiem _t_ł_u_m_a_c_z. Więcej grzechów nie pamiętam. 1111..22..22.. AAddrreess Najnowsze wersje niniejszego dokumentu znajdują się na stronie http://manager.ae.wroc.pl/~yacoob/ftape-HOWTO-pl.html 1111..22..33.. ,,,,FFeeeeddbbaacckk'''' cczzyyllii wwsszzeellkkiiee _c_o_m_m_e_n_t_s ddoottyycczząąccee _p_e_r_f_o_r_m_a_n_c_e Jeśli masz jakieś uwagi/zastrzeżenia/skargi dotyczące tego dokumentu (tłumaczenia Ftape-HOWTO) podziel się nimi ze mną. Wszelkie wytknięte błędy (literówki, koślawe tłumaczenie, błędy merytoryczne) postaram się usunąć jak najszybciej. Jakub Chmielewski yacoob@manager.ae.wroc.pl