(Linux) Bluetoothctl not creating an event*

118 Views Asked by At

I'm using a DEBIX-Board Model-A with a DEBIX-modified Ubuntu22 image installed. I'm trying to connect via Bluetooth an Xbox Series X controller to it (using bluetoothctl on terminal)

So I started the Bluetooth service, and successfully connected my controller using bluetoothctl as I can see on bluetoothctl console prompt, and also in the Bluetooth monitor (btmon), when I touch my controller I can see all the messages successfully arriving on the board.

The problem is that no event is created on /dev/input/.

Does anyone know why is this happening? Must I be creating the event myself?

EDIT: this is the bluetoothctl info of my Xbox controller:

[Xbox Wireless Controller]# info 0C:35:26:49:44:6C
Device 0C:35:26:49:44:6C (public)
        Name: Xbox Wireless Controller
        Alias: Xbox Wireless Controller
        Appearance: 0x03c4
        Icon: input-gaming
        Paired: yes
        Trusted: yes
        Blocked: no
        Connected: yes
        WakeAllowed: yes
        LegacyPairing: no
        UUID: Vendor specific           (00000001-5f60-4c4f-9c83-a7953298d40d)
        UUID: Generic Access Profile    (00001800-0000-1000-8000-00805f9b34fb)
        UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
        UUID: Device Information        (0000180a-0000-1000-8000-00805f9b34fb)
        UUID: Battery Service           (0000180f-0000-1000-8000-00805f9b34fb)
        UUID: Human Interface Device    (00001812-0000-1000-8000-00805f9b34fb)
        Modalias: usb:v045Ep0B13d0517
        ManufacturerData Key: 0x0006
        ManufacturerData Value:
  03 00 80                                         ...
        Battery Percentage: 0x32 (50)

Thank you!

1

There are 1 best solutions below

0
xBACP On

sorry for late response. I was having a similar issue where the Xbox controller connected buy no event appeared in /dev/input directory. I looked into the out from the 'systemctl status bluetooth.service' command and notice reference to a failed bonding process. After researching on the internet for some time I came across what I believe worked. In the /etc/bluetooth/input.conf file I set the following to 'false':

# Limit HID connections to bonded devices
# The HID Profile does not specify that devices must be bonded, however some
# platforms may want to make sure that input connections only come from bonded
# device connections. Several older mice have been known for not supporting
# pairing/encryption.
# Defaults to true for security.
ClassicBondedOnly=false

I then disconnected any bluetooth devices:

bluetoothctl disconnect <addr>

Removed any devices:

bluetoothctl remove <addr>

Powered off the adapter:

bluetoothctl power off

Turned the adapter back on:

bluetoothctl power on

Performed a scan, allowing for some time for the device of interest to show up:

bluetoothctl scan on

I did a Ctrl+C to stop the process. Then reconnect the device:

bluetoothctl connect <addr>

The worked for me on Linux Mint 21.2. It also help my discover my rule.d file had the product ID incorrect for detected the event node and creating a device symlink for it in /dev.