[Bug 1151174] New: HP LaserJet 1018 printer configured, but fails to print: io/hpmud/musb.c 153: unable get_string_descriptor
http://bugzilla.opensuse.org/show_bug.cgi?id=1151174 Bug ID: 1151174 Summary: HP LaserJet 1018 printer configured, but fails to print: io/hpmud/musb.c 153: unable get_string_descriptor Classification: openSUSE Product: openSUSE Distribution Version: Leap 15.1 Hardware: Other OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: Printing Assignee: jsmeix@suse.com Reporter: opensuse.lietuviu.kalba@gmail.com QA Contact: jsmeix@suse.com Found By: --- Blocker: --- Created attachment 818715 --> http://bugzilla.opensuse.org/attachment.cgi?id=818715&action=edit journalctl I openSUSE Leap 15.1 fresh install (not upgrade from previous release). I have HPLIP 3.18.6 from main openSUSE repos. I have HP LaserJet 1018 printer. I configured it via YaST and hp-setup to install proprietary firmware. If I try to print, I see tooltips that rendering is completed, but printer not print, job remains in queue. In hp-toolbox I see "Device communication error (5012)" In dmesg I see: [ 473.064116] usb 1-3: USB disconnect, device number 3 [ 473.064205] usblp0: removed [ 478.703213] usb 1-3: new high-speed USB device number 5 using xhci_hcd [ 483.847137] usb 1-3: device descriptor read/64, error -110 [ 499.462811] usb 1-3: device descriptor read/64, error -110 [ 499.698782] usb 1-3: new high-speed USB device number 6 using xhci_hcd [ 504.838694] usb 1-3: device descriptor read/64, error -110 [ 520.454352] usb 1-3: device descriptor read/64, error -110 [ 520.562358] usb usb1-port3: attempt power cycle [ 521.214315] usb 1-3: new high-speed USB device number 7 using xhci_hcd [ 526.470231] usb 1-3: device descriptor read/8, error -110 [ 531.846113] usb 1-3: device descriptor read/8, error -110 [ 532.082079] usb 1-3: new high-speed USB device number 8 using xhci_hcd [ 540.549931] usb 1-3: device descriptor read/8, error -110 [ 545.925811] usb 1-3: device descriptor read/8, error -110 [ 546.033806] usb usb1-port3: unable to enumerate USB device [ 546.305780] usb 1-3: new high-speed USB device number 9 using xhci_hcd [ 546.474448] usb 1-3: New USB device found, idVendor=03f0, idProduct=4117 [ 546.474450] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 546.474450] usb 1-3: Product: HP LaserJet 1018 [ 546.474451] usb 1-3: Manufacturer: Hewlett-Packard [ 546.474452] usb 1-3: SerialNumber: KP1SL0L [ 546.477642] usblp 1-3:1.0: usblp0: USB Bidirectional printer dev 9 if 0 alt 0 proto 2 vid 0x03F0 pid 0x4117 [ 546.722235] usblp0: removed In /var/log/messages I see, e.g.: 2019-09-18T13:49:45.372981+03:00 linux-opensuse kernel: [ 4897.114551] usb 1-3: new high-speed USB device number 12 using xhci_hcd 2019-09-18T13:49:45.540928+03:00 linux-opensuse kernel: [ 4897.282735] usb 1-3: New USB device found, idVendor=03f0, idProduct=4117 2019-09-18T13:49:45.540940+03:00 linux-opensuse kernel: [ 4897.282737] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 2019-09-18T13:49:45.540941+03:00 linux-opensuse kernel: [ 4897.282738] usb 1-3: Product: HP LaserJet 1018 2019-09-18T13:49:45.540942+03:00 linux-opensuse kernel: [ 4897.282739] usb 1-3: Manufacturer: Hewlett-Packard 2019-09-18T13:49:45.540942+03:00 linux-opensuse kernel: [ 4897.282739] usb 1-3: SerialNumber: KP1SL0L 2019-09-18T13:49:45.540943+03:00 linux-opensuse kernel: [ 4897.285865] usblp 1-3:1.0: usblp0: USB Bidirectional printer dev 12 if 0 alt 0 proto 2 vid 0x03F0 pid 0x4117 2019-09-18T13:49:45.542368+03:00 linux-opensuse root: udev hpmud.rules runs hp-firmware to test if HP device with USB vendor ID 03f0 and USB product ID 4117 at USB bus ID 001 and USB device ID 012 needs firmware and if yes to upload it 2019-09-18T13:49:45.761447+03:00 linux-opensuse python3: io/hpmud/musb.c 2185: [25186] hpmud_make_usb_uri() bus=001 dev=012 2019-09-18T13:49:45.768390+03:00 linux-opensuse python3: io/hpmud/musb.c 2282: hpmud_make_usb_uri() uri=hp:/usb/HP_LaserJet_1018?serial=KP1SL0L bytes_read=39 2019-09-18T13:49:45.783844+03:00 linux-opensuse python3: io/hpmud/musb.c 427: Found interface conf=0, iface=0, altset=0, index=1 2019-09-18T13:49:45.784021+03:00 linux-opensuse python3: io/hpmud/musb.c 389: Active kernel driver on interface=0 ret=1 2019-09-18T13:49:45.784114+03:00 linux-opensuse python3: io/hpmud/musb.c 393: Detaching kernel driver on interface=0 ret=0 2019-09-18T13:49:45.784202+03:00 linux-opensuse python3: io/hpmud/musb.c 535: claimed 7/1/2 interface 2019-09-18T13:49:45.784916+03:00 linux-opensuse kernel: [ 4897.529467] usblp0: removed 2019-09-18T13:49:45.786922+03:00 linux-opensuse python3: io/hpmud/musb.c 780: read actual device_id successfully fd=1 len=82 2019-09-18T13:49:45.787101+03:00 linux-opensuse python3: io/hpmud/musb.c 561: released 7/1/2 interface 2019-09-18T13:49:45.787202+03:00 linux-opensuse python3: io/hpmud/musb.c 427: Found interface conf=0, iface=0, altset=0, index=1 2019-09-18T13:49:45.787299+03:00 linux-opensuse python3: io/hpmud/musb.c 389: Active kernel driver on interface=0 ret=0 2019-09-18T13:49:45.787385+03:00 linux-opensuse python3: io/hpmud/musb.c 535: claimed 7/1/2 interface 2019-09-18T13:49:45.789924+03:00 linux-opensuse python3: io/hpmud/musb.c 780: read actual device_id successfully fd=1 len=82 2019-09-18T13:49:45.790029+03:00 linux-opensuse python3: io/hpmud/musb.c 561: released 7/1/2 interface 2019-09-18T13:49:45.797249+03:00 linux-opensuse python3: io/hpmud/musb.c 427: Found interface conf=0, iface=0, altset=0, index=1 2019-09-18T13:49:45.797423+03:00 linux-opensuse python3: io/hpmud/musb.c 389: Active kernel driver on interface=0 ret=0 2019-09-18T13:49:45.797523+03:00 linux-opensuse python3: io/hpmud/musb.c 535: claimed 7/1/2 interface 2019-09-18T13:49:45.800277+03:00 linux-opensuse python3: io/hpmud/musb.c 780: read actual device_id successfully fd=1 len=82 2019-09-18T13:49:45.800454+03:00 linux-opensuse python3: io/hpmud/musb.c 561: released 7/1/2 interface 2019-09-18T13:49:45.800559+03:00 linux-opensuse python3: io/hpmud/musb.c 427: Found interface conf=0, iface=0, altset=0, index=1 2019-09-18T13:49:45.800654+03:00 linux-opensuse python3: io/hpmud/musb.c 389: Active kernel driver on interface=0 ret=0 2019-09-18T13:49:45.800746+03:00 linux-opensuse python3: io/hpmud/musb.c 535: claimed 7/1/2 interface 2019-09-18T13:49:45.803395+03:00 linux-opensuse python3: io/hpmud/musb.c 780: read actual device_id successfully fd=1 len=82 2019-09-18T13:49:45.803575+03:00 linux-opensuse python3: io/hpmud/musb.c 561: released 7/1/2 interface 2019-09-18T13:49:45.803664+03:00 linux-opensuse python3: io/hpmud/musb.c 960: new PRINT channel=2 clientCnt=1 channelCnt=1 2019-09-18T13:49:45.803752+03:00 linux-opensuse python3: io/hpmud/musb.c 427: Found interface conf=0, iface=0, altset=0, index=1 2019-09-18T13:49:45.803835+03:00 linux-opensuse python3: io/hpmud/musb.c 389: Active kernel driver on interface=0 ret=0 2019-09-18T13:49:45.803915+03:00 linux-opensuse python3: io/hpmud/musb.c 535: claimed 7/1/2 interface 2019-09-18T13:49:46.069813+03:00 linux-opensuse python3: io/hpmud/musb.c 561: released 7/1/2 interface 2019-09-18T13:49:46.069975+03:00 linux-opensuse python3: io/hpmud/musb.c 975: removed PRINT channel=2 clientCnt=0 channelCnt=0 2019-09-18T13:49:46.614514+03:00 linux-opensuse systemd[1]: Reached target Printer. 2019-09-18T13:49:46.615306+03:00 linux-opensuse systemd[1]: Started Configure Plugged-In Printer. 2019-09-18T13:49:46.618828+03:00 linux-opensuse udev-configure-printer: add usb-001-012 2019-09-18T13:49:46.652639+03:00 linux-opensuse udev-configure-printer: device devpath is /devices/pci0000:00/0000:00:14.0/usb1/1-3 2019-09-18T13:49:46.652861+03:00 linux-opensuse udev-configure-printer: Device vendor/product is 03F0:4117 2019-09-18T13:49:52.656453+03:00 linux-opensuse udev-configure-printer: Failed to fetch Device ID 2019-09-18T13:49:52.657184+03:00 linux-opensuse systemd[1]: configure-printer@usb-001-012.service: Main process exited, code=exited, status=1/FAILURE 2019-09-18T13:49:52.657393+03:00 linux-opensuse systemd[1]: configure-printer@usb-001-012.service: Unit entered failed state. 2019-09-18T13:49:52.657492+03:00 linux-opensuse systemd[1]: configure-printer@usb-001-012.service: Failed with result 'exit-code'. 2019-09-18T13:49:58.042743+03:00 linux-opensuse python3: io/hpmud/musb.c 153: unable get_string_descriptor -7: Resource temporarily unavailable 2019-09-18T13:49:58.042926+03:00 linux-opensuse python3: io/hpmud/musb.c 605: invalid product id string ret=-7 2019-09-18T13:49:58.043015+03:00 linux-opensuse python3: io/hpmud/musb.c 1151: unable to open hp:/usb/HP_LaserJet_1018?serial=KP1SL0L 2019-09-18T13:49:58.043107+03:00 linux-opensuse /hp-systray: [24100]: error: Unable to communicate with device (code=12): hp:/usb/HP_LaserJet_1018?serial=KP1SL0L 2019-09-18T13:49:58.043230+03:00 linux-opensuse /hp-systray: hp-systray(hpdio)[24102]: error: Device not found 2019-09-18T13:50:03.045739+03:00 linux-opensuse /hp-systray: io/hpmud/musb.c 153: unable get_string_descriptor -7: Resource temporarily unavailable 2019-09-18T13:50:03.045924+03:00 linux-opensuse /hp-systray: io/hpmud/musb.c 605: invalid product id string ret=-7 2019-09-18T13:50:03.046017+03:00 linux-opensuse /hp-systray: io/hpmud/musb.c 1151: unable to open hp:/usb/HP_LaserJet_1018?serial=KP1SL0L 2019-09-18T13:50:03.046132+03:00 linux-opensuse /hp-systray: [24100]: error: Unable to communicate with device (code=12): hp:/usb/HP_LaserJet_1018?serial=KP1SL0L 2019-09-18T13:50:03.046259+03:00 linux-opensuse /hp-systray: hp-systray(hpdio)[24102]: error: Device not found ls -l /dev/bus/usb/001/ viso 0 crw-rw-r-- 1 root root 189, 0 2019-09-18 12:28 001 crw-rw-r-- 1 root root 189, 3 2019-09-18 12:32 004 crw-rw-r--+ 1 root lp 189, 11 2019-09-18 13:49 012 I added myself into "lp" groups. This not helped. The workaround I found that helps: - turn off printer, but it remains pluged; - rename/move /usr/share/hplip/data/firmware/hp_laserjet_1018.fw.gz - turn on printer; - open hp-toolbox; - rename/move /usr/share/hplip/data/firmware/hp_laserjet_1018.fw.gz into original place; - in HP toolbox "Actions" tab select "Download firmware" to pass firmware into device; - initiate printing of some document (e.g. from LibreOffice); - though it not prints immediately, but you see job in KDE printing queue and you see that printer is paused; - thus in KDE printing queue you must press "Continue printing" (wording may be not precise as I translate this text from Lithuanian "Tęsti spausdinimą"). (Note: I almost never success to start printer via hp-toolbox via "Printer control" tab, "Start printer" button - pressing this button almost always hangs entire hp-toolbox and do nothing). - you are asked to enter user name and password; - you must enter "root" and its password. (If you enter regular/current user name/password, printer will hang and will do nothing.) - printing now start. P.S. this printer with HPLIP worked much better in much older openSUSE releases. Perhaps best experience was till around openSUSE 13.2 version. In parallel I have old openSUSE Leap 42.3 installation in same computer, from this system I have relatively little problem with printing: here I also needed either to enable printer twice to be able to print or to start print as root manually. (I can not say nothing about openSUSE Leap 42.1 and Leap 15.0, because I skipped this releases). -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1151174 http://bugzilla.opensuse.org/show_bug.cgi?id=1151174#c4 Johannes Meixner <jsmeix@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- URL| |https://bugs.launchpad.net/ | |hplip/+bug/187049 CC| |martin.wilck@suse.com Found By|--- |Community User --- Comment #4 from Johannes Meixner <jsmeix@suse.com> --- Mindaugas Baranauskas, thank you for your feedback - it is much appreciated! It helps a lot to better understand how by default enabled "nice to have" stuff could make things completely fail in this or that unusual case. My guess in this case here with a HP USB printer that needs firmware upload is that udev-configure-printer interferes with the firmware upload which lets things completely fail. Regarding automated printer setup in general see the section "Automated Printer Configuration" in https://en.opensuse.org/YaST_Printer FWIW: On my systems with a USB printer I remove udev-configure-printer because I prefer my personal manual static setup over automatisms. Martin Wilck, FYI see in particular https://bugzilla.opensuse.org/show_bug.cgi?id=1151174#c2 This issue here is yet another example where automated actions when pug-in a USB printer (here what udev-configure-printer does) could cause more harm than good in some cases. Since udev-configure-printer exists it is known to sometimes cause weird inexplicable issues in this or that case. It seems in general HP USB printers that need firmware upload behave somewhat fragile during their startup phase. For my own experience a longer time ago with that kind of devices see https://bugs.launchpad.net/hplip/+bug/187049 therein see in particular comment #3 for my I experience with a HP printer that needs firmware upload which behaved very fragile during its startup phase. What worked most reliably for me was manual firmware upload. When firmware upload was succesful those HP USB printers work as reliable as normal USB printers do according to my experience. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1151174 http://bugzilla.opensuse.org/show_bug.cgi?id=1151174#c6 --- Comment #6 from Johannes Meixner <jsmeix@suse.com> --- I am not at all a udev expert so I may misunderstand things related to udev or what udev might be able to do if all was set up perfectly right. According to my "udev end-user" experience things are even worse because udev-configure-printer is not the only thing that could get in the way while firmware upload needs to be the only thing that should be allowed to happen. For example also any pending print job gets in the way when such a decice appears at the USB, cf. https://bugs.launchpad.net/hplip/+bug/187049/comments/3 (excerpt): ------------------------------------------------------------------- Of course another mess could happen if there are pending jobs in the queue and CUPS starts to send them (with exclusive device access) before udev would try to upload the firmware. ------------------------------------------------------------------- As far as I understand it the actual root cause is that those devices show up at the USB as regular USB printers (i.e. with the normal printer USB device class) but as long as those devices do not have firmware they do not behave as regular USB printers (all they can do without firmware is receiving firmware and if they receive something else they basically "hang up"). But because they appear as a regular USB printers even without firmware they are "just used" as regular USB printers by all normal software which fails in arbitrary weird ways as long as those devices do not have firmware that makes them regular USB printers. Also any other (desktop) application that might query USB printers could fail in arbitrary weird ways as long as those devices do not have their firmware that makes them behave as regular USB printers. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1151174 http://bugzilla.opensuse.org/show_bug.cgi?id=1151174#c7 Mindaugas Baranauskas <opensuse.lietuviu.kalba@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Version|Leap 15.1 |Leap 15.2 Resolution|UPSTREAM |--- --- Comment #7 from Mindaugas Baranauskas <opensuse.lietuviu.kalba@gmail.com> --- (In reply to Martin Wilck from comment #5)
The "right thing" to do would be to introduce some generic udev variable similar to SYSTEMD_READY=0 that udev-configure-printer would recognize as a warning no to touch the device. The FW upload process should be handled by some daemon in the background. When it's finished and the printer is operational, another uevent could be triggered, and udev-configure-printer would then hopefully be able to deal with the printer in healthy status.
Thus this bug seems in udev-configure-printer, not in third party HPLIP. I reopen tis bug. Can we introduce some variable (similar to SYSTEMD_READY=0), blacklist or delay in udev-configure-printer to allow HPLIP send firmware before udev interactions (or simple wait e.g. half minute)? -- You are receiving this mail because: You are on the CC list for the bug.
participants (2)
-
bugzilla_noreply@novell.com
-
bugzilla_noreply@suse.com