libretro / Lakka-LibreELEC

Lakka is a lightweight Linux distribution that transforms a small computer into a full blown game console.
https://www.lakka.tv
1.75k stars 289 forks source link

Lakka and Stadia Controller (Bluetooth Mode) do not work together #1824

Open mtoensing opened 1 year ago

mtoensing commented 1 year ago

Please make Stadia Controllers compatible with Lakka.

Ntemis commented 1 year ago

I dont have a stadia controller unfortunately You can send the config here and will be added to the next lakka version https://github.com/libretro/retroarch-joypad-autoconfig

mtoensing commented 1 year ago

Hi, what do you mean mit send? I can send you controller if you like.

Ntemis commented 1 year ago

https://discord.gg/libretro-184109094070779904 come to #lakkatv and pm me same nick as here

gouchi commented 1 year ago

It seems you need to update your controller to use Bluetooth ?

Source 1 2

mtoensing commented 1 year ago

@gouchi My Stadia controller is updated to use Bluetooth and works wireless on macOS and Steam Deck without any configuration. I will send @Ntemis a controller if I get hold of enough controllers to have a spare one. Since he can't just buy one where he lives, this is still on my agenda since donating money is not accepted here.

ToKe79 commented 1 year ago

@mtoensing were you able to pair the controller via bluetooth? Maybe pairing via RetroArch UI will not work, so please try using command line. Guide - SSH access Guide - bluetoothctl

After you pair the controller, you might need to manually map controls to actions.

mtoensing commented 1 year ago

I know I could do that. But since there are now millions of Stadia controllers in the wild I would appreciate that this works automatically in Lakka.

ToKe79 commented 1 year ago

That is the reason why I kindly ask you to pair it first - to know if there is support in the linux kernel already (meaning only the joypad mapping is necessary) or a kernel driver/module needs to be added.

marevalo commented 1 year ago

I got it to connect correctly:

[bluetooth]# scan on
Discovery started
[CHG] Controller B8:27:EB:6A:B6:16 Discovering: yes
[NEW] Device 54:F8:2A:52:B7:33 54-F8-2A-52-B7-33
[NEW] Device 4E:78:8D:7C:DF:11 4E-78-8D-7C-DF-11
[NEW] Device 00:C3:F4:E8:28:5D 00-C3-F4-E8-28-5D
[NEW] Device F0:EB:0F:53:A5:4C LH719
[NEW] Device 60:35:73:E6:F0:2E MiTV-AESP0 5151
[NEW] Device E4:CF:33:D9:C6:94 StadiaHFW8-c694
[CHG] Device 00:C3:F4:E8:28:5D ManufacturerData Key: 0x0075
[CHG] Device 00:C3:F4:E8:28:5D ManufacturerData Value:
  42 04 01 20 76 19 0f 00 00 01 32 00 00 00 00 00  B.. v.....2.....
  00 00 00 00 00 00 00 00                          ........        
[bluetooth]# connect E4:CF:33:D9:C6:94
Attempting to connect to E4:CF:33:D9:C6:94
[CHG] Device E4:CF:33:D9:C6:94 Connected: yes
Connection successful
[NEW] Primary Service (Handle 0x4b20)
    /org/bluez/hci0/dev_E4_CF_33_D9_C6_94/service0001
    00001801-0000-1000-8000-00805f9b34fb
    Generic Attribute Profile
[NEW] Characteristic (Handle 0x0015)
    /org/bluez/hci0/dev_E4_CF_33_D9_C6_94/service0001/char0002
    00002a05-0000-1000-8000-00805f9b34fb
    Service Changed
[NEW] Descriptor (Handle 0x001c)
    /org/bluez/hci0/dev_E4_CF_33_D9_C6_94/service0001/char0002/desc0004
    00002902-0000-1000-8000-00805f9b34fb
    Client Characteristic Configuration
[NEW] Primary Service (Handle 0x60a8)
    /org/bluez/hci0/dev_E4_CF_33_D9_C6_94/service0028
    0000180a-0000-1000-8000-00805f9b34fb
    Device Information
[NEW] Characteristic (Handle 0x0015)
    /org/bluez/hci0/dev_E4_CF_33_D9_C6_94/service0028/char0029
    00002a29-0000-1000-8000-00805f9b34fb
    Manufacturer Name String
[NEW] Characteristic (Handle 0x0015)
    /org/bluez/hci0/dev_E4_CF_33_D9_C6_94/service0028/char002b
    00002a24-0000-1000-8000-00805f9b34fb
    Model Number String
[NEW] Characteristic (Handle 0x0015)
    /org/bluez/hci0/dev_E4_CF_33_D9_C6_94/service0028/char002d
    00002a26-0000-1000-8000-00805f9b34fb
    Firmware Revision String
[NEW] Characteristic (Handle 0x0015)
    /org/bluez/hci0/dev_E4_CF_33_D9_C6_94/service0028/char002f
    00002a28-0000-1000-8000-00805f9b34fb
    Software Revision String
[NEW] Characteristic (Handle 0x0015)
    /org/bluez/hci0/dev_E4_CF_33_D9_C6_94/service0028/char0031
    00002a50-0000-1000-8000-00805f9b34fb
    PnP ID
[NEW] Primary Service (Handle 0x80f0)
    /org/bluez/hci0/dev_E4_CF_33_D9_C6_94/service0038
    0000180f-0000-1000-8000-00805f9b34fb
    Battery Service
[NEW] Characteristic (Handle 0x0015)
    /org/bluez/hci0/dev_E4_CF_33_D9_C6_94/service0038/char0039
    00002a19-0000-1000-8000-00805f9b34fb
    Battery Level
[CHG] Device E4:CF:33:D9:C6:94 UUIDs: 00001800-0000-1000-8000-00805f9b34fb
[CHG] Device E4:CF:33:D9:C6:94 UUIDs: 00001801-0000-1000-8000-00805f9b34fb
[CHG] Device E4:CF:33:D9:C6:94 UUIDs: 0000180a-0000-1000-8000-00805f9b34fb
[CHG] Device E4:CF:33:D9:C6:94 UUIDs: 0000180f-0000-1000-8000-00805f9b34fb
[CHG] Device E4:CF:33:D9:C6:94 UUIDs: 00001812-0000-1000-8000-00805f9b34fb
[CHG] Device E4:CF:33:D9:C6:94 ServicesResolved: yes
[CHG] Device E4:CF:33:D9:C6:94 WakeAllowed: yes
[CHG] Device E4:CF:33:D9:C6:94 Modalias: usb:v18D1p9400d0100

After pairing this is the info I get:

Device E4:CF:33:D9:C6:94 (public)
    Name: StadiaHFW8-c694
    Alias: StadiaHFW8-c694
    Appearance: 0x03c4
    Icon: input-gaming
    Paired: yes
    Trusted: yes
    Blocked: no
    Connected: yes
    WakeAllowed: yes
    LegacyPairing: no
    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:v18D1p9400d0100
    RSSI: -40
    TxPower: -8

After that the controller sometimes appears on the bluetooth screen of RetroArch with a generic bluetooth icon, but it is not available on the input mapping screen options.

I'm running lakka stable (4.3) on raspberry pi 3.

On my Debian Stable box the controller is connected and setup with the graphical standard process without problem (well, mostly, some random disconnections).

ToKe79 commented 1 year ago

Thanks, if the device is recognized correctly as gamepad/joystick, you should be able to test the inputs via command line, e.g. jstest /dev/input/js0. If not, you can still try to map actions to buttons/sticks in RetroArch (use other gamepad / keyboard to navigate the menus).

Now that it is paired with your RPi, it should connect after reboot without the need of the command line. Do you get a brief message that a gamepad was detected in RetroArch? For example something in the meaning that no valid configuration was found? It is possible that it is not recognized as gamepad, but other type HID device (keyboard/mouse/...) - in such case there will be no such message. Also can you paste kernel log (dmesg) with the messages when the gamepad gets connected?

marevalo commented 1 year ago

Hello.

I don't have any /dev/input/js0 (custom udev rules needed?). And so I cannot map actions as there is no device index available.

Yes, it reconnects (but with Paired: no); and no there is no message at the start or when switching off and on again the controller.

dmesg is rather cryptic:

[   19.636977] Bluetooth: Core ver 2.22
[   19.637084] NET: Registered protocol family 31
[   19.637091] Bluetooth: HCI device and connection manager initialized
[   19.637114] Bluetooth: HCI socket layer initialized
[   19.637126] Bluetooth: L2CAP socket layer initialized
[   19.637146] Bluetooth: SCO socket layer initialized
[   19.665205] Bluetooth: HCI UART driver ver 2.3
[   19.665220] Bluetooth: HCI UART protocol H4 registered
[   19.665301] Bluetooth: HCI UART protocol Three-wire (H5) registered
[   19.665502] Bluetooth: HCI UART protocol Broadcom registered
[   20.548129] cryptd: max_cpu_qlen set to 1000
[   21.039794] Bluetooth: hci0: security requested but not available
[   33.758452] cam-dummy-reg: disabling
[   36.705382] Bluetooth: hci0: security requested but not available
[   70.491694] Bluetooth: hci0: security requested but not available
[  104.491927] Bluetooth: hci0: security requested but not available
[  110.965676] Bluetooth: hci0: security requested but not available
[  138.495823] Bluetooth: hci0: security requested but not available

BTMon output at controller switch on and connect:

Lakka:/var/log # btmon
Bluetooth monitor ver 5.56
= Note: Linux version 5.10.110 (armv7l)                                                                           0.368863
= Note: Bluetooth subsystem version 2.22                                                                          0.368877
= New Index: B8:27:EB:6A:B6:16 (Primary,UART,hci0)                                                         [hci0] 0.368881
= Open Index: B8:27:EB:6A:B6:16                                                                            [hci0] 0.368884
= Index Info: B8:27:EB:6A:B6:16 (Broadcom Corporation)                                                     [hci0] 0.368891
@ MGMT Open: bluetoothd (privileged) version 1.18                                                        {0x0001} 0.368896
> HCI Event: LE Meta Event (0x3e) plen 12                                                              #1 [hci0] 10.408903
      LE Advertising Report (0x02)
        Num reports: 1
        Event type: Connectable undirected - ADV_IND (0x00)
        Address type: Public (0x00)
        Address: E4:CF:33:D9:C6:94 (OUI E4-CF-33)
        Data length: 0
        RSSI: -41 dBm (0xd7)
< HCI Command: LE Set Scan Enable (0x08|0x000c) plen 2                                                 #2 [hci0] 10.409047
        Scanning: Disabled (0x00)
        Filter duplicates: Disabled (0x00)
> HCI Event: Command Complete (0x0e) plen 4                                                            #3 [hci0] 10.410990
      LE Set Scan Enable (0x08|0x000c) ncmd 1
        Status: Success (0x00)
< HCI Command: LE Create Connection (0x08|0x000d) plen 25                                              #4 [hci0] 10.411093
        Scan interval: 60.000 msec (0x0060)
        Scan window: 60.000 msec (0x0060)
        Filter policy: White list is not used (0x00)
        Peer address type: Public (0x00)
        Peer address: E4:CF:33:D9:C6:94 (OUI E4-CF-33)
        Own address type: Public (0x00)
        Min connection interval: 7.50 msec (0x0006)
        Max connection interval: 10.00 msec (0x0008)
        Connection latency: 0 (0x0000)
        Supervision timeout: 4000 msec (0x0190)
        Min connection length: 0.000 msec (0x0000)
        Max connection length: 0.000 msec (0x0000)
> HCI Event: Command Status (0x0f) plen 4                                                              #5 [hci0] 10.412004
      LE Create Connection (0x08|0x000d) ncmd 1
        Status: Success (0x00)
> HCI Event: LE Meta Event (0x3e) plen 19                                                              #6 [hci0] 10.439165
      LE Connection Complete (0x01)
        Status: Success (0x00)
        Handle: 64
        Role: Master (0x00)
        Peer address type: Public (0x00)
        Peer address: E4:CF:33:D9:C6:94 (OUI E4-CF-33)
        Connection interval: 7.50 msec (0x0006)
        Connection latency: 0 (0x0000)
        Supervision timeout: 4000 msec (0x0190)
        Master clock accuracy: 0x00
@ MGMT Event: Device Connected (0x000b) plen 13                                                  {0x0001} [hci0] 10.439320
        LE Address: E4:CF:33:D9:C6:94 (OUI E4-CF-33)
        Flags: 0x00000000
        Data length: 0
< HCI Command: LE Read Remote Used Features (0x08|0x0016) plen 2                                       #7 [hci0] 10.439625
        Handle: 64
> HCI Event: Command Status (0x0f) plen 4                                                              #8 [hci0] 10.442431
      LE Read Remote Used Features (0x08|0x0016) ncmd 1
        Status: Success (0x00)
> HCI Event: LE Meta Event (0x3e) plen 12                                                              #9 [hci0] 10.499253
      LE Read Remote Used Features (0x04)
        Status: Success (0x00)
        Handle: 64
        Features: 0x1f 0x00 0x00 0x00 0x00 0x00 0x00 0x00
          LE Encryption
          Connection Parameter Request Procedure
          Extended Reject Indication
          Slave-initiated Features Exchange
          LE Ping
= bluetoothd: src/service.c:service_accept() input-hog profile accept failed for E4:CF:33:D9:C6:94               10.500315
< ACL Data TX: Handle 64 flags 0x00 dlen 7                                                            #10 [hci0] 10.500535
      ATT: Exchange MTU Request (0x02) len 2
        Client RX MTU: 517
> ACL Data RX: Handle 64 flags 0x02 dlen 6                                                            #11 [hci0] 10.529045
      SMP: Security Request (0x0b) len 1
        Authentication requirement: Bonding, No MITM, SC, No Keypresses (0x09)
> ACL Data RX: Handle 64 flags 0x02 dlen 7                                                            #12 [hci0] 10.529837
      ATT: Exchange MTU Response (0x03) len 2
        Server RX MTU: 517
< ACL Data TX: Handle 64 flags 0x00 dlen 7                                                            #13 [hci0] 10.531430
      ATT: Read Request (0x0a) len 2
        Handle: 0x003a
> HCI Event: Number of Completed Packets (0x13) plen 5                                                #14 [hci0] 10.536739
        Num handles: 1
        Handle: 64
        Count: 2
> ACL Data RX: Handle 64 flags 0x02 dlen 6                                                            #15 [hci0] 10.566609
      ATT: Read Response (0x0b) len 1
        Value: 5f
< ACL Data TX: Handle 64 flags 0x00 dlen 7                                                            #16 [hci0] 10.567107
      ATT: Read Request (0x0a) len 2
        Handle: 0x0032
> ACL Data RX: Handle 64 flags 0x02 dlen 12                                                           #17 [hci0] 10.589187
      ATT: Read Response (0x0b) len 7
        Value: 02d11800940001
< ACL Data TX: Handle 64 flags 0x00 dlen 11                                                           #18 [hci0] 10.589757
      ATT: Read By Type Request (0x08) len 6
        Handle range: 0x0001-0xffff
        Attribute type: Unknown (0x2b3a)
> HCI Event: Number of Completed Packets (0x13) plen 5                                                #19 [hci0] 10.596710
        Num handles: 1
        Handle: 64
        Count: 2
> ACL Data RX: Handle 64 flags 0x02 dlen 9                                                            #20 [hci0] 10.604177
      ATT: Error Response (0x01) len 4
        Read By Type Request (0x08)
        Handle: 0x0001
        Error: Attribute Not Found (0x0a)
< ACL Data TX: Handle 64 flags 0x00 dlen 11                                                           #21 [hci0] 10.604671
      ATT: Read By Group Type Request (0x10) len 6
        Handle range: 0x0001-0xffff
        Attribute group type: Primary Service (0x2800)
> ACL Data RX: Handle 64 flags 0x02 dlen 27                                                           #22 [hci0] 10.634393
> ACL Data RX: Handle 64 flags 0x01 dlen 9                                                            #23 [hci0] 10.635139
      ATT: Read By Group Type Response (0x11) len 31
        Attribute data length: 6
        Attribute group list: 5 entries
        Handle range: 0x0001-0x0005
        UUID: Generic Attribute Profile (0x1801)
        Handle range: 0x0014-0x001c
        UUID: Generic Access Profile (0x1800)
        Handle range: 0x0028-0x0037
        UUID: Device Information (0x180a)
        Handle range: 0x0038-0x003b
        UUID: Battery Service (0x180f)
        Handle range: 0x003c-0xffff
        UUID: Human Interface Device (0x1812)
< ACL Data TX: Handle 64 flags 0x00 dlen 11                                                           #24 [hci0] 10.635654
      ATT: Read By Group Type Request (0x10) len 6
        Handle range: 0x0001-0xffff
        Attribute group type: Secondary Service (0x2801)
> HCI Event: Number of Completed Packets (0x13) plen 5                                                #25 [hci0] 10.641715
        Num handles: 1
        Handle: 64
        Count: 2
> ACL Data RX: Handle 64 flags 0x02 dlen 9                                                            #26 [hci0] 10.649165
      ATT: Error Response (0x01) len 4
        Read By Group Type Request (0x10)
        Handle: 0x0001
        Error: Unsupported Group Type (0x10)
< ACL Data TX: Handle 64 flags 0x00 dlen 11                                                           #27 [hci0] 10.649726
      ATT: Read By Type Request (0x08) len 6
        Handle range: 0x0006-0x001c
        Attribute type: Include (0x2802)
> ACL Data RX: Handle 64 flags 0x02 dlen 9                                                            #28 [hci0] 10.679169
      ATT: Error Response (0x01) len 4
        Read By Type Request (0x08)
        Handle: 0x0006
        Error: Attribute Not Found (0x0a)
< ACL Data TX: Handle 64 flags 0x00 dlen 11                                                           #29 [hci0] 10.679708
      ATT: Read By Type Request (0x08) len 6
        Handle range: 0x0006-0x001c
        Attribute type: Characteristic (0x2803)
> HCI Event: Number of Completed Packets (0x13) plen 5                                                #30 [hci0] 10.686727
        Num handles: 1
        Handle: 64
        Count: 2
> ACL Data RX: Handle 64 flags 0x02 dlen 27                                                           #31 [hci0] 10.701896
> ACL Data RX: Handle 64 flags 0x01 dlen 7                                                            #32 [hci0] 10.702661
      ATT: Read By Type Response (0x09) len 29
        Attribute data length: 7
        Attribute data list: 4 entries
        Handle: 0x0015
        Value: 021600002a
        Handle: 0x0017
        Value: 021800012a
        Handle: 0x0019
        Value: 021a00042a
        Handle: 0x001b
        Value: 021c00a62a
< ACL Data TX: Handle 64 flags 0x00 dlen 11                                                           #33 [hci0] 10.703455
      ATT: Read By Type Request (0x08) len 6
        Handle range: 0x001c-0x001c
        Attribute type: Characteristic (0x2803)
> ACL Data RX: Handle 64 flags 0x02 dlen 9                                                            #34 [hci0] 10.731660
      ATT: Error Response (0x01) len 4
        Read By Type Request (0x08)
        Handle: 0x001c
        Error: Attribute Not Found (0x0a)
< ACL Data TX: Handle 64 flags 0x00 dlen 11                                                           #35 [hci0] 10.732378
      ATT: Read By Type Request (0x08) len 6
        Handle range: 0x0000-0x0027
        Attribute type: Include (0x2802)
> HCI Event: Number of Completed Packets (0x13) plen 5                                                #36 [hci0] 10.739211
        Num handles: 1
        Handle: 64
        Count: 2
> ACL Data RX: Handle 64 flags 0x02 dlen 9                                                            #37 [hci0] 10.746669
      ATT: Error Response (0x01) len 4
        Read By Type Request (0x08)
        Handle: 0x0000
        Error: Invalid Handle (0x01)
Fainought commented 1 year ago

Hi, I have the same problem and came here to ask for the same thing. I can help too.

I noticed from this thread some errors or at least things that don't apply to my machine.

The stadia bluetooth enabled controller does connect to lakka via bluetooth both via ssh and gui. The real problem is that it doesn't show up as a controller at all, no pop up and no controller in list.

Plus, the stadia controller works flawlessly on retroarch for windows. It even shows up the correct controller's name.

gouchi commented 1 year ago

Is it also an issue using dev builds from Lakka 5.x branch ?

Thank you.

Fainought commented 1 year ago

No, it doesn't work even there. Same problem: gets connected but not recognized as a controller

steigerdich commented 1 year ago

Do you still have that problem? I figured out, that it helps to restart bluetooth with a startup script. i added sleep 10, otherwise it won't work

gouchi commented 10 months ago

Hi,

Is it still not working using latest dev builds ?

Thank you.

nilo85 commented 9 months ago

@gouchi I have the same issue, I just tried installing the latest dev build (Lakka-RPi4.aarch64-devbuild-v5.x-20240125-9297f90.img.gz) and same issue there.

Anything I can do to assist or provide more details?

EDIT: running btmon I do see live events but it does not show up in /dev/input `

ACL Data RX: Handle 64 flags 0x02 dlen 17 #34 [hci0] 4.997549 ATT: Handle Value Notification (0x1b) len 12 Handle: 0x0040 Data: 08000880808080000000 ACL Data RX: Handle 64 flags 0x02 dlen 17 #35 [hci0] 5.057549 ATT: Handle Value Notification (0x1b) len 12 Handle: 0x0040 Data: 08002880808080000000 ACL Data RX: Handle 64 flags 0x02 dlen 17 #36 [hci0] 5.132560 ATT: Handle Value Notification (0x1b) len 12 Handle: 0x0040 Data: 08002080808080000000 ACL Data RX: Handle 64 flags 0x02 dlen 17 #37 [hci0] 5.312544 ATT: Handle Value Notification (0x1b) len 12 Handle: 0x0040 Data: 08006080808080000000 ACL Data RX: Handle 64 flags 0x02 dlen 17 #38 [hci0] 5.320058 ATT: Handle Value Notification (0x1b) len 12 Handle: 0x0040 Data: 08004080808080000000 ACL Data RX: Handle 64 flags 0x02 dlen 17 #39 [hci0] 5.463063 ATT: Handle Value Notification (0x1b) len 12 Handle: 0x0040 Data: 08000080808080000000 `

BTMON output when starting already paired stadia controller

What sticks out is "= bluetoothd: src/service.c:service_accept() input-hog profile accept failed for F6:8B:AB:35:A8:F3 11.695629" `

HCI Event: LE Meta Event (0x3e) plen 12 #6 [hci0] 11.144438 LE Advertising Report (0x02) Num reports: 1 Event type: Connectable undirected - ADV_IND (0x00) Address type: Public (0x00) Address: F6:8B:AB:35:A8:F3 (OUI F6-8B-AB) Data length: 0 RSSI: -53 dBm (0xcb) < HCI Command: LE Set Scan Enable (0x08|0x000c) plen 2 #7 [hci0] 11.144573 Scanning: Disabled (0x00) Filter duplicates: Disabled (0x00) HCI Event: Command Complete (0x0e) plen 4 #8 [hci0] 11.145880 LE Set Scan Enable (0x08|0x000c) ncmd 1 Status: Success (0x00) < HCI Command: LE Create Connection (0x08|0x000d) plen 25 #9 [hci0] 11.145999 Scan interval: 60.000 msec (0x0060) Scan window: 60.000 msec (0x0060) Filter policy: Accept list is not used (0x00) Peer address type: Public (0x00) Peer address: F6:8B:AB:35:A8:F3 (OUI F6-8B-AB) Own address type: Public (0x00) Min connection interval: 7.50 msec (0x0006) Max connection interval: 10.00 msec (0x0008) Connection latency: 0 (0x0000) Supervision timeout: 4000 msec (0x0190) Min connection length: 0.000 msec (0x0000) Max connection length: 0.000 msec (0x0000) HCI Event: Command Status (0x0f) plen 4 #10 [hci0] 11.146779 LE Create Connection (0x08|0x000d) ncmd 1 Status: Success (0x00) HCI Event: LE Meta Event (0x3e) plen 19 #11 [hci0] 11.176551 LE Connection Complete (0x01) Status: Success (0x00) Handle: 64 Role: Central (0x00) Peer address type: Public (0x00) Peer address: F6:8B:AB:35:A8:F3 (OUI F6-8B-AB) Connection interval: 7.50 msec (0x0006) Connection latency: 0 (0x0000) Supervision timeout: 4000 msec (0x0190) Central clock accuracy: 0x00 @ MGMT Event: Device Connected (0x000b) plen 13 {0x0001} [hci0] 11.176614 LE Address: F6:8B:AB:35:A8:F3 (OUI F6-8B-AB) Flags: 0x00000008 Connection Locally Initiated Data length: 0 @ RAW Open: btmon (privileged) version 2.22 {0x0002} 11.177534 @ RAW Close: btmon {0x0002} 11.177583 < HCI Command: LE Read Remote Used Features (0x08|0x0016) plen 2 #12 [hci0] 11.195713 Handle: 64 Address: F6:8B:AB:35:A8:F3 (OUI F6-8B-AB) HCI Event: Command Status (0x0f) plen 4 #13 [hci0] 11.196054 LE Read Remote Used Features (0x08|0x0016) ncmd 1 Status: Success (0x00) HCI Event: LE Meta Event (0x3e) plen 12 #14 [hci0] 11.225364 LE Read Remote Used Features (0x04) Status: Connection Failed to be Established (0x3e) Handle: 64 Address: F6:8B:AB:35:A8:F3 (OUI F6-8B-AB) Features: 0x3f 0x00 0x00 0x08 0x00 0x00 0x00 0x00 LE Encryption Connection Parameter Request Procedure Extended Reject Indication Peripheral-initiated Features Exchange LE Ping LE Data Packet Length Extension Remote Public Key Validation HCI Event: Disconnect Complete (0x05) plen 4 #15 [hci0] 11.226297 Status: Success (0x00) Handle: 64 Address: F6:8B:AB:35:A8:F3 (OUI F6-8B-AB) Reason: Connection Failed to be Established (0x3e) @ MGMT Event: Device Disconnected (0x000c) plen 8 {0x0001} [hci0] 11.226339 LE Address: F6:8B:AB:35:A8:F3 (OUI F6-8B-AB) Reason: Unspecified (0x00) < HCI Command: LE Set Scan Parameters (0x08|0x000b) plen 7 #16 [hci0] 11.242468 Type: Passive (0x00) Interval: 60.000 msec (0x0060) Window: 30.000 msec (0x0030) Own address type: Public (0x00) Filter policy: Ignore not in accept list (0x01) HCI Event: Command Complete (0x0e) plen 4 #17 [hci0] 11.242841 LE Set Scan Parameters (0x08|0x000b) ncmd 1 Status: Success (0x00) < HCI Command: LE Set Scan Enable (0x08|0x000c) plen 2 #18 [hci0] 11.242938 Scanning: Enabled (0x01) Filter duplicates: Enabled (0x01) HCI Event: Command Complete (0x0e) plen 4 #19 [hci0] 11.243329 LE Set Scan Enable (0x08|0x000c) ncmd 1 Status: Success (0x00) HCI Event: LE Meta Event (0x3e) plen 12 #20 [hci0] 11.273553 LE Advertising Report (0x02) Num reports: 1 Event type: Connectable undirected - ADV_IND (0x00) Address type: Public (0x00) Address: F6:8B:AB:35:A8:F3 (OUI F6-8B-AB) Data length: 0 RSSI: -46 dBm (0xd2) < HCI Command: LE Set Scan Enable (0x08|0x000c) plen 2 #21 [hci0] 11.273659 Scanning: Disabled (0x00) Filter duplicates: Disabled (0x00) HCI Event: Command Complete (0x0e) plen 4 #22 [hci0] 11.275872 LE Set Scan Enable (0x08|0x000c) ncmd 1 Status: Success (0x00) < HCI Command: LE Create Connection (0x08|0x000d) plen 25 #23 [hci0] 11.275954 Scan interval: 60.000 msec (0x0060) Scan window: 60.000 msec (0x0060) Filter policy: Accept list is not used (0x00) Peer address type: Public (0x00) Peer address: F6:8B:AB:35:A8:F3 (OUI F6-8B-AB) Own address type: Public (0x00) Min connection interval: 7.50 msec (0x0006) Max connection interval: 10.00 msec (0x0008) Connection latency: 0 (0x0000) Supervision timeout: 4000 msec (0x0190) Min connection length: 0.000 msec (0x0000) Max connection length: 0.000 msec (0x0000) HCI Event: Command Status (0x0f) plen 4 #24 [hci0] 11.276479 LE Create Connection (0x08|0x000d) ncmd 1 Status: Success (0x00) HCI Event: LE Meta Event (0x3e) plen 19 #25 [hci0] 11.309061 LE Connection Complete (0x01) Status: Success (0x00) Handle: 64 Role: Central (0x00) Peer address type: Public (0x00) Peer address: F6:8B:AB:35:A8:F3 (OUI F6-8B-AB) Connection interval: 7.50 msec (0x0006) Connection latency: 0 (0x0000) Supervision timeout: 4000 msec (0x0190) Central clock accuracy: 0x00 @ MGMT Event: Device Connected (0x000b) plen 13 {0x0001} [hci0] 11.309120 LE Address: F6:8B:AB:35:A8:F3 (OUI F6-8B-AB) Flags: 0x00000008 Connection Locally Initiated Data length: 0 @ RAW Open: btmon (privileged) version 2.22 {0x0002} 11.310362 @ RAW Close: btmon {0x0002} 11.310392 HCI Event: LE Meta Event (0x3e) plen 11 #26 [hci0] 11.325536 LE Data Length Change (0x07) Handle: 64 Address: F6:8B:AB:35:A8:F3 (OUI F6-8B-AB) Max TX octets: 251 Max TX time: 2120 Max RX octets: 27 Max RX time: 328 < HCI Command: LE Read Remote Used Features (0x08|0x0016) plen 2 #27 [hci0] 11.325738 Handle: 64 Address: F6:8B:AB:35:A8:F3 (OUI F6-8B-AB) HCI Event: Command Status (0x0f) plen 4 #28 [hci0] 11.326139 LE Read Remote Used Features (0x08|0x0016) ncmd 1 Status: Success (0x00) HCI Event: LE Meta Event (0x3e) plen 12 #29 [hci0] 11.340564 LE Read Remote Used Features (0x04) Status: Success (0x00) Handle: 64 Address: F6:8B:AB:35:A8:F3 (OUI F6-8B-AB) Features: 0x3f 0x00 0x00 0x00 0x00 0x00 0x00 0x00 LE Encryption Connection Parameter Request Procedure Extended Reject Indication Peripheral-initiated Features Exchange LE Ping LE Data Packet Length Extension < ACL Data TX: Handle 64 flags 0x00 dlen 7 #30 [hci0] 11.341776 ATT: Exchange MTU Request (0x02) len 2 Client RX MTU: 517 ACL Data RX: Handle 64 flags 0x02 dlen 6 #31 [hci0] 11.355402 SMP: Security Request (0x0b) len 1 Authentication requirement: Bonding, No MITM, SC, No Keypresses (0x09) HCI Event: LE Meta Event (0x3e) plen 11 #32 [hci0] 11.385570 LE Data Length Change (0x07) Handle: 64 Address: F6:8B:AB:35:A8:F3 (OUI F6-8B-AB) Max TX octets: 251 Max TX time: 2120 Max RX octets: 251 Max RX time: 2120 ACL Data RX: Handle 64 flags 0x02 dlen 7 #33 [hci0] 11.400370 ATT: Exchange MTU Response (0x03) len 2 Server RX MTU: 517 < ACL Data TX: Handle 64 flags 0x00 dlen 7 #34 [hci0] 11.401560 ATT: Read Request (0x0a) len 2 Handle: 0x0016 Type: Device Name (0x2a00) HCI Event: Number of Completed Packets (0x13) plen 5 #35 [hci0] 11.408009 Num handles: 1 Handle: 64 Address: F6:8B:AB:35:A8:F3 (OUI F6-8B-AB) Count: 2 ACL Data RX: Handle 64 flags 0x02 dlen 5 #36 [hci0] 11.430335 ATT: Read Response (0x0b) len 0 Value: < ACL Data TX: Handle 64 flags 0x00 dlen 11 #37 [hci0] 11.430673 ATT: Read By Type Request (0x08) len 6 Handle range: 0x0001-0xffff Attribute type: Server Supported Features (0x2b3a) ACL Data RX: Handle 64 flags 0x02 dlen 9 #38 [hci0] 11.460372 ATT: Error Response (0x01) len 4 Read By Type Request (0x08) Handle: 0x0001 Error: Attribute Not Found (0x0a) < ACL Data TX: Handle 64 flags 0x00 dlen 11 #39 [hci0] 11.460809 ATT: Read By Group Type Request (0x10) len 6 Handle range: 0x0001-0xffff Attribute group type: Primary Service (0x2800) HCI Event: Number of Completed Packets (0x13) plen 5 #40 [hci0] 11.468047 Num handles: 1 Handle: 64 Address: F6:8B:AB:35:A8:F3 (OUI F6-8B-AB) Count: 2 ACL Data RX: Handle 64 flags 0x02 dlen 36 #41 [hci0] 11.476014 ATT: Read By Group Type Response (0x11) len 31 Attribute data length: 6 Attribute group list: 5 entries Handle range: 0x0001-0x0005 UUID: Generic Attribute Profile (0x1801) Handle range: 0x0014-0x001c UUID: Generic Access Profile (0x1800) Handle range: 0x0028-0x0037 UUID: Device Information (0x180a) Handle range: 0x0038-0x003b UUID: Battery Service (0x180f) Handle range: 0x003c-0xffff UUID: Human Interface Device (0x1812) < ACL Data TX: Handle 64 flags 0x00 dlen 11 #42 [hci0] 11.485926 ATT: Read By Group Type Request (0x10) len 6 Handle range: 0x0001-0xffff Attribute group type: Secondary Service (0x2801) ACL Data RX: Handle 64 flags 0x02 dlen 9 #43 [hci0] 11.512867 ATT: Error Response (0x01) len 4 Read By Group Type Request (0x10) Handle: 0x0001 Error: Unsupported Group Type (0x10) < ACL Data TX: Handle 64 flags 0x00 dlen 11 #44 [hci0] 11.513167 ATT: Read By Type Request (0x08) len 6 Handle range: 0x0006-0xffff Attribute type: Include (0x2802) HCI Event: Number of Completed Packets (0x13) plen 5 #45 [hci0] 11.520559 Num handles: 1 Handle: 64 Address: F6:8B:AB:35:A8:F3 (OUI F6-8B-AB) Count: 2 ACL Data RX: Handle 64 flags 0x02 dlen 9 #46 [hci0] 11.527852 ATT: Error Response (0x01) len 4 Read By Type Request (0x08) Handle: 0x0006 Error: Attribute Not Found (0x0a) < ACL Data TX: Handle 64 flags 0x00 dlen 11 #47 [hci0] 11.528158 ATT: Read By Type Request (0x08) len 6 Handle range: 0x0006-0xffff Attribute type: Characteristic (0x2803) ACL Data RX: Handle 64 flags 0x02 dlen 118 #48 [hci0] 11.559439 ATT: Read By Type Response (0x09) len 113 Attribute data length: 7 Attribute data list: 16 entries Handle: 0x0015 Value: 021600002a Properties: 0x02 Read (0x02) Value Handle: 0x0016 Value UUID: Device Name (0x2a00) Handle: 0x0017 Value: 021800012a Properties: 0x02 Read (0x02) Value Handle: 0x0018 Value UUID: Appearance (0x2a01) Handle: 0x0019 Value: 021a00042a Properties: 0x02 Read (0x02) Value Handle: 0x001a Value UUID: Peripheral Preferred Connection Parameters (0x2a04) Handle: 0x001b Value: 021c00a62a Properties: 0x02 Read (0x02) Value Handle: 0x001c Value UUID: Central Address Resolution (0x2aa6) Handle: 0x0029 Value: 022a00292a Properties: 0x02 Read (0x02) Value Handle: 0x002a Value UUID: Manufacturer Name String (0x2a29) Handle: 0x002b Value: 022c00242a Properties: 0x02 Read (0x02) Value Handle: 0x002c Value UUID: Model Number String (0x2a24) Handle: 0x002d Value: 022e00262a Properties: 0x02 Read (0x02) Value Handle: 0x002e Value UUID: Firmware Revision String (0x2a26) Handle: 0x002f Value: 023000282a Properties: 0x02 Read (0x02) Value Handle: 0x0030 Value UUID: Software Revision String (0x2a28) Handle: 0x0031 Value: 023200502a Properties: 0x02 Read (0x02) Value Handle: 0x0032 Value UUID: PnP ID (0x2a50) Handle: 0x0039 Value: 023a00192a Properties: 0x02 Read (0x02) Value Handle: 0x003a Value UUID: Battery Level (0x2a19) Handle: 0x003d Value: 0a3e004e2a Properties: 0x0a Read (0x02) Write (0x08) Value Handle: 0x003e Value UUID: Protocol Mode (0x2a4e) Handle: 0x003f Value: 1240004d2a Properties: 0x12 Read (0x02) Notify (0x10) Value Handle: 0x0040 Value UUID: Report (0x2a4d) Handle: 0x0043 Value: 0a44004d2a Properties: 0x0a Read (0x02) Write (0x08) Value Handle: 0x0044 Value UUID: Report (0x2a4d) Handle: 0x0047 Value: 0248004b2a Properties: 0x02 Read (0x02) Value Handle: 0x0048 Value UUID: Report Map (0x2a4b) Handle: 0x0049 Value: 024a004a2a Properties: 0x02 Read (0x02) Value Handle: 0x004a Value UUID: HID Information (0x2a4a) Handle: 0x004b Value: 084c004c2a Properties: 0x08 Write (0x08) Value Handle: 0x004c Value UUID: HID Control Point (0x2a4c) < ACL Data TX: Handle 64 flags 0x00 dlen 11 #49 [hci0] 11.559731 ATT: Read By Type Request (0x08) len 6 Handle range: 0x004c-0xffff Attribute type: Characteristic (0x2803) HCI Event: Number of Completed Packets (0x13) plen 5 #50 [hci0] 11.565567 Num handles: 1 Handle: 64 Address: F6:8B:AB:35:A8:F3 (OUI F6-8B-AB) Count: 2 ACL Data RX: Handle 64 flags 0x02 dlen 9 #51 [hci0] 11.572858 ATT: Error Response (0x01) len 4 Read By Type Request (0x08) Handle: 0x004c Error: Attribute Not Found (0x0a) < ACL Data TX: Handle 64 flags 0x00 dlen 9 #52 [hci0] 11.573357 ATT: Find Information Request (0x04) len 4 Handle range: 0x0033-0x0037 ACL Data RX: Handle 64 flags 0x02 dlen 9 #53 [hci0] 11.602867 ATT: Error Response (0x01) len 4 Find Information Request (0x04) Handle: 0x0033 Error: Attribute Not Found (0x0a) < ACL Data TX: Handle 64 flags 0x00 dlen 9 #54 [hci0] 11.603241 ATT: Find Information Request (0x04) len 4 Handle range: 0x003b-0x003b HCI Event: Number of Completed Packets (0x13) plen 5 #55 [hci0] 11.610543 Num handles: 1 Handle: 64 Address: F6:8B:AB:35:A8:F3 (OUI F6-8B-AB) Count: 2 ACL Data RX: Handle 64 flags 0x02 dlen 9 #56 [hci0] 11.617853 ATT: Error Response (0x01) len 4 Find Information Request (0x04) Handle: 0x003b Error: Attribute Not Found (0x0a) < ACL Data TX: Handle 64 flags 0x00 dlen 9 #57 [hci0] 11.618148 ATT: Find Information Request (0x04) len 4 Handle range: 0x0041-0x0042 ACL Data RX: Handle 64 flags 0x02 dlen 14 #58 [hci0] 11.647917 ATT: Find Information Response (0x05) len 9 Format: UUID-16 (0x01) Handle: 0x0041 UUID: Client Characteristic Configuration (0x2902) Handle: 0x0042 UUID: Report Reference (0x2908) < ACL Data TX: Handle 64 flags 0x00 dlen 9 #59 [hci0] 11.648308 ATT: Find Information Request (0x04) len 4 Handle range: 0x0045-0x0046 HCI Event: Number of Completed Packets (0x13) plen 5 #60 [hci0] 11.655548 Num handles: 1 Handle: 64 Address: F6:8B:AB:35:A8:F3 (OUI F6-8B-AB) Count: 2 ACL Data RX: Handle 64 flags 0x02 dlen 14 #61 [hci0] 11.662932 ATT: Find Information Response (0x05) len 9 Format: UUID-16 (0x01) Handle: 0x0045 UUID: Client Characteristic Configuration (0x2902) Handle: 0x0046 UUID: Report Reference (0x2908) < ACL Data TX: Handle 64 flags 0x00 dlen 9 #62 [hci0] 11.663235 ATT: Find Information Request (0x04) len 4 Handle range: 0x004d-0xffff ACL Data RX: Handle 64 flags 0x02 dlen 9 #63 [hci0] 11.692871 ATT: Error Response (0x01) len 4 Find Information Request (0x04) Handle: 0x004d Error: Attribute Not Found (0x0a) = bluetoothd: src/service.c:service_accept() input-hog profile accept failed for F6:8B:AB:35:A8:F3 11.695629 < ACL Data TX: Handle 64 flags 0x00 dlen 9 #64 [hci0] 11.712216 ATT: Write Request (0x12) len 4 Handle: 0x0004 Type: Client Characteristic Configuration (0x2902) Data: 0200 Indication (0x02) HCI Event: Number of Completed Packets (0x13) plen 5 #65 [hci0] 11.715537 Num handles: 1 Handle: 64 Address: F6:8B:AB:35:A8:F3 (OUI F6-8B-AB) Count: 2 ACL Data RX: Handle 64 flags 0x02 dlen 5 #66 [hci0] 11.737812 ATT: Write Response (0x13) len 0 < ACL Data TX: Handle 64 flags 0x00 dlen 7 #67 [hci0] 11.738385 ATT: Read Request (0x0a) len 2 Handle: 0x0016 Type: Device Name (0x2a00) ACL Data RX: Handle 64 flags 0x02 dlen 5 #68 [hci0] 11.752809 ATT: Read Response (0x0b) len 0 Value: Handle: 0x0000 Property: invalid size < ACL Data TX: Handle 64 flags 0x00 dlen 7 #69 [hci0] 11.753378 ATT: Read Request (0x0a) len 2 Handle: 0x0032 Type: PnP ID (0x2a50) HCI Event: Number of Completed Packets (0x13) plen 5 #70 [hci0] 11.760509 Num handles: 1 Handle: 64 Address: F6:8B:AB:35:A8:F3 (OUI F6-8B-AB) Count: 2 ACL Data RX: Handle 64 flags 0x02 dlen 12 #71 [hci0] 11.767885 ATT: Read Response (0x0b) len 7 Value: 02d11800940001 < ACL Data TX: Handle 64 flags 0x00 dlen 7 #72 [hci0] 11.768594 ATT: Read Request (0x0a) len 2 Handle: 0x003a Type: Battery Level (0x2a19) ACL Data RX: Handle 64 flags 0x02 dlen 6 #73 [hci0] 11.805333 ATT: Read Response (0x0b) len 1 Value: 5e HCI Event: Number of Completed Packets (0x13) plen 5 #74 [hci0] 12.016764 Num handles: 1 Handle: 64 Address: F6:8B:AB:35:A8:F3 (OUI F6-8B-AB) Count: 1 `

nilo85 commented 9 months ago

I stumbled upon this https://codeberg.org/fabiscafe/game-devices-udev Gave it a try but not knowing much of this ecosystem of sofware, I suspect it requires a kernel module called uinput, which is not available when i lsmod..

gouchi commented 9 months ago

@nilo85 Can you try to copy the file in /storage/.config/udev.rules.d/ ?

Then reload udev rules udevadm control --reload-rules && udevadm trigger

nilo85 commented 9 months ago

Still did not work =/ When u run the control reload and trigger UI showed that my PS3 controller disconnected (but still works) so that seems to have done something.

Is there a command to debug what udev sees?

nilo85 commented 9 months ago

when enabling debug output as in https://superuser.com/questions/677106/how-can-i-check-if-a-udev-rule-fired (top response)

I get when boting paired device:

Feb 02 23:20:54 Lakka systemd-udevd[378]: Cleanup idle workers
Feb 02 23:20:56 Lakka systemd-udevd[378]: hci0:64: Device is queued (SEQNUM=1931, ACTION=add)
Feb 02 23:20:56 Lakka systemd-udevd[378]: hci0:64: Device ready for processing (SEQNUM=1931, ACTION=add)
Feb 02 23:20:56 Lakka systemd-udevd[378]: Successfully forked off '(udev-worker)' as PID 931.
Feb 02 23:20:56 Lakka systemd-udevd[378]: hci0:64: Worker [931] is forked for processing SEQNUM=1931.
Feb 02 23:20:56 Lakka (udev-worker)[931]: hci0:64: Processing device (SEQNUM=1931, ACTION=add)
Feb 02 23:20:56 Lakka (udev-worker)[931]: hci0:64: sd-device: Created db file '/run/udev/data/+bluetooth:hci0:64' for '/devices/platform/soc/fe201000.serial/serial0/serial0-0/bluetooth/hci0/hci0:64'
Feb 02 23:20:56 Lakka (udev-worker)[931]: hci0:64: Device processed (SEQNUM=1931, ACTION=add)
Feb 02 23:20:56 Lakka (udev-worker)[931]: hci0:64: sd-device-monitor(worker): Passed 394 byte to netlink monitor.
Feb 02 23:20:56 Lakka systemd-udevd[378]: No events are queued, removing /run/udev/queue.
Feb 02 23:20:56 Lakka bluetoothd[869]: src/service.c:service_accept() input-hog profile accept failed for F6:8B:AB:35:A8:F3
Feb 02 23:20:56 Lakka kernel: Bluetooth: hci0: security requested but not available
Feb 02 23:20:59 Lakka systemd-udevd[378]: Cleanup idle workers
Feb 02 23:20:59 Lakka (udev-worker)[931]: Unload kernel module index.
Feb 02 23:20:59 Lakka (udev-worker)[931]: Unloaded link configuration context.
Feb 02 23:20:59 Lakka systemd-udevd[378]: Worker [931] exited.
gouchi commented 9 months ago

Is there a command to debug what udev sees?

you could try something like udevadm monitor --property --udev

nilo85 commented 9 months ago

This is what I get when booting the device (already paired) and when turning it off..

But from previous logs and some googling on simiar errors sonds like there might be an issue with bluez? "Feb 02 23:20:56 Lakka bluetoothd[869]: src/service.c:service_accept() input-hog profile accept failed for F6:8B:AB:35:A8:F3"

It seems to me the device is connecting and disconnecting properly but something fails on my machine during this and its only partially setup?

UDEV  [3292.827558] add      /devices/platform/soc/fe201000.serial/serial0/serial0-0/bluetooth/hci0/hci0:64 (bluetooth)
ACTION=add
DEVPATH=/devices/platform/soc/fe201000.serial/serial0/serial0-0/bluetooth/hci0/hci0:64
SUBSYSTEM=bluetooth
DEVTYPE=link
SEQNUM=1977
USEC_INITIALIZED=3292826900
SYSTEMD_ALIAS=/sys/subsystem/bluetooth/devices/hci0:64
SYSTEMD_WANTS=bluetooth.target
SYSTEMD_USER_WANTS=bluetooth.target
TAGS=:systemd:
CURRENT_TAGS=:systemd:

UDEV  [3314.331092] remove   /devices/platform/soc/fe201000.serial/serial0/serial0-0/bluetooth/hci0/hci0:64 (bluetooth)
ACTION=remove
DEVPATH=/devices/platform/soc/fe201000.serial/serial0/serial0-0/bluetooth/hci0/hci0:64
SUBSYSTEM=bluetooth
DEVTYPE=link
SEQNUM=1978
USEC_INITIALIZED=3292826900
SYSTEMD_ALIAS=/sys/subsystem/bluetooth/devices/hci0:64
SYSTEMD_WANTS=bluetooth.target
SYSTEMD_USER_WANTS=bluetooth.target
TAGS=:systemd:
CURRENT_TAGS=:systemd:
nilo85 commented 9 months ago

Also I see all these

[ 3999.447873] Bluetooth: hci0: security requested but not available

https://www.linuxquestions.org/questions/slackware-14/logitech-bluetooth-mouse-not-available-after-pairing-as-input-device-on-slackware-current-4175712778/

Maybe we are supposed to show some dialog? (I remember my macbook did this everytime I connected wth it)

nilo85 commented 9 months ago

After I ran hciconfig hci0 down and sudo hciconfig hci0 up it connected and works in UI

nilo85 commented 9 months ago

dmesg

[ 3858.651048] systemd-journald[320]: /run/log/journal/64a7bca1d41cd476466b1933642b3dfe/system.journal: Journal header limits reached or header out-of-date, rotating.
[ 3863.485806] Bluetooth: hci0: security requested but not available
[ 3897.452660] Bluetooth: hci0: security requested but not available
[ 3931.446277] Bluetooth: hci0: security requested but not available
[ 3934.509698] Bluetooth: hci0: security requested but not available
[ 3965.444477] Bluetooth: hci0: security requested but not available
[ 3971.780692] Bluetooth: hci0: security requested but not available
[ 3973.153151] Bluetooth: hci0: security requested but not available
[ 3999.447873] Bluetooth: hci0: security requested but not available
[ 4033.478659] Bluetooth: hci0: security requested but not available
[ 4067.488741] Bluetooth: hci0: security requested but not available
[ 4086.705658] systemd-journald[320]: Data hash table of /run/log/journal/64a7bca1d41cd476466b1933642b3dfe/system.journal has a fill level at 75.1 (1537 of 2047 items, 524288 file size, 341 bytes per hash table item), suggesting rotation.
[ 4086.705692] systemd-journald[320]: /run/log/journal/64a7bca1d41cd476466b1933642b3dfe/system.journal: Journal header limits reached or header out-of-date, rotating.
[ 4095.474177] Bluetooth: hci0: unexpected SMP command 0x0b from f6:8b:ab:35:a8:f3
[ 4096.048526] input: StadiaNFNZ-a8f3 as /devices/virtual/misc/uhid/0005:18D1:9400.0004/input/input5
[ 4096.049065] hid-generic 0005:18D1:9400.0004: input,hidraw0: BLUETOOTH HID v1.00 Gamepad [StadiaNFNZ-a8f3] on dc:a6:32:23:68:2d
nilo85 commented 9 months ago

I removed the udev rules, rebooted.

Device was paired but non functional, then I did hciconfig hci0 down and up, and controller connects again, so I suspect there is really some sort of dance we are supposed to do with it that does not work automatically

nilo85 commented 9 months ago

PS, none of the buttons seem to be mapped as hotkey menu button

nilo85 commented 9 months ago

Managed to figure out how to remap controller and get meny key working =)

However I guess we should figure out how to get that security request fixed properly. I can try to figure out how to export a controller mapping tomorrow, auto worked good except for the menu button

nilo85 commented 9 months ago

Toggling bluetooth off and on via UI has the same effect.

So currently to get it working on Lakka you need to pair it, then Services > Bluetooth Off and then On again and it should tell you a Stadia controller was connected

I suspect it might be an issue with the current bluetooth agent, maybe its booted too early?

nilo85 commented 9 months ago

Regarding binding there seems to be one already https://github.com/libretro/retroarch-joypad-autoconfig/blob/master/udev/Google%20LLC%20Stadia%20Controller%20rev.%20A.cfg

But it gives a different name when connected over bluetooth maybe that is why it does not map it out of box ( had to rename it to whatever mine as called for Mupen64 on my mac...)

My generated config has these rows

input_driver = "udev"
input_device = "StadiaNFNZ-a8f3"

vs

input_driver = "udev"
input_device = "Google LLC Stadia Controller rev. A"

EDIT: Might also be they changed the device name when you flashed it to permanent BT mode and the existing bindings worked with pre-flashed controller over cable

JayMcGann commented 2 months ago

I dont have a stadia controller unfortunately You can send the config here and will be added to the next lakka version https://github.com/libretro/retroarch-joypad-autoconfig

I am also having issues getting the stadia controller working in lakka

JayMcGann commented 2 months ago

Regarding binding there seems to be one already https://github.com/libretro/retroarch-joypad-autoconfig/blob/master/udev/Google%20LLC%20Stadia%20Controller%20rev.%20A.cfg

But it gives a different name when connected over bluetooth maybe that is why it does not map it out of box ( had to rename it to whatever mine as called for Mupen64 on my mac...)

My generated config has these rows

input_driver = "udev"
input_device = "StadiaNFNZ-a8f3"

vs

input_driver = "udev"
input_device = "Google LLC Stadia Controller rev. A"

EDIT: Might also be they changed the device name when you flashed it to permanent BT mode and the existing bindings worked with pre-flashed controller over cable

nilo85 - did you ever get this working?

Fainought commented 2 months ago

Never managed to get it to work, although it's been a while since I last tried to.

Il 14 agosto 2024 03:44:03 CEST, Jason McGann @.***> ha scritto:

Regarding binding there seems to be one already https://github.com/libretro/retroarch-joypad-autoconfig/blob/master/udev/Google%20LLC%20Stadia%20Controller%20rev.%20A.cfg

But it gives a different name when connected over bluetooth maybe that is why it does not map it out of box ( had to rename it to whatever mine as called for Mupen64 on my mac...)

My generated config has these rows

input_driver = "udev"
input_device = "StadiaNFNZ-a8f3"

vs

input_driver = "udev"
input_device = "Google LLC Stadia Controller rev. A"

EDIT: Might also be they changed the device name when you flashed it to permanent BT mode and the existing bindings worked with pre-flashed controller over cable

nilo85 - did you ever get this working?

-- Reply to this email directly or view it on GitHub: https://github.com/libretro/Lakka-LibreELEC/issues/1824#issuecomment-2287672038 You are receiving this because you commented.

Message ID: @.***> Marco Pignatelli

mtoensing commented 2 months ago

I moved to Batocera because of this. It supports Stadia Wireless and connected via cable out of the box.

JayMcGann commented 2 months ago

I moved to Batocera because of this. It supports Stadia Wireless and connected via cable out of the box.

What is strange is that I was able to get it working with RetroArch inside Ubuntu?

JayMcGann commented 2 months ago

I was able to get it to work with SSH ( I think this is what worked??) :

bluetoothctl agent on default-agent power on pairable on scan on connect DF:7F:CD:B9:13:AF trust

the button mapping often needs to be redone and the device id remains N/A