Bluetooth mouse linux windows

Bluetooth mouse linux windows

Previously I set up Bluetooth mouse in dual boot of Windows 10 and Fedora using a converter USB to Bluetooth because my laptop didn’t have any Bluetooth devices.

Recently I set up Bluetooth mouse in dual boot of Windows 10 and Fedora 32 in another laptop which has a Bluetooth device and the configuration is a bit different.

Windows 10 recognizes ELECOM M-BT13BL but Fedora 32 does not recognize it in ASUS X545FA and I bought Logicool M337 and Windows 10 and Fedora 32 recognize it.
I don’t know why the format is different from the the previous blog but anyway I succeed to set up Blutotooth mouse in the dual boot.

0. Make a pairing in Fedora 32

1. Make a pairing in Windows 10

2. Get PsTools to read some secret regedit keys

3. Right click on MS-DOS prompt and launch it with an Administrator privilege

3. PsExec64.exe -s -i regedit

4. Save the “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\$\$

My data is:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\c0e434a6159c]
«MasterIRK»=hex:48,5d,82,ad,55,13,23,ed,08,af,46,c7,5e,d0,c7,bf
«34885db3e4bd»=hex:9b,78,96,d8,20,2d,da,a8,0d,1d,bd,75,ab,8e,04,40

5. Reboot the system and Launch Fedora 27

6. Open /var/lib/bluetooth/$/$/info with root and paste the Windows regedit value to “Key” value in [LinkKey] section.

7. Run systemctl restart bluetooth with root

My modified /var/lib/bluetooth/C0:E4:34:A6:15:9C/34:88:5D:B3:E4:Bd/info is
[General]
Name=Bluetooth Mouse M336/M337/M535
Class=0x000580
SupportedTechnologies=BR/EDR;
Trusted=true
Blocked=false
Services=00001000-0000-1000-8000-00805f9b44fb;00001124-0000-1000-8000-00805f9b44fb;00001200-0000-1000-8000-00805f9b34fb;

[LinkKey]
Key=9B7896D8202DDAA80D1DBD75AB8E0440
Type=4
PINLength=0

[DeviceID]
Source=2
Vendor=1133
Product=45078
Version=4611

Then my Bluetooth mouse in dual boot envirinemnt works fine.

Источник

Bluetooth mouse

This article describes configuration & troubleshooting steps specific to Bluetooth mice. The information here builds on the main Bluetooth article, and assumes the user has already followed any installation, configuration, or troubleshooting from that article.

Configuration

Apple Magic Mouse scroll speed

If the scroll speed is too slow, you can try

# modprobe -r hid_magicmouse # modprobe hid_magicmouse scroll_acceleration=1 scroll_speed=55

Scroll speed can be set from 0 to 63.

If the speed suits you, you can make the change permanent in /etc/modprobe.d/

/etc/modprobe.d/hid_magicmouse.conf
options hid_magicmouse scroll_acceleration=1 scroll_speed=55

Apple Magic Mouse middle click

If you find the middle click to be too finicky, you can disable it

# modprobe -r hid_magicmouse # modprobe hid_magicmouse emulate_3button=0

If this setting suits you, you can make the change permantent in /etc/modprobe.d/

/etc/modprobe.d/hid_magicmouse.conf
options hid_magicmouse emulate_3button=0

Mouse pairing and dual boot

When dual booting Windows and Linux, you may find yourself having to re-pair your Bluetooth mouse again and again. This will happen every time you switch OS, because when you pair your device, your Bluetooth service generates a unique set of pairing keys. And the core reason is that the set of pairing keys cannot be shared between the two OS.

Читайте также:  Linux shell source code

First, your computer stores the Bluetooth device’s mac address and pairing key. Second, your Bluetooth device stores your computer’s mac address and the matching key. This usually works fine, but the mac address for your Bluetooth port will be the same on both Linux and Windows (it is set on the hardware level). However, when you re-pair the device in Windows or Linux, it generates a new key. That key overwrites the previously stored key on the Bluetooth device. Windows overwrites the Linux key and vice versa.

To fix the problem, follow the instructions on [1].

if using a Bluetooth LE device use this python script, slightly edited to adapt for arch, originally discussed on [2].

Troubleshooting

Mouse lag

If you experience mouse lag you can try to increase the polling rate. See Mouse polling rate for more information.

You can try to set the minimum/maximum latency for the mouse in BlueZ [3]:

Add or modify the following section in /var/lib/bluetooth/mac-of-your-adapter/mac-of-your-mouse/info (adapt the path accordingly):

[ConnectionParameters] MinInterval=6 MaxInterval=9 Latency=44 Timeout=216

Also, you can use hcitool (in bluez-utils-compat AUR ) to change latency parameters of the device:

# HANDLE="$(hcitool con | grep '' | awk '')" # get the device handle # hcitool lecup --handle $HANDLE --latency 0 --min 6 --max 8

Note that this method is only effective for the current connection. If the mouse gets disconnected, you will need to execute again.

Alternatively, you can change the default latency settings via debugfs. See /sys/kernel/debug/bluetooth/hci0/conn__interval> .

This example will solve the lag problems, but you must un pair and pair the mouse:

# echo 0 > /sys/kernel/debug/bluetooth/hci0/conn_latency # echo 6 > /sys/kernel/debug/bluetooth/hci0/conn_min_interval # echo 7 > /sys/kernel/debug/bluetooth/hci0/conn_max_interval

Problems with the USB dongle

If you have trouble with your USB dongle, you may also want to try:

At this point, you should get an hci0 device with:

Sometimes the device is not active right away. Try starting the interface with:

and searching for devices as shown above.

Mouse always disconnects

If the mouse stops working but works again after restarting bluetooth, or the mouse seemingly keeps «falling asleep» after a couple of seconds of inactivity (which is the case for at least some models of Dell XPS 13 [4] [dead link 2022-09-17 ⓘ] ), you may need to disable USB autosuspend for the selected device.

The issue may also lie in the device timeout and HID settings. See #Thinkpad Bluetooth Laser Mouse problems.

If you are using a Logitech device, this issue may be resolved by following the procedure in #Problems with the Logitech BLE mouse (M557, M590, M720, anywhere mouse 2, etc).

Читайте также:  Передать файл по scp linux

Thinkpad Bluetooth Laser Mouse problems

If you are experiencing that your Thinkpad Bluetooth Laser Mouse rapidly connects and then (after a few milliseconds) disconnects again every few seconds (when you move the mouse or press a button), try pairing it with the code 0000 instead pairing without a code.

If the above is unhelpful, the issue may be in the device timeout settings. Edit/create the file /etc/bluetooth/input.conf and apply the following changes:

# Configuration file for the input service # This section contains options which are not specific to any # particular interface [General] # Set idle timeout (in minutes) before the connection will # be disconnect (defaults to 0 for no timeout) IdleTimeout=0 #Enable HID protocol handling in userspace input profile #Defaults to false(hidp handled in hidp kernel module) UserspaceHID=true

These changes will prevent device timeout in order to remain connected. The second setting enables userspace HID handling for bluetooth devices. Restart bluetooth.service to test changes. You also may need a reboot and to re-pair the device.

Kensington Expert Wireless Trackball problems

The Kensington Expert Wireless Trackball has default polling rates in the 200ms range, which make it laggy. To fix that, add or modify the [ConnectionParameters] section in /var/lib/bluetooth/mac-of-your-adapter/mac-of-your-mouse/info (adapt the path according to your mouse bluetooth address) as shown above, especially lower the latency to a small number or even 0 .

Problems with the Logitech BLE mouse (M557, M590, M720, anywhere mouse 2, etc)

In some case, the mouse is paired but not moving when used. The device add to be trusted and unblocked. First of all open a terminal and run bluetoothctl

[bluetooth] # remove XX:XX:XX:XX:XX:XX
[bluetooth] # trust XX:XX:XX:XX:XX:XX
[bluetooth] # pair XX:XX:XX:XX:XX:XX
[bluetooth] # connect XX:XX:XX:XX:XX:XX

If the mouse does not work directly, just power off and power on the mouse.

In some cases, it may also be necessary to load the uhid kernel module.

Problems with all BLE mice on kernel 5.9+

See Also

Источник

Bluetooth Pairing on Dual Boot of Windows & Linux Mint/Ubuntu — Stop having to Pair Devices

When dual booting Windows 7/10 and Linux Mint/Ubuntu, you may find yourself having to re-pair your Bluetooth devices again and again. This will happen every time you switch OS. Now, how do you prevent this? I’m answering my own question with the following guide, which has been tested on Ubuntu 14.4 and Linux Mint 17.2, 17.3 and now Linux Mint 18.x.

I’ve done this a number of times and the steps are extremely tedious. I created this script to help speed it up: github.com/LondonAppDev/dual-boot-bluetooth-pair

2 Answers 2

Why does this happen?

Basically, when you pair your device, your Bluetooth service generates a unique set of pairing keys. First, your computer stores the Bluetooth device’s MAC address and pairing key. Second, your Bluetooth device stores your computer’s MAC address and the matching key. This usually works fine, but the MAC address for your Bluetooth port will be the same on both Linux and Windows (it is set on the hardware level). Thus, when you re-pair the device in Windows or Linux and it generates a new key, that key overwrites the previously stored key on the Bluetooth device. Windows overwrites the Linux key and vice versa.

Читайте также:  Linux backup software windows

Bluetooth LE Devices: These may pair differently. I haven’t investigated myself, but this may help Dual Boot Bluetooth LE (low energy) device pairing

How to fix

Using the instructions below, we’ll first pair your Bluetooth devices with Ubuntu/Linux Mint, and then we’ll pair Windows. Then we’ll go back into our Linux system and copy the Windows-generated pairing key(s) into our Linux system.

  1. Pair all devices w/ Mint/Ubuntu
  2. Pair all devices w/ Windows
  3. Copy your Windows pairing keys in one of two ways:
  4. Use psexec -s -i regedit.exe from Windows (harder). You need psexec as normal regedit doesn’t have enough permissions to show this values.
    1. Go to «Device & Printers» in Control Panel and go to your Bluetooth device’s properties. Then, in the Bluetooth section, you can find the unique identifier. Copy that (you will need it later). Note: on newer versions of windows the route to the device’s properties is to go through Settings -> Bluetooth & devices -> Devices ->More devices and printer settings
    2. Download PsExec from http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx.
    3. Unzip the zip you downloaded and open a cmd window with elevated privileges. (Click the Start menu, search for cmd , then right-click the CMD and click «Run as Administrator».)
    4. cd into the folder where you unzipped your download.
    5. Run psexec -s -i regedit.exe
    6. Navigate to find the keys at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\BTHPORT\Parameters\Keys . If there is no CurrentControlSet , try ControlSet001 .
    7. You should see a few keys labels with the MAC addresses — write down the MAC address associated with the unique identifier you copied before. Note: If there are no keys visible after pairing, you likely need to add permissions to read Keys\
    > cd CurrentControlSet\Services\BTHPORT\Parameters\Keys > # if there is no CurrentControlSet, then try ControlSet001 > # on Windows 7, "services" above is lowercased. > ls # shows you your Bluetooth port's MAC address Node has 1 subkeys and 0 values key name > cd aa1122334455 # cd into the folder > ls # lists the existing devices' MAC addresses Node has 0 subkeys and 1 values size type value name [value if type DWORD] 16 REG_BINARY > hex 001f20eb4c9a => :00000 XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX . ignore..chars.. # ^ the XXs are the pairing key 
    [Bluetooth MAC] [Pairing key] [digits in pin] [0] AA:11:22:33:44:55 XXXXXXXXxxXXxXxXXXXXXxxXXXXXxXxX 5 0 00:1D:D8:3A:33:83 XXXXXXXXxxXXxXxXXXXXXxxXXXXXxXxX 4 0 
    [LinkKey] Key=B99999999FFFFFFFFF999999999FFFFF 
    sudo systemctl restart bluetooth 

    Источник

Оцените статью
Adblock
detector