Reply
Thread Tools
Posts: 36 | Thanked: 11 times | Joined on Dec 2009
#21
Originally Posted by hschmitt View Post
I try to get PBAP working with my N900 and a Parrot MK6000 CarKit.
I installed syslogd and changed the files
/etc/event.d/bluetoothd
/usr/share/dbus-1/services/obexd.service
to have the "--debug" parameter and added "--pbap" to the obexd command.
So far I managed to get the latest obexd package compiled and replaced it on my N900. Don't forget to make it executable (chmod a+x obexd) again.
My N900 shows PBAP support, but my CarKit does not request it.
I think my CarKit tries the Nokia SyncML Server since I get this error:
Code:
static int SyncEngine::getDeviceType(int, const std::string&): Could not detect peer as computer or phone
static int SyncEngine::getDeviceType(int, const std::string&): from socket: class 0x240408]
static int SyncEngine::getDeviceType(int, const std::string&): from dbus: devclass 0x240408
I understand what that means and I don't think this is a problem: SyncML server only accepts connections from computer or phones. But since the SyncML server is offered via Bluetooth SDP my CarKit tries to use it and doesn't try PBAP. Is there a way to not show (deregister) the SyncML Server?
Where did you get these messages? I'm trying to get my car kit working (Pioneer DEH-P8100BT with some Parrot module in it), and I'd like to try the SyncML approach.

For reference, here's what I've discovered about phonebook interactions so far:

- Nokia symbian phones work fine with this car kit.

- The Nokia symbian phones (at least the ones I've tested, which is the N73 and the E65) do not support PBAP.

- The car kit tries to abuse the handsfree channel and send phonebook access commands there. Again, the Nokia symbian phones do not support this.

- The car kit looks for the IRMCSync profile, and as you might have guessed, the Nokia symbian phones do not support this either.

- What's left is basically the SyncML profile. And since the Symbian phone pops up the sync software when the car kit downloads contacts, this is my best guess as to what's being used.

So the only way I've seen this car kit actually work properly is over SyncML, which is why I'm very interested to get the N900 to work that way.
 
Posts: 36 | Thanked: 11 times | Joined on Dec 2009
#22
Originally Posted by hschmitt View Post
To get rid of SyncML Server in SDP, I think I have to recompile Bluez. There I have to abort adding a SDP record when I recognize the uuid of SyncML Server.
You can actually remove it using sdptool. A lot easier than a recompile.
 

The Following User Says Thank You to Ossman For This Useful Post:
Posts: 36 | Thanked: 11 times | Joined on Dec 2009
#23
Oops, I guess I forgot to detail my PBAP adventures.

I used the patch by hschmitt, and that got the N900 to work very nicely with the pbap-client. Unfortunately no luck with the car kit.

Doing some bluetooth dumps, you can see that the car kit asks for a whole bunch of profiles (it doesn't enumerate, but explicitly asks for a bunch). PBAP is among these, so one can guess that PBAP was at least supposed to be supported in some way.

The car kit does an initial first sweep where it seems to just build a list of available profiles. It later comes back and gets more information about a service when it actually wants to use it (the initial sweep does not get enough info to use the service).

From the dumps, I've only seen it get more info about the Handsfree profile (understandable, as that part works perfectly), but also SyncML. Two things noteworthy here:

- It never gets more info about PBAP. I don't know if this is because there is something about the initial PBAP info it doesn't like, or if some other info is making the kit avoid that method. I'm guess the latter as I can't see any info in the initial PBAP stuff that is unique to the N900 in any way.

- The info it gets about SyncML is insufficient to actually use it. So again, something is making the car kit think it shouldn't be using this approach.
 
Posts: 163 | Thanked: 21 times | Joined on Feb 2010 @ London UK
#24
What car kit is it?
 
Posts: 197 | Thanked: 101 times | Joined on Dec 2009 @ Netherlands
#25
@ossman: how did you do the bluetooth diumps? using the n900?
 
Posts: 50 | Thanked: 21 times | Joined on Oct 2009 @ Helsinki, Finland
#26
Is it possible to download the new obexd-binary from somewhere? I would like to test it against BMW car kit.
 
Posts: 36 | Thanked: 11 times | Joined on Dec 2009
#27
Originally Posted by crsnwby View Post
What car kit is it?
As it said at the top of my entry, it's a Pioneer DEH-B8100BT (a car stereo).
 
Posts: 36 | Thanked: 11 times | Joined on Dec 2009
#28
Originally Posted by mirakels View Post
@ossman: how did you do the bluetooth diumps? using the n900?
Yup. Just change to root and do "hcidump -w somefile".
 
Posts: 33 | Thanked: 8 times | Joined on Dec 2009
#29
Originally Posted by jarmo2 View Post
Is it possible to download the new obexd-binary from somewhere? I would like to test it against BMW car kit.
I would like to test it too. Are you willing to share the bin?
 
Posts: 36 | Thanked: 11 times | Joined on Dec 2009
#30
Here's the binary.

WARNING: This is fairly untested software. Although it probably won't make your device catch fire, it isn't unthinkable that it may cause data loss

Do a backup and move it off the device before even thinking about testing this.
  1. Unzip the file obexd
  2. Transfer the file to the device and store it somewhere under /home/user.
  3. Open a terminal (as the user, not root)
  4. Turn off the normal obexd
    Code:
    $ killall obexd
  5. Go to whatever directory you put the test obexd in
  6. Start the test version
    Code:
    $ ./obexd --nodaemon --opp --ftp --pcsuite --pbap --debug

Reboot the device to get things back to normal
Attached Files
File Type: zip obexd.zip (120.0 KB, 177 views)
 

The Following 4 Users Say Thank You to Ossman For This Useful Post:
Reply

Thread Tools

 
Forum Jump


All times are GMT. The time now is 08:03.