Встановіть принтери на / dev / usb і все ще використовуйте CUPS


12

Завдяки новій версії CUPS я раптово втратив прямий шлях до своїх принтерів, який раніше був доступний під /dev/usb/lpXXX. Я використовував це для друку безпосередньо з командного рядка. echo "test" > /dev/usb/lp0.

Після пошуку я знайшов спосіб виправити це, коментуючи blacklist usblpв /etc/modprobe.d/blacklist.conf. Це дійсно працює, але якщо я це зробити, CUPS вже не зможе спілкуватися з будь-яким принтером (і мені це потрібно). Тож як я можу мати якийсь прямий шлях до свого принтера та ще працювати з CUPS?

ПРИМІТКА: деякі принтери (квитанції) не розпізнаються CUPS, тому lprвони не працюватимуть.


У Archwiki є деякі параграфи з цього питання , врешті-решт, вони радять використовувати usblpмодуль для завантаження мікропрограмного забезпечення (наприклад cat sihp1020.dl > /dev/usb/lp0), а rmmodпотім його . (Потворно, справді.)
sr_


Для подальшої довідки я підтверджую, що DEVICE_URI="usb://HP/LaserJet%20102?serial=XYZ" /usr/lib/cups/backend/usb 1 1 1 1 '' ~/sihp1020.dlце працездатний libusbспосіб надіслати прошивку на потрібний принтер (і, використовуючи usblp, надсилався до цього через cat sihp1020.dl > /dev/usb/lp0). Це також може використовуватися для надсилання довільних файлів на USB-принтер, так що ОП може спробувати це.
sr_

Інша справа, щоб спробувати, відповідно до цього , може бути спосіб використання CUPS з usblpмодулем, налаштувавши його на використання file:/dev/usb/lp0 замість usb:/dev/usb/lp0 .
sr_

Відповіді:


1

Я можу підтвердити, що наведене рішення для мене працює добре. Я використовую OpenWRT з CUPS на ньому для друку через маршрутизатор (TL-WR1043ND). Я використовую HP Laserjet P1005. Для цього потрібна прошивка, яка завантажується щоразу, коли вона вмикається. Я помістив прошивку /usr/libі використав таку команду:

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

Де usb://HP/HP%20LaserJet%20P1005?serial=BB0417Yпотрібно замінити вашим. Ви можете знайти його за допомогою команди / usr / lib / cups / backend / usb.


0

Яка ваша версія CUPS та розповсюдження? Починаючи з 1.4.x, CUPS може використовуватись libusbдля розмови з вузлами USB, а не через їх lpusb.


0

Чи можете ви вказати бренд та модель принтера, будь ласка? Також, який ваш розподіл? Крім того, яка ваша версія CUPS? Мені не ясно, в чому полягає проблема, описана в першому абзаці. Ви можете налаштувати друк за допомогою CUPS через USB. Це (як правило) не велика справа. Чи можете ви детальніше розповісти про те, як ви її спочатку налаштували? Зауважте, що CUPS має lprутиліту, яка в Debian, щонайменше, є в cups-bsdпакеті, і її можна використовувати для друку з командного рядка, використовуючи CUPS як бекенд, звичайним чином, тобто lpr filename.

Зазвичай, коли налаштовано USB, ви /etc/cups/printers.confбудете виглядати приблизно так. Мій поточний принтер використовує 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
[...]

Зазвичай це встановлюється за допомогою команди командного рядка lpadmin. Команда виглядає приблизно так:

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

Запустити це як root або користувач у lpadminгрупі. У цьому пристрій є usb://something. Щоб знайти USB-пристрій, відповідний вашому принтеру, спробуйте

lpinfo -l -v

Звичайно, вам потрібно переконатися, що він підключений та включений. Хтось запропонував бігати /usr/lib/cups/backend/usb, що теж працювало на мене. Але lpinfoє більш стандартним. Як ви стали користуватися /dev/usb/lpXXXв першу чергу?

На своєму комп’ютері я отримую такий вихід:

/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;" ""

Для отримання додаткової інформації ви можете ознайомитися з посібником адміністратора програмного забезпечення CUPS . Apple зробила щось дивне з документацією для останніх версій CUPS, тому це стосується CUPS 1.1, але все одно має бути дійсним.

Примітка. Я б не запускав чорні списки модулів, якщо ви справді не впевнені, що це проблема.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.