CUPS – Masalah yang Diketahui

Brandon Nielsen, Zdenek Dohnal Versi F31 onwards Last review: 2021-06-16

Berikut adalah beberapa masalah yang diketahui, yang muncul dalam kondisi tertentu, dan tidak ada solusi umum atau pihak upstream tidak ingin menambahkan solusi tersebut ke proyeknya:

cups-browsed

Tidak dapat mencetak karena ‘Tidak ada nama host tujuan yang disediakan oleh cups-browsed, apakah layanan tersebut sedang berjalan?’

cups-browsed terkadang kehilangan koneksi ke server cetak (biasanya pada versi lama, seperti cups-1.4.2) saat laptop mengganti koneksi jaringan (pergantian jaringan WiFi atau setelah hibernasi/penangguhan). Anda dapat membuat pencetakan berfungsi kembali dengan membatalkan pekerjaan cetak Anda dan me-restart cups-browsed dengan

$ cancel -a
$ sudo systemctl restart cups-browsed

cups-browsed mengonsumsi jumlah CPU yang besar

Pembuatan antrian printer lokal memakan waktu lama untuk beberapa printer dengan file PPD yang lebih besar, sehingga koneksi HTTP akan timeout dan menyebabkan loop tak berujung dalam pembuatan antrian printer lokal. Untuk mengatasi masalah ini, silakan tambahkan

HttpLocalTimeout N
HttpRemoteTimeout N

kedalam /etc/cups/cups-browsed.conf, di mana N adalah jumlah detik setelah koneksi akan kedaluwarsa. Kemudian restart layanan cups-browsed. Opsi ini saat ini tersedia di Fedora 27 dan versi di atasnya.

[SEJAK FEDORA 27] cups-browsed membuat nama antrian printer yang berbeda dari sebelumnya

Masalah ini terkait dengan antrian cetak jarak jauh, yang diumumkan oleh versi CUPS yang lebih lama (biasanya di bawah cups-1.5, misalnya RHEL 6). Cups-browsed secara default membuat antrian cetak lokal yang dinamai berdasarkan ID DNS-SD printer dan penamaan berdasarkan antrian cetak jarak jauh diaktifkan kembali dengan menambahkan:

LocalQueueNamingRemoteCUPS RemoteName

kedalam /etc/cups/cups-browsed.conf dan restart layanan cups-browsed.

cups-filters

Cetak memakan waktu lama atau sama sekali tidak mencetak

Ketika printer Anda membutuhkan waktu lama untuk mencetak (dari sudut pandang Anda) atau sama sekali tidak mencetak (beberapa printer Xerox mengalami masalah dengan renderer gs, sehingga hanya berfungsi kembali dengan renderer pdftops), Anda dapat mencoba mengganti renderer PostScript default. Renderer default di Fedora untuk sebagian besar printer adalah gs filter dari Ghostscript, tetapi kami memiliki pdftops filter dari Poppler untuk printer Brother, Minolta, dan Konica Minolta - konfigurasi ini disebut hybrid.

Pengaturan renderer lain yang tersedia adalah gs (dari Ghostscript), pdftops dan pdftocairo (dari Poppler), mupdf (dari mupdf), dan acroread (dari Adobe Reader, tidak tersedia di repositori resmi Fedora). Anda dapat mengatur renderer default yang berbeda untuk antrian cetak Anda seperti ini:

# lpadmin -p <printer-name> -o pdftops-renderer-default=gs/pdftops/pdftocairo/mudpf/acroread/hybrid

Pengaturan renderer lain yang tersedia adalah gs (dari Ghostscript), pdftops dan pdftocairo (dari Poppler), mupdf (dari mupdf), dan acroread (dari Adobe Reader, tidak tersedia di repositori resmi Fedora). Anda dapat mengatur renderer default yang berbeda untuk antrian cetak Anda seperti ini:

CUPS

[Diperbaiki pada F33 dan versi selanjutnya] Firefox, Evince (pembaca PDF), GVim, Gedit, dan Gnome Control Center menampilkan antrian cetak ‘dummy’/duplikat yang tidak berfungsi

Bug ini terkait dengan setiap aplikasi yang menggunakan dialog cetak GTK. Dialog GTK memutuskan untuk mengambil informasi tentang antrian cetak yang tersedia dari dua sumber - pesan mDNS dari Avahi dan CUPS. Antrian cetak palsu/duplikat ini adalah antrian cetak yang dibuat GTK dalam dialognya berdasarkan pesan Avahi, tetapi antrian tersebut tidak ada di CUPS karena tidak ada yang membuatnya, dan kemudian GTK berperilaku seolah-olah antrian tersebut ada di CUPS. Jadi, setiap kali pengguna ingin mencetak, GTK mengirim permintaan ke CUPS untuk antrian ini, tetapi permintaan tersebut ditolak oleh CUPS karena antrian tersebut tidak ada.

Fitur yang sedang dikembangkan oleh GTK di sini disebut CUPS temporary queues - Pengembang GTK saat ini sedang bekerja pada perbaikan segera untuk masalah ini di bugzilla. Rencana ke depan adalah menggunakan backend cpdb-backend-cups di GTK, tetapi saat ini kami fokus pada perbaikan sementara.

CUPS tidak mendukung dengan baik beberapa jenis FQDN

CUPS terkadang mengalami masalah dengan beberapa jenis FQDN - artinya, ketika Anda menggunakan FQDN dalam direktif BrowsePoll di /etc/cups/cups-browsed.conf, CUPS tidak mengenali FQDN tersebut sebagai nama host yang valid. Masalah ini dapat diatasi dengan menambahkan:

ServerAlias your.own.fully.qualified.hostname.com

kedalam /etc/cups/client.conf dan restart layanan CUPS.

Pilihan yang tersedia lebih sedikit jika perangkat digunakan tanpa driver dibandingkan dengan driver klasik

Situasi serupa juga dapat terjadi pada pemindai yang didukung oleh sane-airscan. Beberapa perangkat menyatakan opsi yang lebih sedikit melalui protokol - misalnya IPP 2.0+, WSD, eSCL - yang mendukung solusi tanpa driver dibandingkan dengan driver klasik. Biasanya ini merupakan masalah pada firmware perangkat, yang dapat diverifikasi dengan memeriksa output perintah berikut:

$ ipptool -tv <ipp_device_uri> get-printer-attributes.test

Perintah ini melakukan permintaan IPP yang sama seperti saat antrian sementara muncul di dialog cetak atau saat Anda menginstal antrian secara permanen. Opsi printer ditetapkan dari respons IPP untuk permintaan ini, jadi jika opsi tersebut tidak ada dalam respons, CUPS tidak dapat menghasilkan opsi printer tersebut. Solusinya adalah mencoba memperbarui firmware perangkat, melaporkan masalah kepada pabrikan perangkat, dan mengirimkan laporan ke bugzilla beserta log.

[F33+] Pencetakan melalui IPPS tidak berfungsi

Fedora 33 memperketat kebijakan kriptografi, sehingga SSL dan protokol TLS yang lebih lama dinonaktifkan pada tingkat sistem. Perubahan ini menyebabkan masalah pada pencetakan melalui IPPS ke perangkat yang tidak mendukung protokol yang lebih baru. Anda dapat mengaktifkan kembali dukungan kriptografi lama dalam kebijakan kriptografi melalui:

$ sudo update-crypto-policies --set DEFAULT:FEDORA32

Perubahan kebijakan secara bertahap berdampak pada perangkat yang ditemukan oleh cups-browsed, karena daemon lebih memilih URL IPPS jika URL tersebut dilaporkan tersedia oleh printer/server.

PDF yang dicetak menampilkan karakter yang salah

Terkadang dukungan PDF pada printer tidak berfungsi dengan benar, yang mengakibatkan output yang rusak. Jika driver printer mendukung rasterisasi, ada kemungkinan untuk memaksa rasterisasi pada pekerjaan cetak baru dengan cara berikut:

$ lp -d <printer> -o print-as-raster <file>

atau atur rasterisasi printer tersebut sebagai default:

$ lpadmin -p <printer> -o print-as-raster-default=true
  1. Namun, perlu diperhatikan bahwa beberapa fungsi IPP tidak diharapkan berfungsi dengan rasterisasi, misalnya finishing, sehingga cara terbaik untuk mengatasi masalah semacam itu adalah menghubungi pabrikan printer Anda dan meminta pembaruan dukungan PDF printer.

HPLIP

Pertama-tama, saya ingin menekankan bahwa kami tidak bertanggung jawab atas dukungan HPLIP yang diunduh dan diinstal dari situs web HP. Mohon instal paket RPM HPLIP dari repositori resmi Fedora dalam kebanyakan kasus.

Hp-plugin: File tidak sesuai dengan checksum-nya. File mungkin telah rusak atau diubah

Kesalahan umum ini sebagian besar disebabkan oleh faktor eksternal (gangguan server, gangguan jaringan), ketika wget mencoba mengunduh plugin, tetapi hanya menampilkan pesan kesalahan. Hal ini terkait dengan pesan:

Unduhan plugin gagal dengan kode kesalahan = N

di mana N adalah nilai kembalian dari wget (man wget), yang digunakan untuk mengunduh plugin berlisensi. Solusi untuk masalah ini dapat bervariasi - Anda dapat menunggu hingga server kembali online atau mencoba menginstal plugin yang diunduh secara manual dari http://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/ (pilih “Pilih dan instal salinan lokal yang sudah ada dari berkas plugin” selama hp-setup atau hp-plugin).

Tidak dapat memuat cupsext

Kesalahan ini dapat terjadi saat hplip diinstal dari situs web HP, atau dependensinya terdiri dari paket Python 2 dan Python 3 yang tercampur, atau diinstal melalui pip. Masalah ini dapat diatasi dengan menghapus semua paket hplip (hplip, hplip-gui, hplip-libs, hplip-common, libsane-hpiao) dan menginstalnya kembali dari repositori.

hplip-gui tidak ditemukan

Alat antarmuka pengguna grafis (GUI) dan bagian GUI dari perintah HP dipindahkan ke subpaket hplip-gui, karena paket utama dapat berfungsi tanpa antarmuka pengguna grafis, sehingga paket utama menjadi lebih kecil. Akibat dari keputusan ini, perintah HP harus dijalankan dengan opsi -i untuk mode interaktif, atau subpaket hplip-gui harus diinstal.

Alat-alat yang perlu dijalankan dengan opsi -i untuk antarmuka baris perintah (CLI) atau memerlukan hplip-gui yang terinstal untuk antarmuka grafis (GUI):

hp-align
hp-clean
hp-colorcal
hp-diagnose_queues
hp-fab
hp-firmware
hp-info
hp-plugin
hp-sendfax
hp-setup
hp-testpage
hp-unload

Alat-alat yang terdapat dalam hplip-gui:

hp-check
hp-print
hp-systray
hp-toolbox
hp-devicesettings
hp-faxsetup
hp-linefeedcal
hp-makecopies
hp-printsettings
hp-wificonfig

Printer HP tidak terdeteksi, tidak mencetak, atau tidak mencetak dengan baik

Beberapa printer HP tidak berfungsi dengan baik dengan URIs yang disediakan oleh CUPS (dnssd, usb, ipp) atau memerlukan plugin khusus dari HP, yang tidak dapat digunakan di Fedora karena masalah lisensi. Untuk printer-printer tersebut, silakan coba jalankan:

hp-setup -i -g

untuk mode interaktif, atau:

hp-setup -g

untuk mode grafis. Perintah ini menginstal printer HP dan pemindai HP. Jika Anda mengalami masalah dengan printer HP/pemindai HP yang tidak terdeteksi, tidak mencetak, atau mencetak dengan buruk, silakan coba menginstalnya menggunakan perintah hp-setup, jika membantu. Jika tidak membantu, silakan ajukan laporan bugzilla, lampirkan output dari hp-setup, dan sebutkan bahwa Anda telah mencoba perintah hp-setup.

Perangkat yang memerlukan plugin tidak berfungsi setelah pembaruan HPLIP

Perangkat yang memerlukan plugin dapat berhenti berfungsi setelah diperbarui ke versi HPLIP yang lebih baru - hal ini disebabkan oleh pemeriksaan versi plugin dalam kode. Pemeriksaan ini diperlukan untuk mencegah ketidakkonsistenan saat fitur baru dalam HPLIP sumber terbuka memerlukan perpustakaan proprietary baru dari plugin. Untuk membuat printer Anda berfungsi kembali, cukup unduh dan instal ulang plugin dengan:

$ hp-plugin -i

Perangkat yang memerlukan plugin biner berhenti berfungsi di Fedora Silverblue/CoreOS

Perangkat yang memerlukan plugin biner sumber tertutup HP harus menginstal plugin tersebut setiap kali Anda memulai ulang PC secara default. Skrip sumber tertutup HP menginstal plugin ke dalam direktori read-only, sehingga plugin tersebut dihapus saat Anda memulai ulang Fedora. Solusi sementara adalah mencoba apakah perangkat Anda mendukung pencetakan dan pemindaian tanpa driver, mencoba paket hplip-plugin dari RPMFusion, atau terus menginstal plugin setiap kali Anda ingin mencetak.

golang-github-openprinting-ipp-usb

Printer/scanner USB tidak berfungsi karena adanya konflik pada port USB

Daemon ipp-usb menjaga port USB perangkat IPP-over-USB tetap terbuka untuk komunikasi IPP di masa depan, yang menghalangi port tersebut untuk driver lain (misalnya HPLIP, gutenprint, sane-backends…​).

Untuk printer, solusinya adalah menghapus antrian dengan driver dengan cara:

$ lpadmin -x <queue_name>

dan mulai gunakan yang dari ipp-usb (sebagai antrian cetak sementara CUPS atau instal yang permanen - alamat URI perangkat default adalah ipp://localhost:60000/ipp/print).

Jika menggunakan pemindai sane-airscan, pemindai tersebut secara otomatis akan mendeteksi perangkat virtual dari ipp-usb jika perangkat tersebut mendukung protokol WSD atau eSCL. Namun, jika pemindai tersebut sebelumnya didukung oleh driver pemindai klasik seperti hplip atau sane-backends dan sekarang diklaim oleh ipp-usb karena mendukung standar IPP-over-USB tanpa driver, pemindai lama masih ditampilkan, tetapi tidak akan berfungsi untuk pemindaian karena konflik USB. Hal ini terjadi karena backend klasik hanya mencantumkan perangkat apa pun yang mereka temukan di antarmuka USB dan sesuai dengan deskripsi yang didukung oleh backend, tetapi backend tidak memeriksa apakah mereka sebenarnya dapat berkomunikasi dengan perangkat hingga mereka mencoba membuka port USB untuk proses pemindaian itu sendiri. Hal ini menjadi masalah bagi aplikasi pemindaian yang secara otomatis memilih pemindai sebelumnya sebagai pilihan default untuk pemindaian (seperti Simple Scan) - pengguna harus memilih pemindai tanpa driver dari daftar pemindai yang tersedia sebelum melakukan pemindaian.

Perangkat pemindai yang terdeteksi oleh backend SANE klasik dapat dinonaktifkan agar tidak ditampilkan di antara pemindai yang tersedia dengan mengomentari entri perangkat tersebut dalam berkas konfigurasi backend yang terletak di /etc/sane.d atau nama backend secara keseluruhan dalam /etc/sane.d/dll.conf//etc/sane.d/dll.d, misalnya. Seri Canon MF440 dilaporkan oleh backend pixma dan airscan, tetapi hanya airscan yang berfungsi karena backend ini berbasis protokol jaringan, sedangkan antarmuka USB diklaim oleh ipp-usb. Oleh karena itu, kita akan menonaktifkan backend pixma dengan mengomentari barisnya di /etc/sane.d/dll.conf:

$ cat /etc/sane.d/dll.conf
...
pint
#pixma
plustek
...

Jika perangkat yang dibuat oleh ipp-usb tidak sesuai dengan kebutuhan Anda (opsi yang Anda gunakan tidak tersedia, perangkat tidak berfungsi meskipun didukung oleh IPP-over-USB), silakan laporkan masalah tersebut bersama dengan log dari direktori /var/log/ipp-usb/ di bugzilla. ipp-usb sendiri mendukung pengaturan khusus, yang memungkinkan Anda mengatur daemon untuk mengabaikan perangkat Anda dan Anda dapat beralih kembali ke driver klasik. Langkah-langkahnya sebagai berikut:

  • dapatkan nama model perangkat, misalnya Canon MF440 Series:

$ sudo ipp-usb check
Configuration files: OK
IPP over USB devices:
 Num  Device              Vndr:Prod  Model
   1. Bus 001 Device 005  04a9:2823  "Canon MF440 Series"
  • buat berkas quirk di direktori /etc/ipp-usb/quirks dengan format berikut:

$ cat /etc/ipp-usb/quirks/canon.conf
[Canon MF440 Series]
  blacklist = true
  • mulai ulang layanan ipp-usb:

$ sudo systemctl restart ipp-usb

sane-airscan

Jika perangkat terdeteksi oleh sane-airscan, pilihan yang tersedia lebih sedikit dibandingkan dengan menggunakan driver klasik

Situasi serupa juga dapat terjadi pada model printer everywhere atau driverless. Beberapa perangkat menawarkan lebih sedikit opsi melalui protokol - misalnya IPP 2.0+, WSD, eSCL - yang mendukung solusi tanpa driver dibandingkan melalui driver klasik. Biasanya ini merupakan masalah pada firmware perangkat, yang dapat diverifikasi melalui log debug sane-airscan dan lalu lintas jaringan. Solusinya adalah mencoba memperbarui firmware perangkat, melaporkan masalah kepada pabrikan perangkat, dan ke bugzilla dengan log.