ftape-HOWTO - streamery w Linuxie - jak to zrobić

Autor : Kevin Johnson, <kjj@pobox.com>
v2.0, 15 Marca 1997
Wersja polska : Jakub Chmielewski yacoob@manager.ae.wroc.pl
v0.99.1, 6 lipca 1997 roku.


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 'Travan' (TR-2 i TR-3). Napędy te łączą się z komputerem przez kontroler dyskietek (FDC). Niniejszy tekst nie dotyczy 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

1. Legalności

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.

2. Historia uaktualnień

wersja 2.0 (15.3.1997)

wersja 1.9 (20.9.1996)

wersja 1.8 (22.5.1996)

wersja 1.7.1 (13.2.1996)

wersja 1.7 (January 28.1.1996)

wersja 1.6.2 (23.1.1996)

wersja 1.6.1 (16.1.1996)

wersja 1.6 (10.1.1996)

3. Wstęp

Sterownikiem ftape i jego źródłami administruje Claus Heine <claus@momo.math.rwth-aachen.de>. 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ą (<kjj@pobox.com>).

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 ftp://sunsite.unc.edu:/pub/Linux/doc/HOWTO 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ą,

3.1 Co to jest ftape

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ć to, 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ń.

4. Instalacja ftape'a

4.1 Gdzie można znaleźć ftape

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 :-) ).

4.2 Instalacja sterownika

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

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ł (od tego czasu wiele się zmieniło i teraz ftape 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:

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.

4.3 Śledzenie rozwoju ftape'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).

4.4 Współpraca ftape 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.

5. Taśmy i streamer w użyciu

5.1 Formatowanie

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).

Czy można formatować taśmy pod Linuxem?

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 bez 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

Jakich programów używać do formatowania taśm (dla DOS'u)?

Poniżej wymienione zostały programy, które zostały sprawdzone i chodzą:

A te programy są mniej lub bardziej pewne:

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 (<dennisf@denix.elk.miles.com>) 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 ( <kjj@pobox.com> żebym mógł uaktualnić powyższą listę.

5.2 Retenstioning

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

5.3 Czyszczenie napędu

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.

5.4 Napędy współpracujące z ftape

Wszystkie napędy zgodne z QIC-117 oraz 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

Alloy Retriever 250

Archive 5580i, XL9250i

Colorado DJ-10, DJ-20 (tzn: Jumbo 120, Jumbo 250)

Colorado 1400

<kosowsky@bellini.harvard.edu> poinformował mnie o kłopotach podczas archiwizowania 1GB danych za pomocą tapera.

HP Colorado T1000

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. (<millner@millner.bevc.blacksburg.va.us>)

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. (<millner@millner.bevc.blacksburg.va.us>).

Conner C250MQ(T)

Napęd ten zgłasza błedy zapisu i często repozycjonuje taśmę (Frank Stuess z Nacamar Data Communications).

Conner TSM420R, TSM850R

Modele 400 i 800 współpracują tylko z taśmami TR-1.

Conner TST3200R

Pracuje z taśmami TR-3 (tzn. tylko pojemność 1600MB) przy prędkości 1Mbps. Współpracuje też z QIC-WIDE 400m (Sony 5122?) (<chris@cs.wmich.edu>). 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 (<chris@yakkocs.wmich.edu>).

Conner TST800R

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 (<khp@pip.dknet.dk>). 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 (<jzc@primenet.com>). Pojawia się także błąd "Timer expired" gdy używane są taśmy TR-1 i ftape 2.05-2.07) (<les@amc.uva.nl>).

Conner CTT3200

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 (<jmorris@dtx.net>).

Conner 1.7G Tapestor (TSM1700R)

Działa z nośnikami QIC-WIDE (<pschmidt@slip.net>). 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???) (<ttait@tiac.net>). Kontroler HSC może nie działać w trybie 2Mbps - wyświetlany jest tylko komunikat "dumb tape stop" i koniec. (<ttait@tiac.net>).

Escom or Archive (Hornet) 31250Q

Exabyte EXB-1500

Działa z taśmami QIC-3010, wymaga jednak łatki (,,the length patch'').

Exabyte TR-3

Irwin 80SX, Insight 80Mb

Iomega 250

Iomega Ditto Tape Insider 420, 1700

Iomega Ditto Tape Insider 3200

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 (<erwin@box.nl>). Czasami, także po pierwszym zapisie/odczycie, sterownik uznaje taśmę za zabezpieczoną przed zapisem (<erwin@box.nl>, <M.J.Ammerlaan@dutiwy.twi.tudelft.nl>). 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.

Iomega Ditto 800 Insider

Można używać taśm Travan TR1, TR2 albo DC2120, ale trzeba użyć łatki ,,the length patch''

(<klein@informatik.uni-rostock.de>).

Mountain FS8000

Reveal TB1400

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 (<colin@colina.demon.co.uk>).

Summit SE 150, SE 250

Tallgrass FS300

Jeśli twój kontroler to AHA1542B, musisz zwiększyć jego czas bus-on/bus-off. Antti Virjo (<klanvi@uta.fi>), pisze, że można tego dokonać zmieniając CMD_BUSON_TIME w pliku linux/drivers/scsi/aha1542.c z 4 na 12.

Teac 800

Memorex tape drive backup system

Wangtek 3040F, 3080F

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 (<kjj@pobox.com>).

5.5 kontrolery współpracujące z ftape

ftape obsługuje następujące specjalne kontrolery :

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 <sbailey@xcc.mc.xerox.com>)

Iomega Ditto Dash i inne kontrolery 2Mbps

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.

5.6 Napędy nie współpracujące z ftape

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.

5.7 Współpraca zewnętrznego streamera z ftape'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.

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!

5.8 Płyty główne PCI i ftape

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.

6. Archiwizowanie i odtwarzanie danych

Punkt ten opisuje niektóre funkcje tar i mt.

6.1 Archiwizowanie

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.

6.2 Odtwarzanie danych

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 'broken pipe' - tu urwane archiwum). Zignoruj to.

Informacje o innych narzędziach znajdziesz na stronach podręcznika.

6.3 Weryfikacja archiwum

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'

6.4 Zapisywanie kilku(nastu) archiwów na jednej taśmie

Ż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 oraz 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:

6.5 Dołączanie nowych plików do archiwum

,,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).

6.6 Montowanie/demontowanie (mount/umount) 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 przeznaczonego do obsługi streamera.

7. Tworzenie dyskietki systemowej (startowej) dla ftape

Niniejszy rozdział zostałnapisany przez Clausa Tøndering <ct@login.dknet.dk>.

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 <grahamc@zeta.org.au>. 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.

8. Często zadawane pytania (FAQ)

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! )

8.1 Czy ftape 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.

8.2 Jak szybki jest ftape?

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.

8.3 Jak zmienia się ,,trace-level''?

,,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:

Wartość tego parametru można zmienić na trzy sposoby:

Sposób 1. insmod

Jeśli twój ftape jest modułem, możesz zdefiniować poziom jako opcję tej komendy.

         /sbin/insmod ftape.o tracing=<poziom-śledzenia>

Sposób 2. Zmiana ,,trace-level'' przy pomocy mt

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 <poziom-śledzenia>

Stosowanie komendy fsr jest nieformalną metodą zmiany poziomu śledzenia. W przyszłości najprawdopodobniej niemożliwe będzie użycie jej.

Sposób 3. Rekompilacja sterownika

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.

8.4 Czy mogę wymieniać taśmy z kimś, kto używa MS-DOS?

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...

8.5 Jak to zrobić ... z tar'em?

Najlepiej przeczytać strony podręcznika (man) albo info dotyczące tar'a. Jeśli nie masz żadnej z nich, możesz spróbować 'tar --help 2>&1 | less'.

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).

8.6 Transfer danych przez DMA powoduje pojawianie się błędów ECC

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.

8.7 insmod 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ą.

8.8 Co to są te ,,versioned symbols''?

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.

8.9 insmod 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.

8.10 ftape wyświetla komunikat ,,This tape has no 'Linux raw format'''

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

8.11 Gdzie mogę znaleźć binaria/kody źródłowe/strony podręcznika programówtar/mt/cpio/dd?

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.

8.12 Gdzie można znaleźć informacje na temat standardu QIC?

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

8.13 Jaką wielkość bloku powinienem stosować używając tar'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.

8.14 ftape 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 ''bezbłędnie'' sformatowana taśma ma 2784 sektory w stałych miejscach, które są umieszczone na mapie błędnych sektorów. Oto fragment specyfikacji dotyczących tych taśm: ''Ścieżki 5,7,9,11,13,15,17,19,21,23,25 i 27 wewnątrz 4 segmentów EOT lub BOT narażone są na zwiększone występowanie błędów spowodowanych odciskaniem się na nośniku otworów znajdujących się na początku taśmy (dzięki nim streamer wie, gdzie jest początek taśmy -tłumacz). Dlatego też, sektory te zostaną odznaczone jako błędne podczas formatowania i umieszczone na mapie błędnych sektoró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.

8.15 Syslogd przesadza z ilością komunikatów ftape'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.

8.16 ,,Polerowanie''

,,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.

8.17 Próbując skompilować ftape 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.

8.18 Co robi 'mt eom' 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.

8.19 Help! W pliku syslogu system raczy mnie komunikatem dmaalloc() failed!

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.

8.20 Czy wszysko jest w porządku, gdy wykonując komendę mt fsf, 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.

9. Odpluskwianie sterownika ftape.

9.1 Jądro/ftape 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 nie powinno 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 (<kjj@pobox.com>) oraz na listę dyskusyjną.

9.2 No dobra, to błąd - jak go zgłośić?

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:

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 <linux-tape@vger.rutgers.edu>. Możesz także napisać do <claus@momo.math.rwth-aachen.de>.

10. Podziękowania

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 <khp@dolphinics.no>: Poprzedni administrator ftape'a oraz HOWTO.

Andrew Martin <martin@biochemistry.ucl.ac.uk>: Wniósł wiele dodatkowych informacji w HOWTO.

Bas Laarhoven <bas@vimec.nl>: Autor ftape'a.

11. Od tłumacza

11.1 Obsługa napędów podłączanych do portu równoległego

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!

11.2 Słowo o Ftape-HOWTO-pl

Zmiany

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łumacz. Więcej grzechów nie pamiętam.

Adres

Najnowsze wersje niniejszego dokumentu znajdują się na stronie http://manager.ae.wroc.pl/~yacoob/ftape-HOWTO-pl.html

,,Feedback'' czyli wszelkie comments dotyczące performance

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