From Newsgroup: alt.comp.os.windows-10
PSA:
Windows router-printer pipeline broke due to dynamic IP power surge resets
Tax day is coming up so I usually file the extension by mail since you
can't file the extension electronically w/o giving your life away to a
private company that the IRS contracts out to (as far as I'm aware).
I try to print.
Nothing happens.
Drat. What happened, most likely, from months in the past was:
a. I set up a new router about half a year ago & printing was fine
b. Then we had a ton of PG&E power outages plus voltage surges all winter
c. The printer ended up on a different IP address than the router gave it
The solution was simple.
1. Create a new port for the venerable HP LaserJet 2100 tn
Add-PrinterPort -Name "192.168.0.25" -PrinterHostAddress "192.168.0.25"
2. Map the existing HP LaserJet2100tn printer to the new port
Set-Printer -Name "HP LaserJet 2100 Series PCL 5" -PortName "192.168.0.25"
3. Restart the print spooler to clear any stuck jobs
Restart-Service spooler
The debug is where the work lies.
DATE: 2026-04-07
ISSUE: HP LaserJet 2100tn offline after power surge (IP changed).
PRINTER MAC: 00-10-83-15-f2-ad
NEW FIXED IP: 192.168.0.25
COMMANDS USED:
1. Identify: Get-Printer | Select-Object Name, PortName
2. Create Port: Add-PrinterPort -Name "192.168.0.25" -PrinterHostAddress "192.168.0.25"
3. Map Port: Set-Printer -Name "HP LaserJet 2100 Series PCL 5" -PortName "192.168.0.25"
4. Clear Spooler: net stop spooler; del /Q /F /S "%systemroot%\System32\Spool\Printers\*.*"; net start spooler
ROUTER FIX: Added DHCP Reservation (Advanced > Setup > LAN Setup)
1. Put paper in feed tray & turn on HP LaserJet 2100tn
2. Press big & small button at some time to print the test page
HP JetSend Address of 192.168.0.25
3. ping 192.168.0.25
4. wmic printer get name, portname
C:\> wmic printer get name, portname
Node - A
ERROR:
Description = Generic failure
Huh? Let's try powershell instead.
PS:> Get-Printer | Select-Object Name, PortName
Oh wait. The spooler is down. Let's fix that unrelated problem first.
Taskbar > menu > hardware > printer > spooler.lnk
C:\Windows\System32\schtasks.exe /run /TN "task spooler"
%comspec% /c start "" c:\data\sys\batch\spooler.bat
type c:\data\sys\batch\spooler.bat
@echo off
REM 20231223 spooler.bat v0.1 starts & stops the Windows print spooler
REM using admin-only commands suggested by Andy Burns & VanguardLH
REM in Usenet thread Message-ID: <um4j5t$1vls9$
1@news.samoylyk.net>
REM A taskbar bat shortcut will be more complex as it will likely require
REM creating a new scheduled task as suggested by Zaidy036 in that thread
REM
call sc query | findstr /i spooler
if %ERRORLEVEL% == 0 goto :Stop?
:Start?
set /p user_input="Spooler is not running. Start it?"
if %user_input%==y net start spooler
goto :Icon
:Stop?
set /p user_input="Spooler is running. Stop it?"
if %user_input%==y net stop spooler
:Icon
echo "Change shortcut icon color (red/green) depending on outcome"
exit 0
sc query spooler
SERVICE_NAME: spooler
TYPE : 110 WIN32_OWN_PROCESS (interactive)
STATE : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
Verify the Windows Port Mapping (Again)
PS C:\Windows\system32> Get-Printer | Select-Object Name, PortName
Name PortName
---- --------
Microsoft Print to PDF PORTPROMPT:
HP LaserJet 2100 Series PCL 5 192.168.1.225
Hmmm.... That's interesting.
Printer IP from Configuration Page: 192.168.0.25
Windows PortName: 192.168.1.225
This likely happened because the printer grabbed a new IP from the
router after one of those lovely PG&E power cycles in California.
Create a new standard TCP/IP port for the current printer IP:
Add-PrinterPort -Name "192.168.0.25" -PrinterHostAddress "192.168.0.25"
Re-map the Printer to the New Port
Set-Printer -Name "HP LaserJet 2100 Series PCL 5" -PortName "192.168.0.25"
Verify the change by running the check command again:
PS C:\Windows\system32> Get-Printer -Name "HP LaserJet 2100 Series PCL 5" | Select-Object Name, PortName
Name PortName
---- --------
HP LaserJet 2100 Series PCL 5 192.168.0.25
Now when I printed, it printed something from long ago.
Drat. There's always something to add steps to a clean process.
net stop spooler
del /Q /F /S "%systemroot%\System32\Spool\Printers\*.*"
Get-PrintJob -PrinterName "HP LaserJet 2100 Series PCL 5"
This output a clean-slate test:
"Clean slate test" | Out-Printer -Name "HP LaserJet 2100 Series PCL 5"
Voila!
Printing again.
What happened?
Dunno, but I suspect when both the router and printer lose power
when power returns, the router and printer both reboot but at
different rates so there's a race to grab an IP address.
The printer reboots faster than the router can fully initialize
its "memory" of which device had which IP.
The Assignment: The printer asks for an IP.
The router, having "forgotten" the old assignment
(or because its DHCP table was cleared/corrupted by the surge),
hands out the first available address in its pool.
But the Windows 10 PC is still "configured" to send data to the old
address. Since nothing is there, the print spooler chokes & crashes.
It isn't a "glitch" in the sense of broken hardware.
It's just the two devices failing to coordinate their names
after a traumatic restart caused by multiple PG&E outages.
But wasn't the printer IP address set to static?
arp -a 192.168.0.25
Interface: 192.168.1.22 --- 0x7
Internet Address Physical Address Type
192.168.0.25 00-10-83-15-f2-ad dynamic
Ah. When I got the new router, I forgot to set it to static.
My bad. We don't want a LAN Ethernet printer on a dynamic IP address.
Log into the router
Set the printer IP Address to static in the router config: 192.168.0.25
Note the printer shows up with a Host Name of NPI15F2AD
NPI is Network Printer Interface & 15F2AD is the latter half of the MAC.
Let's test a fake PG&E power surge:
arp -d 192.168.0.25
ping 192.168.0.25
Pinging 192.168.0.25 with 32 bytes of data:
Reply from 192.168.0.25: bytes=32 time=6ms TTL=60
Reply from 192.168.0.25: bytes=32 time=2ms TTL=60
Reply from 192.168.0.25: bytes=32 time=2ms TTL=60
Reply from 192.168.0.25: bytes=32 time=2ms TTL=60
Ping statistics for 192.168.0.25:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 2ms, Maximum = 6ms, Average = 3ms
Now go visit every other PC in the home to reset the Windows port.
1. Create the new port on each and every Windows PC in the home
Add-PrinterPort -Name "192.168.0.25" -PrinterHostAddress "192.168.0.25"
2. Map the existing printer to the new port
Set-Printer -Name "HP LaserJet 2100 Series PCL 5" -PortName "192.168.0.25"
3. Restart the printer spooler to clear any stuck jobs
Restart-Service spooler
Print the extension, and then worry about taxes in October. :)
--
On Usenet, people discuss their unique relationships with their computers.
--- Synchronet 3.21f-Linux NewsLink 1.2