Skip to main content

ติดตั้ง HP Laser MFP 135w บน Arch Linux + KDE ให้ทั้ง Print และ Scan ใช้งานได้จริง

· 6 min read

เครื่องนี้เป็น multifunction ราคาถูกที่ HP วางขายในไทย แต่ driver สำหรับ Linux ไม่ตรงรุ่น — ต้องใช้ HP Unified Linux Driver จาก AUR แล้วเลือก PPD ของ Series 13x เอง

HP Laser MFP 135w เป็นเครื่อง Laser ขาวดำ multifunction (Print/Scan/Copy) ที่ต่อ Wi-Fi ได้ในราคาราว 4,000-5,000 บาท (ตามร้านและช่วงโปรโมชัน) แต่บน Linux ไม่มี driver ตรงรุ่นจาก HPLIP — ต้องใช้ HP Unified Linux Driver (hpuld) จาก AUR แล้วเลือก PPD ของ Series 13x ด้วยตัวเอง

หลังเซ็ตเสร็จ ใช้งานได้ทั้ง print ผ่าน IPP และ scan ผ่าน eSCL/AirScan ไม่ต้องลง driver ของ HP เพิ่ม ไม่ต้องเสียบสาย USB และ toggle เปิด-ปิด CUPS ได้ตามต้องการ

TL;DR​

  • Print Server: CUPS + hpuld (AUR) + PPD HP_Laser_MFP_13x_Series.ppd
  • Network Printer URI: ipp://10.0.1.19/ipp/print (เปลี่ยน IP ตามจริง)
  • Scanner: SANE + sane-airscan + Simple Scan GUI
  • KDE: ใช้ print-manager หรือ system-config-printer เพิ่มเครื่อง
  • Bonus: toggle script เปิด-ปิด CUPS เฉพาะตอนใช้

ติดตั้ง Package​

อัปเดตระบบก่อน แล้วลงทีเดียวรวมทั้ง print และ scan:

sudo pacman -Syu
sudo pacman -S cups print-manager system-config-printer ghostscript \
sane sane-airscan simple-scan avahi
yay -S hpuld

hpuld เป็น HP Unified Linux Driver จาก AUR ที่รวม PPD สำหรับ HP Laser MFP 13x Series (รวม 135w) — ไม่ต้องโหลด PPD จากเว็บ HP

ส่วน cups-filters และ libcups มักถูกดึงมาเป็น dependency อัตโนมัติ ไม่ต้องระบุเอง

ตาราง Package แยกตามความจำเป็น​

PackageคำอธิบายRequired
cupsPrint Server หลักของ Linux จัดการ queue และ print jobsYes
print-managerเครื่องมือจัดการ Printer ของ KDE PlasmaYes (สำหรับ KDE)
system-config-printerGUI เพิ่ม/ตั้งค่า Printer เลือก PPD เองได้Recommended
ghostscriptแปลง PostScript/PDF รองรับ legacy PPDRecommended
saneBackend มาตรฐานสำหรับ ScannerYes (สำหรับ Scan)
sane-airscanรองรับ Network Scanner ผ่าน eSCL/AirScan และ WSDYes (สำหรับ Scan ผ่าน Network)
simple-scanGUI สแกนเอกสารOptional
avahimDNS/DNS-SD ค้นหา Printer/Scanner ใน LAN อัตโนมัติOptional
hpuldHP Unified Linux Driver + PPD สำหรับ 13x SeriesYes (สำหรับ 135w)

ถ้าจะลงเฉพาะ print อย่างเดียว ตัด sane* และ simple-scan ออกก็ได้ แต่จะ scan ไม่ได้

เปิดใช้งาน CUPS​

ใช้ systemd socket activation — CUPS จะเริ่มทำงานอัตโนมัติเมื่อมีคำสั่งพิมพ์เข้ามา ไม่ต้อง enable cups.service แยก:

sudo systemctl enable --now cups.socket
systemctl status cups.socket

ถ้า Active: active (listening) ขึ้นมา = พร้อมใช้งาน

เปิด Avahi สำหรับ Network Discovery​

ถ้าอยากให้ระบบค้นหา Printer/Scanner ใน LAN อัตโนมัติผ่าน mDNS:

sudo systemctl enable --now avahi-daemon.service

ถ้ารู้ IP ของ Printer อยู่แล้วและไม่ต้อง scan ผ่าน network —ข้ามขั้นตอนนี้ได้ IPP URI ตรง IP ก็พอ

เพิ่ม HP Laser MFP 135w​

เปิด System Settings → Printers ใน KDE หรือเรียก:

system-config-printer

เพิ่ม Network Printer โดยใช้ URI:

ipp://10.0.1.19/ipp/print

เปลี่ยน 10.0.1.19 เป็น IP จริงของเครื่อง หาได้จากหน้าจอเครื่อง หรือ router's DHCP client list

เมื่อระบบให้เลือก Driver เลือก Provide a PPD File แล้วชี้ไปที่:

/usr/share/cups/model/uld-hp/HP_Laser_MFP_13x_Series.ppd

ไฟล์นี้มาจาก hpuld ใช้ได้กับ HP Laser MFP 13x Series ทั้งหมด รวมถึง 135w

เพิ่มเสร็จแล้วกด Print Test Page ทดสอบ

Scanner​

ตรวจว่า SANE เจอเครื่องผ่าน network:

scanimage -L

ควรเห็น device ประมาณ airscan:eSCL:10.0.1.19 หรือชื่อคล้ายๆ ถ้าไม่เจอ → ตรวจว่า sane-airscan ลงแล้ว และ avahi-daemon รันอยู่

เปิด Simple Scan:

simple-scan

simple-scan ใช้ eSCL/AirScan กับ WSD ตรงๆ ผ่าน sane-airscan ไม่ต้องใส่ IP เอง

Wi-Fi Driverless Fallback (เลี่ยง PPD ไม่ติด)​

ถ้าใช้ Wi-Fi แล้ว system-config-printer หรือ CUPS web UI ฟ้องเรื่อง PPD / driver mismatch → บังคับใช้โหมด IPP Everywhere (driverless) แทน เครื่องพิมพ์และคอมพิวเตอร์คุยกันผ่านโปรโตคอล IPP ตรงๆ ไม่ต้องใช้ไฟล์ PPD ฝั่งคอมพิวเตอร์

ขั้นตอนผ่าน CUPS web UI:

  1. เปิด http://localhost:631 → Administration → Add Printer
  2. ใน Other Network Printers ติ๊ก Internet Printing Protocol (ipp) หรือ AppSocket/HP JetDirect → Continue
  3. ใส่ Connection URL (เลือกอันใดอันหนึ่ง):
    • ipp://[IP_เครื่องพิมพ์]/ipp/print (แนะนำ เช่น ipp://192.168.1.50/ipp/print)
    • socket://[IP_เครื่องพิมพ์]:9100
  4. Continue ไปถึงหน้าเลือก Make → เลือก Generic
  5. หน้าเลือก Model → เลือก Generic IPP Everywhere Printer → Add Printer

วิธีนี้ driver ทั้งหมดอยู่ในเครื่องพิมพ์เอง (firmware) ไม่ต้องลง hpuld ก็ได้ แต่ option ปรับแต่งจะน้อยกว่า เช่น duplex/quality อาจไม่โผล่ในหน้าต่างตั้งค่า

Bonus — Toggle CUPS เปิดเฉพาะตอนใช้​

ถ้าไม่ได้พิมพ์บ่อย ปิด CUPS ตอนบูตแล้วเปิดเฉพาะตอนจะใช้จะเบากว่า:

sudo systemctl disable --now cups.service cups.socket

เปิดเฉพาะตอนพิมพ์:

sudo systemctl start cups.socket

ปิดหลังพิมพ์เสร็จ:

sudo systemctl stop cups.service cups.socket

[!IMPORTANT] ตอนปิด ต้อง stop ทั้ง cups.service และ cups.socket —ถ้าหยุดแค่ service แต่ socket ยังรันอยู่ systemd จะปลุก CUPS กลับมาทันทีเมื่อมีโปรแกรมเรียกใช้

ถ้าอยากได้ script toggle แบบใช้บ่อย:

nano ~/bin/cups-toggle
chmod +x ~/bin/cups-toggle

เนื้อหา:

#!/usr/bin/env bash

case "$1" in
on)
sudo systemctl start cups.socket
echo "CUPS enabled"
;;
off)
sudo systemctl stop cups.service cups.socket
echo "CUPS disabled"
;;
status)
systemctl status cups.socket cups.service --no-pager
;;
*)
echo "Usage: $0 {on|off|status}"
exit 1
;;
esac

ใช้งาน:

cups-toggle on
cups-toggle off
cups-toggle status

สรุป​

หลังเสร็จทุกขั้นตอน ได้:

  • Print ผ่าน IPP ไม่ต้องลง driver เฉพาะของ HP
  • Scan ผ่าน eSCL/AirScan ไม่ต้องเสียบสาย
  • Toggle เปิด-ปิด CUPS ได้ตามต้องการ
  • KDE integration ผ่าน print-manager ไม่ต้องเปิด GUI แยกทุกครั้ง

ถ้าใช้ KDE Wayland แล้ว simple-scan มีปัญหา → รันด้วย XDG_SESSION_TYPE=x11 simple-scan เป็น workaround ก่อนรอ patch ทาง upstream

อ้างอิง​

แชร์บทความ
☕

เนื้อหานี้มีประโยชน์ไหม? ช่วยสนับสนุนค่ากาแฟให้ผู้เขียนสักแก้ว

Buy Me a Coffee
Loading...