CUPS – ວິທີການແກ້ໄຂບັນຫາການສະແກນ
ໄລບຣາຣີ SANE, ໄລບຣາຣີການສື່ສານ ແລະ backend ສາມາດເປີດ ແລະ ປິດການບັນທຶກການແກ້ໄຂຂໍ້ຜິດພາດ (debug logging) ຜ່ານຕົວປ່ຽນສະພາບແວດລ້ອມ SANE_DEBUG_*.
ຕົວປ່ຽນສະພາບແວດລ້ອມທົ່ວໄປ:
-
SANE_DEBUG_DLL- ເປີດໃຊ້ການແກ້ໄຂຂໍ້ຜິດພາດໄລບຣາຣີ SANE -
SANE_DEBUG_SANEI_USB- ເປີດໃຊ້ການແກ້ໄຂຂໍ້ຜິດພາດໄລບຣາຣີການສື່ສານສຳລັບ USB - ເພີ່ມຕົວປ່ຽນສະພາບແວດລ້ອມນີ້ຫາກອຸປະກອນຂອງທ່ານເຊື່ອມຕໍ່ຜ່ານສາຍ USB -
SANE_DEBUG_SANEI_TCP- ເປີດໃຊ້ການແກ້ໄຂຂໍ້ຜິດພາດໄລບຣາຣີການສື່ສານສຳລັບ ໄຮ້ສາຍ/ອີເທີເນັດ - ເພີ່ມຕົວປ່ຽນສະພາບແວດລ້ອມນີ້ຫາກອຸປະກອນຂອງທ່ານເຊື່ອມຕໍ່ຜ່ານ Wifi ຫຼື Ethernet
ຕົວປ່ຽນສະພາບແວດລ້ອມສຳລັບການເປີດໃຊ້ການແກ້ໄຂຂໍ້ຜິດພາດຂອງ backend ສະເພາະໃດໜຶ່ງຈະມີໂຄງສ້າງ - SANE_DEBUG_<backend_name>, ຕົວຢ່າງ: ຕົວປ່ຽນສະພາບແວດລ້ອມສຳລັບ backend HPAIO ແມ່ນ SANE_DEBUG_HPAIO*.
ການແກ້ໄຂຂໍ້ຜິດພາດໃນການຄົ້ນຫາເຄື່ອງສະແກນ
ຫາກທ່ານບໍ່ເຫັນເຄື່ອງສະແກນຂອງທ່ານໃນແອັບພລິເຄຊັນການສະແກນ, ທ່ານຄວນແກ້ໄຂຂໍ້ຜິດພາດໃນຂະບວນການຄົ້ນຫາ. ຂ້ອຍຂໍແນະນຳໃຫ້ໃຊ້ຄຳສັ່ງ scanimage ໃນຕົວຢ່າງ, ແຕ່ຂັ້ນຕອນທີ່ຄ້າຍຄືກັນນີ້ສາມາດນຳໃຊ້ໄດ້ກັບທຸກແອັບພລິເຄຊັນການສະແກນ ເຊັ່ນ: xsane, scanadf, simple-scan ແລະ ອື່ນໆ.
ທ່ານຈະຕ້ອງໃຊ້ຕົວປ່ຽນສະພາບແວດລ້ອມໃນເວລາທີ່ເລີ່ມຕົ້ນແອັບພລິເຄຊັນການສະແກນ (ໃນທີ່ນີ້ແມ່ນ scanimage). ຕົວປ່ຽນສະພາບແວດລ້ອມທີ່ໃຊ້ກັບຄຳສັ່ງ scanimage ແມ່ນຂຶ້ນກັບວ່າເຄື່ອງສະແກນຂອງທ່ານເຊື່ອມຕໍ່ແນວໃດ ແລະ backend ໃດທີ່ຮອງຮັບມັນ. ດັ່ງນັ້ນ, ເພື່ອເອົາ log ການແກ້ໄຂຂໍ້ຜິດພາດສຳລັບອຸປະກອນ HP LaserJet, ທີ່ເຊື່ອມຕໍ່ຜ່ານ Ethernet/Wifi ແລະ ຮອງຮັບໂດຍ backend HPAIO, ໃຫ້ໃຊ້ຄຳສັ່ງ:
$ SANE_DEBUG_DLL=255 SANE_DEBUG_HPAIO=255 SANE_DEBUG_SANEI_TCP=255 scanimage -L &> discovery_output
ຫຼື ຕົວຢ່າງ ຫາກທ່ານມີ CanoScan 8600F, ເຊື່ອມຕໍ່ດ້ວຍ USB ແລະ ຮອງຮັບໂດຍ backend genesys, ໃຫ້ໃຊ້ຄຳສັ່ງ:
$ SANE_DEBUG_DLL=255 SANE_DEBUG_GENESYS=255 SANE_DEBUG_SANEI_USB=255 scanimage -L &> discovery_output
ກະລຸນາແນບໄຟລ໌ discovery_output ທີ່ສ້າງຂຶ້ນນັ້ນໄປກັບປີ້ bugzilla.
ການແກ້ໄຂຂໍ້ຜິດພາດຂອງຂັ້ນຕອນການສະແກນ
ຫາກຄົ້ນຫາເຄື່ອງສະແກນເຫັນແລ້ວ, ແຕ່ເກີດບັນຫາໃນລະຫວ່າງການສະແກນ, ພວກເຮົາຈຳເປັນຕ້ອງໄດ້ແກ້ໄຂຂໍ້ຜິດພາດຂອງຂັ້ນຕອນການສະແກນເອງ - ເຊິ່ງໝາຍເຖິງການກວດສອບການສື່ສານລະຫວ່າງ backend ແລະ ເຄື່ອງສະແກນເມື່ອທ່ານເລີ່ມສະແກນເອກະສານ.
ການແກ້ໄຂຂໍ້ຜິດພາດຂອງການສະແກນແມ່ນມີລັກສະນະຄ້າຍຄືກັນກັບການຄົ້ນຫາ - ຄືການຕັ້ງຄ່າຕົວປ່ຽນສະພາບແວດລ້ອມກ່ອນຈະເປີດໃຊ້ຄຳສັ່ງ/ແອັບພລິເຄຊັນການສະແກນ ແລະ ບັນທຶກ log ລົງໃນໄຟລ໌. ຄຳສັ່ງທີ່ອາດຈະໃຊ້ໄດ້ແມ່ນ (ຕົວຢ່າງ: ຫາກທ່ານມີ ເຄື່ອງສະແກນຜ່ານເຄືອຂ່າຍທີ່ຮອງຮັບໂດຍ backend HPAIO):
$ SANE_DEBUG_DLL=255 SANE_DEBUG_HPAIO=255 SANE_DEBUG_SANEI_TCP=255 xsane &> debug_log
ຫຼື (ເມື່ອທ່ານຮູ້ URI ຂອງອຸປະກອນຈາກ scanimage -L - ເບິ່ງໃນ ພາກຕໍ່ໄປ):
$ SANE_DEBUG_DLL=255 SANE_DEBUG_HPAIO=255 SANE_DEBUG_SANEI_TCP=255 scanimage -d <device_uri> > out.pnm 2> debug_log
, ໂດຍທີ່ທ່ານປ່ຽນ <device_uri> ເປັນ URI ຂອງອຸປະກອນຕົວຈິງ, ຕົວຢ່າງ: 'hpaio:/net/laserjet_m1536dnf_mfp?ip=192.168.1.112'.
ກະລຸນາແນບໄຟລ໌ debug_log ທີ່ສ້າງຂຶ້ນນັ້ນໄປກັບປີ້ bugzilla.
ການເອົາ URI ຂອງອຸປະກອນເຄື່ອງສະແກນ
ຫົວຂໍ້ນີ້ແມ່ນຄູ່ມືວິທີການເອົາ URI ຂອງເຄື່ອງສະແກນເພື່ອໃຊ້ໃນການແກ້ໄຂຂໍ້ຜິດພາດຂອງການສະແກນຜ່ານ scanimage. ທ່ານບໍ່ຈຳເປັນຕ້ອງລະບຸ URI ຂອງເຄື່ອງສະແກນໃນແອັບພລິເຄຊັນທີ່ມີ GUI ເຊັ່ນ xsane ຫຼື simple-scan ເພາະວ່າແອັບພລິເຄຊັນຈະຈັດການໃຫ້ທ່ານເອງ ຫຼື ທ່ານສາມາດເລືອກເຄື່ອງສະແກນໄດ້ດ້ວຍການຄລິກເມົ້າ.
ຄຳສັ່ງ scanimage -L ຈະສະແດງຜົນລັດທີ່ມີ URI ຂອງອຸປະກອນ, ຕົວຢ່າງ:
$ 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
ຕົວຢ່າງ: ຂໍ້ຄວາມ 'hpaio:/net/laserjet_m1536dnf_mfp?ip=192.168.1.112&queue=false' ແມ່ນ URI ຂອງອຸປະກອນສຳລັບເຄື່ອງສະແກນ Hewlett-Packard laserjet_m1536dnf_mfp all-in-one.
ການແກ້ໄຂຂໍ້ຜິດພາດຂອງເຄື່ອງສະແກນ HP ຫາກໄດ້ຮັບການຮອງຮັບໂດຍ HPLIP
ແພັກເກດ hplip ບໍ່ມີການບັນທຶກ log ແບບລວມສູນ, ດັ່ງນັ້ນ log ບາງສ່ວນຈະອອກມາຈາກ backend HPAIO ໄປທີ່ standard output ແລະ log ຂອງເຄື່ອງມືພາຍໃນຂອງ HP ຈະໄປທີ່ journal. ດັ່ງນັ້ນພວກເຮົາຈຳເປັນຕ້ອງບັນທຶກທັງສອງຢ່າງເພື່ອໃຫ້ເຂົ້າໃຈສະຖານະການ.
ສາມາດເຮັດໄດ້ດ້ວຍວິທີນີ້:
-
ເລີ່ມບັນທຶກ log ຂອງ journal ໃນເບື້ອງຫຼັງ:
$ journalctl -f > journal_logs &
$ kill `pidof journalctl`
ຈາກນັ້ນໃຫ້ແນບໄຟລ໌ທີ່ສ້າງຂຶ້ນ - journal_logs - ໄປກັບປີ້ bugzilla. ກະລຸນາເຮັດພຽງແຕ່ໜຶ່ງການທົດສອບຕໍ່ການບັນທຶກໜຶ່ງຄັ້ງ - ນັ້ນໝາຍຄວາມວ່າ ຫາກທ່ານຖືກຂໍໃຫ້ແນບໄຟລ໌ log ສຳລັບການຄົ້ນຫາ ແລະ ການສະແກນຂອງເຄື່ອງສະແກນ HP ທີ່ຮອງຮັບໂດຍ hplip, ທ່ານຈະຕ້ອງແນບໄຟລ໌ທັງໝົດສີ່ໄຟລ໌ - discovery_output, journal_logs ສຳລັບຜົນການຄົ້ນຫາ, debug_logs ແລະ journal_logs ສຳລັບ debug_logs.
ການແກ້ໄຂຂໍ້ຜິດພາດ sane-airscan
ຫາກອຸປະກອນຂອງທ່ານຮອງຮັບ eSCL ຫຼື WSD (ທ່ານສາມາດກວດສອບໄດ້ຈາກຄຸນລັກສະນະສະເພາະຂອງອຸປະກອນ - ໂດຍຊອກຫາໂປຣໂຕຄອນທີ່ກ່າວມາ ຫຼື AirScan), ຟັງຊັນການສະແກນຂອງມັນຈະຖືກຮອງຮັບໂດຍ sane-airscan. ສຳລັບການແກ້ໄຂຂໍ້ຜິດພາດ, ນອກຈາກການບັນທຶກ log ຕາມປົກກະຕິແລ້ວ sane-airscan ຍັງຈະຮິບໂຮມຂໍ້ມູນການສື່ສານ (communication dump) ແລະ ຮູບພາບທີ່ສົ່ງອອກມາ, ເຊິ່ງເປັນປະໂຫຍດຫຼາຍໃນລະຫວ່າງການກວດສອບ.
ການແກ້ໄຂຂໍ້ຜິດພາດຂອງ sane-airscan ສາມາດເປີດໃຊ້ໄດ້ໃນ /etc/sane.d/airscan.conf ໂດຍການຕັ້ງຄ່າ:
[debug]
trace = /path/to/dir/where/debugfiles/will/be/saved
enable = true
ວິທີການແຍກ log
ໃນກໍລະນີທີ່ໄຟລ໌ log ການແກ້ໄຂຂໍ້ຜິດພາດຂອງທ່ານໃຫຍ່ເກີນໄປທີ່ຈະແນບໃນ bugzilla (ຍ້ອນວ່າບັນຫາຂອງທ່ານບໍ່ເກີດຂຶ້ນໃນການຕັ້ງຄ່າລະດັບຕ່ຳສຸດ ຫຼື log ມີຂະໜາດໃຫຍ່ເຖິງແມ່ນວ່າຈະຕັ້ງຄ່າລະດັບຕ່ຳສຸດແລ້ວກໍຕາມ), ໃຫ້ແຍກ log ອອກເປັນສາມໄຟລ໌ດັ່ງນີ້:
$ grep dll debug_log > debug_log_dll
$ grep <connection> debug_log > debug_log_connection
$ grep <backend> debug_log > debug_log_backend
<backend> ແມ່ນຊື່ຂອງ backend ທີ່ຮອງຮັບເຄື່ອງສະແກນຂອງທ່ານ (pixma, genesys, plustek, hpaio, airscan ແລະ ອື່ນໆ), <connection> ແມ່ນປະເພດຂອງການເຊື່ອມຕໍ່ທີ່ທ່ານໃຊ້ສຳລັບອຸປະກອນ (tcp, usb).
ການແຍກໄຟລ໌ຈະເຮັດໃຫ້ການກວດສອບມີຄວາມຫຍຸ້ງຍາກຂຶ້ນ (ຜູ້ກວດສອບຈຳເປັນຕ້ອງເປີດສາມໄຟລ໌ພ້ອມກັນ), ດັ່ງນັ້ນ ໃຫ້ແຍກ log ສະເພາະໃນກໍລະນີທີ່ໄຟລ໌ log ມີຂະໜາດໃຫຍ່ເກີນໄປເທົ່ານັ້ນ.
Want to help? Learn how to contribute to Fedora Docs ›