Enable Bluetooth

From AwkwardTV
Jump to: navigation, search


This process would not be available without the hard work of Turbo and he deserves all the credit for this accomplishment. Please donate on his site. http://0xfeedbeef.com/appletv/


  • Turbo's kextloader from http://0xfeedbeef.com/appletv/
  • Some kexts and frameworks from 10.4.9
  • e.g IOBluetooth.framework, IOBluetoothUI.framework, IOBluetoothFamily.kext and IOBluetoothHIDDriver.kext
  • System Preferences.app (preferably from ATV OS 1.0)
  • Update 18-Aug-2009: tested with 2.3, 2.3.1 and 2.4
  • While above files might be sufficient for a ATV OS 1.0 based Apple TV, newer models need to copy several other files to get the Bluetooth functionality:
  • /usr/sbin/blued
  • /System/Library/CoreServices/Language Chooser.app
  • /System/Library/CoreServices/Menu Extras
  • /System/Library/CoreServices/bluetoothlauncher
  • /System/Library/CoreServices/Bluetooth Setup Assistant.app
  • /System/Library/CoreServices/BluetoothUIServer.app
  • /System/Library/Printers/IOMs/BluetoothIOM.plugin
  • /System/Library/Printers/PBMs/PB_Bluetooth.plugin
  • /System/Library/SystemConfiguration/Bluetooth.bundle
  • /System/Library/SystemProfiler/SPBluetoothReporter.spreporter

Copy files to AppleTV

Copy IOBluetooth.framework and IOBluetoothUI.framework from your Mac or combo update to /System/Library/Frameworks/. Copy IOBluetoothFamily.kext and IOBluetoothHIDDriver.kext from your Mac or combo update to /System/Library/Extensions/.

Ensure your owner and permissions are correct

sudo chmod -R 755 /System/Library/Extensions/IOBluetoothFamily.kext
sudo chmod -R 755 /System/Library/Extensions/IOBluetoothHIDDriver.kext
sudo chown -R root:wheel /System/Library/Extensions/IOBluetoothFamily.kext
sudo chown -R root:wheel /System/Library/Extensions/IOBluetoothHIDDriver.kext

Turbo's Excellent Kext Enabler

Follow Turbo's instructions to create the /mach and /mach.sym files, a reboot is required. Then run Turbo's kext enabler:

sudo turbo_kext_enabler.bin

Above is done automatically when using nitoTV

Load your kexts

kextload /System/Library/Extensions/IOBluetoothFamily.kext
kextload /System/Library/Extensions/IOBluetoothHIDDriver.kext

To make this persistent, you can add something like this to your /etc/rc.local:

kextload /System/Library/Extensions/IOBluetoothFamily.kext
kextload /System/Library/Extensions/IOBluetoothHIDDriver.kext

Above is done automatically when using nitoTV


Using Applications Menu plugin open System Preferences.app and configure your bluetooth devices.

Confirmed Compatible Devices

- Nintendo Wiimote using DarwiinRemote -> http://sourceforge.net/projects/darwiin-remote/

- Cisco Linksys BT100

- Sitecom CN-516 (v2 002) USB micro adapter

Please use the Talk page, the forum, or the irc channel for problems.