Blog literacki, portal erotyczny - seks i humor nie z tej ziemi
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)
opis ftape w wersji 2.11 i 3.xx
mnóstwo innych uaktualnień
wersja 1.9 (20.9.1996)
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.
wersja 1.8 (22.5.1996)
Zmieniony Copyright (zgodny z GNU GPL v2)
Zmienił się adres email administratora.
uaktualnienie do ftape-2.08
ftape jest teraz częścią jądra.
wersja 1.7.1 (13.2.1996)
Uaktualnienie do ftape-2.06b
wersja 1.7 (January 28.1.1996)
Uaktualnienie do ftape-2.06 i modułów-1.3.57
wersja 1.6.2 (23.1.1996)
Dodano opis Connor TST3200R.
Uaktualnino informacje o 2Mbps FDC.
wersja 1.6.1 (16.1.1996)
drobne poprawki
wersja 1.6 (10.1.1996)
Nowy administrator ftape'a
Uaktualnienie do w2.05
Dodane nowe napędy
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
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ł (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:
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.
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ą:
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 (<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 T1000dział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, TSM850RModele 400 i 800 współpracują tylko z taśmami TR-1.
Conner TST3200RPracuje 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 TST800RDziałą 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 CTT3200CTT3200 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-1500Dział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 3200Wł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 InsiderMoż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 FS300Jeś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 :
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
<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
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.
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.
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!
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:
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 program/użytkownik
nie wyda stosownej komendy (np czytania/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: Przewiń taśmę do początku. 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 dopiero wtedy, gdy zostaje ona przewinięta! 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.
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.
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 przerwania.
To oznacza, że będziesz musiał załadować dyskietkę startową do
RAMDYSK'u. Jest to o tyle niewygodne, że programy służące do odtwarzania
zawartości taśmy nie mogą być uruchamiane z dyskietki. Masz dwie możliwości:
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.
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 : WYPRÓBÓJ JĄ;. 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.
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:
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:
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:
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 <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.htmlJeś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