Pemacu: IPP Everywhere

Suami saya memiliki pencetak “HP Ink Tank Wireless 415”. Maka saya ambil peranan untuk membuat tetapan bagi pencetak ini dari komputer riba saya agar boleh digunakan oleh seisi rumah, baik dari distro Arch, telefon pintar mahupun komputer riba atau peribadi (sinonim dengan singkatan “PC”).

  • Pencetak dengan buatan dan model di atas ialah pencetak tanpa wayar.
  • Ia tidak menyokong cetakan duplex (yakni mampu mencetak halaman depan dan belakang secara auto). Makanya, cetakan duplex perlu dilaksanakan secara manual.
  • Pasang aplikasi HP Smart untuk mencetak dan mengimbas dari telefon pintar atau PC dengan sistem operasi Windows.

Tanpa berlengah lagi, berikut ialah langkah-langkah yang saya lakukan.

KONFIGURASI PENCETAK & PENGIMBAS

  1. Pasang pakej-pakej berikut:

    bash
    # The following packages are enough for network printers
    # that use IPP (driverless printing and scanning),
    # assuming 'avahi-daemon' is running for service discovery: 
    sudo pacman -S cups cups-pdf sane-airscan 
    
    # The following packages are required for USB printers 
    # that use IPP-over-USB (driverless printing and scanning):
    sudo pacman -S cups-browsed ipp-usb 
    cups-pdf diperlukan untuk mencetak halaman sebagai pdf.
  2. Selesai pemasangan, benarkan dan mulakan servis-servis berikut:

    bash
    # sudo systemctl enable --now avahi-daemon   # service is already running 
    sudo systemctl enable --now cups
    sudo systemctl start cups-browsed
    sudo systemctl start ipp-usb
    Saya tidak membenarkan servis cups-browsed dan ipp-usb untuk dimulakan secara automatik selepas boot kerana saya hanya memerlukannya untuk konfigurasi dan tetapan kali pertama. Selepas itu, saya cuma mencetak dari jarak jauh melalui rangkaian tanpa wayar (Home Wi-Fi) sahaja.
  3. Tambahkan pengguna ke dalam group sys (gantikan user dalam perintah baris seperti di bawah kepada nama pengguna sendiri):

    bash
    sudo gpasswd -a user sys 
  4. Setelah itu, hubungkan pencetak ke port USB dan hidupkan mesin pencetak. Pastikan sistem dapat mengesan peranti mesin pencetak tersebut dengan menjalankan perintah baris lsusb. Contoh output yang memaparkan maklumat pencetak:

    Bus 003 Device 002: ID 03f0:1353 HP, Inc Ink Tank Wireless 410 series
    
  5. (Hanya terpakai untuk pencetak tanpa wayar)

    Sambungan port USB ini merupakan langkah asas memandangkan pencetak masih belum bersambung dengan rangkaian rumah tanpa wayar. Gunakan arahan berikut yang dipunyai oleh pakej sane:

    bash
    scanimage -L 
    device `escl:http://localhost:60000' is a HP Ink Tank Wireless 410 series [5218DA] (USB) platen scanner
    device `airscan:e0:HP Ink Tank Wireless 410 series [5218DA] (USB)' is a eSCL HP Ink Tank Wireless 410 series [5218DA] (USB) ip=127.0.0.1, ::1
    

    Akan terkeluarlah output yang memaparkan pautan ke hos tempatan setelah peranti pencetak dikesan oleh servis ipp-usb (output pertama daripada senarai peranti di atas). Mengetik pautan ini akan membawa pengguna ke laman tetapan dan konfigurasi bagi pencetak tersebut, dan semestinya cuma boleh diakses apabila pencetak disambungkan melalui port USB.

    Jika servis ipp-usb sedang berlangsung namun pautan tersebut memaparkan ralat "ipp-usb is not ready for this device", mulakan semula pencetak dengan menekan butang “On/Off” untuk mematikan dan menghidupkannya semula. Apabila pautan sudah dapat diakses, pergi ke halaman ‘Network’, dan sambungkan pencetak dengan rangkaian rumah (home Wi-Fi) menggunakan "Wireless Setup Wizard".

    Untuk memudahkan pengurusan di lain masa tanpa perlu mencucuk port USB komputer riba/PC lagi, tugaskan alamat IP tetap/statik (e.g 192.168.0.25) di bawah tetapan “Wireless (802.11) > Network Address (IPv4) > Manual IP Address”. Laman tetapan dan konfigurasi yang sama kini boleh diakses di pautan https://192.168.0.25:443.

    Kalau mahu, buatlah juga tetapan untuk fungsi-fungsi lain seperti Wi-Fi Direct dan juga HP ePrint. Antara nama fungsi yang berkaitan dengan butang ikon pencetak HP ini adalah seperti berikut: Maklumat fungsi-fungsi ini boleh didapati dengan menekan butang yang akan mencetak satu muka surat penerangan tentang butang-butang rangkaian yang ada iaitu Wireless, Wi-Fi Direct serta HP ePrint.

MENCETAK

  1. Pergi ke pautan CUPS ini, http://localhost:631/printers/. Selepas menyambungkan pencetak dengan rangkaian rumah, sepatutnya pencetak tersebut akan turut sama ditambah secara automatik dan dapat dilihat kewujudannya di halaman ini.

    Walau bagaimanapun, kalau perkara ini tidak berlaku, tambah peranti pencetak dengan mengetik butang “Add Printer” atau “Find New Printers” yang terletak di bahagian http://localhost:631/admin/ (perlu log masuk sebagai pengguna), dan pilihlah salah satu pencetak daripada senarai yang dipaparkan.

    Untuk pencetak rangkaian di atas, saya putuskan untuk menambah pencetak dengan sambungan ipps bersama model IPP Everywhere TM bagi buatan HP, i.e. HP Ink Tank Wireless 410 series (HP Ink Tank Wireless 410 series (driverless)) :

    Connection: 	ipps://HP%20Ink%20Tank%20Wireless%20410%20series%20%5B5218DA%5D._ipps._tcp.local/
    

    Sila pilih pencetak dengan sambungan USB (dikesan oleh pakej cups-browsed) untuk pencetak yang tidak menyokong cetakan melalui sambungan Wi-Fi, i.e. (juga ditemui dan tersenarai sebagai peranti dengan nama yang sama) :

    Connection: 	ipp://HP%20Ink%20Tank%20Wireless%20410%20series%20%5B5218DA%5D%20(USB)._ipp._tcp.local/
    
  2. Bagi individu yang suka menggunakan perintah baris seperti saya, dapatkan senarai pencetak dengan arahan ini (disertakan contoh output) :

    bash
    lpstat -p -d 
    printer HP_Ink_Tank_Wireless_410_series_5218DA is idle.  enabled since Fri 21 Feb 2025 07:41:19 PM +08
    printer HP_Ink_Tank_Wireless_410_series_5218DA_USB is idle.  enabled since Sat 21 Feb 2025 07:40:08 PM +08
    no system default destination
    
  3. Jadikan peranti pilihan sebagai pelayan/sistem lalai dengan opsyen tambahan yang dikehendaki misalannya,

    bash
    lpoptions -d HP_Ink_Tank_Wireless_410_series_5218DA -o fit-to-page -o media=letter 
  4. Arahan untuk mencetak adalah:

    bash
    lp <filename>
    
    # An example to test the printer
    echo 'Hello, world!' | lpr -p 

    (rujuk juga laman bantuan yang disediakan oleh CUPS.)

  5. (Optional) Bagi membolehkan nama fail dan pengguna dipaparkan pada senarai kerja cetakan di pelayar web seperti imej di bawah (rather than being displayed as ‘Unknown’ and ‘Withheld’ under the respective Name and User columns, as determined by JobPrivateValues),

    sunting fail di bawah sebagaimana berikut:

    /etc/cups/cupsd.conf
    # Log general information in error_log - change "warn" to "debug" 
    # for troubleshooting...
    LogLevel debug
    
    ...
    
    # Set the default printer/job policies...
    <Policy default>
      # Job/subscription privacy...
      JobPrivateAccess all
      JobPrivateValues none
    • LogLevel debug amat berguna untuk log dengan perincian yang mendalam.

    Jangan lupa untuk memulakan semula servis cups setiap kali ada perubahan dilakukan terhadap fail “/etc/cups/cupsd.conf”.

MENGIMBAS

Format fail yang disokong untuk imbasan adalah: pnm, tiff, png, jpeg → (or pdf)

  1. Semasa melaksanakan semula perintah scanimage -L, terminal menghasilkan output data binari yang sudah tentunya tidak dapat dibaca dek simbol-simbol pelik yang dipaparkan. Tapis output tersebut dengan hanya mengekstrak senarai peranti yang relevan menggunakan ‘strings’ untuk menyahkan karakter bukan teks dan paip hasilnya berdasarkan perintah baris di bawah:

    bash
    scanimage -L | strings | grep -E 'device' 
    device `escl:https://192.168.0.25:443' is a HP Ink Tank Wireless 410 series [5218DA] platen scanner
    device `escl:http://localhost:60000' is a HP Ink Tank Wireless 410 series [5218DA] (USB) platen scanner
    device `airscan:e0:HP Ink Tank Wireless 410 series [5218DA]' is a eSCL HP Ink Tank Wireless 410 series [5218DA] ip=192.168.0.25, 2001:e68:5454:e051::3
    device `airscan:e1:HP Ink Tank Wireless 410 series [5218DA] (USB)' is a eSCL HP Ink Tank Wireless 410 series [5218DA] (USB) ip=127.0.0.1, ::1
    
  2. Jika lebih gemar menjalankan arahan di terminal (tanpa sebarang aplikasi GUI), perintah baris yang berikut adalah contoh bagi membuat imbasan:

    bash
    scanimage --device "airscan:e0:HP Ink Tank Wireless 410 series [5218DA]" \ 
      --format=jpeg --output-file test.jpg --progress
  3. Selain daripada menggunakan perintah baris atau aplikasi GUI untuk mengimbas, imbasan juga boleh dilaksanakan dari pelayar web melalui pautan alamat IP yang tersenarai pada baris pertama dalam tapisan output scanimage di atas di halaman “Scan”.

CETAKAN DUPLEX SECARA MANUAL

  1. Sekiranya menggunakan arahan lp, tetapkan nilai pilihan untuk mencetak halaman-halaman ganjil sahaja dahulu e.g. 1,3,5 seperti contoh di bawah (dengan andaian bahawa nama pencetak telah ditetapkan sebagai sistem lalai), atau masukkan nombor muka surat di ruangan Pages pada seksyen Range dari dialog sistem:

    bash
    lp -o page-ranges=1,3,5 <filename> 
  2. Kutip kertas-kertas yang telah dicetak bahagian hadapannya itu dari dulang pengeluaran (output tray) dan susun semula kertas-kertas berkenaan. Maksudnya, kertas yang mula-mula dicetak sepatutnya berada di bahagian atas sekali, mengikut turutan.

  3. Pastikan halaman yang belum bercetak menghadap ke hadapan, dan putarkan kertas-kertas berkenaan 180°, bermaksud teks/gambar yang telah dicetak di muka surat depan itu berada dalam posisi terbalik ke bawah (yakni menghadap pencetak). Letakkan di dulang masuk (input tray) kembali.

  4. Dan akhirnya teruskan dengan melaksanakan perintah baris yang memberi arahan kepada pencetak untuk mencetak halaman-halaman genap pula e.g. 2,4,6.

    bash
    lp -o page-ranges=2,4,6 <filename> 

Sekian sahaja penulisan saya pada kali ini.


Kali terakhir dikemaskini:

Tentang Blog & Penulis

Topik perbincangan dalam blog ini merangkumi Linux & perisian sumber terbuka, Virtual Machine, serta Typesetting system.
Fokus semasa: Full Stack Development
Minat sampingan: Analisis Data
Bakat tersembunyi hamba: Menyanyi dan melukis.

Sumber dari Wallpaper Cave.