daniel d9d32deb3e feat: reliable Bluetooth pairing, reconnection, and A2DP setup
Four fixes, each a root cause verified on hardware (AX211 + Bose QC Ultra):

1. Link Key Request Reply TRUNCATED: the pending-command queue's params
   buffer was 16 bytes; the reply is 22 (addr 6 + key 16).  The controller
   got 10 key bytes -> every stored-key reconnection failed authentication
   (status 5) since 2026-06-03 (c119a70).  Fresh pairings never touch this
   path, which kept the bug perfectly disguised as a headset quirk.

2. Secure Connections host support (0x0C7A) now enabled: bonds are minted
   as P-256 (Type=7), interoperable with BlueZ's, and SC-bonded peers can
   actually authenticate us.

3. Never write the BD_ADDR override (0xFC31) with the factory address:
   it desyncs the firmware's crypto address from the on-air one and ALL
   SSP pairing fails with status 5.  (The spoofing feature itself was
   already known-cosmetic: the baseband answers pages on the factory
   address regardless.)  import-bluez-bond.sh now removes the override.

4. A2DP channel setup: wait for Encryption Change before dialing L2CAP
   (post-SSP sinks ignore unencrypted CONN_REQ), and LISTEN 2.5s first --
   on reconnection the sink dials AVDTP itself and ignores our dials while
   doing so.  Ends the historical connRsp=FFFF retry-then-give-up failures.

Plus: queued security replies now log delivery + controller status.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 19:46:02 +02:00
2025-04-17 21:54:25 +02:00
2026-02-18 15:13:53 +01:00
2026-03-04 14:42:51 +01:00
2026-04-15 17:49:07 +02:00
2026-04-17 15:26:27 +02:00

The Montauk Operating System

MontaukOS is a hobbyist operating system written in modern C++. It runs on bare metal and supports various applications, including DOOM, a Wikipedia client, and standard desktop utilities.

MontaukOS screenshot

Features

  • Modern preemptive multitasking kernel
  • Multi-user userspace with desktop environment and command line
  • PCI-e support and drivers for Intel GPU and e100e Ethernet for graphics and networking on real hardware
  • ACPI support with AML interpreter, including S3 sleep and ACPI shutdown
  • Support for USB including input devices (keyboard/mouse), along with PS/2 input support
  • Support for Intel High Definition (HDA) audio devices
  • Userspace and kernel audio support
  • Support for (some) Intel Bluetooth devices, userspace Bluetooth management app
  • Support for the GPT partition table
  • VFS using numbered drive identifiers with support for ext2 and FAT32 filesystems
  • Support for AHCI and NVMe SSD drives
  • Support for UEFI Runtime Services, including power management calls (shutdown/reboot)
  • Customizable desktop environment with 12+ graphical apps, including a terminal emulator, file manager, Wikipedia client, weather app, DOOM, and more
  • Modern icon pack (Flat Remix) used in desktop environment
  • Support for TrueType font, JPEG image, and SVG icon rendering
  • Networking including TCP/IP stack, UDP, DNS, DHCP and TLS via BearSSL
  • Command-line IRC client
  • Live viewable kernel log from GUI
  • Mandelbrot set renderer
  • PDF viewer app with full support for text (inc. baked-in TrueType fonts) and some graphics
  • Userspace Music app with support for MP3 and WAV files
  • 2D game engine and demo game with fantasy tileset

Ideology

The goal of the MontaukOS project is to create a modern and unique operating system that runs on both emulators and on real hardware. The kernel and included userspace applications are written in modern C++.

History and methodology

Development started in early 2025, with the first published GitHub commit being on Feb 27, 2025. In early 2026, Claude Opus 4.6 began being used to accelerate development of the kernel and userspace.

S
Description
The Montauk Operating System
Readme 279 MiB
Languages
C++ 50.7%
C 44.7%
HTML 2.9%
Makefile 0.9%
Roff 0.3%
Other 0.4%