[Bug 217475] New: Foxconn / Hon Hai Bluetooth adapter 0489:e0cd stops working on ThinkPad T14s AMD Gen1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.kernel.org/show_bug.cgi?id=217475

            Bug ID: 217475
           Summary: Foxconn / Hon Hai Bluetooth adapter 0489:e0cd stops
                    working on ThinkPad T14s AMD Gen1
           Product: Drivers
           Version: 2.5
          Hardware: All
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P3
         Component: USB
          Assignee: drivers_usb@xxxxxxxxxxxxxxxxxxxxxx
          Reporter: berto@xxxxxxxxxx
        Regression: No

Hi,

I'm running Linux on a ThinkPad T14s AMD Gen 1 and I'm having problems
with its Bluetooth adapter.

The adapter is a Foxconn / Hon Hai, USB ID 0489:e0cd, and it uses the
Mediatek MT7921 driver. Sometimes it just works but often if I suspend
the laptop and come back it stops working. This also happens when I
use the RF kill switch. The kernel errors vary a bit depending on the
moment but it's usually a combination of these:

kernel: Bluetooth: hci0: Failed to get device id (-108)
kernel: Bluetooth: hci0: Failed to get fw version (-108)
kernel: bluetooth hci0: firmware: direct-loading firmware
mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin
kernel: Bluetooth: hci0: Execution of wmt command timed out
kernel: Bluetooth: hci0: Failed to send wmt patch dwnld (-110)
kernel: Bluetooth: hci0: Failed to set up firmware (-110)
kernel: Bluetooth: hci0: HCI Enhanced Setup Synchronous Connection command is
advertised, but not supported.

Interestingly I noticed that if I try to use it on a Linux VM (using
USB passthrough) it generally works better, even when it's not working
on the host and the guest and the host are running the same OS and
kernel version. Still it fails sometimes, although the error messages
tend to be a bit different:

kernel: usbcore: registered new interface driver btusb
kernel: Bluetooth: hci0: Device setup in 153593 usecs
kernel: Bluetooth: hci0: HCI Enhanced Setup Synchronous Connection command is
advertised, but not supported.
kernel: Bluetooth: hci0: Opcode 0x c03 failed: -110
kernel: Bluetooth: hci0: Failed to read MSFT supported features (-110)
kernel: Bluetooth: hci0: AOSP get vendor capabilities (-110)

(I also tried the adapter with a Windows VM, again using USB
passthrough, but here it works perfectly fine)

Back to the host I found out that resetting the adapter using
"usb_modeswitch -R -v 0489 -p e0cd" sometimes is enough to bring the
adapter back to life and make it work. But this doesn't always
succeed, and at some point I end up in a situation like this:

kernel: xhci_hcd 0000:06:00.4: xHCI host not responding to stop endpoint
command
kernel: xhci_hcd 0000:06:00.4: xHCI host controller not responding, assume dead
kernel: xhci_hcd 0000:06:00.4: HC died; cleaning up

Sometimes I can get out of it with this:

$ echo 0000:06:00.4 > /sys/bus/pci/drivers/xhci_hcd/unbind
$ echo 0000:06:00.4 > /sys/bus/pci/drivers/xhci_hcd/bind

All this has been happening since I got the laptop, but I'm testing it
now with Linux 6.3.3 and the problem is still there.

The end result is that I basically cannot rely on the USB adapter so I
have it almost always disabled.

A bit more information about the system:

$ lspci -nn | grep USB
02:00.4 USB controller [0c03]: Realtek Semiconductor Co., Ltd. RTL811x EHCI
host controller [10ec:816d] (rev 0e)
05:00.0 USB controller [0c03]: Renesas Technology Corp. uPD720202 USB 3.0 Host
Controller [1912:0015] (rev 02)
06:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD]
Renoir/Cezanne USB 3.1 [1022:1639]
06:00.4 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD]
Renoir/Cezanne USB 3.1 [1022:1639]

$ lsusb
Bus 007 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 006 Device 003: ID 0489:e0cd Foxconn / Hon Hai Wireless_Device
Bus 006 Device 002: ID 06cb:00bd Synaptics, Inc. Prometheus MIS Touch
Fingerprint Reader
Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 002: ID 04f2:b6cb Chicony Electronics Co., Ltd Integrated Camera
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux