I'm experiencing a frustrating issue where printers connected to a server are frequently showing up as offline. Here's the setup: we have a print server running Windows Server 2016, with clients in VLAN 10, servers in VLAN 20, and printers in VLAN 30. All network traffic is routed through a firewall where clients are allowed to communicate with servers, and necessary ports such as SNMP and TCP 9100 are also open between servers and printers. However, clients can't send traffic directly to the printers. This problem seems to affect different clients at different times – for example, client A might have issues one day while client B does another. The only fix so far has been to restart the affected client or switch the connection to Wi-Fi, which is in a separate subnet but under the same firewall rules. Any thoughts on what might be causing this?
4 Answers
If switching to Wi-Fi helps, it could indicate a problem with the network path or some firewall rule between the VLANs. The fact that a reboot or switch resolves the offline status suggests possible service issues as well.
Windows frequently checks if printers are online, but if it can't reach one, it marks it offline and stops checking. You might need to restart the Print Spooler service to get them back online. Have you tried that?
Is it possible that the printers are just going into a deep sleep mode? I've seen this with several models, and adjusting their settings generally fixes the issue. Do all printers go offline or just certain ones?
Another tip is to disable bi-directional printing. I've encountered similar problems and that often forces Windows to assume the printer is online. Also, are you using IP addresses or hostnames for your printer ports? Any multicast communication involved?

You don’t always need to restart the service. Disabling SNMP in the printer port settings can help prevent these issues. I usually leave it out when setting things up from scratch.