No description
Find a file
Max Fritz af1051aace
All checks were successful
Release / release (push) Successful in 13s
Add Bluetooth BD address fixup for Surface Pro X
The WCN3998 controller reports an invalid BD address from NVM,
  preventing the HCI interface from initializing. This adds:

  - surface-bt-fixup Arch package (bt/) with udev rule, systemd
    service, and script to generate a stable address from machine-id
  - Forgejo CI workflow to build and release the package on tags
  - README documentation linking to linux-surface/surface-pro-x#47
2026-02-11 12:01:49 +01:00
.forgejo/workflows Add Bluetooth BD address fixup for Surface Pro X 2026-02-11 12:01:49 +01:00
bt Add Bluetooth BD address fixup for Surface Pro X 2026-02-11 12:01:49 +01:00
.gitignore Add Bluetooth BD address fixup for Surface Pro X 2026-02-11 12:01:49 +01:00
README.md Add Bluetooth BD address fixup for Surface Pro X 2026-02-11 12:01:49 +01:00

surface-x-fixes

To create a Surface Pro X Arch Linux installation follow the instructions from: https://github.com/linux-surface/aarch64-arch-mkimg

Bluetooth Fix

The WCN3998 Bluetooth controller on Surface Pro X reports an invalid BD address from NVM, preventing the HCI interface from coming up. See linux-surface/surface-pro-x#47 for details.

The surface-bt-fixup package in bt/ provides an automated workaround:

  • A udev rule detects when an HCI device appears
  • A systemd service generates a stable BD address from /etc/machine-id
  • The address is applied via btmgmt public-addr

Installation

Install the package from releases or build locally:

cd bt
makepkg -si

After installation, Bluetooth should work automatically on next boot or adapter reconnect.