Download: LinuxUser_firewire
Transkrypt
Download: LinuxUser_firewire
Linux i Firewire LINUX USER Korzystanie z urządzeń FireWire w Linuksie Ognisty drut FireWire to szybki interfejs dający możliwość przyłączania różnych urządzeń zewnętrznych do komputerów. Są one dość rzadko używane w Linuksie, choć potrafi on z nich korzystać bez większych problemów. PAWEł LESZEK N azwa FireWire to znak towarowy zastrzeżony przez firmę Apple Inc., która opracowała ten interfejs w 1998 roku. FireWire stał się oficjalnym standardem przemysłowym IEEE 1394 zatwierdzonym przez komitet IEEE (Institute of Electrical and Electronic Engineers). Do niedawna FireWire było wykorzystywane jedynie do obróbki wideo, a głównie przyłączania sprzętu AV. FireWire jest często porównywane z USB, ponieważ obydwa interfejsy walczą o uzyskanie statusu standardu przyłączania urządzeń zewnętrznych do komputerów. Przewagą FireWire nad USB jest jego stosunkowo duża prędkość – USB 1.1 potrafi transferować dane z prędkością do 12 MB/s, USB 2 (dopiero rozpowszechniający się) do 480 MB/s, natomiast FireWire (tzw. „400”) daje do 400 MB/s, nowsze karty obsługują już FireWire „800” (do 800 MB/s). Właśnie dzięki szybkiemu transferowi danych w złącze FireWire wyposażone są wszystkie cyfrowe kamery wideo (DV). Tym niemniej ostatnio pojawiło się wiele twardych dysków i nagrywarek CD również przyłączanych przez FireWire. Pamiętaj, że obsługa tego interfejsu w Linuksie nadal ma charakter eksperymentalny i nie wszystkie rodzaje chipsetów będą w Linuksie działać. Przed zakupem kontrolera FireWire sprawdź na stronach projektu „linux1394” [1], rozwijającego sterownik FireWire, czy to urządzenie jest już obsługiwane przez Linuksa. Korzystanie z zewnętrznych napędów FireWire Interfejs FireWire najczęściej znajduje się na zwykłej karcie rozszerzeń PCI. Jedynie komputery Macintosh posiadają standardowo wbudowany kontroler. Po zainstalowaniu karty włącz urządzenie, z którego chcesz korzystać przez FireWire. To istotne, ponieważ Linux nie obsługuje FireWire w trybie „hot plug”, tzn. nie potrafi dołączać i odłączać urządzeń FireWire automatycznie w trakcie pracy systemu. Najpierw sprawdź, czy Linux poprawnie rozpoznał kontroler FireWire – w tym celu wykonaj polecenie cat /proc/pci, w rezultacie otrzymasz listę urządzeń PCI obecnych w systemie – przy jednym z nich znajdzie się opis podobny do poniższego: Do komunikacji z systemem i programami urządzenia przyłączane przez FireWire korzystają i interfejsu SCSI (podobnie jak np. nagrywarki CD ATAPI). Teraz należy załadować moduły jądra zawierające obsługę FireWire, wpisując następujące polecenia: modprobe ohci1394 modprobe sbp2 Ponieważ po załadowaniu modułów nie wiadomo od razu, czy urządzenie już zostało prawidłowo zarejestrowane w systemie wykonaj polecenie cat /proc/scsi/scsi. Host: scsi0 Channel: U 00 Id: 00 Lun: 00 Vendor: SAMSUNG Model: U CD-R/RW SW-216B Rev: BS05 Type: CD-ROM ANSI SCSI U revision: 02b dzeń już jest obecne w systemie. Spróbuj teraz normalnie zamontować dysk, np.: mount /dev/sdb10 /mnt/cdrom Łatwe rejestrowanie i odłączania urządzeń FireWire Urządzenia FireWire działają w systemach Windows, MacOS i Mac OS X podobnie jak USB tzn. można je podłączać i odłączać w czasie pracy systemu. Niestety Linux nie posiada w pełni takiej funkcjonalności – za każdym razem należy ręcznie rejestrować urządzenie w systemie. Jednak przy pomocy prostego skryptu można sobie ułatwić to zadanie – znajdziesz go pod adresem [3] pod nazwą „firewire”. Skopiuj go do katalogu /usr/bin i nadaj mu prawa pliku wykonywalnego (poleceniem chmod u+x). Teraz po podłączeniu urządzenia wystarczy wykonać polecenie: /usr/bin/firewire start I już możesz z niego korzystać, zawsze gdy chcesz skończyć pracę z urządzeniem, przed wyłączeniem go wpisz polecenie /usr/bin/firewire stop. Pamiętaj, że uruchamianie obydwu poleceń wymaga uprawnień użytkownika root. ■ INFO W powyższym przykładzie została rozpoznana nagrywarka CD przyłączona przez FireWire. Żeby z niej korzystać, musisz jeszcze znać nazwę urządzenia – zazwyczaj jest to /dev/scd0, jeśli w systemie nie ma innych napędów CD, nagrywarek i dysków SCSI – lub /dev/sda1, /dev/sdb1, jeśli jedno z tych urzą- [1] Strona projektu „linux1394”: http://linux1394.org [2] Oficjalna specyfikacja FireWire: http://www.1394ta.com [3] Skrypt „firewire”: http://www.linux-magazine.pl/ issue05/firewire www.linux-magazine.pl Czerwiec 2004 97