Debian ARM i Brother DCP195C z CUPS

5

Chcę mieć dostęp do mojej drukarki DCP 195C (Brother) przez sieć LAN. W tym celu kupiłem program Raspberry Pi i zainstalowałem na nim CUPS. CUPS działa dobrze, a wszystko inne działa sprawnie. Moim problemem jest to, że nie mogę zainstalować sterowników, które dostarcza brat (są one tylko dla x86 i x64) na moim pi. Czy istnieje opcja, którą przegapiłem, aby zainstalować sterownik na moim pi?

Sven Niehus
źródło

Odpowiedzi:

3

Krótki: Musisz wyodrębnić plik ppd ze sterownika linux

długie:

PIERWSZY

  • Strona Goto Brothers Driver i wyszukaj DCP195: http://support.brother.com
  • Pobierz wersję Linux deb „” Sterownik drukarki CUPSwrapper (pakiet deb)
  • Otwórz plik deb za pomocą narzędzia do kompresji i podążaj ścieżką w dół do „dcp195ccupswrapper-1.1.3-1.i386 / opt / brother / Printers / dcp195c / cupswrapper”
  • Rozpakuj plik „brother_dcp195c_printer_en.ppd”

DRUGA

  • Otwórz interfejs sieciowy kubków przez https://192.168.1.2:631/admin [zastąp ip pi's]
  • Kliknij „Dodaj drukarkę” Wybierz „Brother DCP-195C (Brother DCP-195C)” i naciśnij „kontynuuj”
  • W razie potrzeby edytuj nadchodzące informacje, zaznacz opcję „udostępnij drukarkę” i naciśnij "dalej"
  • W polu „Lub podaj plik PPD” przejdź do wyodrębnionego pliku Plik „brother_dcp195c_printer_en.ppd” i prześlij go Śledź następny kroki ... zrobione

Następnie drukarka była dostępna, ale z błędem: „Plik” / usr / lib / cups / filter / brlpdwrapperdcp195c „niedostępny” Ponieważ zainstalowałem sterownik na moim laptopie Ubuntu, mogłem po prostu skopiować plik z mojego laptopa na / usr / lib / cups / filter / do pi

Po tym mój laptop może znaleźć drukarkę

Murmel
źródło
Dziękuję za odpowiedź! Spróbuję tego i zgłosić, jeśli odniesie sukces z twoim rozwiązaniem.
Sven Niehus
Przepraszam, że odpowiedź trwała tak długo, ale musiałem zainstalować Debiana w maszynie wirtualnej, ponieważ używam Windows. Twoje rozwiązanie działa. Najlepsze dzięki!
Sven Niehus
Ponieważ wydaje się, że częstym problemem jest konieczność skopiowania pliku sterownika z innego komputera na kartę SD Raspberry: czy ktoś może udostępnić plik sterownika? Chyba niektórzy ludzie to docenią.
nie działało zgodnie z opisem, ale dziękuję za linki: instalacja pliku .deb rozwiązała problem (elementary.io OS / freya)
avp
Jakie kroki podjąłeś?
Murmel
2

Sterownik i386 działa na Raspberry Pi poprzez emulację, nawet jeśli ma inny zestaw instrukcji. Jest bardzo powolny i trwa kilka minut, zanim nadejdzie wydruk, ale działa.

Znalazłem podpowiedź w tym poście na forum: https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=15526&start=25#p708038

Krok 1: Zainstaluj sterownik zgodnie z instrukcjami w dokumentacji Brother

Powinieneś mieć katalog taki jak /opt/brother/Printers/dcp195c/lpd z binarnym filtrem brdcp195cfilter. Ten plik binarny jest wywoływany przez filterdcp195c skrypt powłoki tuż obok niego w tym samym katalogu.

Wierzę, że oferują teraz skrypt instalacyjny, ale zrobiłem to bez. Gdzieś znajdują się instrukcje, które muszą zostać preinstalowane.

Krok 2: Uzyskaj działanie emulacji i386

To jest zgodne z krokami w https://wiki.debian.org/QemuUserEmulation

Pod koniec kroku 2 powinieneś być w stanie uruchomić binaria i386, tak jak zwykłe pliki binarne. W ps ax, pokażą się

Zainstaluj Qemu

Zainstaluj pakiety qemu, binfmt-support i qemu-user-static.

Biegać update-binfmts --display aby zobaczyć, które formaty binarne są obsługiwane. Powinny być automatycznie włączone w Raspbian i Debian.

Zainstaluj biblioteki obsługi x86

Na Raspbian dodaj linię do tej /etc/apt/sources.list:

## Debian i386
deb [arch=i386] http://http.debian.net/debian stable main contrib non-free

Inne repozytorium Debiana również będzie działać.

Repozytorium Raspbian nie ma plików binarnych x86, więc dodaj [arch=armhf] linia do istniejących linii zaczynając od deb. Linie zaczynające się od deb-src może być utrzymany bez zmian.

Powiedz Raspbianowi, że chcesz mieć system wieloparametrowy z pakietami i386 i pobierz libc i386. Dla update krok do pracy, musisz zaimportować i zaufać kluczom Debian GPG do zarządzania pakietami.

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386

W tym momencie powinieneś być w stanie wykonać brdcp195cfilter plik binarny dostarczany ze sterownikiem:

$ ./brdcp195cfilter 
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
Error: invalid option !!

Jeśli zobaczysz to wyjście, zadziałało. The Error: invalid option !! linia jest brdcp195cfilter narzekając, że powinieneś przekazać argumenty.

Opcjonalne: Usuń ld.so Komunikat o błędzie

Raspbian używa /etc/ld.so.preload wstępnie załadować libarmmem biblioteka do wszystkich procesów. Biblioteka zastępuje niektóre drogie procedury pamięci szybszymi procedurami zapisanymi w zespole ARM, ale nie jest konieczne do uruchomienia Raspbian.

Można bezpiecznie zignorować to ostrzeżenie, ale również bezpiecznie usunąć lub skomentować tę linię /etc/ld.so.preload. Ostrzeżenie pojawi się w dziennikach błędów CUPS, jeśli nie zostanie wyłączone.

Krok 3: Zrób to z CUPS

Powinieneś mieć instalację CUPS zgodnie z instrukcjami ze strony internetowej Brother.

Błędne połączenie USB

Na mojej malinowej dmesg dziennik zmieniał się szybko między tymi liniami w pewnym momencie:

[58981.586842] usblp0: removed
[59222.794260] usblp 1-1.3:1.0: usblp0: USB Bidirectional printer dev 8 if 0 alt 0 proto 2 vid 0x04F9 pid 0x0222

To, co naprawiło to dla mnie, to iść do localhost:631 (interfejs WWW CUPS) i zmodyfikuj drukarkę w sekcji „Drukarki”, aby korzystała z urządzenia USB rozpoznanego przez CUPS, a nie usb://dev/usb/lp0 urządzenie.

Pozwól drukarce otrzymywać dane z normalną prędkością

brdcp195cfilter to krok w procesie drukowania, który otrzymuje ogromną bitmapę wejściową i konwertuje ją na coś, co później jest przesyłane do drukarki. Zmierzyłem rozmiar wejściowy ~ 90 MB dla prostego komunikatu „Witaj świecie” na górze strony.

Emulacja w Raspberry nie jest wystarczająco szybka, aby nadążyć za podawaniem danych do drukarki. Druk działa, ale słyszałem niezdrowe odgłosy z silników drukarki, które były aktywne podczas oczekiwania na dane.

Aby to naprawić, zainstaluj narzędzie sponge z moreutils pakuj i edytuj filterdcp195c tak, że wyjście $BRCONV $BRCONV_OP (znany jako. brdcp195cfilter ) jest jednak wyrzucony sponge. W końcu „PostScript”, „PDF” i „*” na końcu pliku powinny znajdować się trzy linie, kończące się na ... | $BRCONV $BRCONV_OP | sponge.

Ma to na celu pochłonięcie wszystkich danych wyjściowych z długotrwałego procesu konwertera i wysyłanie go do drukarki tylko raz, gdy konwerter jest gotowy. W ten sposób drukowanie trwa dłużej, ale drukarka odbiera dane w normalnym tempie.

( sponge przechowuje dane buforowane w tymczasowym katalogu, więc nie jesteś ograniczony przez RAM Raspberry Pi

Günther Noack
źródło
Chciałbym usłyszeć, jak wszystko działa dla ciebie. Podczas instalacji natknąłem się na niepowiązany problem, ponieważ nie znaleziono modułów jądra, co mogło spowodować pewne problemy z programem qemu emulacja nie działa od razu. Popraw mnie, jeśli źle zrozumiałem tę część.
Günther Noack