Posted by Dirk Hart
I got a call today from one of my customers complaining that their remote printer was no longer printing. "What changed?", I asked. "Nothing at all!", she replied in her charming southern drawl, "It just stopped printing!". Well, I suppose some folks would have me believe that gremlins come around in the night and reconfigure their PCs, but I'm not buying it. There's plenty of stuff around here that needs reconfiguring and I don't see any of that happening.
Well, the first thing to do is look in the /usr/facetwin/fct_pipes directory. With Facetwin, remote print jobs are sent to a pipe and if there is data waiting to be sent to a remote pc the filesize associated with that pc will be non-zero. Which it was.
Next, we checked to see if the remote printing daemon was still running. I typed in ps -ef|grep remprt and got back something that looked like
root 459 1 0 Sep-19 ? 00:00:00 /usr/facetwin/sys/fct_remprt -f /usr/facetwin/printers/fct_shipping
I could see that was still running so I begain to wonder if the PC really was connected to the network or perhaps those rascally gremlins had changed the PCs NETBIOS name.. I changed directories to /usr/facetwins/printers and looked in the file corresponding to the troubled printer: more fct_shipping. I saw the name of the PC handling remote printing was warehouse so I typed in fct_name warehouse and got this reply.
# fct_name warehouse Name to resolve: warehouse Querying on: WAREHOUSE <00> Query of local WINS at 127.0.0.1 ... SUCCESS, IP address = 192.168.0.164 Broadcast query ... SUCCESS, IP address = 192.168.0.164 GetHostByName(warehouse) ... FAILED
I could see that warehouse was indeed on the net and that because warehouse was not defined in /etc/hosts the GetHostByName query had failed. Not an issue, since DHCP is used at this site we can't be expected to keep /etc/hosts both populated and accurate.
Now since the PC was on the network I began to wonder if maybe those gremlins had renamed the printer share or maybe unshared it, so I typed in fct_client which is a command that present a kind of shell. One of the commands in the fct_client shell is lshare and it's job is to show all the local shares resources on the PC that are shared. It is supposed to look like this:
# fct_client Enter "help" or "?" for list of commands fct_client: \> lshare warehouse Sharename Type Comment _______________________________________________________________________________ SHIPPING Print fct_client: \>
instead it just stopped responding after I typed in lshare warehouse. That PC wasn't responding to queries. So what we had was a PC properly connected to the network but not responding to queries. I was starting to have suspicions. I entered telnet 192.168.0.164 139 hoping to connect port 139 but there was no response. I pinged the PC: ping 192.168.0.164 without success either.
I directed the customer to turn off the Interet Connection Firewall on that Windows XP machine (Start-->Control Panel-->Network Connections, Right Click Local Area Network, choose Properties then the Advanced tab).
I was a bit surprised to learn this didn't start things even though it is a necessary step. Perusing the System Tray showed that there was also a personal firewall installed. We disabled this and enjoyed remote printing for the rest of the day.
Those installed Windows XP Service Pack 2 should be aware that this can enable the Internet Connection Firewall
Facetwin Command used:
fct_name warehouse checks to see if warehouse is connected. fct_name -a warehouse shows which services are enabled fct_client shows share name
MailstarUSA: Industrial strength email services.
Hire us before you get a virus!
Got something to add? Send me email.
More Articles by Dirk Hart © 2011-03-08 Dirk Hart
The real problem is that programmers have spent far too much time worrying about efficiency in the wrong places and at the wrong times; premature optimization is the root of all evil (or at least most of it) in programming. (Donald Knuth)