Just had over an hour of "the wrong kind of fun" courtesy of an HP printer. Under normal circumstances I have a lot of respect for HP products. Their printers give good, reliable, results and I've never had one of their ink cartridges dry up on me. Always a bonus. When people ask me which kind of printer to buy I used to say "HP" out of reflex, because I reckoned they would get a good device that will not let me down.
Dad got an HP "all in one" disaster area with scanner, printer, colour screen, card reader, WIFI, Fax and some kind of personality module that is permanently on stupid. During my tussles with the darned thing I explored the very limits of disbelief that something could be so stupidly over designed. The printer software installation itself takes around half an hour on your computer, then you start to grapple with the printing process.
The initial problem was that the printer buffers incoming printing, so that it can receive a lump of data over the network and then print it. Nothing wrong with that. It even stores the data in non-volatile memory, so that it can recover from power outage. Nothing wrong with that too. But if the printer is given a partially completed, corrupt, file to print this stays in memory for ever. Each time we turned the printer on it tried to print the file, and then locked up. There is no command to flush the printer buffer, no way to get around this and it means that if data sent to the printer is damaged or incomplete it turns into a noisy, expensive paperweight.
I've written embedded code myself in the past. One of my golden rules was that it should never, ever, be possible for your device to lock up. There must always be a button that can be pressed to get control back. My devices never got stuck. Not once. Never.
HP are not in my league. Not close. We ended up playing a game of skill where we had to cancel the print before it crashed the printer. Fortunately my video game powers came in handy and so we got past this duff job, at which point the idiot device pumped out every failed print job since then. We ended up putting the same pages back into the input tray again, to save paper. Of course it probably cost us a bit on ink....
So, finally the printer was working. But no. Now when you printed a page it produced it many times, over and over, like the bit from the Sorcerer's Apprentice, where Micky can't stop the brooms from fetching water. At this point we felt like taking an axe to the printer as well...
So, we gave up on network use (the main reason why we bought the printer in the first place) and went back to USB. Which when I left (at speed) was working OK.
I'm not sure which printers to recommend any more.