Support
All support resources for our products. Here you can find answers to frequently asked questions, discuss with other users, recover a lost license code or file a support request.
Forum closed
This forum was closed and turned into an archive effective April 21, 2018. It is no longer possible to create new topics or reply to existing topics.

Thanks everyone for all the great questions and contributions over the years.

Please use the Contact form to get in touch.

Remote Buddy Forum

Overview 

AuthorThread
User

06.12.2011 12:01:01
Re: Remote Buddy, OSX Lion and BD Remote

This posting is older than 6 months and can contain outdated information.
Thanks for your feedback.

Rest assured this issue is bothering me as well - and immensely so. If there was any way for me to address it, I would.

Since, however, this issue is located directly in Apple's Bluetooth stack at a _very_ low level where third-party applications like Remote Buddy have NO way of correcting or working around the problem (they don't even have any way of knowing whether a BT device tries to connect at this point!), I can't fix the problem. As I said before, only Apple can fix it. Only Apple.

Here's what happens when you press a button on your BD Remote:

1) BD Remote: asks your Mac's Bluetooth controller (and thus the OS X Bluetooth stack) to establish a baseband connection 
2) OS X BT stack: verifies whether the device is allowed to establish a connection, performs cryptographic authentication if it decides that this is needed (and prompts you for a PIN code as part of that) 
3) OS X BT stack: establishes baseband connection with the BD Remote 
4) OS X BT stack: creates Bluetooth device's IOKit object 
5) OS X BT stack: sends notifications about the device connecting to third-party applications 
6) OS X Kernel: starts IOKit matching for the Bluetooth device 
7) Remote Buddy: receives the notification and registers with the OS X Kernel to get notified about new HID devices that become available on the system 
8) OS X Kernel: matches and starts an instance of IOBluetoothHIDDriver (which belongs to the BT stack) 
9) OS X Kernel: sends notification to applications who registered to get notified about new HID devices 
10) Remote Buddy: receives notification, checks whether the HID device belongs to the remote and starts listening to button presses

The issue occurs at step 2. Here the BT stack incorrectly decides that the BD Remote requires authentication and prompts you for a PIN code. Which, as we all know, is not needed - and not even supported by the BD Remote.

And that's where it already ends. Since PIN authentication of a device that doesn't support PIN authentication fails, things don't even proceed to step 3.

The earliest point where regular applications (like Remote Buddy) can hook into the process: they can't. This is generally not supported by the OS X Bluetooth stack. They have to deal with what's available after step 8.

The earliest point where kernel-level drivers (like Remote Buddy's Candelair) can hook into the process: at step 6. And only by offering an alternative driver and thereby preventing an instance of IOBluetoothHIDDriver from getting matched and started in step 7. Since Remote Buddy's support for the BD Remote, however, relies on OS X' own IOBluetoothHIDDriver, Candelair is not doing this. The OS X Bluetooth stack is used by Remote Buddy as-is.

-- So what can I do? --

1) Collect as much information about this issue as possible from users.

I did that.

2) File a bug report with Apple, relaying the collected information as well as my detailed analysis of the issue.

I did that.

3) Email Apple's Developer Technical Support (for which Apple charges a fee) to highlight the importance of a fix for this issue and possibly move it up on the priority list of Apple's Bluetooth team.

I did that.

4) Test with pre-release versions of OS X. Update Apple on the results via the lines of communications already used in step 2 and 3.

I did that.

5) Be transparent. Add a short explanation to the BD Remote's entry in the hardware compatibility list. To inform existing as well as prospective new users about the fact that there currently is an issue within OS X 10.7.2 that needs to be fixed by Apple. And that the BD Remote may not be working as it should until Apple eventually does address the issue.

I did that.

6) Explain the issue at length and in great detail. Sharing my view.

I'm doing this with this reply.

-- What can you do? --

File a bug report with Apple via http://www.apple.com/feedback/macosx.html and include the Apple bug report number for this issue (which is also available on the hardware section of Remote Buddy's website): rdar://10332794

-- Regarding providing information updates: --

1) The situation didn't change: 
a) 10.7.2 is still the latest version of OS X Lion available to the general public 
b) the bug in its Bluetooth stack still exists 
c) Remote Buddy still has no influence on the issue (and never will) 
d) Remote Buddy still can neither address nor work around the issue (and never will) 
e) I still have no position at Apple - and therefore still am not in the position to tell Apple's developers what to do with their time - including addressing this issue 
f) I'm still doing all I can to get Apple's attention for this issue - including paying for it (via DTS). That, unfortunately, is still all I can do.

2) Regarding my communication with Apple: as we all know, Apple loves secrecy: 
a) Apple doesn't pre-announce bug fixes 
b) the contents of the communication via Apple's bug reporter website is confidential. 
c) the contents of the communication via Apple's Developer Technical Support is confidential. 
d) access to OS X pre-releases is only granted under NDA. I'm not allowed to talk about it.

3) I'll update the notice on the Remote Buddy hardware page with new information as it becomes available (and I'm legally allowed to share it).

-- Closing notes --

I'm as unsatisfied with the situation as everyone else. But due to the nature of the issue, I can't do anything about it other than to try to get Apple's attention for it. Which I do intensely - and at increasing expense.

And, on a general note (not necessarily related to the preceding posts):

Blaming Remote Buddy or Candelair for what they are not responsible for - and asking me to fix what I can't fix (the OS X Bluetooth stack), no matter how much I'd like to, is neither helpful nor will it expedite a fix. All that does is increase my own frustration regarding this issue. I'm extremely tired of repeatedly having to justify for bugs that aren't mine and defend my work, which isn't responsible for this issue. Those who have followed along Remote Buddy's development over the past 5.5 years know that I've never shied away from investing a lot of time (and money) when I saw a chance that it could improve the product or work around an OS X issue. Candelair is the result of one such effort.

If you want to make a difference and help increase Apple's awareness for the issue, file a bug report with Apple and include the bug report number for this issue (rdar://10332794) - as suggested above.

Thanks for your time and attention.

Best regards, 
Felix Schwarz 

Thread-display::