This has been driving me nuts for the last two days. I have a printer on a linux machine running cups. The printer is shared, and all of the other linux machines on the network see it in the list of printers whenever the print dialog box pops up. I need to have a windows 7 machine be able to print to that printer. On the windows machine, the internet printing client (windows features) is turned on (not sure I really need that, but I have been trying absolutely everything). On the windows machine, In advanced sharing settings, network discovery is turned on. When I go to "add printer" / "add a network, wireless, or bluetooth printer" / " the printer that i want isn't listed", and then enter the printer in the "select a shared printer by name" box, I immediately get: "Connect to Printer Windows couldn't connect to the printer. Check the printer name and try again. If this is a network printer, make sure that the printer is turned on, and the the printer address is correct." I entered as the printer "http :// 10.0.0.10:631/printers/printer" (have to break up the link because I have fewer than twenty posts) Pasting the printer string in a browser on the windows machine connects to the printer page on the linux machine immediately. The linux machine with the printer is 10.0.0.10, and the windows machine as 10.0.0.20. Running a tcpdump on the linux machine produces these packets (when I press the "next" button): Code: tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on net0, link-type EN10MB (Ethernet), capture size 65535 bytes 00:00:00.000000 IP 10.0.0.20.netbios-ns > 10.0.0.255.netbios-ns: UDP, length 68 00:00:01.000000 IP 10.0.0.20.netbios-ns > 10.0.0.255.netbios-ns: UDP, length 68 00:00:02.000000 IP 10.0.0.20.netbios-ns > 10.0.0.255.netbios-ns: UDP, length 68 00:00:03.000000 IP 10.0.0.20.netbios-ns > 10.0.0.255.netbios-ns: UDP, length 50 00:00:04.000000 IP 10.0.0.20.netbios-ns > 10.0.0.255.netbios-ns: UDP, length 50 00:00:05.000000 IP 10.0.0.20.netbios-ns > 10.0.0.255.netbios-ns: UDP, length 50 00:00:06.000000 IP 10.0.0.20.netbios-ns > 10.0.0.255.netbios-ns: UDP, length 50 00:00:07.000000 IP 10.0.0.20.netbios-ns > 10.0.0.255.netbios-ns: UDP, length 50 00:00:08.000000 IP 10.0.0.20.netbios-ns > 10.0.0.255.netbios-ns: UDP, length 50 Basically, the linux machine sees absolutely no attempt to connect from the windows machine. If I actually attempt "browse for a printer", I get this: Code: tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on net0, link-type EN10MB (Ethernet), capture size 65535 bytes 00:01:00.000000 IP 10.0.0.20.netbios-ns > 10.0.0.255.netbios-ns: UDP, length 50 00:01:01.000000 IP 10.0.0.20.netbios-ns > 10.0.0.255.netbios-ns: UDP, length 50 00:01:02.000000 IP 10.0.0.20.netbios-ns > 10.0.0.255.netbios-ns: UDP, length 50 00:01:03.000000 IP 10.0.0.20.52501 > 239.255.255.250.3702: UDP, length 713 00:01:04.000000 IP 10.0.0.20.52501 > 239.255.255.250.3702: UDP, length 713 00:01:05.000000 ARP, Request who-has 10.0.0.3 tell 10.0.0.20, length 46 00:01:06.000000 ARP, Request who-has 10.0.0.4 tell 10.0.0.20, length 46 00:01:07.000000 ARP, Request who-has 10.0.0.5 tell 10.0.0.20, length 46 00:01:08.000000 ARP, Request who-has 10.0.0.6 tell 10.0.0.20, length 46 00:01:09.000000 ARP, Request who-has 10.0.0.7 tell 10.0.0.20, length 46 00:01:10.000000 ARP, Request who-has 10.0.0.8 tell 10.0.0.20, length 46 00:01:11.000000 ARP, Request who-has 10.0.0.9 tell 10.0.0.20, length 46 00:01:12.000000 ARP, Request who-has 10.0.0.10 tell 10.0.0.20, length 46 00:01:12.000000 ARP, Reply 10.0.0.10 is-at 00:11:22:33:44:55 (oui Unknown), length 28 00:01:12.000000 IP 10.0.0.20.52503 > 10.0.0.10.snmp: GetNextRequest(23) 43 00:01:12.000000 IP 10.0.0.10 > 10.0.0.20: ICMP 10.0.0.10 udp port snmp unreachable, length 74 00:01:13.000000 ARP, Request who-has 10.0.0.11 tell 10.0.0.20, length 46 00:01:14.000000 ARP, Request who-has 10.0.0.12 tell 10.0.0.20, length 46 00:01:15.000000 ARP, Request who-has 10.0.0.13 tell 10.0.0.20, length 46 [...] I hope that someone here knows the right combination of windows, networking, and linux to tell me what is going on. Thank you in advance.
I did a quick google search, typed this in to google "linux sharing a printer to a windows pc" second 1 down was for tldp.org, it mentions why, and what you need to do. something about windows pre-formatting. hope it helps
Thank for the effort, but that was written in 2000, and things have changed a bit since then. Almost all unix (and mac os) machines now use CUPS (a software print server), which is being developed by Apple. Windows has supported IPP (the new protocol) since Windows 2000 (I should say supposedly, since I can't get it to work ). http :// en.wikipedia.org/wiki/Internet_Printing_Protocol (had to break up the link again)
Have you tried to telnet to port 631 on the Linux machine? From a command prompt in Windows, type: Code: pkgmgr /iu:"TelnetClient" telnet 10.0.0.20 631 If it connects, then something is wrong with your Windows installation. If it doesn't connect, then you have a firewall/router problem. Check your firewall/router. What is your Linux distro? Many come with iptable rules that block traffic. You'll need to check that too. Code: iptables -v -L -n
No I haven't, but I can go into a browser and type http: // 10.0.0.10:631/ and the cups page comes up fine. There is no problem reaching that port on the linux machine. I know something is wrong with Windows (hope it is configuration, not installation). I just need to figure out what. I don't think so. I am not running iptables on the linux machine (built from source). Code: # iptables -L -n -v Chain INPUT (policy ACCEPT 50M packets, 95G bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 39M packets, 13G bytes) pkts bytes target prot opt in out source destination Just ran wireshark from the windows machine, and it is showing absolutely NO packets sent when I click on the "Next" button in the Find a printer by name or TCP/IP address. Wireshark is showing the reception of ipp broadcast packets (including the exact URL of the printer I am trying to install) from the linux machine. One last thing - I have windows firewall completely turned OFF.
Something is blocking your the IPP client or you don't have it installed. Control Panel -> Programs and Features -> Turn Windows features on or off -> Print and Document Services Make sure Internet Printing Client is turned on.
It is installed and turned on (I mentioned that in the original post, and just checked it again). This has absolutely been driving me crazy.
That really sucks. Try reinstalling the IPP client and remove and re-add your ethenet adapter. But maybe it would be just easier to reinstall Windows. Here is an example of one weird and unfixable problem I had. My Cakewalk Pro Audio installation somehow got messed up. It would freeze for 10 seconds if I opened up a staff view. Oddly, if I disabled my Ethernet adapter, it would work perfectly. I decided to buy Sonar X2. I deleted all traces of Pro Audio and installed Sonar. The same f**king problem occurred. Numerous installs, uninstalls, and registry cleanings would not fix it. So I did a Windows 8 refresh and Sonar worked perfectly. I had to spend about an hour reinstalling software, but that's about it.