You are not logged in.

#1 2021-09-17 13:05:58

hashworks
Package Maintainer (PM)
From: Leipzig
Registered: 2015-07-07
Posts: 10
Website

[RESOLVED] Intel AX200 Bluetooth – Switch Pro controller disconnects

Hello everyone,

I have a problem with the Bluetooth connection between my Switch Pro controller and my Intel AX200 adapter. Connecting and using the controller works fine, but after a while (quite random, 5-30min) it disconnects without an error.  The controller then is unable to reconnect without me re-pairing it (by using its dedicated pair button). When I try to reconnect without the pair button Bluetooth Manager gives me "Connection Failed: Input/output error" and the bluetooth.service journal has the following output:

Sep 12 15:36:26 maker.hashworks.net bluetoothd[1572]: profiles/input/device.c:ioctl_is_connected() Can't get HIDP connection info
Sep 12 15:36:29 maker.hashworks.net bluetoothd[1572]: profiles/input/device.c:control_connect_cb() connect to B8:8A:EC:F0:5A:15: Host is down (112)

I tested it with and without hid-nintendo-dkms on 5.14.3-arch1-1. It works fine on the same machine with Windows and other Bluetooth devices (Headset) work fine in Linux as well.

dmesg on connection:

[  436.777155] hid-generic 0005:057E:2009.000E: unknown main item tag 0x0
[  436.777201] input: Pro Controller as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-5/1-5:1.0/bluetooth/hci0/hci0:256/0005:057E:2009.000E/input/input28
[  436.777275] hid-generic 0005:057E:2009.000E: input,hidraw13: BLUETOOTH HID v0.01 Gamepad [Pro Controller] on 3c:9c:0f:7c:ad:ac
[  436.842764] nintendo 0005:057E:2009.000E: unknown main item tag 0x0
[  436.842804] nintendo 0005:057E:2009.000E: hidraw13: BLUETOOTH HID v80.01 Gamepad [Pro Controller] on 3c:9c:0f:7c:ad:ac
[  438.879325] nintendo 0005:057E:2009.000E: using factory cal for left stick
[  438.893317] nintendo 0005:057E:2009.000E: using factory cal for right stick
[  438.969324] nintendo 0005:057E:2009.000E: using factory cal for IMU
[  439.153324] nintendo 0005:057E:2009.000E: controller MAC = B8:8A:EC:F0:5A:15
[  439.210936] input: Nintendo Switch Pro Controller as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-5/1-5:1.0/bluetooth/hci0/hci0:256/0005:057E:2009.000E/input/input29
[  439.211003] input: Nintendo Switch Pro Controller IMU as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-5/1-5:1.0/bluetooth/hci0/hci0:256/0005:057E:2009.000E/input/input30

Testing the controller on my Laptop (Intel Wireless 8265 / 8275) shows no connection loss in Linux — however for reconnections it relies on the pair button as well (same "Host is down" error). Basically, the reconnection problem is sort of "normal" but the connection loss is unique to the AX200 adapter under Linux.

Any idea how I could debug this? Is this something I should report on a kernel mailing list?

Last edited by hashworks (2021-09-19 23:50:03)

Offline

#2 2021-09-19 16:57:04

hashworks
Package Maintainer (PM)
From: Leipzig
Registered: 2015-07-07
Posts: 10
Website

Re: [RESOLVED] Intel AX200 Bluetooth – Switch Pro controller disconnects

With bluetoothd --debug:

Sep 19 18:53:28 maker.hashworks.net bluetoothd[1514]: src/device.c:connect_profiles() /org/bluez/hci0/dev_B8_8A_EC_F0_5A_15 (all), client :1.18
Sep 19 18:53:28 maker.hashworks.net bluetoothd[1514]: profiles/input/device.c:input_device_connect()
Sep 19 18:53:28 maker.hashworks.net bluetoothd[1514]: profiles/input/device.c:ioctl_is_connected() Can't get HIDP connection info
Sep 19 18:53:28 maker.hashworks.net bluetoothd[1514]: src/service.c:change_state() 0x55c06609d380: device B8:8A:EC:F0:5A:15 profile input-hid state changed: disconnected -> connecting (0)
Sep 19 18:53:28 maker.hashworks.net bluetoothd[1514]: src/adapter.c:connected_callback() hci0 device B8:8A:EC:F0:5A:15 connected eir_len 16
Sep 19 18:53:30 maker.hashworks.net bluetoothd[1514]: src/adapter.c:new_link_key_callback() hci0 new key for B8:8A:EC:F0:5A:15 type 4 pin_len 0 store_hint 0
Sep 19 18:53:30 maker.hashworks.net bluetoothd[1514]: src/device.c:device_bonding_complete() bonding (nil) status 0x00
Sep 19 18:53:30 maker.hashworks.net bluetoothd[1514]: src/adapter.c:resume_discovery()
Sep 19 18:53:30 maker.hashworks.net bluetoothd[1514]: src/service.c:change_state() 0x55c06609d380: device B8:8A:EC:F0:5A:15 profile input-hid state changed: connecting -> connected (0)
Sep 19 18:53:30 maker.hashworks.net bluetoothd[1514]: src/device.c:device_profile_connected() input-hid Success (0)
Sep 19 18:53:30 maker.hashworks.net bluetoothd[1514]: src/device.c:device_profile_connected() returning response to :1.18
Sep 19 18:53:30 maker.hashworks.net bluetoothd[1514]: src/service.c:btd_service_ref() 0x55c06609d380: ref=3
Sep 19 18:53:30 maker.hashworks.net bluetoothd[1514]: plugins/policy.c:service_cb() Added input-hid reconnect 0
Sep 19 18:53:31 maker.hashworks.net bluetoothd[1514]: src/device.c:search_cb() B8:8A:EC:F0:5A:15: No service update
Sep 19 18:53:31 maker.hashworks.net bluetoothd[1514]: src/device.c:device_svc_resolved() /org/bluez/hci0/dev_B8_8A_EC_F0_5A_15 err 0
Sep 19 18:54:53 maker.hashworks.net bluetoothd[1514]: src/adapter.c:dev_disconnected() Device B8:8A:EC:F0:5A:15 disconnected, reason 0
Sep 19 18:54:53 maker.hashworks.net bluetoothd[1514]: src/adapter.c:adapter_remove_connection()
Sep 19 18:54:53 maker.hashworks.net bluetoothd[1514]: plugins/policy.c:disconnect_cb() reason 0
Sep 19 18:54:53 maker.hashworks.net bluetoothd[1514]: src/adapter.c:bonding_attempt_complete() hci0 bdaddr B8:8A:EC:F0:5A:15 type 0 status 0xe
Sep 19 18:54:53 maker.hashworks.net bluetoothd[1514]: src/device.c:device_bonding_complete() bonding (nil) status 0x0e
Sep 19 18:54:53 maker.hashworks.net bluetoothd[1514]: src/device.c:device_bonding_failed() status 14
Sep 19 18:54:53 maker.hashworks.net bluetoothd[1514]: src/adapter.c:resume_discovery()
Sep 19 18:54:53 maker.hashworks.net bluetoothd[1514]: profiles/input/device.c:ctrl_watch_cb() Device B8:8A:EC:F0:5A:15 disconnected
Sep 19 18:54:53 maker.hashworks.net bluetoothd[1514]: profiles/input/device.c:intr_watch_cb() Device B8:8A:EC:F0:5A:15 disconnected
Sep 19 18:54:53 maker.hashworks.net bluetoothd[1514]: src/service.c:change_state() 0x55c06609d380: device B8:8A:EC:F0:5A:15 profile input-hid state changed: connected -> disconnected (0)
Sep 19 18:54:53 maker.hashworks.net bluetoothd[1514]: profiles/input/device.c:input_device_enter_reconnect_mode() path=/org/bluez/hci0/dev_B8_8A_EC_F0_5A_15 reconnect_mode=device

I can now reproduce this faster by actually using the controller (in a Steam game). The bug occurs on older linux versions as well, the oldest I tested was the 5.10.67-1 LTS Package.

Last edited by hashworks (2021-09-19 16:58:27)

Offline

#3 2021-09-19 23:49:44

hashworks
Package Maintainer (PM)
From: Leipzig
Registered: 2015-07-07
Posts: 10
Website

Re: [RESOLVED] Intel AX200 Bluetooth – Switch Pro controller disconnects

Resolved: Disabling the Steam controller config for Switch Controllers fixes the problem.

https://github.com/ValveSoftware/steam- … ssues/7631

Offline

Board footer

Powered by FluxBB