Did you upload the wrong file by mistake? Otherwise, it looks like hp-check
is still seeing your WebCam.
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.
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
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.
- disconnect your USB printer
sudo rmmod usblp
sudo modprobe usblp proto_bias=1
- reconnect your USB printer
echo test | lp -d Deskjet-1000-J110-series
(assuming your queue name hasn’t changed, uselpstat -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
.