Ftape HOWTO pl 8 (2)


ftape-HOWTO - streamery w Linuxie - jak to zrobić: Często zadawane pytania (FAQ) Następna strona Poprzednia strona Spis treści 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ów tar/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. Następna strona Poprzednia strona Spis treści

Wyszukiwarka

Podobne podstrony:
ftape howto pl
Ftape HOWTO pl 9 (2)
Ftape HOWTO pl 7 (2)
Ftape HOWTO pl 6 (2)
Ftape HOWTO pl 1 (2)
Ftape HOWTO pl 3 (2)
Ftape HOWTO pl
Ftape HOWTO pl 2 (2)
Ftape HOWTO pl 11 (2)
Ftape HOWTO pl 10 (2)
Ftape HOWTO pl 4 (2)
ftape howto pl 5
Ftape HOWTO pl (2)
bootdisk howto pl 8
PPP HOWTO pl 6 (2)
NIS HOWTO pl 1 (2)
cdrom howto pl 1
jtz howto pl 5
Keystroke HOWTO pl (2)

więcej podobnych podstron