Enable Bluetooth
Contents
DISCLAIMER
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/
Requirements
- Turbo's kextloader from http://0xfeedbeef.com/appletv/
- Some kexts and frameworks from 10.4.9
- Combo update for Intel available from http://www.apple.com/support/downloads/macosx1049comboupdateintel.html
- 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:
/your/path/to/turbo_kext_enabler.bin kextload /System/Library/Extensions/IOBluetoothFamily.kext kextload /System/Library/Extensions/IOBluetoothHIDDriver.kext
Above is done automatically when using nitoTV
Epilogue
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.