Created attachment 856222 [details] troubleshoot.txt with no network active (deliberately) Description of problem: Brother HL-2240DW printer is not identified Version-Release number of selected component (if applicable): foomatic-db.noarch-4.0-39.20130604.fc20.noarch How reproducible: Tried only once Steps to Reproduce: 1. Boot with printer plugged in 2. Try to go through autodetect procedure Actual results: Printer is not identified. There is a gap between the model numbers where "HL-2270" should be. Expected results: Automatic configuration Additional info: Configured as HL-2170 Will check: http://forums.fedoraforum.org/showthread.php?t=289330. https://fedoraproject.org/wiki/Test_Day:2011-03-29_Printing (search for "Bronson") confirms non-detection; I'm not getting crashes, fortunately.
Tried with no networking connected first. When I connected the network, I was able to install as Hl-2170DW and print a test page. I notice "... 'missing /var/spool/cups/tmp (Permission denied)']," in the troubleshoot.txt file.
Created attachment 856235 [details] troubleshoot.txt trying to clean print heads Tried to Clean Print Heads. A job was submitted, but remained in the queue.
Per http://forums.fedoraforum.org/showthread.php?t=289330 and http://welcome.solutions.brother.com/bsc/public_s/id/linux/en/instruction_prn3.html, which contains the following incorrect information: "Step 5. Confirm/Configure a file according to your connection 5-1. Check the configuration filename for your distribution. Example: openSUSE, Ubuntu, Debian : /etc/printcap Redhat, fedora, Mandriva : /etc/printcap.local" NB The correct name for fedora is /etc/printcap. Because of the above error, applied Batson's patch: "diff -c /usr/local/Brother/Printer/HL2270DW/inf/setupPrintcap2 /usr/local/Brother/Printer/HL2270DW/inf/setupPrintcap2.batson *** /usr/local/Brother/Printer/HL2270DW/inf/setupPrintcap2 2010-05-23 23:10:01.000000000 -0400 --- /usr/local/Brother/Printer/HL2270DW/inf/setupPrintcap2.batson 2014-01-27 14:53:36.787385234 -0500 *************** *** 19,25 **** # BRPRINTER_NAME=$1 ! PRINTCAP_NAME=/etc/printcap.local SPOOLER_NAME=/var/spool/lpd/$BRPRINTER_NAME DEVICE_IF=/dev/lp0 --- 19,28 ---- # BRPRINTER_NAME=$1 ! #Per http://forums.fedoraforum.org/showthread.php?t=289330: ! #PRINTCAP_NAME=/etc/printcap.local ! PRINTCAP_NAME=/etc/printcap ! # SPOOLER_NAME=/var/spool/lpd/$BRPRINTER_NAME DEVICE_IF=/dev/lp0 " Actually, I think this patch is redundant, because the code that follows in this file says: "if [ ! -f $PRINTCAP_NAME ]; then PRINTCAP_NAME=/etc/printcap fi "
I've made a change upstream to the way printer models are sorted. Numeric sections were already compared numerically, but now the names are converted to a normalized form first so that hyphens, spaces, punctuation etc is ignored for the purposes of sorting. This makes the installed driver appear at the expected location in the list. https://git.fedorahosted.org/cgit/system-config-printer.git/commit/?id=23a7518
Removed the rpms from Brother. Tried system-config-printer-1.4.3-2.fc20.x86_64 and tail -f /var/log/messages. When I powered the printer on, I saw it recognized in the log, and a window "Configuring new printer Please wait..." appeared. I saw no further relevant activity in /var/log/messages. A driver search window appeared, and then the list of manufacturers and models. I looked at the entire list, and did not see "HL-2270DW" anywhere, with or without the hyphen.
The fix mentioned in comment #4 is not yet built in Fedora. That fix only affects the ordering of model names, addressing "There is a gap between the model numbers where "HL-2270" should be" and "The official Brother driver does not have a hypen between the HL and 2270DW.". Automatic driver installation can only work for packages in configured repositories which provide the necessary "postscriptdriver" tags. Third-party drivers that satisfy none of the requirements will not be automatically installed (largely because there is no way to discover them automatically).
I may have run into similar issue... I installed brmfc7420lpr-2.0.1-1.i386.rpm and cupswrapperMFC7420-2.0.1-1.i386.rpm from brother. Configuring printer in Printer Properties recommended driver MFC-7450 which doesn't work on 7420. Even if patch in comment 4 is applied by hand in /usr/lib/python2.7/site-packages/cupshelpers/ppds.py I can't get it to recommend Models: MFC7420 for CUPS. Selecting MFC7420 for CUPS and printer works.
(In reply to pelle2004 from comment #7) > I installed brmfc7420lpr-2.0.1-1.i386.rpm and > cupswrapperMFC7420-2.0.1-1.i386.rpm from brother. Configuring printer in > Printer Properties recommended driver MFC-7450 which doesn't work on 7420. > Even if patch in comment 4 is applied by hand in > /usr/lib/python2.7/site-packages/cupshelpers/ppds.py I can't get it to > recommend Models: MFC7420 for CUPS. Does 'lpinfo -l -v' have a section describing your printer? Could you show what it says? Also, could you look in the MFC7420 PPD file for a line beginning "*NickName:" and show what that says?
Package system-config-printer-1.4.4-1.fc20: * should fix your issue, * was pushed to the Fedora 20 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing system-config-printer-1.4.4-1.fc20' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2014-4014/system-config-printer-1.4.4-1.fc20 then log in and leave karma (feedback).
Is there a way for me to save the current printer configuration before deleting and trying to reinstall the printers?
To save the state, stop cupsd ("systemctl stop cups.socket cups.path cups.service") and take a snapshot of /etc/cups with e.g. tar. This will save printer configuration (but not jobs). Start cupsd again with "systemctl start cups.service cups.path cups.socket". When restoring the snapshot on /etc/cups make sure you stop cupsd first and start it again afterwards.
That's handy information if I need to do some quick hacking on the printer settings. To test the new version, I did a "yum remove *2270* to get rid of the drivers I had downloaded from Brother. I made a backup of /etc/cups, and then deleted its contents. When I restarted cupsd, I got a messge saying cupsd.conf was missing. I restored /etc/cups from my backup. Now, when I try to restart cups, I get a selinux alert: "SELinux is preventing /usr/sbin/cupsd from unlink access on the file . ***** Plugin catchall (100. confidence) suggests ************************** If you believe that cupsd should be allowed unlink access on the file by default. Then you should report this as a bug. You can generate a local policy module to allow this access. Do allow this access for now by executing: # grep cupsd /var/log/audit/audit.log | audit2allow -M mypol # semodule -i mypol.pp Additional Information: Source Context system_u:system_r:cupsd_t:s0-s0:c0.c1023 Target Context unconfined_u:object_r:cupsd_etc_t:s0 Target Objects [ file ] Source cupsd Source Path /usr/sbin/cupsd Port <Unknown> Host localhost.localdomain Source RPM Packages cups-1.7.1-8.fc20.x86_64 Target RPM Packages Policy RPM selinux-policy-3.12.1-135.fc20.noarch Selinux Enabled True Policy Type targeted Enforcing Mode Enforcing Host Name localhost.localdomain Platform Linux localhost.localdomain 3.13.6-200.fc20.x86_64 #1 SMP Fri Mar 7 17:02:28 UTC 2014 x86_64 x86_64 Alert Count 1 First Seen 2014-03-27 12:10:50 EDT Last Seen 2014-03-27 12:10:50 EDT Local ID c7e90b41-85e1-40ee-9092-04affcfeffcc Raw Audit Messages type=AVC msg=audit(1395936650.847:609): avc: denied { unlink } for pid=3269 comm="cupsd" name="printers.conf.O" dev="sda9" ino=783863 scontext=system_u:system_r:cupsd_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:cupsd_etc_t:s0 tclass=file type=SYSCALL msg=audit(1395936650.847:609): arch=x86_64 syscall=unlink success=no exit=EACCES a0=7fff91a1a8e0 a1=7f4b1116a8bf a2=7fff91a1a8f9 a3=17 items=0 ppid=1 pid=3269 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 ses=4294967295 tty=(none) comm=cupsd exe=/usr/sbin/cupsd subj=system_u:system_r:cupsd_t:s0-s0:c0.c1023 key=(null) Hash: cupsd,cupsd_t,cupsd_etc_t,file,unlink " The trouble with selinux alerts is that the user has to have detailed knowledge of what a piece of software tries to do. I don''t know how to respond to this alert. My next step will be to shutdown and restart, and then see if I can remove, recognize and recover the Brother printer.
When I restarted the system, I still got bug 1081659 during startup. I executed the two commands. When I type system-config-printer as root, I see the 2270 with an orange triangele. Going through the Properties, I found I had the following message in Ink/Toner Levels: "There is a missing print filter for printer 'Brother HL2270DW-USB'." This is with the previous restored installation. I removed all the Brother printers, then unplugged and replugged the printer's USB cable. A "Configuring new printer/Please wait" window appeared, followed by another driver search. Then, a menu appeared where I had to choose the printer type manually. I chose HL2280DW, since no HL2270DW, or even HL-2270DW was available. In the terminal window that had launched system-config-printer, I saw: #system-config-printer No ID match for device usb://Brother/HL-2270DW%20series?serial=J3N458036: MFG:Brother;MDL:HL-2270DW series;CMD:PJL,PCL,PCLXL; No ID match for device usb://Brother/HL-2270DW%20series?serial=J3N458036: MFG:Brother;MDL:HL-2270DW series;CMD:PJL,PCL,PCLXL; " I was able to print a test page. It seems a little more work is needed to make this printer install without intervention.
Also did a /sbin/restorecon -v /etc/cups/printers.conf, as per bug 1058437.
Conclusion: Brother HL2270DW is recognized, but has to be manually selected as a HL2280DW.
Downloaded and booted http://kojipkgs.fedoraproject.org//work/tasks/250/6680250/Fedora-Live-Xfce-x86_64-rawhide-20140327.iso on a Dell. Turned on the Brother HL2270DW. The system searched, but could not find the driver. Also, when I got to the manual selection menu, this model was not in the Brother submenu, with or without the hyphen. When I downloaded and installed the drivers cited at http://welcome.solutions.brother.com/bsc/public/us/us/en/dlf/download_index.html?reg=us&c=us&lang=en&prod=hl2270dw_all&dlid=&flang=English&os=127&type2=-1 , the printer icon was present in the Print Settings window. Package system-config-printer-1.4.4-1.fc21.x86_64 was already installed when I booted.
Some things I should clarify: 1. In the procedure in comment #11, don't remove /etc/cups. I thought you were going to delete the printers using the usual procedure (a config tool). 2. This bug is about the sort order for the 3rd party drivers for this printer. From your original report in comment #0: ==> Actual results: Printer is not identified. There is a gap between the model numbers where "HL-2270" should be. <== This is what I've fixed. When using the 3rd party driver, you should see it listed in the expected place when adding a printer using "Print Settings". By this I mean the expected behaviour is as follows: i. install the 3rd party drivers ii. connect printer iii. driver search window is shown iv. no drivers found, so printer is not configured (or perhaps is configured using a generic driver) v. start Print Settings and add the printer vi. when choosing the model number, you should see it in the expected place 3. In response to comment #13, if there is no driver available for this model as part of Fedora there will be intervention of some sort required, if only to install the 3rd party drivers. In the best base, the 3rd party drivers will provide Device ID information for models they support, and in this case the printer will be configured automatically at step 'iii' above.
Regarding comment 14: The bug number should have been bug 1081659. According to https://bugzilla.redhat.com/show_bug.cgi?id=1081659#c1, I should have done a "restorecon -R -v /etc/cups/printers*" . Regarding comment 17, thanks for the clarifications and information you have provided. Ill make sure the printer driver from Brother is present, at least for now.
This update was pushed as part of: https://admin.fedoraproject.org/updates/FEDORA-2014-4014