Enable Bluetooth
From AwkwardTV
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.
