CUPS – Cara Mengatasi Masalah Pemindaian
Perpustakaan SANE, perpustakaan komunikasi, dan backend dapat mengaktifkan atau menonaktifkan pencatatan debug melalui variabel lingkungan SANE_DEBUG_*.
Variabel lingkungan umum:
-
SANE_DEBUG_DLL- mengaktifkan mode debugging perpustakaan SANE -
SANE_DEBUG_SANEI_USB- mengaktifkan perpustakaan komunikasi debugging untuk USB - tambahkan variabel lingkungan ini jika perangkat Anda terhubung melalui kabel USB -
SANE_DEBUG_SANEI_TCP- mengaktifkan perpustakaan komunikasi debugging untuk jaringan nirkabel/ethernet - tambahkan variabel lingkungan ini jika perangkat Anda terhubung melalui Wi-Fi atau Ethernet
Variabel lingkungan untuk mengaktifkan debugging pada backend tertentu memiliki struktur - SANE_DEBUG_<backend_name>, sehingga variabel lingkungan untuk backend HPAIO adalah SANE_DEBUG_HPAIO*.
Debugging penemuan pemindai
Jika Anda tidak melihat pemindai Anda di aplikasi pemindaian, maka proses debugging proses penemuan perlu dilakukan. Saya lebih suka menggunakan perintah scanimage dalam contoh-contoh ini, tetapi langkah-langkah serupa dapat diterapkan untuk setiap aplikasi pemindaian seperti xsane, scanadf, simple-scan, dan sebagainya.
Anda perlu menggunakan variabel lingkungan saat menjalankan aplikasi pemindaian (scanimage dalam hal ini). Variabel lingkungan yang digunakan dengan perintah scanimage bergantung pada cara pemindai Anda terhubung dan backend mana yang mendukungnya. Untuk mendapatkan log debug untuk perangkat HP LaserJet yang terhubung melalui Ethernet/Wifi dan didukung oleh backend HPAIO, gunakan perintah:
$ SANE_DEBUG_DLL=255 SANE_DEBUG_HPAIO=255 SANE_DEBUG_SANEI_TCP=255 scanimage -L &> discovery_output
atau, misalnya, jika Anda memiliki CanoScan 8600F yang terhubung melalui USB dan didukung oleh backend Genesys, gunakan perintah:
$ SANE_DEBUG_DLL=255 SANE_DEBUG_GENESYS=255 SANE_DEBUG_SANEI_USB=255 scanimage -L &> discovery_output
Silakan lampirkan berkas discovery_output yang telah dibuat sebagai lampiran pada tiket Bugzilla.
Debugging proses pemindaian
Jika pemindai ditemukan, tetapi terjadi masalah selama proses pemindaian itu sendiri, kita perlu melakukan debugging pada proses pemindaian itu sendiri — yang berarti melakukan debugging pada komunikasi antara backend dan pemindai saat Anda memulai pemindaian dokumen.
Debugging proses pemindaian sendiri mirip dengan proses penemuan - atur variabel lingkungan sebelum menjalankan perintah/aplikasi pemindaian dan simpan log ke dalam file. Perintah yang mungkin digunakan (misalnya, jika Anda memiliki pemindai jaringan yang didukung oleh backend HPAIO):
$ SANE_DEBUG_DLL=255 SANE_DEBUG_HPAIO=255 SANE_DEBUG_SANEI_TCP=255 xsane &> debug_log
atau (setelah Anda mengetahui URI perangkat dari perintah scanimage -L - lihat bagian berikutnya):
$ SANE_DEBUG_DLL=255 SANE_DEBUG_HPAIO=255 SANE_DEBUG_SANEI_TCP=255 scanimage -d <device_uri> > out.pnm 2> debug_log
, di mana Anda mengganti <device_uri> dengan URI perangkat yang sebenarnya, misalnya 'hpaio:/net/laserjet_m1536dnf_mfp?ip=192.168.1.112'.
Silakan lampirkan berkas yang telah dibuat - debug_log - sebagai lampiran pada tiket Bugzilla.
Mendapatkan URI perangkat pemindai
Poin ini pada dasarnya adalah panduan manual untuk mendapatkan URI pemindai guna mendebug proses pemindaian itu sendiri melalui scanimage. Anda tidak perlu menyediakan URI pemindai dalam aplikasi antarmuka pengguna grafis (GUI) seperti xsane atau simple-scan, karena aplikasi tersebut akan melakukannya untuk Anda atau Anda dapat memilih pemindai dengan mengklik mouse.
Perintah scanimage -L menampilkan output yang menunjukkan URI perangkat, misalnya:
$ scanimage -L device `v4l:/dev/video0' is a Noname Integrated Camera: Integrated C virtual device device `hpaio:/net/laserjet_m1536dnf_mfp?ip=192.168.1.112&queue=false' is a Hewlett-Packard laserjet_m1536dnf_mfp all-in-one
Misalnya, string 'hpaio:/net/laserjet_m1536dnf_mfp?ip=192.168.1.112&queue=false' adalah URI perangkat untuk printer all-in-one Hewlett-Packard LaserJet M1536DNF MFP.
Debugging pemindai HP jika didukung oleh HPLIP
Paket hplip tidak memiliki sistem pencatatan yang terpadu, sehingga beberapa log berasal dari backend HPAIO ke output standar dan log utilitas internal HP dikirim ke journal. Oleh karena itu, kita perlu menangkap keduanya untuk memahami situasi secara menyeluruh.
Ini bisa dilakukan dengan cara berikut:
-
mulai merekam log jurnal di latar belakang:
$ journalctl -f > journal_logs &
$ kill `pidof journalctl`
kemudian lampirkan berkas yang telah dibuat - journal_logs - sebagai lampiran pada tiket Bugzilla. Harap lakukan hanya satu tindakan per tangkapan - artinya, jika Anda diminta untuk melampirkan berkas log untuk penemuan dan pemindaian pemindai HP yang didukung oleh hplip, Anda akan melampirkan empat berkas sebagai lampiran - discovery_output, journal_logs untuk output penemuan, debug_logs dan journal_logs untuk debug_logs.
Debugging sane-airscan
Jika perangkat Anda mendukung eSCL atau WSD (Anda dapat mengeceknya dari spesifikasi perangkat - cari protokol yang disebutkan atau AirScan), maka fungsi pemindaiannya didukung oleh sane-airscan. Mengenai debugging, selain logging biasa, sane-airscan mengumpulkan dump komunikasi dan gambar output, yang berguna selama penyelidikan.
Debugging sane-airscan dapat diaktifkan di /etc/sane.d/airscan.conf dengan mengatur:
[debug] trace = /path/to/dir/where/debugfiles/will/be/saved enable = true
Cara membagi log
Jika log debug Anda terlalu besar untuk dilampirkan ke Bugzilla (karena masalah Anda tidak terjadi dengan pengaturan terendah atau log tetap besar meskipun menggunakan pengaturan terendah), bagi log tersebut menjadi tiga berkas seperti ini:
$ grep dll debug_log > debug_log_dll $ grep <connection> debug_log > debug_log_connection $ grep <backend> debug_log > debug_log_backend
<backend> adalah nama backend yang mendukung pemindai Anda (Pixma, Genesys, Plustek, HPAIO, AirScan, dll.), <connection> adalah jenis koneksi yang Anda gunakan untuk perangkat (TCP, USB).
Pembagian ini membuat penyelidikan menjadi lebih sulit (orang tersebut perlu memiliki tiga file terbuka secara bersamaan), jadi bagi log hanya jika file log terlalu besar.
Want to help? Learn how to contribute to Fedora Docs ›