เมานท์เครื่องพิมพ์ที่ / 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วิธี -ish ส่งเฟิร์มไปยังเครื่องพิมพ์ที่ต้องการมัน (และที่ใช้usblp, ได้มันส่งไปผ่านcat sihp1020.dl > /dev/usb/lp0มาก่อน) นอกจากนี้ยังสามารถใช้เพื่อส่งไฟล์โดยพลการไปยังเครื่องพิมพ์ USB ดังนั้น OP จึงสามารถลองได้
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, ถ้วยสามารถใช้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

รันสิ่งนี้ในฐานะรูทหรือผู้ใช้ใน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 แต่ก็ควรจะใช้ได้

หมายเหตุ: ฉันจะไม่เริ่มโมดูลการขึ้นบัญชีดำเว้นแต่คุณจะแน่ใจว่าเป็นปัญหา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.