Arch-Like - nietypowy blog, nietypowe forum.

Poradniki => Hardware => Wątek zaczęty przez: pavbaranov w Listopad 16, 2014, 12:55:26

Tytuł: Uruchomienie skanera w systemie 64 bitowym urządzeń f-my Brother (brscan2)
Wiadomość wysłana przez: pavbaranov w Listopad 16, 2014, 12:55:26
Urządzenia f-my Brother są dość dobrze wspierane w linuksie, choć niekiedy ich sterowniki będą miały mniejsze możliwości od tych, które dołączane są dla systemów Windows czy MacOS. Tym niemniej jednak, producent je dostarcza. Niestety w wersjach *.deb i *.rpm do automatycznego instalowania za pomocą stosownych menedżerów pakietów. W Archu (i pochodnych) mamy nieco utrudnioną sytuację, jednakże w większości przypadków istnieją stosowne skrypty w AUR. Nie inaczej jest w przypadku urządzeń wymagających sterowników brscan2. Niemniej jednak sterownik ten raz działa - innym razem nie. Jeśli zatem nie powiedzie się nam instalacja poprzez AUR, proponuję następujące rozwiązanie.

1. Po instalacji sterownika za pomocą (to jedynie przykład, możemy do tego użyć również innej nakładki rozszerzającej pacmana o AUR bądź makepkg):
yaourt -S brscan2sudo /usr/local/Brother/sane/setupSaneScan2 -i
Jeśli skaner działać nie będzie należy:

2. Dodać plik /etc/sane.d/brother2.conf i prawdopodobnie również /usr/local/etc/sane.d/brother2.conf o treści:
usb 0x04f9 0xABCDgdzie ABCD stanowi wartość, którą poznamy wykonując:
lsusbOdszukujemy linijkę w której pojawia się opis: Brother Industries, Ltd nazwa. W moim przypadku to:
Bus 001 Device 002: ID 04f9:018c Brother Industries, Ltd DCP-115CW tej linijce, po identyfikatorze ID mamy dwa, czterocyfrowe zespoły liczb, z czego pierwsza to tzw. ID Vendor (czyli numer identyfikujący urządzenie f-my Brother) - tu 04f9, a druga to tzw. ID Product (czyli numer identyfikujący konkretny model) - tu 018c. W moim przypadku zatem, w miejsce ABCD wpisać powinienem 018c.

3. Edytujemy plik /etc/sane.d/dll.conf i dopisujemy w nim: brother2

4. Linkujemy sterowniki do miejsca, w którym obecnie (nie wiem jak długo jeszcze, bowiem wciąż się to zmienia) Arch poszukuje sterowników, czyli:
sudo ln -s /usr/lib/sane/libsane-brother2.so /usr/local/lib/sane/
sudo ln -s /usr/lib/sane/libsane-brother2.so.1 /usr/local/lib/sane/
sudo ln -s /usr/lib/sane/libsane-brother2.so.1.0.7 /usr/local/lib/sane/
5. Jeśli próba uruchomienia aplikacji do obsługi skanera zwraca: "=bugchk_free(ptr==(nil))@brother_modelinf.c(482)" (uwaga, w przypadku aplikacji GUI nic nie zobaczymy, program po prostu się nie uruchomi, wówczas uruchamiamy go w konsoli), to należy katalog /usr/share/brother zlinkować do /usr/local/Brother
O ile linki te nie zostaną utworzone przez yaourt. PKGBUILD zawiera bowiem stosowne komendy, które winny to wykonać. Niestety raz automatyczna instalacja sterowników za pośrednictwem brscan2 na AUR działa - innym razem nie (zresztą dyskusja pod PKGBUILDem mówi sama za siebie: https://aur.archlinux.org/packages/brscan2/ (https://aur.archlinux.org/packages/brscan2/) - przeglądajcie ten link przed instalacją, albowiem wiecznie się coś zmienia (instalowałem na systemach archowych to urządzenie już z 10 razy i nigdy nie zna się dnia ani godziny, kiedy będzie działać, kiedy nie, kiedy nagle przestanie działać i dlaczego itp.). Proponowane rozwiązanie winno działać w każdym przypadku. sir_lucjan twierdził, że nowy PKGBUILD działa, jednakże wymaga utworzenia katalogów: /usr/local/etc/sane.d/ oraz /usr/local/lib/sane/ Nie jest to trudne, wystarczy wpisać:
# mkdir /usr/local/etc/sane.d/ && mkdir /usr/local/lib/sane/