The iPhone Wiki is no longer updated. Visit this article on The Apple Wiki for current information. |
Difference between revisions of "BTServer"
(Adding to daemon category.) |
|||
(5 intermediate revisions by 5 users not shown) | |||
Line 8: | Line 8: | ||
Written in C++ with STL classes. |
Written in C++ with STL classes. |
||
+ | Packet log : |
||
− | OS 4.0 Beta 4 - logging: |
||
+ | touch /var/mobile/Library/Logs/BTServer_hci.pklg |
||
+ | killall BTServer |
||
+ | (Copy to Mac, open with PacketLogger) |
||
− | <code> |
||
+ | OS 4.0 Beta 4 - logging: |
||
− | plutil -create /var/mobile/Library/Preferences/com.apple.MobileBluetooth.debug.plist |
||
− | plutil - |
+ | plutil -create /var/mobile/Library/Preferences/com.apple.MobileBluetooth.debug.plist |
+ | plutil -key DiagnosticMode -value true -type bool /var/mobile/Library/Preferences/com.apple.MobileBluetooth.debug.plist |
||
+ | plutil -key DefaultLevel -value Debug -type string /var/mobile/Library/Preferences/com.apple.MobileBluetooth.debug.plist |
||
+ | killall BTServer |
||
− | + | Verbose log in /var/mobile/Library/Logs/BTServer_stdout.log. |
|
− | |||
− | </code> |
||
− | verbose log in /var/mobile/Library/Logs/BTServer_stdout.log. |
||
Each service is accessed by the stack using a virtual function table of functions inherited from a base service class, so it's possible to easily intercept all functions for a given service and/or modify its behavior. It should also be possible (although not too easy) to create new services overriding about 5-10 functions in the VTable of the base Service class. |
Each service is accessed by the stack using a virtual function table of functions inherited from a base service class, so it's possible to easily intercept all functions for a given service and/or modify its behavior. It should also be possible (although not too easy) to create new services overriding about 5-10 functions in the VTable of the base Service class. |
||
Line 26: | Line 28: | ||
Reverse engineered header here: http://code.google.com/p/iphone-bluetooth/source/browse/trunk/btGpsServer/MobileBluetooth.h |
Reverse engineered header here: http://code.google.com/p/iphone-bluetooth/source/browse/trunk/btGpsServer/MobileBluetooth.h |
||
+ | |||
+ | {{stub|software}} |
||
+ | [[Category:Daemons]] |
Latest revision as of 08:08, 11 August 2014
Daemon that implements iPhone bluetooth stack. Based on BLUEmagic 2.1.
Implemented services: Handsfree, Phonebook, Remote, A2dp, Hid, Sensor, NetSharing, Gaming, WiAP, Braille.
IPC Client library: MobileBluetooth (a private framework). Obj-C level library: BluetoothManager.
Written in C++ with STL classes.
Packet log :
touch /var/mobile/Library/Logs/BTServer_hci.pklg killall BTServer
(Copy to Mac, open with PacketLogger)
OS 4.0 Beta 4 - logging:
plutil -create /var/mobile/Library/Preferences/com.apple.MobileBluetooth.debug.plist plutil -key DiagnosticMode -value true -type bool /var/mobile/Library/Preferences/com.apple.MobileBluetooth.debug.plist plutil -key DefaultLevel -value Debug -type string /var/mobile/Library/Preferences/com.apple.MobileBluetooth.debug.plist killall BTServer
Verbose log in /var/mobile/Library/Logs/BTServer_stdout.log.
Each service is accessed by the stack using a virtual function table of functions inherited from a base service class, so it's possible to easily intercept all functions for a given service and/or modify its behavior. It should also be possible (although not too easy) to create new services overriding about 5-10 functions in the VTable of the base Service class.
Debugging: during debugging Bluetooth may interfere with WiFi, use USB tunneling in that case.
Reverse engineered header here: http://code.google.com/p/iphone-bluetooth/source/browse/trunk/btGpsServer/MobileBluetooth.h
This software article is a "stub", an incomplete page. Please add more content to this article and remove this tag. |