Skip to content

USB printers in the network (ipp-usb, p910nd) - #109

Merged
UniqueDroid merged 2 commits into
mainfrom
feat/printer
Nov 1, 2026
Merged

UniqueDroid merged 2 commits into
mainfrom
feat/printer

Conversation

@UniqueDroid

Copy link
Copy Markdown
Owner

New system app printer (ipp-usb 0.9.34 + p910nd 0.97, ~3 MB .sapp) and its controller.

  • IPP over USB (most printers since ~2015): ipp-usb proxies the printer (and its scanner, eSCL) to the network – driverless printing via IPP Everywhere/AirPrint/Mopria, Windows 10/11 auto-discovery. The firmware's avahi-daemon is built without D-Bus, so there is no avahi-client: package/shareos-ipp-usb/0001-…patch replaces ipp-usb's Avahi publisher with one that writes static service files to /etc/avahi/services (avahi-daemon reloads them via inotify) and removes them on unplug. Device ports are kept in /etc/shareos/printer/dev.
  • Older printers (usblp): p910nd on 9100+N, announced as _pdl-datastream._tcp; test page (PCL/text).
  • shareos-printer (start/stop/apply/status/test, shareos-service: boot start stop-all), mdev rule for lp*, rpcd shareos.printer (status/set/test), Services → Printers page, i18n, printer config in the settings backup.
  • Tests: tests/test-printer.sh (14 checks, fake /sys, fake daemons; in backend-tests). ipp-usb and p910nd were built for the target locally (make sysapps-shareos-ipp-usb, ipp-usb -h under qemu); not tested with a real printer yet.

Generated by Claude Code

Current printers with IPP over USB print and scan without drivers
(ipp-usb 0.9.34, patched to announce through static avahi service files
because the firmware's avahi-daemon has no D-Bus); older printers over
port 9100 with p910nd. Controller shareos-printer (follows plugging via
mdev), rpcd shareos.printer, Services -> Printers in the interface,
tests/test-printer.sh.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmfmQxsE59Ms99VrbCi1J1
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmfmQxsE59Ms99VrbCi1J1
@UniqueDroid
UniqueDroid merged commit 38f1c02 into main Nov 1, 2026
2 checks passed
@UniqueDroid
UniqueDroid deleted the feat/printer branch November 1, 2026 15:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants