Bug 542857
Summary: | Incorrect SNMP detection | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Steevithak <steevithak> |
Component: | cups | Assignee: | Tim Waugh <twaugh> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | low | ||
Version: | 11 | CC: | jpopelka, twaugh |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | 1.4.2-20.fc11 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2009-12-27 20:32:22 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Attachments: |
Description
Steevithak
2009-11-30 23:56:46 UTC
Please try installing the 'foomatic-db-ppds' package. Out of interest, what does 'rpm -q system-config-printer' say? There was an update released when Fedora 12 came out to get it to prompt to install that package. yum list foomatic-db-ppds Installed Packages foomatic-db-ppds.noarch 4.0-6.20090819.fc12 @fedora rpm -q system-config-printer system-config-printer-1.1.13-10.fc12.x86_64 It actually did prompt me to install an update to the foomatic package during the printer set up. But it still doesn't offer a matching driver for the E360dn printer after foomatic updated. Do I need to manually do something to get it to include the foomatic drivers in the add new printer dialog? What's frustrating is the add new printer dialog gives me a box to enter an IP and then it checks to find out what sort of printer is there. It correctly identifies the E360dn but then in the next step dumps me into a generic printer driver list where I have to search for Lexmark drivers myself (and, as mentioned above, there is no E360dn driver available). It seems like if it knows I've got a Lexmark printer, it should just pick the driver itself, or maybe I'm missing something? Would a screen shot of the printer selection dialogs I'm seeing help? (In reply to comment #2) > Do I need to manually do something to get it to > include the foomatic drivers in the add new printer dialog? Unfortunately you have to restart system-config-printer for now. :-( > What's frustrating is the add new printer dialog gives me a box to enter an IP > and then it checks to find out what sort of printer is there. It correctly > identifies the E360dn but then in the next step dumps me into a generic printer > driver list where I have to search for Lexmark drivers myself (and, as > mentioned above, there is no E360dn driver available). It seems like if it > knows I've got a Lexmark printer, it should just pick the driver itself, or > maybe I'm missing something? > > Would a screen shot of the printer selection dialogs I'm seeing help? Yes please. Created attachment 375159 [details]
print dialog 1 of 4
Created attachment 375160 [details]
print dialog 2 of 4
Created attachment 375161 [details]
print dialog 3 of 4
Created attachment 375162 [details]
print dialog 4 of 4
I've uploaded four images of the process I went through trying to install a driver for my Lexmark E360dn printer. Also, I wrote a much more detail step-by-step of what I did that goes along with the images. This should be enough info to reproduce my results. Let me know what else is needed. 1. From menu: System -> Administration -> Printing 2. In "Printer Configuration" dialog click New 3. Enter root password 4. In "New Printer" dialog: Network Printer -> Find Network Printer 5. In "Host:" field type printer IP address and click "Find" 6. Devices pane now includes a highlighted, very long line that says: "MANUFACTURER:Lexmark International;COMMAND SET:PCL 6 Emulation, PostScript Level 3 Emulation, NPAP, PJL; MODEL:Lexmark E360dn;CLS:PRINTER;DES:Lexmark E360dn;CID:Lexmark_InternationaD536, Lexmark_Internationa5197,Lexmark_InternationaD1CD,Lexmark_InternationaCDD2, Lexmark_Internationa5C93,COMMENT:ECP1.0, LV_043D, LP_0125, LF_0056;" 7. Also now in the Devices pane is a new (non-highlighted) line that shows the IP address I entered in step 5. [see image 1 to see what I'm seeing at this point] 8. The "Enter device URI" now shows "Lexmark Lexmark E360dn" 9. The "Forward" button is still greyed out at this point, but there are no instructions on what the next step is, so it's unclear what more the user is expected to do. 10. Making a guess as to what I'm supposed to do next, I single click the IP address that has shown up in the devices pane. This apparently works as the right side of the dialog now changes to say "Location of the LDP network Printer" and lists the correct IP. The "Forward" button is now highlighted, allowing me to proceed. [see image 2 to see what I'm seeing at this point] 11. Click the "Forward" button. I now get a generic "Choose Driver" dialog that lists all possible printer drivers. The Lexmark E360dn info has apparently been lost or is being ignored. [see image 3 to see what I'm seeing at this point] 12. Scroll down to Lexmark and click "Forward". At this point I'm asked to choose an Lexmark driver from a list of only 12 options, none of which are the Lexmark E360dn. [see image 4 to see what I'm seeing at this point] 13. Pick a random Lexmark printer and hope for the best 14. Enter root password again >> Do I need to manually do something to get it to >> include the foomatic drivers in the add new printer dialog? > > Unfortunately you have to restart system-config-printer for now. :-( Oops, I only just noticed this - how do restart system-config-printer? I tried "service system-config-printer restart" but got "system-config-printer: unrecognized service". I can't find any reference to "system-config-printer" on any of the system menus. I do actually have it though: rpm -q system-config-printer system-config-printer-1.1.13-10.fc12.x86_64 I tried "man system-config-printer" but couldn't find a restart option listed. I tried "system-config-printer --help" but still nothing about how to restart it. Finally, out of desperations, I tried: ps ax | grep system 3074 ? S 0:00 python /usr/share/system-config-printer/applet.py So I did a kill -HUP 3074 However, this appears to have killed the process completely rather than restarting it. So I'm probably screwed. Any suggestions? I'm guessing that a) the average user won't know that they need to do this and b) if I can't figure out HOW to do it, the average user won't be able to either! :( Thanks for the screenshots, they have described the problem quite well. Actually there are three problems that I can see: 1. The first successful protocol probe (SNMP) has confused some of the data fields. I would very much like to see the output of running this command from a terminal as a non-root user: /usr/lib/cups/backend/snmp 192.168.1.99 2. When more than one protocol probe is successful they ought to pool their information instead of reporting it separately per-protocol. In other words, when the LPD probe finds a queue (LPD cannot detect make and model), if a previous SNMP probe has discovered the make and model then it ought to use that information. 3. Having taken a closer look, the package you need to install is 'foomatic'. See https://fedoraproject.org/wiki/Common_F12_bugs#foomatic-not-installed. I am working on code to automatically install printer driver packages on demand (bug #456906). (All I meant by 'restart system-config-printer' was close the window and start it again from System->Administration->Printing.) 1. Sure, here ya go: /usr/lib/cups/backend/snmp 192.168.1.99 network "Lexmark Lexmark E360dn" "Lexmark E360dn 72M1KD3 LA.LBM.P067j" "MANUFACTURER:Lexmark International;COMMAND SET:PCL 6 Emulation, PostScript Level 3 Emulation, NPAP, PJL;MODEL:Lexmark E360dn;CLS:PRINTER;DES:Lexmark E360dn;CID:Lexmark_InternationaD536, Lexmark_Internationa5197, Lexmark_InternationaD1CD, Lexmark_InternationaCDD2, Lexmark_Internationa5C93;COMMENT:ECP1.0, LV_043D, LP_0125, LF_0056;" "" 2. That makes sense I guess. I think you're saying the software probes two different ways and while the SNMP probe discovered the printer correctly, a second probe couldn't figure it out and the bad probe got used to select the driver. So that means this bug is really more related to the system-config-printer program itself than CUPS, right? 3. yum list foomatic* Installed Packages foomatic-db-filesystem.noarch 4.0-6.20090819.fc12 @fedora foomatic-db-ppds.noarch 4.0-6.20090819.fc12 @fedora Available Packages foomatic.x86_64 4.0.3-1.fc12 fedora foomatic-db.noarch 4.0-6.20090819.fc12 fedora Looks like you're right, foomatic is not installed. I would have thought foomatic should be a dependency for the foomatic-db-ppds that got installed automatically? I installed it and repeated the process in comment 9 to add a printer. Same results with one exception, now when I manually select Lexmark I get a whole lot more options, which is very good. Sadly, there's still no E360dn but there are some similar models such as the E350d and E350dn which should work. Should I file a secondary bug against foomatic asking for the E360dn to be added to the database? 4. Haha, sorry, my bad. I've run into that confusion before when filing bugs. The end user often never sees the program names or has any real idea of how a package called system-config-printer is connected to a series of menu options like System -> Admin -> Printing. Thanks for your help sorting this out! :) (In reply to comment #11) > 1. Sure, here ya go: > > /usr/lib/cups/backend/snmp 192.168.1.99 > network "Lexmark Lexmark E360dn" "Lexmark E360dn 72M1KD3 LA.LBM.P067j" > "MANUFACTURER:Lexmark International;COMMAND SET:PCL 6 Emulation, PostScript > Level 3 Emulation, NPAP, PJL;MODEL:Lexmark E360dn;CLS:PRINTER;DES:Lexmark > E360dn;CID:Lexmark_InternationaD536, Lexmark_Internationa5197, > Lexmark_InternationaD1CD, Lexmark_InternationaCDD2, > Lexmark_Internationa5C93;COMMENT:ECP1.0, LV_043D, LP_0125, LF_0056;" "" Oh, that's really strange. The 'device URI' field is entirely missing. Can you please run this command and attach the output.txt file?: CUPS_DEBUG_LEVEL=2 /usr/lib/cups/backend/snmp 192.168.1.99 2>&1 | tee output.txt > 2. That makes sense I guess. I think you're saying the software probes two > different ways and while the SNMP probe discovered the printer correctly, a > second probe couldn't figure it out and the bad probe got used to select the > driver. So that means this bug is really more related to the > system-config-printer program itself than CUPS, right? Yes, exactly. Well, the main problem you're seeing is 1, above, and that seems to be a cups problem. The next most serious problem you're seeing is this system-config-printer problem, but I'm wondering now if it's caused by the original cups problem. CUPS doesn't report the device ID in the correct field, so system-config-printer never thinks it's *seen* a device ID. There is code in system-config-printer to cache information about manufacturer and model between protocol probes, so it ought to work already once CUPS is reporting the device correctly. > Looks like you're right, foomatic is not installed. I would have thought > foomatic should be a dependency for the foomatic-db-ppds that got installed > automatically? Actually no. The foomatic-db-ppds package contains just plain PPDs, but foomatic itself contains XML files and scripts to glue together the old ghostscript drivers to the newer CUPS architecture. Conceptually, there is no difference between foomatic and the various other random printer driver packages; whereas foomatic-db-ppds is more like an extension to the collection of PPDs already shipped with CUPS. > I installed it and repeated the process in comment 9 to add a > printer. Same results with one exception, now when I manually select Lexmark I > get a whole lot more options, which is very good. Sadly, there's still no > E360dn but there are some similar models such as the E350d and E350dn which > should work. Oh, this is why I was confused about which package was required -- actually it's the updates-testing version of foomatic-db-ppds that contains it. I've seen your other bug report; thanks. I'll add comments there about that. Created attachment 375507 [details]
CUPS_DEBUG_LEVEL=2 /usr/lib/cups/backend/snmp 192.168.1.99 2>&1 | tee output.txt
Results attached for: CUPS_DEBUG_LEVEL=2 /usr/lib/cups/backend/snmp 192.168.1.99 2>&1 | tee output.txt
Would you be able to try out a possible fix? Here is the package build to try: http://koji.fedoraproject.org/koji/buildinfo?buildID=144212 Created attachment 375896 [details]
cups 1.4.2-11 snmp backend output with firewall disabled
Created attachment 375897 [details] cups 1.4.2-11 snmp backend output with firewall enabled I'm attaching my results with cups 1.4.2-11 as requested in bug #538675 comment #10. (In reply to comment #15) > Created an attachment (id=375896) [details] > cups 1.4.2-11 snmp backend output with firewall disabled Brilliant, this particular bug looks fixed then. Thanks! Also affects Fedora 11. cups-1.4.2-14.fc11 has been submitted as an update for Fedora 11. http://admin.fedoraproject.org/updates/cups-1.4.2-14.fc11 cups-1.4.2-14.fc12 has been submitted as an update for Fedora 12. http://admin.fedoraproject.org/updates/cups-1.4.2-14.fc12 cups-1.4.2-14.fc11 has been pushed to the Fedora 11 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update cups'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2009-12942 cups-1.4.2-14.fc12 has been pushed to the Fedora 12 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update cups'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F12/FEDORA-2009-12971 cups-1.4.2-16.fc11 has been pushed to the Fedora 11 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update cups'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2009-12942 cups-1.4.2-16.fc12 has been pushed to the Fedora 12 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update cups'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F12/FEDORA-2009-12971 cups-1.4.2-20.fc12 has been pushed to the Fedora 12 stable repository. If problems still persist, please make note of it in this bug report. cups-1.4.2-20.fc11 has been pushed to the Fedora 11 stable repository. If problems still persist, please make note of it in this bug report. |