when you say 'reboot', that's a vague term. are you rebooting the computer, the printer, the router, all of them,
99.98% of the time this is a simple network address problem. save yourself a world of headache (which you're currently in)
by assigning static IP addresses to everything (the PC and the ethernet'd printer(s)) and leave DHCP on on the router.
the small 'switch' is all you need. connect it between the cable modem/router and the PC.
1. get a piece of paper and start writing down this information....
2. log into the router and determine: the DHCP range its offering and it's own IP address
3. determine the current IP address of the PC (via cmd ipconfig) and if it's static or dynamic (from the network panel)
From this information, you can determine what static addresses you can use (those OUTSIDE the routers DHCP offering range) (in the real world, you dont need more than 30-40 DHCP addresses)
set the PC to an address, subnet mask and gateway as appropriate (probably a 192.168.1.x address (again OUTSIDE the DHCP offer range), 255.255.255.0 mask and the IP address of the router as the gateway (assuming it's on 192.168.1.x network).
You should now still be able to access the router and the internet. If so, continue. If not, revisit your work until you can.
via the printer control panel or whatever the config utility is, set the printer's IP address as static and give it an address OUTSIDE the DHCP range and use the same mask and gateway values. In a Windows cmd window, you should be able to 'ping' that address. Once that is done, delete the printer from windows and re-instantiate it (no need to remove/install the actual driver) and tell it it's a network printer and give it the address you assigned to it.
If you get lost, PM me and we can arrange a phone call