Переверните файл, запомните первую строку и напечатайте ее после последней строки , затем повторно -переверните файл:
tac file | awk 'FNR == 1 {last=$0} {print} END {print last}' | tac
# or
tac file | sed -n '1h; p; ${x;p}' | tac
Во-первых, многие ответы советуют заменить ключ в секции [linkKey]
файла /var/lib/bluetooth/<ADAPTOR_MAC_ADDRESS>/<DEVICE_MAC_ADDRESS>/info
. Этот раздел теперь, кажется, называется [LongTermKey]
. Кроме того, [LocalSignatureKey]
теперь кажется [IdentityResolvingKey]
.В некоторых ответах упоминается только изменение ключа в [linkKey]
, но вам также нужны записи Enc
, Ediv
и Rand
и ключ для [IdentityResolvingKey]
.
Во-вторых, MAC-адрес устройства может быть непостоянным. В случае моего Logitech G604 он увеличивается на единицу при каждом сопряжении. Я обновил эти сценарии здесь , чтобы решить эту проблему.
info
и attributes
в /var/lib/bluetooth/<ADAPTOR_MAC_ADDRESS>/<DEVICE_MAC_ADDRESS>/
. PsExec64.exe -s -i regedit /e C:\BTKeys.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\BTHPORT\Parameters\Keys
C:\BTKeys.reg
на USB-ключ (или оставьте на диске C:
, если он доступен из ОС Linux ). BTKeys.reg
в файловую систему Linux. clean_reg_file.py --file_path BTKeys.reg --output clean.reg
для очистки файла (преобразует кодировку в UTF8 и удаляет кавычки ). bluetooth_fix.py --reg_path clean.reg
. sudo
перейдите к /var/lib/bluetooth/<ADAPTOR_MAC_ADDRESS>/
. BTKeys.reg
. info
и attributes
из старого каталога MAC-адресов в новый. /var/lib/bluetooth/<ADAPTOR_MAC>/<NEW_DEVICE_MAC>/info
и измените значения в соответствии с выходными данными шага 8. sudo systemctl restart bluetooth
.