Bug 1058437 - Brother HL-2270DW is not detected in USB connection mode
Summary: Brother HL-2270DW is not detected in USB connection mode
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: system-config-printer
Version: 20
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Tim Waugh
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-01-27 19:19 UTC by Peter H. Jones
Modified: 2014-04-01 16:55 UTC (History)
3 users (show)

Fixed In Version: system-config-printer-1.4.4-1.fc20
Clone Of:
Environment:
Last Closed: 2014-04-01 16:55:33 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
troubleshoot.txt with no network active (deliberately) (1.57 KB, text/plain)
2014-01-27 19:19 UTC, Peter H. Jones
no flags Details
troubleshoot.txt trying to clean print heads (27.51 KB, text/plain)
2014-01-27 19:25 UTC, Peter H. Jones
no flags Details

Description Peter H. Jones 2014-01-27 19:19:24 UTC
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.

Comment 1 Peter H. Jones 2014-01-27 19:23:58 UTC
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.

Comment 2 Peter H. Jones 2014-01-27 19:25:38 UTC
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.

Comment 3 Peter H. Jones 2014-01-27 20:02:33 UTC
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
"

Comment 4 Tim Waugh 2014-01-28 11:30:00 UTC
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

Comment 5 Peter H. Jones 2014-01-30 00:54:20 UTC
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.

Comment 6 Tim Waugh 2014-01-30 11:58:12 UTC
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).

Comment 7 pelle2004 2014-02-20 11:55:58 UTC
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.

Comment 8 Tim Waugh 2014-02-21 16:13:41 UTC
(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?

Comment 9 Tim Waugh 2014-03-26 13:18:59 UTC
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).

Comment 10 Peter H. Jones 2014-03-26 16:14:20 UTC
Is there a way for me to save the current printer configuration before deleting and trying to reinstall the printers?

Comment 11 Tim Waugh 2014-03-26 16:29:21 UTC
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.

Comment 12 Peter H. Jones 2014-03-27 16:21:56 UTC
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.

Comment 13 Peter H. Jones 2014-03-27 18:57:13 UTC
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.

Comment 14 Peter H. Jones 2014-03-27 19:10:07 UTC
Also did a /sbin/restorecon -v /etc/cups/printers.conf, as per bug 1058437.

Comment 15 Peter H. Jones 2014-03-27 19:11:37 UTC
Conclusion: Brother HL2270DW is recognized, but has to be manually selected as a HL2280DW.

Comment 16 Peter H. Jones 2014-03-27 21:28:39 UTC
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.

Comment 17 Tim Waugh 2014-03-28 10:15:36 UTC
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.

Comment 18 Peter H. Jones 2014-03-28 11:02:01 UTC
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.

Comment 19 Tim Waugh 2014-04-01 16:55:33 UTC
This update was pushed as part of:
https://admin.fedoraproject.org/updates/FEDORA-2014-4014


Note You need to log in before you can comment on or make changes to this bug.