04-18-2012 04:00 PM
I have a HP printer, and I fail to get an iPhone to locate and print to it using AirPrint.
On the printer web interface, I can see
Product Name HP Photosmart 5510d B111h
Product Model Number CQ183B
Firmware Version EDL1CN1133AR
From the printer panel, it says there are no Product Updates available -- I guess that means that this Firmware Version is current?
The printer box does specifically advertise that it works with AirPrint.
The printer, the iPhone, and my laptop are all wirelessly connected to the same network. (They each have a 192.168.1.x address, and there is only one wireless network in range.)
I can run "tcpdump" (or "wireshark") on my laptop and see that there is mDNS multicast traffic from the printer's address, so it appears that the wireless router is not blocking that.
In the tcpdump output, I do see
and I do see a long string starting
but I do not see any mention of _universal, in the mDNS traffic from the printer.
When I try running the avahi service mentioned on the finnie.org page, including the values
then when I tcpdump, I see those values in the mDNS traffic (to address 22.214.171.124 port 5353); and when I ask the iPhone to print, it successfully locates the (fake) printer that I was advertising via avahi.
So it looks to me like:
* the wireless router is passing the mDNS traffic that it sees
* the iPhone does recognise a printer when the mDNS records include enough of the right content
* the printer does not currently send the right content in the mDNS records
* am I right that the printer is wrong?
* are there any settings I can set, or updates I can update, on the printer in order to make it be right?
* any other ideas on how I can make this work?
* does anyone have a tcpdump output for a printer which an iPhone does successfully locate and print to, and does it include the _universal thing?
04-18-2012 05:46 PM
Not sure if it will help.
Some people have found the steps at he following link helpful.
Say thanks by clicking the Kudos Star in the post that helped you.
Please mark the post that solves your problem as Accepted Solution
(Although I am employed by HP, I am speaking for myself and not for HP)
04-19-2012 01:18 PM
Thanks for the info.
As far as I can see, the "uncheck igmp snooping" option will cause that router to stop dropping multicast traffic, and instead to make sure to send it to everyone.
In my case, the traffic is already getting to everyone.
It's just that the traffic content is not what the iPhone wants it to be, in order to locate the printer.
I will see if I can find a similar option on the TP-Link wireless router; but I'm not confident that it will make a difference.
So if there are any other ideas; or if anyone has a wireshark capture of how the traffic from a printer that an iPhone can locate and print to looks; I'm all ears.
04-23-2012 02:38 PM
Still no joy locating the printer from the iPhone, I'm afraid.
I did try another test, using an iPad 2 and an avahi daemon, as per the finnie.org web page in the original post.
If I use this as the avahi .service file:
<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<name >AirPrint dummy minimal</name>
then the iPad 2 does list the printer name when it searches for a printer. If I omit the URF txt-record, or if I omit the _universal subtype, then the printer name is not shown.
From what I can see in the tcpdump output, the HP 5510 omits the _universal subtype.
So: are there configuration options I can set, to have the printer include that subtype?
Or is there any official documentation of what the AirPrint printer is expected to advertise, in order for the AirPrint print client to locate it and be able to print to it?
Or could someone who has AirPrint working run "wireshark" to capture the port 5353 packets from the printer, in order to show what a workng system looks like?
04-23-2012 03:42 PM
Have you tried running a Bonjour browser on your iOS device? "Discovery - Bonjour Browser" is a free Bonjour browser. More than likely your wifi router is not bridging mdns (Bonjour) traffic between all of the wired and wireless clients.
04-23-2012 04:00 PM
Thanks for the suggestion.
I haven't yet tried a Bonjour Browser. I will, when I get access to that printer network again.
But from the wireshark capture on a laptop where I do see the mdns/Bonjour traffic; and from the iOS device successfully locating the fake printer that I advertised using avahi including the _universal subtype; and from it not locating the fake printer that I advertised using avahi and mimicking what the printer was sending; I'm fairly sure that the Bonjour traffic from the printer is neither being blocked nor corrupted by the wireless router.
It just looks like the printer is not sending the correct AirPrint Bonjour traffic.
I hope this is because there is an "enable AirPrint" option that I haven't yet turned on.
Or alternatively, that there is a firmware update available that will cause it to start sending the correct Bonjour traffic.
But web and forum searches aren't working well for me at the moment -- I can't seem to find a description of what the printer is expected to send; or what a printer that is seen to work, actually does send.
04-23-2012 07:51 PM
I fear that you are heading in the wrong direction in regards to the subtype. mdns subtypes are tricky and I expect that you just didn't see the subtype on the wire. If you have a Mac I can tell you how to check if the printer is using a given subtype.
04-25-2012 02:11 AM
Thanks for the tip.
I can accept that. The next question then becomes "how should the whole thing work?" -- as in, what is the sequence of traffic by which the iOS device determines that it will or will not show the printer as available?
(Normally, none of this is necessary because the whole thing Just Works. But for the odd case where it doesn't Just Work, having a step-by-step procedure to demonstrate which parts of the interaction succeed and which fail will hopefully help everyone.)
So: I don't have a Mac, but if you can describe how to test the individual parts, then I'll be pleased to give it a try when I get back to that network.
(To recap: the iPhone does not show the printer as available. When I run "avahi-daemon" on a laptop which advertises a fake printer, the iPhone does show that one as available. When I run wireshark on another laptop, I do see (some) multicast port 5353 traffic. All four devices are wireless.)
Thanks for your help.
04-25-2012 08:21 AM
The best diagnostic step from the iOS device is to run the "Discovery - Bonjour Browser" app and to examine what it can see.
I expect that you've already seen this:
The other thing to try: I think the 5510 may support a direct wifi connection. If you go in to the iOS Settings and look at the available network connections you may see a direct wifi connection to the printer. If it is there you can try connecting to that network and printing.
04-26-2012 04:23 PM
Thanks for the information. Three things in that mail:
I will try the Boujour Browser when I get access to that network again -- I expect it'll be a few more days before that happens. I'll report back when I do.
I hadn't considered using the printer as the wireless access point -- that would remove one "moving part" and should show that the printer-iPhone interaction is sound, which would point the blame at the wireless router.
And that tp-link.com page is particularly interesting, since it says to enable igmp snooping to allow AirPrint to work. The discussions.apple.com link in an earlier suggestion (for a different type of router -- Zyxel) said to disable igmp snooping to allow AirPrint to work.
Anyway; there are a few things there for me to try.
I appreciate the suggestions, and will follow up with a success message, or with further questions.