# \[GSoC 2026\] Modernizing Haiku's Bluetooth stack: Implementing support for HFP profile - Progress Report

DevFeed: [\[GSoC 2026\] Modernizing Haiku's Bluetooth stack: Implementing support for HFP profile - Progress Report](<https://devfeed.tech/articles/gsoc-2026-modernizing-haiku-s-bluetooth-stack-implementing-support-for-hfp-profile-progress-report-34783.md>)

Original publisher: [Read original article](<https://www.haiku-os.org/blog/vighnesh-sawant/2026-08-21_gsoc_2026_modernizing_haikus_bluetooth_stack_implementing_support_for_hfp_profile_-_progress_report/>)

Author: vighnesh-sawant

Published: 2026-08-21T18:04:07Z

Content type: article

Language: en

Sources: [Haiku Project](<https://devfeed.tech/sources/haiku-project.md>)

Topics: [Bluetooth](<https://devfeed.tech/topics/bluetooth.md>), [Protocol (disambiguation)](<https://devfeed.tech/topics/protocol.md>), [implementation](<https://devfeed.tech/topics/implementation.md>), [bug](<https://devfeed.tech/topics/bug.md>), [USB](<https://devfeed.tech/topics/usb.md>)

Tags: [bluetooth](<https://devfeed.tech/tags/bluetooth.md>), [bug-fixes](<https://devfeed.tech/tags/bug-fixes.md>), [gsoc](<https://devfeed.tech/tags/gsoc.md>), [haiku](<https://devfeed.tech/tags/haiku.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [progress-report](<https://devfeed.tech/tags/progress-report.md>), [software](<https://devfeed.tech/tags/software.md>), [usb](<https://devfeed.tech/tags/usb.md>)

## AI overview

This GSoC 2026 progress report describes work modernizing Haiku's Bluetooth stack for the Hands-Free Profile (HFP). It covers RFCOMM implementation, xHCI improvements, Bluetooth stack and media fixes, HFP session functionality, and a Bluetooth SCO Media Kit add-on. RFCOMM and SCO are nearly ready for merging, while HFP still needs to be split, reviewed, and prepared for merging.

## Source excerpt

Introduction The goal of this post is to document the changes I made during the GSoC period and the current state of the project. I would also like to thank waddlesplash for his continued support throughout the project. Progress So Far RFCOMM Protocol RFCOMM is now almost ready to be merged. It acts as the control channel required by HFP. The implementation includes: RFCOMM socket addressing and connection management DLCI multiplexing over a shared L2CAP connection SABM, UA, DM, DISC, and UIH frame handling MCC commands Credit-based flow control USB and xHCI Improvements During implementation, I found that the xHCI driver assumed all isochronous packets had the same size, which is not always true. The xHCI driver now supports variable-length isochronous packets and processes completed transfers in FIFO order instead of LIFO order. Bug Fixes A part of this period was spent fixing issues in the existing Bluetooth stack. The main fixes include: Correcting ACL packet splitting when packets exceed the L2CAP MTU. Holding socket references while working on them. Related changes include the L2CAP refactor,send-status fix, socket lifetime changes, and MTU packet fix Media Stack Fixes While working on Bluetooth audio integration, I found some bugs in the media stack. After initial work, waddlesplash took over these changes and implemented the actual changes. The improvements landed in the media auto-stop change and the live output reconnection change. Hands-Free Profile The first pass for HFP is done. It includes: Hands-Free service discovery through SDP. HFP session management. Basic AT-command parsing. The implementation is functional but work is needed to split the changes, getting it reviewed and making it merge ready. Bluetooth SCO Media Add-on The Bluetooth SCO Media Kit add-on has also been implemented. It discovers Bluetooth audio devices, exposes them through the Media Kit, and creates media nodes for headset playback and capture. It includes: Bluetooth headset disco