Package: hplip
Version: 3.14.1-1
Severity: normal

And this is what is logged:

Apr 20 13:04:22 debian kernel: [162198.348002] INFO: task hp-config_usb_p:6065 
blocked for more than 120 seconds.
Apr 20 13:04:22 debian kernel: [162198.348005]       Tainted: P           O 
3.13-1-amd64 #1
Apr 20 13:04:22 debian kernel: [162198.348006] "echo 0 > 
/proc/sys/kernel/hung_task_timeout_secs" disables this message.
Apr 20 13:04:22 debian kernel: [162198.348008] hp-config_usb_p D 
ffff88040b54cb40     0  6065      1 0x00000080
Apr 20 13:04:22 debian kernel: [162198.348011]  ffff88040b54c800 
0000000000000086 0000000000014280 0000000000014280
Apr 20 13:04:22 debian kernel: [162198.348014]  ffff880036b4bfd8 
ffff88040b54c800 ffffffffa03a6040 ffff880036b4be78
Apr 20 13:04:22 debian kernel: [162198.348016]  ffffffffa03a6044 
ffff88040b54c800 00000000ffffffff ffffffffa03a6048
Apr 20 13:04:22 debian kernel: [162198.348018] Call Trace:
Apr 20 13:04:22 debian kernel: [162198.348033]  [<ffffffff814a45d0>] ? 
schedule_preempt_disabled+0x20/0x70
Apr 20 13:04:22 debian kernel: [162198.348036]  [<ffffffff814a6043>] ? 
__mutex_lock_slowpath+0x133/0x1b0
Apr 20 13:04:22 debian kernel: [162198.348040]  [<ffffffff814a60d6>] ? 
mutex_lock+0x16/0x25
Apr 20 13:04:22 debian kernel: [162198.348043]  [<ffffffffa03a42d0>] ? 
pp_ioctl+0x20/0x870 [ppdev]
Apr 20 13:04:22 debian kernel: [162198.348047]  [<ffffffff8118b94f>] ? 
do_vfs_ioctl+0x2cf/0x4a0
Apr 20 13:04:22 debian kernel: [162198.348048]  [<ffffffff8118bba0>] ? 
SyS_ioctl+0x80/0xa0
Apr 20 13:04:22 debian kernel: [162198.348052]  [<ffffffff814aeb79>] ? 
system_call_fastpath+0x16/0x1b

All this started to show up while testing a udev-rule to mount a
filesystem on a USB-stick connected to an usb-port in a hub built into
"HP Compaq LA2405x" monitors.  I used:

        # udevadm trigger --action=add /dev/sdg

which activates the rules in:

        /lib/udev/rules.d/56-hpmud.rules

That rules run /usr/bin/hp-config_usb_printer on usb devices which
seem to be scanners (Device: ID 03f0:2512):

        Bus 004 Device 004: ID 03f0:2512 Hewlett-Packard OfficeJet Pro L7300
        Bus 003 Device 005: ID 03f0:2512 Hewlett-Packard OfficeJet Pro L7300

but they are not.  They are usb-hubs that built into "HP Compaq
LA2405x" monitors.  Seen the forked processes:

        root      6065  0.0  0.0 126856 15076 ?        D    12:53   0:00 
/usr/bin/python /usr/bin/hp-config_usb_printer 003:005
        root      6074  0.0  0.0 126856 15072 ?        S    12:53   0:00 
/usr/bin/python /usr/bin/hp-config_usb_printer 004:004

Took a look at:

        # ls -al /proc/6074/fd
        total 0
        dr-x------ 2 root root  0 Apr 20 13:17 .
        dr-xr-xr-x 9 root root  0 Apr 20 12:53 ..
        lrwx------ 1 root root 64 Apr 20 13:17 0 -> /dev/null
        lrwx------ 1 root root 64 Apr 20 13:17 1 -> /dev/null
        lrwx------ 1 root root 64 Apr 20 13:17 13 -> socket:[3215190]
        lrwx------ 1 root root 64 Apr 20 13:17 2 -> /dev/null
        l-wx------ 1 root root 64 Apr 20 13:17 3 -> 
/root/.hplip/hplip_config_usb_printer.log
        lr-x------ 1 root root 64 Apr 20 13:17 4 -> /dev/parport0

and:

        # ls -al /root/.hplip/hplip_config_usb_printer.log
        -rw-r----- 1 root root 0 Apr 20 12:53 
/root/.hplip/hplip_config_usb_printer.log

Killing the processes:

        # kill -9 6074 6065

silences the kernel.

It shows up this is a problem reported here too:

        https://bugs.launchpad.net/hplip/+bug/1266704

that even has a partial solution (This fix is released in HPLIP-3.14.3):

        https://bugs.launchpad.net/hplip/+bug/1266704/comments/5

since 2014-03-13.  Debian might consider a package upgrade.  Still...

That bug report states "Usb device 003:004 is HP Smart Card Terminal
keyboard and Usb device 003:005 is HP mouse".

It seems the matching rule:

        ATTR{idVendor}=="03f0", ATTR{idProduct}=="????",

in 56-hpmud.rules is _far_ too generous.  I made a few attempts to
find ways to blacklist the 03f0:2512 devices.  Came up with this one:

,----[ /etc/udev/rules.d/10-hpmud-blacklist.rules ]
| ACTION!="add|change", GOTO="hpmud_blacklist_rules_end"
| SUBSYSTEM!="usb", GOTO="hpmud_blacklist_rules_end"
| ENV{DEVTYPE}!="usb_device", GOTO="hpmud_blacklist_rules_end"
|
| ATTR{idVendor}=="03f0", ATTR{idProduct}=="2512", 
ENV{ID_MM_DEVICE_IGNORE}:="1", RUN:="/usr/bin/logger -p info -t 
10-hpmud-blacklist.rules -- ignore %N, /sys%p"
|
| LABEL="hpmud_blacklist_rules_end"
`----

But that doesn't stop /lib/udev/rules.d/56-hpmud.rules from doing it's
thing :(, when:

        # udevadm trigger --action=add /dev/sdg

The only way I found in to avoid that is to modify 56-hpmud.rules:

         LABEL="hpmud_usb_rules"

        +# "03f0:2512 Hewlett-Packard OfficeJet Pro L7300" is an USB hub
        +# integrated into an HP Compaq LA2405x monitor, on my system
        +ATTR{idVendor}=="03f0", ATTR{idProduct}=="2512", PROGRAM="/bin/sh -c 
'logger -p info -t 56-hpmud.rules -- skipping HP Device $env{BUSNUM} 
$env{DEVNUM}'", GOTO="hpmud_rules_end"

which works, but is obviously not ideal (as editing distributed conf-files
is unsustainable).

Is there _any_ standard procedure I could use instead, to avoid
mangling 56-hpmud.rules?


-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.13-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash

Versions of packages hplip depends on:
ii  adduser                3.113+nmu3
ii  coreutils              8.21-1.2
ii  cups                   1.7.2-1
ii  hplip-data             3.14.1-1
ii  libc6                  2.18-4
ii  libcups2               1.7.2-1
ii  libdbus-1-3            1.8.0-3
ii  libhpmud0              3.14.1-1
ii  libsane                1.0.24-1.1+b1
ii  libsane-hpaio          3.14.1-1
ii  libsnmp30              5.7.2.1~dfsg-3
ii  libssl1.0.0            1.0.1g-3
ii  libusb-1.0-0           2:1.0.18-2
ii  lsb-base               4.1+Debian12
ii  policykit-1            0.105-4
ii  printer-driver-hpcups  3.14.1-1
ii  python                 2.7.5-5
ii  python-dbus            1.2.0-2+b2
ii  python-gobject-2       2.28.6-12+b1
ii  python-imaging         2.3.0-2
ii  python-pexpect         3.1-1
ii  python-reportlab       3.0-1
ii  wget                   1.15-1

Versions of packages hplip recommends:
ii  avahi-daemon                  0.6.31-4
pn  printer-driver-postscript-hp  <none>
ii  sane-utils                    1.0.24-1.1+b1

Versions of packages hplip suggests:
pn  hplip-doc              <none>
ii  hplip-gui              3.14.1-1
ii  python-notify          0.1.1-3
ii  system-config-printer  1.4.3-4

-- no debconf information

-- debsums errors found:
debsums: changed file /lib/udev/rules.d/56-hpmud.rules (from hplip package)


Cheers,

-- 
Cristian


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to