From 3b2a399769908b4efe7c9d727508b550d5d45a7e Mon Sep 17 00:00:00 2001 From: jessikitty Date: Wed, 16 Sep 2026 11:29:52 +1000 Subject: [PATCH] PrintFxv2 --- README.md | 15 +++++++++++++-- public/js/admin.js | 6 ++++-- scripts/print-probe.mjs | 2 +- scripts/print-test.mjs | 4 +++- scripts/printer-status.mjs | 25 +++++++++++++++++++++++-- src/printer.js | 14 ++++++++++++-- src/routes/admin.js | 2 +- 7 files changed, 57 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index c49f376..c039a73 100644 --- a/README.md +++ b/README.md @@ -179,6 +179,11 @@ the widest roll it will accept — the console warns you if you enter anything w | DK-11208 | 38 × 90 mm die-cut | Narrower; turn the photo off | | DK-11209 | 29 × 62 mm die-cut | Name and host only | +**A DK-22251 must be set as the black/red roll even if nothing on the badge is red.** The printer +refuses a monochrome job on two-colour tape, saying *Black/Red on White paper is installed now. +Change it to Monochrome media.* The roll setting controls how the job is built, not just its +colour. + **Tell it which roll is loaded.** *Roll loaded in the printer* under **Sites → Edit → Printer** must match what is physically in the machine. A two-colour job sent to a plain roll is refused outright: the printer shows **Wrong Roll Type** and nothing comes out. The setting is separate @@ -223,8 +228,14 @@ docker compose exec visitor-signin node scripts/printer-status.mjs ``` It reports the media width, whether the roll is continuous or die-cut, any error the printer is -holding, and the roll id that matches. `brother_ql`'s network backend only writes to the socket -and never reads, which is why a refused job still looks like a success — this asks directly. +holding, and the roll id that matches. + +**It does not work on every printer.** Many Brother network print servers are write-only on port +9100: they accept jobs but never answer a status request, even though the same printer reports +happily over USB. The QL-820NWB is one of them. When that happens, **Brother Status Monitor on a +PC with the printer installed is the thing to use** — it gives the exact reason a job was refused, +in plain words, which is more than anything on the server can tell you. `brother_ql`'s network +backend never reads the socket at all, so it reports success no matter what the printer does. If the printer will not answer, work through the possibilities one at a time: diff --git a/public/js/admin.js b/public/js/admin.js index a3f9395..8a8fcfb 100644 --- a/public/js/admin.js +++ b/public/js/admin.js @@ -847,8 +847,10 @@ function openSiteModal(site) { -

This must match the roll actually in the machine. Send a two-colour job to a - plain roll and the printer answers Wrong Roll Type and prints nothing.

+

This must match the roll actually in the machine, and it matters in both + directions. A two-colour job on a plain roll is refused as Wrong Roll Type; a + monochrome job on a DK-22251 is refused with Black/Red on White paper is installed + now. The DK-22251 needs the two-colour option even when the badge is entirely black.