Zamontuj drukarki w / dev / usb i nadal używaj CUPS

12

Z powodu nowej wersji CUPS nagle straciłem bezpośrednią ścieżkę do moich drukarek, która była wcześniej dostępna pod /dev/usb/lpXXX. Użyłem tego do drukowania bezpośrednio z wiersza poleceń. echo "test" > /dev/usb/lp0.

Po przeszukaniu znalazłem sposób, aby to naprawić, komentując blacklist usblpw /etc/modprobe.d/blacklist.conf. To rzeczywiście działa, ale jeśli to zrobię, CUPS nie będzie już mógł komunikować się z żadną drukarką (i potrzebuję tego). Więc w jaki sposób mogę mieć jakąś bezpośrednią ścieżkę do mojej drukarki i nadal mieć CUPS działający?

UWAGA: niektóre drukarki (paragony) nie są rozpoznawane przez CUPS, więc lprnie będą działać dla tych.

imz - Ivan Zakharyaschev
źródło
Archwiki ma kilka akapitów na ten temat , w końcu radzą użyć usblpmodułu do załadowania oprogramowania (np. cat sihp1020.dl > /dev/usb/lp0), A rmmodpotem . (Naprawdę brzydkie.)
sr_
Na przyszłość, potwierdzam, że DEVICE_URI="usb://HP/LaserJet%20102?serial=XYZ" /usr/lib/cups/backend/usb 1 1 1 1 '' ~/sihp1020.dljest to działający libusbsposób na wysłanie oprogramowania układowego do drukarki, która go potrzebuje (i że przy użyciu usblpjuż wcześniej wysłano go za pośrednictwem cat sihp1020.dl > /dev/usb/lp0). Można to również wykorzystać do wysłania dowolnych plików do drukarki USB, więc OP może spróbować.
sr_
Inną rzeczą do wypróbowania, zgodnie z tym , może być sposób użycia CUPS z usblpmodułem, konfigurując go do użycia file:/dev/usb/lp0 zamiast usb:/dev/usb/lp0 .
sr_

Odpowiedzi:

1

Mogę potwierdzić, że powyższe rozwiązanie działa dla mnie dobrze. Używam OpenWRT z CUPS, aby drukować przez router (TL-WR1043ND). Używam HP Laserjet P1005. To wymaga przesłania oprogramowania wewnętrznego przy każdym włączeniu. Wstawiłem oprogramowanie wewnętrzne /usr/libi użyłem następującego polecenia:

DEVICE_URI="usb://HP/HP%20LaserJet%20P1005?serial=BB0417Y" /usr/lib/cups/backend/usb 1 1 1 1 '' /usr/lib/sihpP1005.dl

Gdzie usb://HP/HP%20LaserJet%20P1005?serial=BB0417Ynależy wymienić na swój. Możesz go znaleźć za pomocą komendy / usr / lib / cups / backend / usb.

Bas
źródło
0

Jaka jest twoja wersja CUPS i dystrybucji? Od wersji 1.4.x CUPS może używać libusbdo komunikowania się z węzłami urządzeń USB zamiast przechodzenia lpusb.

efemeryczny
źródło
0

Czy możesz podać markę i model swojej drukarki? Jaka jest twoja dystrybucja? Jaka jest Twoja wersja CUPS? Nie jestem pewien, na czym polega problem opisany w pierwszym akapicie. Możesz skonfigurować drukowanie za pomocą CUPS przez USB. To (zwykle) nie jest wielka sprawa. Czy możesz opracować sposób jego pierwotnej konfiguracji? Zauważ, że CUPS ma lprnarzędzie, które przynajmniej w Debianie znajduje się w cups-bsdpakiecie, i może być używane do drukowania z linii poleceń, używając CUPS jako backendu, w zwykły sposób, tj lpr filename.

Zwykle po skonfigurowaniu USB /etc/cups/printers.confbędziesz wyglądać mniej więcej tak. Moja obecna drukarka używa USB.

# Printer configuration file for CUPS v1.4.4
# Written by cupsd
# DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING
<DefaultPrinter SamsungLaser>
Info SamsungLaser
MakeModel Samsung ML-2850 Series PS
DeviceURI usb://Samsung/ML-2850%20Series
[...]

Zazwyczaj konfiguruje się to za pomocą wiersza polecenia lpadmin. Polecenie wygląda mniej więcej tak:

/usr/sbin/lpadmin -p printer -E -v device -P ppd_file

Uruchom to jako root lub użytkownik w lpadmingrupie. W tym urządzeniu jest usb://something. Aby znaleźć urządzenie USB odpowiadające drukarce, spróbuj

lpinfo -l -v

Oczywiście musisz upewnić się, że jest on podłączony i włączony. Ktoś zasugerował bieganie /usr/lib/cups/backend/usb, które również działało dla mnie. Ale lpinfojest bardziej standardowy. Jak zacząłeś używać /dev/usb/lpXXX?

Na moim komputerze otrzymuję następujące dane wyjściowe:

/usr/lib/cups/backend/usb

DEBUG: list_devices_libusb
DEBUG: usb_find_busses=2
DEBUG: usb_find_devices=5
direct usb://Samsung/ML-2850%20Series "Samsung ML-2850 Series" "Samsung ML-2850 Series" "MFG:Samsung;CMD:PCL5E,PCL6,POSTSCRIPT;MDL:ML-2850 Series;CLS:PRINTER;STATUS:BUSY;" ""

Więcej informacji można znaleźć w Podręczniku administratora oprogramowania CUPS . Apple zrobiło coś dziwnego z dokumentacją dla nowszych wersji CUPS, więc dotyczy to CUPS 1.1, ale nadal powinno być ważne.

Uwaga: nie zaczynam modułów z czarnej listy, chyba że jesteś pewien, że to jest problem.

Faheem Mitha
źródło