Need to print from XP machine
Posted by CarolinaKernel@reddit | sysadmin | View on Reddit | 103 comments
Hello,
Our company still uses an old XP machine that runs a specific type of software. We have a user that prints from this PC daily. It is not connected to the network and just connects to the printer with the usb printer cable. We previously were using an HP Deskjet 3000 that crapped out on us. I am looking to replace it with a new/cheap printer but I am wondering about drivers. Would an HP Universal Print Driver work for this with a new-ish printer?
As a temp workaround I was able to connect a Canon LBP712Cdn using a Win 7 32-bit ufr II driver. It prints but its a pain in the butt. It gives a paper size error after printing no matter what. Before the user can print again they have to clear the print job. That is fine for now but when we get a replacement this process would need to be better.
Does anyone have any experience with this or ideas? Is the only route to go on ebay/marketplace/Goodwill and hope for the best?
EntireFishing@reddit
Unless you need the physical Windows XP hardware such as when you have a CNC computer that controls a milling machine for example I would virtualize that Windows XP computer run it on top of Windows 11 and then have the person who uses the software print off to a PDF file. That PDF file can be saved using the virtual tools back to the Windows 11 hard disk and then print that to any printer you want that's on the network.
CarolinaKernel@reddit (OP)
No CNC but it is connected to some kind of large machine using the COM ports I believe.
EntireFishing@reddit
I had a suspicion it might be connected to a machine. Some of those cards can be passed through a virtual machine. Some of them can't. It is a bit of a thing where you have to have a go at it and try and work it out. And of course that depends on if you have the time. Inclination and skills to have a go at this.
If you want a more simple workaround it all depends on how often you got to print. If you're only printing a very small amount per day, you could literally print a PDF and put them onto a USB stick and then transfer them to a computer and print them off. If you're printing quite a lot of stuff off that machine on a regular basis then I would probably start looking for an older HP printer because their driver set particularly LaserJet. Four drivers, for example, have been supporting their models for a long time. Which ones exactly would work? That's a bit of a different mix, but you'd probably just have to hit up eBay or something like that and try a few out
geekywarrior@reddit
Virtualbox virtualizes Serial ports pretty well. However another route is setting up a private network and using something like Antaria Serial Servers and having that translate the RS232 stream to a TCP/IP Stream. Their software also works on XP.
https://www.antaira.com/STE-501C
CarolinaKernel@reddit (OP)
I think I am going to try the PDF route and see how that goes. There is not a lot of printing at this machine. Maybe 5-10 sheets a day.
EntireFishing@reddit
Then printing to PDF makes total sense. You can invest in any printer you want or you can use an existing network printer. Probably best to buy a USB hub to then. In case any of the operators are a little heavy-handed with the USB ports, they won't actually break the USB port on the computer
CharacterUse@reddit
Virtualize and pass the serial ports through to the VM.
discgman@reddit
Some of those old machines used a usb key to work with their software.
CharacterUse@reddit
Pass through the USB key.
Ruben_NL@reddit
Might need to pass through a full USB controller, but those are also cheap.
ericbrow@reddit
I've worked around legacy systems like this before by turning the old machine into a VM and abstract the hosts printer to the VM. I've done this with DOS based CAD and a few others.
hevvypiano@reddit
Could I pick your brain about getting a VM XP machine talking to a production device over the host's network connection?
geekywarrior@reddit
I'm happy to answer questions about this as well. I've virtualized a few things like this.
Mainly it depends on what hypervisor you use to set this up. You generally either NAT it through the host which works fine if the VM is initiating the connection. Or you have to create a virtual switch/bridged adapter to allow the VM to touch the network directly.
hevvypiano@reddit
I'm using Hyper-V. I've tried a few different settings but can't seem to get the production machine to talk to the VM when I test it out. I'm probably just not setting it correctly, however, when I tried to set the network adapter on the VM to the same one as the machine it was replacing, I got a "duplicate IP" message that I wish I had screen-grabbed. I'm wondering if the VM is still looking for the NIC that was on the physical computer?
geekywarrior@reddit
The way to set this up is setting up a Virtual Switch of type External.
Before you boot up the XP VM. Open CMD/Powershell/Terminal and just run an IPconfig to see what address you're getting.
Fire up the XP VM and open CMD and do an IP Config and see what address you are being assigned. If it starts with 169 then your DHCP server is not handing out an address to this VM. It could be that you don't allow DHCP assignments to unknown machines and the VM now has a new MAC address being a virtual interface on the virtual switch and you need to either give it a static MAC or do ipconfig /all to see the virtual MAC the XP VM has. Then give that virtual MAC to the DHCP server to reserve the VM to a proper IP.
hevvypiano@reddit
Thank you for this-greatly appreciated! Let me take a look at it this week and let you know how it goes.
geekywarrior@reddit
No problem! Just beware this means the XP VM has full network access. An additional step to this setup would be to stick it on a VLAN and then use the building firewall to Allow List appropriate connections.
Or if this is a direct connection from VM to a physical device, then a 2nd network card in the host and set up the external switch to use that network adapter. In this case you would not want the host sharing it.
hevvypiano@reddit
The host PC is not connected to the network. This is simply an XP VM running on a modern computer that is isolated from the network and merely needs to run custom software to control a large production machine.
geekywarrior@reddit
Ah then you should be good to go. What you'll then want to do is check what IP address the VM PC has. In this case it's very likely the XP PC just has a static IP address.
The XP VM will have a new network interface in reference to the old one. So you have to set up the Static IP again inside the XP VM after it's up and running.
CarolinaKernel@reddit (OP)
If you dont mind me asking how would I go about doing this if there is no internet/network connection needed? Just a machine connected to an xp machine connected to a printer.
If I do a p2v migration I wanted to use the bridged adapter right? The only connection between the machine and the xp host is a cat 5e cable for communicating. Can I pass that through the vm as well as the usb printer?
geekywarrior@reddit
By my understanding
If all of that is true, here is what I would do.
I'd reach for a Desktop based hypervisor as it sounds like this runs some industrial machinery and you need an operator to sit at a station and interact with the XP software.
ImFromBosstown@reddit
This is the way except I'll add that you can use a P2V tool like Disk2vhd to do it
discgman@reddit
You will need to pass through the serial port or use a usb to serial adapter.
CarolinaKernel@reddit (OP)
You know what. After looking over the machine again, it is only connected via a cat5e cable. The big machine itself has what looks like a gas line connected to a tank with gauges. Then just the cat5e cable from machine to xp computer. If I want to eventually go the virtualized route can I pass that through?
CharacterUse@reddit
Cat 5 can be anything, it can be serial, ethernet or any of a dozen other protocols. But as long as you can plug it into a compatible port on the host you can pass that port through to the VM.
dustojnikhummer@reddit
HyperV's passthru features are pretty limited.
CarolinaKernel@reddit (OP)
Thank you. I think I will try this and test it out at some point. For now I will be definitely using a P2V tool and creating a snapshot of the XP image.
discgman@reddit
Probably a serial cable using cat 5
TreborG2@reddit
Pictures please
whatdoido8383@reddit
Just wanted to drop in and say that I hope you\the company has some upgrade path forward. When I was a sysadmin I saw this all the time. When a "critical" machine went down they were screwed.
FirstStaff4124@reddit
XP is fine as long as it's isolated. Probably more stable than Windows 11.
jkdjeff@reddit
what a galactically stupid take.
FirstStaff4124@reddit
You'd be surprised how much of critical infrastructure that run on Windows XP embedded.
ATM:s, healthcare, military, power grids.
jkdjeff@reddit
No, I wouldn’t. But none of the reasons for that have anything to do with stability.
FirstStaff4124@reddit
Do you think they would run Windows XP on a submarine if it wasn't stable?
CharacterUse@reddit
The problem is the hardware, if it dies then good luck getting XP to work on newer hardware without the drivers, which don't exist and you can't install anyway if XP doesn't come up. XP was notoriously fickle even with fairly similar hardware.
The best option would be to virtualize that machine ASAP.
doggodoesaflipinabox@reddit
The good thing with XP is that it will run on literally anything between 2001 and 2012. It's not difficult to source hardware. I could see it being a little harder if the machine needs an ISA slot, in which case industrial boards tend to go for a few hundred bucks.
CharacterUse@reddit
It will run if you install it from scratch and you have the drivers for that hardware and all the installers amd updates and software keys for the software (including for Windows itself). If for whatever reason you can't or don't want to reinstall it from scratch then you can't typically just move it over to new hardware and have it work unless the hardware is very similar, unlike later versions which usually can pick themselves up.
marklein@reddit
I have a client with an XP machine and an expensive add-in card to run a machine, meaning that it has to be bare metal. We purchased 3 spare motherboards of the exact same model on ebay to make sure we had enough spares to last at least a decade (knock on wood).
whatdoido8383@reddit
Yep, this is what I'm talking about.
I did some work for a collision company. Their paint mixer and also records system ran on a old Windows server 2003 machine if I recall correctly.... The motherboard died one day and was unobtanium.
They were taking repairs in on paper and measuring\mixing paint by hand but it took much longer and wasn't as accurate.
They lost a lot of money and down time getting a new system in there. If they would of planned better it wouldn't of been a big deal.
attathomeguy@reddit
XP is not the problem the hardware is
alexwhit80@reddit
We had an old CNC machine that ran on windows 3.11. That was an expensive day when that pc died as we had to buy a new CNC.
the-berik@reddit
Why not convert the CNC with diffrent controller?
alexwhit80@reddit
Its built in to the machine. It’s a seriously old machine but still works.
aardvark_xray@reddit
We have a vertical milling machine that runs on OS2 Warp… I dread the day that ticket comes through. At least it’s not a production machine, but R&D loves it and refuses to scrap it
(Snapshots done, VM was spun up and parked)
CarolinaKernel@reddit (OP)
Yup it is sad. I asked about this and they said the previous XP machine crashed and they guy before me had to replace it with a different XP machine. This was the only option apparently because they were quoted at something like $30k to have the proper upgrade. Honestly I just want to patch this up and it can be the next guys problem lol.
whatdoido8383@reddit
Hmm... I get it but at some point that's not going to be an option and they'll lose more than $30K being down.
I worked for a manufacturing company that had that same mindset. After I posed the questions of " well, if this goes down and we can't get another XP machine for days, or even ever, how long would it take to be over that $30K it would just cost you to upgrade?", it was pretty quick and they decided to upgrade.
CarolinaKernel@reddit (OP)
I think I have tried as much as I can to explain that with no luck. Im looking to move and find a new position soon anyway.
whatdoido8383@reddit
Good on you, if they won't listen then not much you can do.
Best of luck in your search!
CarolinaKernel@reddit (OP)
Thanks! We are mostly moving cause we want to live somewhere new and warmer. I still like working at my current job but he lack of budget and help from management for issues like this just accelerates that plan.
codyturntrout@reddit
Lack of budget always sucks. We have that problem a lot. We tell the staff and directors all the time "We can do whatever you want as long as someone pays for it" 🤣
Bob_Spud@reddit
Simple fix.
On the XP machine print the source material it to a PDF. Transfer the PDF to a more modern machine and print it using that. The transfer could be network or USB stick. Most companies have their USB ports disabled, you may have to disable on one computer.
ender-_@reddit
Look for any printer that supports PCL5, PCL6 or PostScript, then use HP's Universal PCL5/PCL6/PostScript Driver; the last versions that support XP are 5.9.0 for PCL5 and 6.0.0 for PCL6 and PostScript.
kreload@reddit
Yes. Any PCL5 and (maybe) PCL6 should work. Also Pantum and Xerox still make printers with windows XP drivers. Few months ago i need a printer for an okd cnc with xp and i ended buing a small Pantum printer.
a60v@reddit
This is the way. Even the Apple Laserwriter driver will work with modern Postscript printers.
the-berik@reddit
Wouldnt it help to put a raspberry with cups in between?
gsmitheidw1@reddit
Can't believe I scrolled this far to find this!
Common Unix Print System on any device running Linux would do grand, but a basic Raspberry Pi would do nicely.
I've done this before with a load of end of life HP Laser printers and a pi. Worked very well.
zer04ll@reddit
The HP universal print driver for older windows servers has worked for me in the past on XP machine running CNC that also printed reports and calibration settings, you can still get it for server 2003 which should work on XP
jack_hudson2001@reddit
like others said, vm it via p2v.
E__Rock@reddit
Spin up a Bonjour Print Service. It handles x32 bit just fine.
BasicallyFake@reddit
if the printer supports postscript you can print to it, likely most standard pcl drivers would work as well.
thomasmitschke@reddit
Use a HP laserjet - the PCL driver for this exists since Windows NT
Fuzzy_Paul@reddit
Justaadd a new printer with the printer wizard on XP. Manual select a driver and a list pops up. Scroll through the list and buy a printer that has native xp drivers that are listed. No big deal.
CharacterUse@reddit
"Buy a printer which has native XP drivers" is the big deal in 2026, it's not that easy.
Fuzzy_Paul@reddit
HP and pay attention for hpgl printer language.Then you are ok. Make sure that the model you choose is not that old cause you need cardridges for them. The universal 32 win 7 can be installed on xp as wel. Download the driver and try to install then you know for sure.
Que_Ball@reddit
Likely no issues.
Get a brother laser. Hl-l5000d is likely a good option with the most legacy support no network but usb and parallel port. It emulates hp LaserJet 5 so you can use those generic drivers built into windows if you want though their driver package still has the xp 32 bit drivers inside too if you dig around for it.
Cheap supplies. Built pretty well and could last a long time.
sebf@reddit
This. They even work on Linux.
pdp10@reddit
When printers are PostScript compatible and PCL compatible, then a generic driver should work fine.
USB is great, but if you want to go over the network, then XP supports IPP just fine. (And so did Windows 2000 and Windows 98SE.) Direct "JetDirect"
tcp/9100is also not a bad option if IPP is infeasible.UFR II is a rare, Canon-proprietary page description language, best forgotten. Black and white laser Canons that support PostScript and PCL are rather inexpensive, but for color lasers, Canon withholds PostScript and PCL support to a somewhat higher and more-expensive tier.
So: acquire a printer with PostScript and PCL support, and everything should go much easier. These standards go back decades, so it really just means buy a printer that isn't consumer-grade.
discgman@reddit
Sometimes the USB connection stops working, not sure if drivers or what but I have noticed being able to network the printer and it worked better. XP is a factor in that though.
CharacterUse@reddit
Check the USB power management settings, they can put the USB to sleep unexpectedly.
attathomeguy@reddit
FULL STOP! You need to virtualize that Windows XP machine to a VM ASAP! That is a single point of failure for the entire business it needs to be in a VM where it can physically die. Then it can print to a network printer
SpotlessCheetah@reddit
Probably what I would do is get 2 old matching systems that can run XP and clone them. One becomes the backup. Maybe clone the image too and archive it but honestly they should migrate.
I'd rather put a physical XP machine out there for something like this and make sure it has zero internet connectivity than host an vulnerable VM.
CharacterUse@reddit
You can put the VM onto an isolated host with no connectivity as well. The point is to get away from the hardware dependency.
SpotlessCheetah@reddit
So how's he going to print? USB passthrough directly at the host?
CharacterUse@reddit
Yes, passthrough the USB, or build a small network with just a printer and the host. There are many ways to solve this problem.
dengar69@reddit
r/ShittySysadmin
IFarmZombies@reddit
far from it
skunkMastaZ@reddit
CutePDF since XP doesn't have a native Print to PDF, then USB it .
andyr354@reddit
I did this several years ago for a similar reason. Works well as long as the frequency of print jobs is low.
CarolinaKernel@reddit (OP)
Is there any kind of command/shortcut for that? I see no way to even Print Preview or select a printer with this software. The only option is to click print and it automatically sends it to the default printer.
FatherOblivion63@reddit
If it only prints to the default printer, then it should print to CutePDF if that is the only printer installed. My home Win11 PC does this, as CutePDF is the only print driver installed.
CarolinaKernel@reddit (OP)
Im going to try this now. Thanks.
sc302@reddit
Set cutepdf as the default printer. When you print a save to location should come up.
discgman@reddit
No print to pdf in XP. Only print screen using the print button on the keyboard.
czj420@reddit
Pdf995
purplemonkeymad@reddit
If usb ends up an issue, you could always use a crossover ethernet cable and network the xp machine directly to the printer. Then just use any Postscript compatible printer on lpr or 9100, with the built in HP PS driver.
discgman@reddit
The newer HP Universal printer driver would work, not sure if xp supports it.
paleologus@reddit
I’ve used the native HP IV print driver for a lot things.
discgman@reddit
What is HP IV print driver?
CharacterUse@reddit
a.k.a HP LaserJet 4/4m. It will usually do something useful on even a modern HP laser printer. Not necessarily a DeskJet though.
paleologus@reddit
You must be very young
PhatRabbit12@reddit
Need color? If not just get a refurbished hp4250 and hook it up via usb.
CarolinaKernel@reddit (OP)
yeah need color
dbxp@reddit
Best idea would be to virtualise it but if you really want to keep the hardware you can get virtual printers which look like a printer to the host but acts as a bridge to a modern network
pstu@reddit
Can you print to PDF and then email or sneakernet it off?
discgman@reddit
Not on Windows xp
pstu@reddit
Not natively, but yes on XP you can.
HugeRoof@reddit
A relatively easy hack around is to setup a Raspberry Pi as a samba print server with the XP machine direct connected to it. That way, anything that modern linux can print to can be printed from the XP machine. claude/chatgpt can pretty easily walk you through the process. You could even use this to proxy prints to the main network printers if you wanted.
StatusOk3307@reddit
Print to PDF on the XP machine then print the PDF on to paper on a modern machine. It could be challenging to find a new printer that has winXP drivers
CharacterUse@reddit
Find a printer which understands Postscript natively, and then use a postscript driver rather than whatever HP/Brother/etc proprietary protocol. This may be easier to do with a network printer (just network the printer to the Win XP directly) than with USB, as with a networked postscript-compatible printer you just send raw postscript at the right socket e.g. 9100 and it will print, with USB it might want to go through some hoops to communicate correctly.
I'd be more worried about using XP on actual hardware though. I hope you have drive images and spares.
TheDevauto@reddit
Can you put a win98 vm on new hardware then connect printer to new hardware and share to vm?
HerfDog58@reddit
r/techsupport
dreamersword@reddit
This may be a long shot but have you tried using a samba print server?