Many years ago, I bought a Lexmark E323N laser printer (600dpi, 19ppm)
because it was the cheapest printer I could find that came with Ethernet
and PostScript support. I used it for a long time and was happy with it.
When I moved away from home, I left it connected to my switch—along with
a DSL modem and a wireless access point—so that my mother could use it.
Fast forward a few years. The DSL modem had died and been replaced. The
switch had died and been replaced. The WAP died, and the Netgear WGR614
bought to replace it had four Ethernet ports, and could thus replace the
switch as well. But it was a router, not a bridge, and so it wanted its
internal and external networks numbered differently. The upshot was that
the printer's IP address needed to change from 10.0.0.4 to 192.168.1.4.
No problem. I added a 10.0.0.0/8 address and host route to my netbook's
eth2, which let me connect to the printer's administrative interface
and change its address in the network settings menu. Alas, I forgot all
about the separate "access control" menu, which was set to deny requests
from outside 10.0.0.0/8. When the printer came back up, it would respond
to ping from 192.168.1.x but discard TCP packets because of the access
filter. If I used a 10.0.0.x address, it threw away all packets because
they were from a source that did not match the printer's own IP address.
(I can't decide which is more stupid: that I chose to enable an IP-based
packet filter on the printer in the first place, or that the
printer did not protest at a configuration that rendered it unusable.
I have a sinking feeling that it was the former.)
No problem. I went to the Lexmark web site and downloaded a user manual.
I followed its description of the occult ritual to reset the printer's
configuration settings, which involved opening the printer, switching it
on, hopping in a clockwise half-circle on one leg, holding some buttons,
staring at blinkenlights, and so on. I did it once, then twice. Nothing
changed. Then I found
this web page,
which explained that the "reset to factory defaults" procedure
didn't actually reset the network settings. I tried the NVRAM
tweaking procedure described on that page (which involved pressing the
continue and cancel buttons a gazillion times while watching blinking
LED patterns for feedback), and it didn't seem to work either.
Despair set in. I tried the configuration tweaks again. So did Hassath.
Nothing changed. My mother was muttering in the background about buying
a new printer. After two or three more attempts, Hassath also gave up,
and they both went downstairs to make coffee. I sat down to repeat the
process. With tcpdump running, I went through the sequence once, twice,
then ten times, then fifteen, then I lost count. Suddenly, just as the
page said might happen, the printer emitted "several BOOTP packets and
a burst of ARP probe packets". The Netgear answered its DHCP request,
and just like that, the network settings were reset and everything
worked again.
I can only guess that changing the network settings so many times so
quickly triggered some bug in the firmware; perhaps the settings were
saved incorrectly, leading to a checksum error when they were loaded,
and thus forcing the printer to discard the saved settings. (I used a
similar trick to fix my WAP54G.)
Remember: You need to continue tweaking the printer until a
sensible IP address appears
.