Skip to content

USB printers on Windows ​

Audience: Anyone plugging a USB thermal printer into a Windows laptop that runs Manager in the browser.

On Windows, a USB printer needs its driver changed once before the browser can print on it. This page covers the symptom, why it happens, how to change the driver with Zadig, and how to tell it worked.

Applies to: a printer added as Plugged into this computer — a USB printer that the laptop's browser prints on — on Windows. It is not about one make of printer: Windows does this to almost every USB printer. A printer plugged into the server and added Into the server is printed through Windows' own driver and needs none of this — see Do I need this? below.

The symptom ​

Test print — or any splits print or label for that printer — fails with:

Windows has its own driver on this USB printer, so the browser cannot use it. Switch the printer's driver to WinUSB with Zadig; removing the printer from Windows' printers is not enough.

Older versions of Manager said Windows is using this printer through its own driver instead, or — wrongly — A USB printer needs the secure (https://) link to meshO, even on a page already opened over https. All three mean the same thing, and the fix is the one below.

Why it happens ​

When a USB printer is plugged in, Windows recognises it as a printer and attaches its own driver to it — USB Printing Support (usbprint). It does this before anything else gets a look, whether or not you ever install the printer in Settings.

The browser talks to USB devices through WebUSB, and on Windows WebUSB can only open a device whose driver is WinUSB. With usbprint holding the printer, the browser asks to open it and Windows answers "access denied".

So it is the combination — a USB printer, on Windows, printed by the browser — not your particular printer, and not the browser or the https link. Chrome and Edge behave the same.

Removing the printer from Windows' printers does not fix it. Settings → Bluetooth & devices → Printers & scanners → Remove deletes Windows' print queue for the printer. The usbprint driver underneath is still attached the next time it is plugged in. Removing the queue is still worth doing — see step 1 below — but changing the driver is the step that matters.

Change the driver to WinUSB with Zadig ​

Do this once on each Windows laptop, with the printer plugged in and switched on.

  1. Remove Windows' printer for it, if there is one. Settings → Bluetooth & devices → Printers & scanners, open the printer (it may be called POS-80, Generic / Text Only or the printer's model) and choose Remove.
  2. Download Zadig from https://zadig.akeo.ie and run it. There is nothing to install; say Yes to the administrator prompt.
  3. Choose Options → List All Devices.
  4. In the dropdown, choose the printer. It is listed by its own name (POS-80, TM-T20III…) or as USB Printing Support. If it appears twice, choose the one marked (Interface 0).
  5. The box on the left shows its current driver — usually usbprint. Set the box on the right to WinUSB and click Replace Driver. It takes up to a minute.
  6. Unplug the printer and plug it back in.
  7. Close the browser completely and open Manager again at its https link.
  8. Go to Settings → Printing → Printers and run Test print on the printer. If it says the printer is not plugged in, open the printer and Choose the USB printer again — the browser sees it as a new device now that its driver has changed.

Check it worked ​

Open Device Manager. The printer is now listed under Universal Serial Bus devices, not under USB Printing Support or Printers. In Zadig, choosing it again shows WinUSB in the left-hand box.

What changes afterwards ​

  • Only browsers can print on it. Word, the Windows print dialog and other programs no longer see it as a printer. That is what the laptop's USB printer is for in Manager, so usually nothing is lost.
  • It stays changed. Windows remembers the driver for that printer on that USB port; the next event needs nothing. Plugging it into a different USB port can bring usbprint back — run Zadig again if the message returns.
  • To undo it, choose the printer in Zadig again and replace the driver with USB Printing Support (usbprint), or uninstall the device in Device Manager and plug it back in.

Do I need this? ​

  • A USB printer on a Windows laptop, added as Plugged into this computer: yes.
  • A printer plugged into the server's computer, added Into the server: no. The server prints through Windows' own driver, the way any program does, so leave the driver alone. Changing it to WinUSB would stop the server printing on it. On the server's own computer this is usually the simpler choice anyway, and the Add printer dialog offers Into the server first there.
  • A network printer: no. It is reached by its address and has no USB driver.
  • A Mac: no. macOS does not attach a driver to a USB printer, so the browser can open it as it is. If a print fails there with The USB printer could not print it, another program has the printer open — close it and try again.