
Microsoft's latest Windows 10 updates come with nasty printer bugs - reddotX
https://www.engadget.com/microsofts-windows-10-updates-printer-bugs-000112943.html
======
akersten
Not surprised. There's something in the water in the Windows print spooler. I
have a Brother HL-L2380DW printer that worked "just fine," but then at some
point after a Windows update, everything started printing inverted. Like
literally the printer would paint the page black, except for white where the
text was. I thought it was a firmware issue on the printer, but it only
happened when printing in Windows.

Wasted a _ton_ of toner trying to figure out what was going on. The solution?
When adding the printer in Windows, don't add it automatically via network
discovery. That will install the bad version of the driver. Manually type in
the IP of the printer. That will clue Windows in to using the... correct?
version of the driver? The one that doesn't invert all the colors?

Printing is a mess and our industry should be ashamed. How does something like
this just break after an update? I can only imagine the absolute spaghetti
bowl that is the Windows print subsystem.

Here's an official Brother FAQ outlining the "fix"[0]. I'm pretty sure it's
still not fixed in Windows and continues to require this song-and-dance
workaround.

[0]: [https://help.brother-
usa.com/app/answers/detail/a_id/167000/...](https://help.brother-
usa.com/app/answers/detail/a_id/167000/~/inverted-text-or-white-text-on-a-
black-background-when-printing---windows-10)

~~~
thaumasiotes
> Printing is a mess and our industry should be ashamed. How does something
> like this just break after an update?

I have Bose wireless headphones. They used to operate as expected: leave
bluetooth on at all times on the laptop. When turning the headphones off, they
disconnect. When turning the headphones on, they reconnect.

Eventually there was a Windows update, and this stopped working. Now, if I
turn the headphones off, _only the microphone_ will reconnect when I turn them
back on. To get sound to play through the headphones, I have to disable and
then reenable bluetooth in Windows. Every time.

~~~
seniorgarcia
Have you checked if this was possibly because of [https://cve.mitre.org/cgi-
bin/cvename.cgi?name=CVE-2019-2102](https://cve.mitre.org/cgi-
bin/cvename.cgi?name=CVE-2019-2102)?

I mean, I get why you would blame MS for breaking this but maybe the onus is
also on Bose and their ridiculously bad driver support.

~~~
thaumasiotes
I haven't checked. How would I do that?

The headphones are able to connect once after disabling and reenabling
bluetooth in Windows. If the problem were that the headphones are configured
to use a fixed, predictable long-term key, it isn't obvious to me why Windows
would accept that key sometimes, but not all the time.

(Note that I don't need to have Windows forget the device and re-pair from
scratch.)

Is there some aspect of initial bluetooth negotiation that would explain this?

~~~
seniorgarcia
There was a list somewhere with devices using the wrong config. An explanation
of the issue is here
[https://www.bleepingcomputer.com/news/security/microsoft-
blo...](https://www.bleepingcomputer.com/news/security/microsoft-blocks-some-
bluetooth-devices-due-to-security-risks/) and there also is advice on checking
if your device is affected. I thought the issue was that if the host initiates
the connection it will work but if it's just auto reconnecting it will not but
I may be wrong.

~~~
thaumasiotes
Doesn't look like the CVE is relevant. That article says it's indicated by
this message:

> Your Bluetooth device attempted to establish a debug connection. The Windows
> Bluetooth stack does not allow debug connection while it is not in the debug
> mode.

I don't see that. What I see is

> A device with Bluetooth adapter address (2c:45:a1:20:a1:99) has a bad
> service record (attribute identifier 9). The service will not be visible.

That happens several times every time, whether the connection succeeds or not.
There is also a message that appears just once, when the connection succeeds:

> Windows cannot store Bluetooth authentication codes (link keys) on the local
> adapter. Bluetooth keyboards might not work in the system BIOS during
> startup.

Searching for the first message, I found some support threads from Bose
customers. They seem pretty angry about their headphones not working. :/

------
deng
Unbelievable. I was _this_ close buying a new printer. I mean it's really a
weird error which does not look like a hardware issue, but after testing the
printer on _three_ different PCs (all running latest Windows 10, of course)
with the same result, I was convinced it's a problem with the printer.

~~~
cube2222
Yep, same. Having not used it for a year and recently tried to print something
I thought it's botched.

Got it working with Google cloud print though.

~~~
Adrakhones
Enjoy it for 6 more months.
[https://support.google.com/chrome/a/answer/9633006](https://support.google.com/chrome/a/answer/9633006)

~~~
aspenmayer
From what I can tell, this is what is supplanting/replacing Google Cloud
Print: IPP Everywhere

[https://www.pwg.org/ipp/everywhere.html](https://www.pwg.org/ipp/everywhere.html)

via

[https://support.google.com/chrome/a/answer/7225252](https://support.google.com/chrome/a/answer/7225252)

------
chinhodado
I have a Windows 10 machine with an old HP printer (laserjet 1012) that
requires manual driver installation. Every single time there's a major Windows
update it blows away the driver and I have to install the driver again.
Extremely annoying.

~~~
mobilio
Get one Raspberry Pi, connect there printer, setup printer as network and
forget about issues.

~~~
Nextgrid
I think his point is that he shouldn't have to do that and I agree with that.

System updates have been a mostly solved problem since Windows XP (or maybe
earlier) and I don't recall updates outright deleting installed software until
Windows 10 came out.

Windows 10 obviously uses a different update model (it's essentially a full OS
reinstall) but this model should've been developed taking into account the
requirements of the old one, and I think "leave installed software/drivers
alone" is a very important one.

Releasing a half-baked implementation that is _worse_ than the old one is very
sloppy. To the eyes of the user it doesn't matter how "good" the underlying
details is (I guess the new model does have some advantages on a technical
level), if it wipes out existing software and makes certain peripherals not
work it's an overall negative and shouldn't have been released.

~~~
nullify88
I believe the issue is that since the printer is so old, there is no driver
available for Windows 10. Checking the HP site, the latest is for Vista from
2008, so dragons are to be expected when you run with drivers on an OS that
isnt listed as being compatible with significant architectural changes.

I dont think its fair to blame the OS here and in this case you may get a
better experience, and maybe security (removing those old HP background
processes running with elevated privileges) using microsofts generic
postscript printer drivers.

~~~
Nextgrid
The problem here doesn't seem to be the driver. The driver appears to be
working once installed. The problem is that the driver gets removed every time
a major system update is installed. The update system used to be fine in this
regard and they decided to rewrite it in such a way that it doesn't keep
existing drivers even if they appear to be compatible.

~~~
chinhodado
Exactly. The driver once installed works perfectly. It's Windows update
blowing it away that is the problem.

~~~
nullify88
> [https://kb.ucla.edu/articles/hp-laserjet-1012-and-
> windows-10](https://kb.ucla.edu/articles/hp-laserjet-1012-and-windows-10)

As stated in a previous comment, you're installing drivers for another model
of printer. So I find it unreasonable to believe there wont be problems down
the line even if they appear to be working.

HP has a Universal Print Driver that will support your printer and be
compatible with Windows 10 with out resorting to installing drivers meant for
another printer. Not exactly a high prority test case for Microsoft.

~~~
Nextgrid
> you're installing drivers for another model of printer

That shouldn't be the OS's decision to make. The user wanted his machine to
install something, and the something even worked fine after install.

Are you advocating for the OS deleting files/software that it considers
"wrong" without explicitly asking the user?

Besides that, the driver appears to be fully compatible because it works fine
once reinstalled. It would be one thing if the driver just stopped working
(because the printing driver API changed, which is fair enough for a decades-
old printer), but in this case it's not about API incompatibility but a broken
update system.

------
shimonamit
Printing in Windows is an unsolved problem. It never was.

To print in Windows I have a checklist: 1\. Print 2\. Restart printer 3\.
Cancel print job, try to print again. 4\. Restart print spooler, try to print
again. 5\. Restart computer, try to print.

Usually works with #4 or #5. Having a family member print is a major tech
support undertaking.

~~~
Traubenfuchs
> 3\. Cancel print job

At this point, as user, you have usually lost the game. This can mean anything
from: "The print job can't be cancelled/deleted." to "The PC will restart that
job every time you restart the PC".

~~~
xeromal
I'd probably try safe mode at that point. Hopefully the print service doesn't
fire up

~~~
Already__Taken
I've had good success stopping the spooler and nuking system32 spooler files
over powershell to fix people on the phone. it's insane I have to resort to
that.

------
perryizgr8
Why is printing such a pain? Shouldn't you just be able to send a pdf file to
the printer by network/usb/whatever and the printer should be able to print
it? Why do we still need drivers?

~~~
cbhl
Mostly cost. There are printers that have computers in them that know how to
read PDF, the "networked" or "cloud" or "business" ones. But they all cost
more -- anywhere from $300 to $1000+.

The cheap ones just have some tiny microprocessor that knows how to read the
proprietary bitmap sent from the computer, and rely on the host PC for font
rendering etc.

(Rendering fonts and vectors from a PDF can get pretty expensive!)

~~~
joosters
It can't require too much processing, Postscript printers were a thing decades
ago...

~~~
barrkel
You underestimate how much printer manufacturers would like to shave from
their hardware costs.

Besides, Postscript can be arbitrarily complex, and with modern PCs, PDFs may
be similarly complex. Much easier to deal with that (both bugs and memory
costs) in a driver which can be upgraded easily, rather than in firmware.

Way back when, in the early days of laser printers, the computer wouldn't be
able to keep up with the printer, and a decent printer had a faster CPU than
the computer it was attached to.

[https://en.wikipedia.org/wiki/LaserWriter#Hardware](https://en.wikipedia.org/wiki/LaserWriter#Hardware)
\- 12MHz CPU in the printer, attached to an 8MHz CPU in the Mac.

------
bzb3
I recommend users to install the LTSC version of Windows 10. It's akin to the
LTS version of Ubuntu.

~~~
ta17711771
Where do you purchase this?

~~~
ShamelessC
I see people recommend this _all the time_ and yet as far as I know the only
way to legally obtain LTSC is via a 45$/month subscription to MSDN. Is there
some other avenue I'm not aware of? If not, then that price is absurd for a
feature set that used to be available by default in Windows 7.

~~~
gruez
AFAIK it's only available through volume licensing, which means you can't buy
a single copy (you need around 30 licenses minimum, I believe). However, I've
heard stories of people bypassing this limit by buying 1 license for LTSC
(~$300), and then 29 CAL licenses (a few dollars each) as a filler.

If you're not particularly concerned about licensing though, just pirate it.

~~~
EvanAnderson
The minimum volume license buy is 5 licenses. Any good reseller will sell you
1 copy of LTSC and 4 of the cheapest SKU in the catalog (usually $5-10 / ea)
to get your volume license contract started. After that you can purchase
piecemeal for 2 years before you need to fulfill the minimum purchase again.
The licenses themselves are perpetual.

I don't like it, but it's not too hard to do either.

------
redleggedfrog
Jeez-o-Pete how in the heck can a giant company with near unlimited resources
screw up so bad? Testing? Just...how.

~~~
muststopmyths
They don't test. They fired all their testers a few years ago. Now it's just
telemetry from users.

~~~
Google234
I believe that engineers should be responsible for testing the code they write
themselves.

~~~
flohofwoe
That only works for extremely simple projects with very small teams working on
"hobby projects". For anything serious you need an independent and
professional QA team which essentially does nothing else than trying to break
the product all day in and out.

Programmers should be required to do enough local testing to not break the
build of course, but the same person who wrote the code can't also thoroughly
test it, because they'll inevitably only test the "happy path", even if they
don't intend to.

~~~
delfinom
There comes a point though when theres too much QA that seriously hampers
development and progress because they turn the smallest change into a year
long shitfest of "hold on we are testing!". Microsoft for awhile got a bit
heavy on QA, unforunately they also went full retard the other direction.

------
rkagerer
Still waiting for Microsoft to accept their update model is broken and finally
announce Windows 11.

------
tonyedgecombe
The Windows print spooler is a surprisingly complex piece of software, there
is a ton of legacy in there. I would assume it's quite difficuly to maintain.

~~~
copperx
I'll give this line to my boss when he asks why I didn't print the TPS report
:)

------
slfnflctd
This is part of why I try to have different OSes/versions on my main PCs.

It's also nice to have the option of booting into a pre-configured USB drive
with a persistent Linux environment you know will work because it's a time
capsule. [It's the pre-configuring part that's a pain, but it can be worth it;
do a dd copy to another identical stick once you've got it tuned up and you
always have a failsafe.]

------
chkaloon
Printing on Windows has been a dumpster fire for 25 years. Nothing new.

------
ingenium
I had the latest Windows update break printing, but in a different way. It
could no longer connect to the network printer (hosted via CUPS on a raspberry
pi). I could load the URL for the CUPS printer just fine in Chrome, but
Windows itself couldn't see it. I was also unable to edit anything for the
printer in Windows (the option simply wasn't there, and everything was greyed
out).

The solution was to set it as the default printer, then add a new printer with
the same CUPS URL. For some reason, setting it as the default allowed Windows
to see it again. Then delete the new copy, and the original began working and
allowed its settings to be edited. Incredibly frustrating.

------
m0zg
OTOH shared CUPS printers are now installable with 2 clicks and without
entering the CUPS URL. I have an old HP printer which doesn't work with
Windows itself anymore, but works fine if connected to my Linux workstation.

------
jniedrauer
I've been ripping my hair out for the last few days trying to figure out why a
UPS label printer works intermittently. The stack is a (closed-source windows
only) java webserver listening on the local machine and relaying data from
javascript on a web page to a printer on the local network. Lot of places for
things to go wrong. I spent hours trying to find some kind of reproducible
behavior and even went as far as to start rewriting the UPS print daemon in Go
so I could switch the host machine to Linux. What a huge waste of time.

~~~
memset
I presume you're talking about something like this?
[https://www.eirepos.ie/product/gk420d-dt-203dpi-eplzpl-
usb-s...](https://www.eirepos.ie/product/gk420d-dt-203dpi-eplzpl-usb-serial-
parallel-dispensr/)

The file format is likely called ZPL ("Zebra Print Language") and you can
actually use LPR to send the data - the raw label data - directly to the
printer. Use `lpr -o raw`.

If you google for "lpr print zebra zpl" you can find more specific guides,
such as [https://www.easypost.com/how-to-print-zpl-labels-from-the-
co...](https://www.easypost.com/how-to-print-zpl-labels-from-the-command-line-
on-mac-unix)

~~~
jniedrauer
Yep, this is it. Their print daemon is basically a glorified pipe redirect
from a web page to the printer. Unfortunately because of the javascript in the
middle, it has to be slightly more involved than just running netcat. But not
much.

------
nix23
Wait wait...Windows have a nasty printer-queue bug since Win2000...that's
really not new ;)

