HP1000 no longer prints since the system update a few days ago

Did you upload the wrong file by mistake? Otherwise, it looks like hp-check is still seeing your WebCam. :confused:

No, this wa’nt wrong I would show you how often and where btusb and uvcvideo would be seen.

Question: is there a funktion to stop btusb like uvcwideo?

I think sometimes laptops have an “airplane mode” switch that will turn off WiFi and Bluetooth. Does rmmod btusb not work?

No, it does’nt work. But it could be that I’m doing anything wrong. What I did is:

rmmod btusb
rmmod uvcvideo

then restart my system - disconnected the printer for 10 minutes - reconnect the printer

then lspci btusb and uvcvideo are again in the lspci-log

Is that ok or do I not understand somthing?

I guess I should have been more clear about what rmmod does. It only removes the module temporarily (until the next reboot).

Run sudo lsmod first and you should see that those modules are listed.

Then run sudo rmmod btusb and sudo rmmod uvcvideo.

Then run sudo lsmod again and you should see that those modules are no longer listed. Don’t reboot. If you do, those modules will reload.

Next, disconnect and reconnect your printer. (You don’t need to wait 10 minutes. A few seconds is an eternity to your computer.)

Next, send a test page and see if your printer works.

For extra feedback while performing the last two steps, you might leave sudo dmesg -w running in a second terminal window so you can watch for any error messages as they happen.

Found this at the end of the dmesg-log

[ 3376.302482] usb 1-1: USB disconnect, device number 8
[ 3384.126350] usb 1-2: new high-speed USB device number 9 using xhci_hcd
[ 3384.253006] usb 1-2: New USB device found, idVendor=03f0, idProduct=8811, bcdDevice= 1.00
[ 3384.253024] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3384.253031] usb 1-2: Product: Deskjet 1000 J110 series
[ 3384.253037] usb 1-2: Manufacturer: HP
[ 3384.253042] usb 1-2: SerialNumber: CN1AJ21K8205D2
[ 3384.256255] usblp 1-2:1.0: usblp0: USB Bidirectional printer dev 9 if 0 alt 0 proto 2 vid 0x03F0 pid 0x8811
[ 3389.803599] usblp0: removed
[ 3389.804635] usblp 1-2:1.0: usblp0: USB Bidirectional printer dev 9 if 0 alt 0 proto 2 vid 0x03F0 pid 0x8811

and those errors:
[ 1441.656416] usb 1-1: Product: Deskjet 1000 J110 series
[ 1441.656422] usb 1-1: Manufacturer: HP
[ 1441.656427] usb 1-1: SerialNumber: CN1AJ21K8205D2
[ 1441.659748] usblp 1-1:1.0: usblp0: USB Bidirectional printer dev 7 if 0 alt 0 proto 2 vid 0x03F0 pid 0x8811
[ 1447.167428] usblp0: removed
[ 1447.168719] usblp 1-1:1.0: usblp0: USB Bidirectional printer dev 7 if 0 alt 0 proto 2 vid 0x03F0 pid 0x8811
[ 1464.681682] usblp0: removed
[ 1537.523569] usbcore: deregistering interface driver btusb
red: [ 1537.620252] Bluetooth: hci0: urb 00000000f2e9d1c5 failed to resubmit (2) :red

[ 3.676401] nouveau: detected PR support, will not use DSM
[ 3.676421] nouveau 0000:01:00.0: enabling device (0406 → 0407)
[ 3.676594] nouveau 0000:01:00.0: NVIDIA GM204 (124170a1)
[ 3.847156] nouveau 0000:01:00.0: bios: version 84.04.76.00.32
[ 3.850873] nouveau 0000:01:00.0: pmu: firmware unavailable
[ 3.893482] nouveau 0000:01:00.0: fb: 4096 MiB GDDR5
:red [ 3.893543] nouveau 0000:01:00.0: bus: MMIO read of 00000000 FAULT at 022554 [ PRIVRING ] :red


[ 0.356201] ACPI: PCI: Interrupt link LNKF configured for IRQ 11
[ 0.356251] ACPI: PCI: Interrupt link LNKG configured for IRQ 11
[ 0.356300] ACPI: PCI: Interrupt link LNKH configured for IRQ 11
[ 0.356571] platform MSFT0101:00: failed to claim resource 1: [mem 0xfed40000-0xfed40fff]
:red [ 0.356575] acpi MSFT0101:00: platform device creation failed: -16 :red


[ 0.296587] PCI: Using host bridge windows from ACPI; if necessary, use “pci=nocrs” and report a bug
[ 0.296589] PCI: Using E820 reservations for host bridge windows
[ 0.297528] ACPI: Enabled 10 GPEs in block 00 to 7F
[ 0.298924] ACPI: _SB_.PCI0.PEG0.PG00: New power resource
:red [ 0.331395] ACPI BIOS Error (bug): Could not resolve symbol [_SB.PCI0.XHC.RHUB.TPLD], AE_NOT_FOUND (20240322/psargs-332)
[ 0.331403] ACPI Error: Aborting method _SB.UBTC.CR01._PLD due to previous error (AE_NOT_FOUND) (20240322/psparse-529) :red


[ 0.179231] Calibrating delay loop (skipped), value calculated using timer frequency… 5199.98 BogoMIPS (lpj=2599992)
:red [ 0.179257] x86/cpu: SGX disabled by BIOS. :red

----- End ------------

Well, I don’t see the device descriptor read/64, error -71 or usb usb1-port2: attempt power cycle errors anymore, so I guess that is progress. I take it that the printer still doesn’t work?

You can try the pci=nocrs parameter as suggested and see if that helps. I don’t know what it does or if that could be related to the printer problem.

To apply the pci=nocrs parameter, run sudo grubby --args="pci=nocrs" --update-kernel "$(grubby --default-kernel)" and reboot. After rebooting, you can run cat /proc/cmdline to confirm that the parameter was added. Then try again with removing those btusb and uvcvideo modules and sending a test page.

Interesting: 22132 – USB devices not recognized without pci=nocrs - Vaio VGN-P39VRL

Tried it and got:
[athauta@predator ~]$ sudo grubby --args=“pci=nocrs” --update-kernel “$(grubby --default-kernel)”
grep: /boot/grub2/grubenv: Keine Berechtigung
The param /boot//boot is incorrect

I was trying to relay what was indicated in the Fedora docs, but I guess they are outdated. You can edit the config file directly, but if you do that, you need to be careful not to corrupt the file with invalid syntax or else your PC might fail to boot. If you make a backup though, it should be possible to recover.

I think the file is /boot/grub2/grub.cfg. It is a plain text file. Before editing it, make a backup with sudo cp /boot/grub2/grub.cfg /boot/grub2/grub.bak. After you’ve made a backup copy, edit /boot/grub2/grub.cfg with, for example, sudo nano /boot/grub2/grub.cfg. The file should have three menuentry sections (the sections are bound by curly brackets { }). One of the sections will be for your currently-booted kernel. (Use uname -r to see what kernel version you are currently running.) In that section should be a long line that starts with linux16, the current kernel name, and near the end is probably rhgb quiet. The words at the end of the line are the kernel parameters (separated by spaces). You can edit that line and add pci=nocrs at the end (be sure to include a space before the new parameter). Then save the file and exit the editor. Then reboot and run cat /proc/cmdline to confirm that the new kernel parameter was applied.

Edit: Doing it the above way will only change it for your current kernel and the change will probably be overwritten the next time you update. If you want to make the change permanent and apply it to all future updates, use the grub2-mkconfig command as shown in the documentation: Working with the GRUB 2 Boot Loader :: Fedora Docs

Keine Berechtigung = Permission denied, meaning you can’t run grubby --default-kernel without sudo.

Run sudo grubby --default-kernel and note the result.

Then run sudo sudo grubby --args=“pci=nocrs” --update-kernel XXXXXX replacing the “XXXXXX” by the result from running the above command.

Another thing: Please add three backticks (```) before the first line of pasted text and after the last line. Makes reading much easier.

1 Like

That is a bit outdated. Currently, the boot parameters are stored in LSB files found in /boot/loader/entries for example

title Fedora Linux (6.11.4-201.fc40.x86_64) 40 (Xfce)
version 6.11.4-201.fc40.x86_64
linux /boot/vmlinuz-6.11.4-201.fc40.x86_64
initrd /boot/initramfs-6.11.4-201.fc40.x86_64.img
options root=UUID=56a83e29-1e98-44f6-a33e-8988906ef2a1 ro quiet rhgb
grub_users $grub_users
grub_arg --unrestricted
grub_class fedora
1 Like

I looked through your post about grub, and I came across differences that I
https://paste.centos.org/view/8ea27120
have documented.

Sorry, sent you the wrong file content:

fe1fc913c3ad4666b3e192e1e4e4a2f6-6.11.4-201.fc40.x86_64.conf

the content is after sudo sudo grubby --args=“pci=nocrs” --update-kernel /boot/vmlinuz-6.11.4-201.fc40.x86_64

now this:

— File START -----

title Fedora Linux (6.11.4-201.fc40.x86_64) 40 (Workstation Edition)

version 6.11.4-201.fc40.x86_64

linux /vmlinuz-6.11.4-201.fc40.x86_64

initrd /initramfs-6.11.4-201.fc40.x86_64.img

options root=UUID=390dc446-8be3-46f5-9e95-60fe5d8916cf ro rootflags=subvol=root rhgb quiet “pci=nocrs”

grub_users $grub_users

grub_arg --unrestricted

grub_class fedora

----- File END ----

Here is the dmesg log after “pci=nocrs” was entered as a parameter.
Printing test with this parameter, after restarting the system, no change in printing behavior - does not print.
https://paste.centos.org/view/a23a6593

Forgotten to say:

Errors are between to ----------- - Lines

It looks like you might be getting close to getting it working.

[  723.760485] usb 1-1: new high-speed USB device number 7 using xhci_hcd
[  723.887420] usb 1-1: New USB device found, idVendor=03f0, idProduct=8811, bcdDevice= 1.00
[  723.887437] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  723.887444] usb 1-1: Product: Deskjet 1000 J110 series
[  723.887450] usb 1-1: Manufacturer: HP
[  723.887455] usb 1-1: SerialNumber: CN1AJ21K8205D2
[  723.890870] usblp 1-1:1.0: usblp0: USB Bidirectional printer dev 7 if 0 alt 0 proto 2 vid 0x03F0 pid 0x8811
[  729.389822] usblp0: removed
[  729.391608] usblp 1-1:1.0: usblp0: USB Bidirectional printer dev 7 if 0 alt 0 proto 2 vid 0x03F0 pid 0x8811

There appears to be an old workaround for the usblp0: removed error here:

https://bugzilla.redhat.com/show_bug.cgi?id=873123

I would just try the usb-no-reattach-default=true and usb-unidir-default=true settings mentioned early in the ticket. I’d ignore comment 36 and beyond since that appears to be for Debian.

Ok, I tried all the options, it doesn’t work – everything is as before, it writes to the spooler and doesn’t go to the printer.

Can you provide the output of lpoptions, /usr/lib/cups/backend/usb, and lpstat -v -p?

Also, are you still seeing that usblp0: removed in dmesg?

If you are still seeing that usblp0: removed error, try the following to disable bi-directional communication at a slightly lower level.

  1. disconnect your USB printer
  2. sudo rmmod usblp
  3. sudo modprobe usblp proto_bias=1
  4. reconnect your USB printer
  5. echo test | lp -d Deskjet-1000-J110-series (assuming your queue name hasn’t changed, use lpstat -p to verify the queue name)

Here is the documentation for that proto_bias parameter:

/*
 * We are a "new" style driver with usb_device_id table,
 * but our requirements are too intricate for simple match to handle.
 *
 * The "proto_bias" option may be used to specify the preferred protocol
 * for all USB printers (1=USB_CLASS_PRINTER/1/1, 2=USB_CLASS_PRINTER/1/2,
 * 3=USB_CLASS_PRINTER/1/3).  If the device supports the preferred protocol,
 * then we bind to it.
 *
 * The best interface for us is USB_CLASS_PRINTER/1/2, because it
 * is compatible with a stream of characters. If we find it, we bind to it.
 *
 * Note that the people from hpoj.sourceforge.net need to be able to
 * bind to USB_CLASS_PRINTER/1/3 (MLC/1284.4), so we provide them ioctls
 * for this purpose.
 *
 * Failing USB_CLASS_PRINTER/1/2, we look for USB_CLASS_PRINTER/1/3,
 * even though it's probably not stream-compatible, because this matches
 * the behaviour of the old code.
 *
 * If nothing else, we bind to USB_CLASS_PRINTER/1/1
 * - the unidirectional interface.
 */

From looking at the code, it appears that the DeskJet 1000 series was the first to support bi-directional communication. I wouldn’t be surprised if the fist version were a bit buggy. It should be able to work in unidirectional mode as a fallback though.

#define USBLP_QUIRK_BIDIR	0x1	/* reports bidir but requires unidirectional mode (no INs/reads) */
#define USBLP_QUIRK_USB_INIT	0x2	/* needs vendor USB init string */
#define USBLP_QUIRK_BAD_CLASS	0x4	/* descriptor uses vendor-specific Class or SubClass */

static const struct quirk_printer_struct quirk_printers[] = {
	{ 0x03f0, 0x0004, USBLP_QUIRK_BIDIR }, /* HP DeskJet 895C */
	{ 0x03f0, 0x0104, USBLP_QUIRK_BIDIR }, /* HP DeskJet 880C */
	{ 0x03f0, 0x0204, USBLP_QUIRK_BIDIR }, /* HP DeskJet 815C */
	{ 0x03f0, 0x0304, USBLP_QUIRK_BIDIR }, /* HP DeskJet 810C/812C */
	{ 0x03f0, 0x0404, USBLP_QUIRK_BIDIR }, /* HP DeskJet 830C */
	{ 0x03f0, 0x0504, USBLP_QUIRK_BIDIR }, /* HP DeskJet 885C */
	{ 0x03f0, 0x0604, USBLP_QUIRK_BIDIR }, /* HP DeskJet 840C */
	{ 0x03f0, 0x0804, USBLP_QUIRK_BIDIR }, /* HP DeskJet 816C */
	{ 0x03f0, 0x1104, USBLP_QUIRK_BIDIR }, /* HP Deskjet 959C */
	{ 0x0409, 0xefbe, USBLP_QUIRK_BIDIR }, /* NEC Picty900 (HP OEM) */
	{ 0x0409, 0xbef4, USBLP_QUIRK_BIDIR }, /* NEC Picty760 (HP OEM) */
	{ 0x0409, 0xf0be, USBLP_QUIRK_BIDIR }, /* NEC Picty920 (HP OEM) */
	{ 0x0409, 0xf1be, USBLP_QUIRK_BIDIR }, /* NEC Picty800 (HP OEM) */
	{ 0x0482, 0x0010, USBLP_QUIRK_BIDIR }, /* Kyocera Mita FS 820, by zut <kernel@zut.de> */
	{ 0x04f9, 0x000d, USBLP_QUIRK_BIDIR }, /* Brother Industries, Ltd HL-1440 Laser Printer */
	{ 0x04b8, 0x0202, USBLP_QUIRK_BAD_CLASS }, /* Seiko Epson Receipt Printer M129C */
	{ 0, 0 }
};

athauta@predator ~]$ lpoptions

copies=1 device-uri=hp:/usb/Deskjet_1000_J110_series?serial=CN29F19KDY05YD finishings=3 job-cancel-after=10800 job-hold-until=no-hold job-priority=50 job-sheets=none,none marker-change-time=0 number-up=1 print-color-mode=color printer-commands=none printer-info=‘HP Deskjet 1000 J110 series’ printer-is-accepting-jobs=true printer-is-shared=true printer-is-temporary=false printer-location=predator printer-make-and-model=‘HP Deskjet 1000 j110 Series, hpcups 3.24.4’ printer-state=5 printer-state-change-time=1730304516 printer-state-reasons=paused printer-type=167948 printer-uri-supported=ipp://localhost/printers/Deskjet-1000-J110-series


/usr/lib/cups/backend/usb

/usr/lib/cups/backend/usb

First came the message: cannot be opened, searching for a program.

I confirmed Search for program, then contour-terminal was installed.

Contents Contour-Terminal:

Failed to spawn /usr/lib/cups/backend/usb

Trying login shell: “/bin/bash”

------------------------------------------------------------------------------------

[athauta@predator ~]$ lpstat -v -p

Gerät für HP_Deskjet_1000_J110_series: hp:/usb/Deskjet_1000_J110_series?serial=CN1AJ21K8205D2

Drucker HP_Deskjet_1000_J110_series ist im Leerlauf. Aktiviert seit Mi 30 Okt 2024 19:06:49

---------------------------------------------------------------------------

[athauta@predator ~]$ sudo modprobe usblp proto_bias=1

[athauta@predator ~]$

[athauta@predator ~]$ echo test | lp -d Deskjet-1000-J110-series

lp: Fehler - Der Drucker oder die Klasse existiert nicht.

[athauta@predator ~]$

[athauta@predator ~]$ lpstat -p

Drucker HP_Deskjet_1000_J110_series ist deaktiviert seit Mi 30 Okt 2024 19:13:11 -

Unplugged or turned offAlso, are you still seeing that usblp0: removed in dmesg? YES

---------------------------------------------------------------------------

athauta@predator ~]$ sudo rmmod usblp

[athauta@predator ~]$

It looks like that should have been echo test | lp -d HP_Deskjet_1000_J110_series.

I’m confused about your results from one of the commands. What does file /usr/lib/cups/backend/usb show?

Edit: Oh, I think I see, it might have needed sudo in front of that. Try sudo /usr/lib/cups/backend/usb.

Edit2: Try running cat /sys/module/usblp/parameters/proto_bias to confirm that proto_bias is set to 1.