ติดตั้ง HP Laser MFP 135w บน Arch Linux + KDE ให้ทั้ง Print และ Scan ใช้งานได้จริง
สารบัญ
เครื่องนี้เป็น 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) + PPDHP_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 |
|---|---|---|
cups | Print Server หลักของ Linux จัดการ queue และ print jobs | Yes |
print-manager | เครื่องมือจัดการ Printer ของ KDE Plasma | Yes (สำหรับ KDE) |
system-config-printer | GUI เพิ่ม/ตั้งค่า Printer เลือก PPD เองได้ | Recommended |
ghostscript | แปลง PostScript/PDF รองรับ legacy PPD | Recommended |
sane | Backend มาตรฐานสำหรับ Scanner | Yes (สำหรับ Scan) |
sane-airscan | รองรับ Network Scanner ผ่าน eSCL/AirScan และ WSD | Yes (สำหรับ Scan ผ่าน Network) |
simple-scan | GUI สแกนเอกสาร | Optional |
avahi | mDNS/DNS-SD ค้นหา Printer/Scanner ใน LAN อัตโนมัติ | Optional |
hpuld | HP Unified Linux Driver + PPD สำหรับ 13x Series | Yes (สำหรับ 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:
- เปิด
http://localhost:631→ Administration → Add Printer - ใน Other Network Printers ติ๊ก Internet Printing Protocol (ipp) หรือ AppSocket/HP JetDirect → Continue
- ใส่ Connection URL (เลือกอันใดอันหนึ่ง):
ipp://[IP_เครื่องพิมพ์]/ipp/print(แนะนำ เช่นipp://192.168.1.50/ipp/print)socket://[IP_เครื่องพิมพ์]:9100
- Continue ไปถึงหน้าเลือก Make → เลือก Generic
- หน้าเลือก 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
อ้างอิง
- Arch Wiki - CUPS — การตั้งค่า CUPS บน Arch
- Arch Wiki - SANE — Scanner backend configuration
- hpuld - AUR — HP Unified Linux Driver พร้อม PPD
- system-config-printer — GUI เพิ่ม Printer
- OpenPrinting - HP Laser MFP 135w — ข้อมูล driver สำหรับ 135w
เนื้อหานี้มีประโยชน์ไหม? ช่วยสนับสนุนค่ากาแฟให้ผู้เขียนสักแก้ว
Buy Me a Coffee