btcflash - Narzędzie flashowania oprogramowania układowego dla nagrywarki BTC DRW1008 DVD+/-RW
btcflash dev=device [ options ] [ f=firmwarefile ]
Btcflash służy do odczytywania aktualizacji oprogramowania sprzętowego nagrywarki BTC DRW1008 DVD+/-RW.
Bądź bardzo ostrożny podczas pisania oprogramowania układowego, ponieważ ten program nie sprawdza poprawności urządzenia docelowego.
Aby uzyskać listę możliwych parametrów nazwy urządzenia, zadzwoń
"btcflash -scanbus
Lub
"btcflash dev=help
a następnie użyj odpowiedniego parametru dev= na podstawie listy urządzeń.
Drukuje krótkie podsumowanie opcji p i istnieje.
Wydrukuj informacje o wersji i wyjdź.
Ustaw cel SCSI dla nagrywarki CD/DVD/BluRay, patrz uwagi powyżej. Typowa specyfikacja urządzenia docelowego to dev=1,6,0 . Jeśli nazwa pliku musi być podana wraz z numeryczną specyfikacją celu, nazwa pliku jest specyficzna dla implementacji. W tym przypadku poprawną nazwę pliku można znaleźć w podręcznikach systemowych docelowego systemu operacyjnego. W systemie FreeBSD bez obsługi CAM musisz użyć urządzenia sterującego (np. /dev/rcd0.ctl). W tym przypadku poprawna specyfikacja urządzenia może wyglądać następująco: dev=/dev/rcd0.ctl:@ .
Ogólne adresowanie SCSI
urządzenie docelowe w opcji dev= odnosi się do scsibus/target/lun nagrywarki CD/DVD/BluRay. Komunikacja w systemie SunOS odbywa się za pomocą ogólnego sterownika SCSI scg. Inne systemy operacyjne używają symulacji biblioteki tego sterownika. Możliwa składnia to: dev= scsibus, target, lun lub dev= <cel,lun. W tym drugim przypadku nagrywarka CD/DVD/BluRay musi być podłączona do domyślnej szyny SCSI urządzenia. Scsibus, cel i lun są liczbami całkowitymi. Niektóre systemy operacyjne lub implementacje transportu SCSI mogą wymagać podania dodatkowo nazwy pliku. W tym przypadku poprawna składnia urządzenia to: dev= nazwa urządzenia:scsibus,target, lun lub dev= nazwa urządzenia: cel, lun. Jeśli nazwa węzła urządzenia, która została określona w takim systemie, odnosi się dokładnie do jednego urządzenia SCSI, skrót w postaci dev= nazwa urządzenia:@ lub dev= nazwa urządzenia: @, lun można użyć zamiast dev=< nazwa urządzenia: scsibus, cel, lun.
Zdalne adresowanie SCSI
Aby uzyskać dostęp do zdalnych urządzeń SCSI, należy poprzedzić nazwę urządzenia SCSI wskaźnikiem zdalnego urządzenia. Wskaźnik urządzenia zdalnego to REMOTE:user@host: lub REMOTE:host: Prawidłowe zdalne urządzenie SCSI nazwa może być: REMOTE:user@host:, aby umożliwić zdalne skanowanie magistrali SCSI lub REMOTE:user@host:1,0 ,0, aby uzyskać dostęp do urządzenia SCSI na hoście podłączonym do szyny SCSI nr 1,target 0, lun 0. Aby umożliwić zdalny dostęp do określonego hosta , program rscsi(1) musi być obecny i skonfigurowany na hoście.
Alternatywne transporty SCSI
Dyski ATAPI to po prostu dyski SCSI, które z natury wykorzystują „interfejs pakietów ATA jako warstwę transportu poleceń SCSI wbudowaną w Transport IDE (ATA). Może być konieczne określenie alternatywnej warstwy transportowej w wierszu poleceń, jeśli system operacyjny nie zaimplementował w pełni zintegrowanego podsystemu sterownika jądra, który umożliwia dostęp do dowolnego dysku za pomocą poleceń SCSI za pośrednictwem jednego unikalny interfejs użytkownika.
Aby uzyskać dostęp do urządzeń SCSI za pośrednictwem alternatywnych warstw transportowych, należy poprzedzić nazwę urządzenia SCSI wskaźnikiem warstwy transportowej. Wskaźnikiem warstwy transportowej może być coś w rodzaju USCSI: lub ATAPI:. Aby uzyskać listę obsługiwanych warstw transportowych dla Twojej platformy, użyj dev= POMOCY:
Tło przenośności
Aby btcflash był przenośny na wszystkie platformy UNIX, składnia dev= nazwa urządzenia:scsibus,target, lun jest preferowany, ponieważ ukrywa przed użytkownikiem informacje o nazwach urządzeń specyficzne dla systemu operacyjnego. Określony system operacyjny może niekoniecznie obsługiwać sposób określania rzeczywistej nazwy pliku urządzenia ani sposób określania scsibus, target, lun.
Scsibus 0 to domyślna magistrala SCSI na komputerze. Obejrzyj komunikaty startowe, aby uzyskać więcej informacji, lub zajrzyj do /var/adm/messages, aby uzyskać więcej informacji o konfiguracji SCSI twojego komputera. Jeśli masz problem z ustaleniem, jakie wartości dla scsibus, target, lun należy użyć, wypróbuj -scanbus opcja btcflash opisana poniżej.
Używanie logicznych nazw urządzeń
Jeśli nie ma opcji dev, btcflash spróbuje pobrać urządzenie ze środowiska CDR_DEVICE.
Jeśli plik /etc/default/cdrecord istnieje i jeśli argument opcji dev= lub środowiska CDR_DEVICE nie zawiera znaków „,”, „/” , '@' lub ':' jest interpretowana jako nazwa etykiety urządzenia zdefiniowana w pliku /etc/default/cdrecord (patrz sekcja PLIKI).
Tryb automatycznego kierowania
Jeśli nie ma opcji dev= ani środowiska CDR_DEVICE lub jeśli zawiera tylko specyfikator transportu, ale nie ma zapisu adresu, btcflash próbuje przeskanować przestrzeń adresową SCSI dla napędów CD-ROM. Jeśli zostanie znaleziony dokładnie jeden, jest on używany domyślnie.
Ustaw domyślną wartość limitu czasu polecenia SCSI na #"sekund. Domyślny limit czasu polecenia SCSI to minimalny limit czasu używany do wysyłania poleceń SCSI. Jeśli polecenie SCSI nie powiedzie się z powodu przekroczenia limitu czasu , możesz spróbować podnieść domyślny limit czasu polecenia SCSI powyżej wartości limitu czasu polecenia zakończonego niepowodzeniem. Jeśli polecenie działa poprawnie z podniesionym limitem czasu polecenia, zgłoś lepszą wartość limitu czasu i odpowiednią komendę autorowi programu. Jeśli nie opcja timeout jest obecna, używany jest domyślny limit czasu wynoszący 40 sekund.
Ustaw wartość debugowania misc na # (z debug=#) lub zwiększ poziom debugowania misc o jeden (z -d). Jeśli podasz -dd, będzie to równe debug=2. Może to pomóc w znalezieniu problemów podczas otwierania sterownika dla libscg. a także z rozmiarami sektorów i typami sektorów. Użycie -debug spowalnia proces i może być przyczyną niedopełnienia bufora.
Powiedz sterownikowi scg, aby zmodyfikował wartość debugowania jądra podczas działania poleceń SCSI.
Nie drukuj raportu stanu dla nieudanych poleceń SCSI.
Zwiększ poziom ogólnej gadatliwości o jeden. Jest to wykorzystywane m.in. aby wyświetlić postęp procesu.
Zwiększ poziom szczegółowości w odniesieniu do transportu poleceń SCSI o jeden. Pomaga to debugować problemy podczas procesu, które występują w nagrywarce CD. Jeśli otrzymasz niezrozumiałe komunikaty o błędach, powinieneś użyć tej flagi, aby uzyskać bardziej szczegółowe dane wyjściowe. -VV dodatkowo pokaże zawartość bufora danych. Użycie -V lub -VV spowalnia ten proces.
Określ nazwę pliku, z którego ma zostać odczytane oprogramowanie układowe.
Przeskanuj wszystkie urządzenia SCSI na wszystkich szynach SCSI i wydrukuj ciągi zapytań. Tej opcji można użyć do znalezienia adresu SCSI urządzeń w systemie. Liczby wydrukowane jako etykiety są obliczane przez: "bus * 100 + cel
Oddzielona przecinkami lista opcji SCSI obsługiwanych przez libscg. Zaimplementowane opcje mogą być aktualizowane niezależnie od aplikacji. Obecnie jedna opcja: ignore-resid jest obsługiwana w celu obejścia błędu jądra Linuksa.
Ustaw maksymalny rozmiar transferu dla pojedynczego polecenia SCSI na #. Składnia opcji ts= jest taka sama jak dla cdrecord fs=# lub sdd bs=#.
Jeśli nie określono opcji ts=, btcflash domyślnie przyjmuje rozmiar transferu 256 kB. Jeśli biblioteka libscg pobiera niższe wartości z systemu operacyjnego, wartość ta jest zmniejszana do maksymalnej wartości możliwej w bieżącym systemie operacyjnym. Czasami pomocne może być dalsze zmniejszenie rozmiaru transferu lub jego zwiększenie, ale pamiętaj, że znalezienie lepszej wartości może zająć dużo czasu, eksperymentując z opcją ts=.
Jeśli obecne jest środowisko RSH, zdalne połączenie nie zostanie utworzone przez rcmd(3), ale przez wywołanie programu wskazanego przez RSH. użyj np. RSH=/usr/bin/ssh, aby utworzyć bezpieczne połączenie powłoki.
Zauważ, że zmusza to cdrecord do utworzenia potoku do programu rsh(1) i uniemożliwia cdrecord bezpośredni dostęp do gniazda sieciowego do zdalnego serwera . Uniemożliwia to ustawienie parametrów wydajności i spowalnia połączenie w porównaniu z połączeniem zainicjowanym przez root rcmd(3).
Jeśli obecne jest środowisko RSCSI, zdalnym serwerem SCSI nie będzie program /opt/schily/sbin/rscsi, ale program wskazywany przez RSCSI silny>. Należy pamiętać, że nazwa programu zdalnego serwera SCSI zostanie zignorowana, jeśli zalogujesz się przy użyciu konta utworzonego w programie zdalnego serwera SCSI jako powłoka logowania.
cdrecord(1), scg(7), rcmd(3), ssh(1).
Typowy komunikat o błędzie dla polecenia SCSI wygląda następująco:
btcflash: I/O error. test unit ready: scsi sendcmd: no error CDB: 00 20 00 00 00 00 status: 0x2 (CHECK CONDITION) Sense Bytes: 70 00 05 00 00 00 00 0A 00 00 00 00 25 00 00 00 00 00 Sense Key: 0x5 Illegal Request, Segment 0 Sense Code: 0x25 Qual 0x00 (logical unit not supported) Fru 0x0 Sense flags: Blk 0 (not valid) cmd finished after 0.002s timeout 40s
Pierwsza linia zawiera informacje o transporcie polecenia. Tekst po pierwszym dwukropku zawiera tekst błędu dla wywołania systemowego z widoku jądra. Zwykle jest to: "Błąd wejścia/wyjścia, chyba że wystąpią inne problemy. Następne słowa zawierają krótki opis polecenia SCSI, które się nie powiodło. Pozostała część wiersza informuje o problemach z transportem polecenia przez szynę SCSI. "błąd krytyczny oznacza, że przesłanie polecenia nie było możliwe (tzn. brak urządzenia pod żądanym adresem SCSI).
Drugi wiersz drukuje blok deskryptora polecenia SCSI dla polecenia zakończonego niepowodzeniem.
Trzeci wiersz zawiera informacje o kodzie stanu SCSI zwróconym przez polecenie, jeśli transport polecenia powiedzie się. To jest informacja o błędzie z urządzenia SCSI.
Czwarta linia to zrzut szesnastkowy informacji o wykrywaniu automatycznego żądania dla polecenia.
Piąty wiersz to tekst błędu dla klucza wykrywania, jeśli jest dostępny, po którym następuje numer segmentu, który jest ważny tylko wtedy, gdy polecenie było poleceniem kopiuj. Jeśli komunikat o błędzie nie jest bezpośrednio związany z bieżącym poleceniem, dołączany jest tekst odroczony błąd.
Szósty wiersz to tekst błędu dla kodu sensownego i kwalifikator sensowny, jeśli jest dostępny. Jeśli typ urządzenia jest znany, dane czujnika są dekodowane z tabel w scsierrs.c". Po tekście następuje wartość błędu dla jednostki wymienialnej w terenie.
W siódmym wierszu drukowany jest numer bloku związany z nieudanym poleceniem oraz tekst kilku flag błędów. Numer bloku może być nieprawidłowy.
Ósmy wiersz informuje o przekroczeniu limitu czasu dla tego polecenia oraz o czasie, który polecenie naprawdę potrzebowało do wykonania.
Joerg Schilling
Seestr. 110
D-13353 Berlin
GermanyDodatkowe informacje można znaleźć na stronie:
http://cdrecord.org/private/cdrecord.html
Jeśli masz pytania dotyczące pomocy technicznej, wyślij je na adres:
cdrtools-support@lists.sourceforge.net
Jeśli na pewno znalazłeś błąd, wyślij wiadomość na adres:
cdrtools-developers@lists.sourceforge.net
lub joerg.schilling@fokus.fraunhofer.de
Aby subskrybować, użyj:
https://lists.sourceforge.net/lists/listinfo/cdrtools-developers
lub https://lists.sourceforge.net/lists/listinfo/cdrtools-support