Editing Bluetooth PBAP

Warning: You are not logged in. Your IP address will be recorded in this page's edit history.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
'''Original page for older versions of obexd was moved to [[Bluetooth PBAP pre 0.46]]'''
'''Original page for older versions of obexd was moved to [[Bluetooth PBAP pre 0.46]]'''
-
 
+
The following is based on two threads on talk.maemo.org:
-
The following is based on two threads on talk.maemo.org and can be applied only on '''obexd version 0.46''' (and maybe later):
+
* [http://talk.maemo.org/showthread.php?t=36272 "Car kit can not access contact information"]
* [http://talk.maemo.org/showthread.php?t=36272 "Car kit can not access contact information"]
Line 47: Line 46:
(Note: Carkits older than 2007 probably do NOT support PBAP)
(Note: Carkits older than 2007 probably do NOT support PBAP)
-
==''' Known issues / problems '''==
+
== Current Project Status: ==
 +
 
 +
===''' Known issues / problems '''===
* Sometimes contacts synced from other devices (e.g. using PC Suite) with special characters in names/details are not transferred (correctly). Recreating these contacts on your N900 ''should'' solve this issue. - ''I don't know if this is still valid. Please report it if this problem persist''
* Sometimes contacts synced from other devices (e.g. using PC Suite) with special characters in names/details are not transferred (correctly). Recreating these contacts on your N900 ''should'' solve this issue. - ''I don't know if this is still valid. Please report it if this problem persist''
-
* MAP implementation in N900 doesn't support neither notifications nor the push methods yet
+
* MAP implemantation in N900 doesn't support neither notifications not the push methods yet
==''' Installation Guide '''==
==''' Installation Guide '''==
Line 61: Line 62:
* Multiple phone numbers per contact
* Multiple phone numbers per contact
* Skip SIM contact requests (means contacts are not shown twice)
* Skip SIM contact requests (means contacts are not shown twice)
-
* vCards are separated correctly with CRLF between END:VCARD and BEGIN:VCARD.
+
* vCards are separated correctly with CRLF between ENV:VCARD and BEGIN:VCARD.
=== CSSU-testing (the easiest way) ===
=== CSSU-testing (the easiest way) ===
-
please add correct version number of CSSU-T, or at very least date, so reader has a chance to decide if the info is still valid
+
 
Unfortunately obexd 0.46 isn't in stable branch of CSSU so you can obtain it easily only from CSSU-testing. Please read carefully CSSU information and follow CSSU installation instructions if you want to obtain obexd. You can find all neccesary information on [http://wiki.maemo.org/Community_SSU CSSU page]
Unfortunately obexd 0.46 isn't in stable branch of CSSU so you can obtain it easily only from CSSU-testing. Please read carefully CSSU information and follow CSSU installation instructions if you want to obtain obexd. You can find all neccesary information on [http://wiki.maemo.org/Community_SSU CSSU page]
Line 70: Line 71:
* CSSU-T has longer release cycle so it doesn't contain the newest version.
* CSSU-T has longer release cycle so it doesn't contain the newest version.
* There is no map support in latest CSSU-T
* There is no map support in latest CSSU-T
-
* It contains configuration bug which prevents synchronize contacts using SyncML over BT. You need to disable ''syncevolution'' plugin to fix the problem (see below in Configuration chapter).
+
* It contains configuration bug which prevents synchronize contacts using SyncML over BT. You need to disable ''syncevolution'' plugin to fix the problem (see below).
-
* The last known issue in CSSU-T is missing dependency (only affects call history feature). You need to install ''rtcom-eventlogger-async'' package (using HAM or apt).
+
* The last known issue in CSSU-T is missing dependency (only affects call history feature). You need to install ''rtcom-eventlogger-async'' package (using HAM or FAP or apt).
=== Manual installation ===
=== Manual installation ===
Line 77: Line 78:
This needs using command line (e.g. xterm).
This needs using command line (e.g. xterm).
-
* Download following packages (version of your choice - recommended is the latest one) from [http://merlin1991.at/~luf/obexd/ http://merlin1991.at/~luf/obexd/]:
+
==== Step 1 ====
-
** obexd
+
-
** librtcom-eventlogger1-async
+
-
** rtcom-eventlogger-async (even if a car kit asks for call history, the N900 won't reply if this package is missing, so no call history would be transferred)
+
-
** evolution-data-server-addressbook *)
+
-
** libebook *)
+
-
** libedata-book *)
+
-
** libedataserver *)
+
-
*: ''*) It's recommended to also upgrade evolution-data-server to avoid empty vcard fields.''
+
-
* Place them in a folder on the N900, say <code>/home/user/mypackages</code>
+
Donwload following packages (version of your choise) from [http://merlin1991.at/~luf/obexd]:
 +
* obexd
 +
* librtcom-eventlogger1-async
 +
* rtcom-eventlogger-async
 +
* evolution-data-server-addressbook *)
 +
* libebook *)
 +
* libedata-book *)
 +
* libedataserver *)
 +
*) ''It's recommended to also upgrade evolution-data-server to avoid empty vcard fields.''
 +
 
 +
==== Step 2 ====
 +
 
 +
Place them in a folder on the N900, say <code>/home/user/mypackages</code>
 +
 
 +
==== Step 3 ====
 +
 
 +
As root run (replace /home/user/mypackages with the path to the folder where you placed the files):
-
* As root run (replace /home/user/mypackages with the path to the folder where you placed the files):
 
<source lang="bash">
<source lang="bash">
cd /home/user/mypackages
cd /home/user/mypackages
dpkg -i *.deb</source>
dpkg -i *.deb</source>
-
* Reboot the phone.
+
==== Step 4 ====
 +
Reboot the phone.
Test and ENJOY - hopefully ;-)
Test and ENJOY - hopefully ;-)
'''-> Please share your results !!!'''
'''-> Please share your results !!!'''
-
 
-
== Configuration ==
 
-
 
-
This is handy for some configuration fixes and debugging.
 
-
 
-
 
-
The obexd is started under user '''user''' using D-Bus (no idea why because it doesn't restart when fail). So the command to start is defined in:
 
-
 
-
/usr/share/dbus-1/services/obexd.service
 
-
 
-
<source lang="properties">
 
-
[D-BUS Service]
 
-
Name=org.openobex
 
-
Exec=/usr/lib/obex/obexd --nodaemon --noplugin=mas,syncevolution --symlinks --root .obex-root --root-setup /usr/bin/obex-root-setup --capability '!/usr/bin/gen-obex-capability.sh'
 
-
</source>
 
-
 
-
: ''Note: this is fixed version for CSSU-T version of obexd''
 
-
 
-
 
-
<source lang="properties">
 
-
[D-BUS Service]
 
-
Name=org.openobex
 
-
Exec=/usr/lib/obex/obexd --nodaemon --debug='*' --noplugin=syncevolution --symlinks --root .obex-root --root-setup /usr/bin/obex-root-setup --capability '!/usr/bin/gen-obex-capability.sh'
 
-
</source>
 
-
 
-
: ''Note: this is for debugging due to some troubleshooting or recognizing what Profile is used (PBAP or IrMC)''
 
-
 
-
 
-
Some useful arguments:
 
-
<source lang="bash">
 
-
  -d, --debug=DEBUG          Enable debug information output
 
-
  -P, --noplugin=NAME,...    Specify plugins not to load
 
-
</source>
 
-
: ''The most used DEBUG is '*' (--debug='*') to debug everything''
 
-
:* ''plugin names:''
 
-
:** ''ftp - File Transfer Profile for exchanging files''
 
-
:** ''irmc - IrMC profile for synchronizing contacts and call history''
 
-
:** ''map - Message Access Profile for SMS''
 
-
:** ''opp - Object Push Profile for pushing file to the N900''
 
-
:** ''pbap - Phone Book Access Profile for contacts and call history''
 
-
:** ''pcsuite - Nokia PC Suite services''
 
-
:** ''syncevolution - SyncML obex profile conflicting with nokia SyncML'' - should be disabled
 
-
 
-
 
-
All possibilities:
 
-
<source lang="bash">
 
-
$ /usr/lib/obex/obexd --help
 
-
Usage:
 
-
  obexd [OPTION...]
 
-
 
-
Help Options:
 
-
  -?, --help                  Show help options
 
-
 
-
Application Options:
 
-
  -n, --nodaemon              Do not run as daemon in background
 
-
  -d, --debug=DEBUG          Enable debug information output
 
-
  -r, --root=PATH            Specify root folder location. Both absolute and relative can be used, but relative paths are assumed to be relative to user $HOME folder
 
-
  -S, --root-setup=SCRIPT    Root folder setup script
 
-
  -l, --symlinks              Allow symlinks leading outside of the root folder
 
-
  -c, --capability=FILE      Specify capability file, use '!' mark for scripts
 
-
  -a, --auto-accept          Automatically accept push requests
 
-
  -p, --plugin=NAME,...      Specify plugins to load
 
-
  -P, --noplugin=NAME,...    Specify plugins not to load
 
-
</source>
 
== Troubleshooting ==
== Troubleshooting ==
-
You should obtain debug log using syslog and also you can sniff the communication using hcidump.
+
For troubleshooting install and use hcidump and/or syslog
-
 
+
-
=== Get debug messages ===
+
-
 
+
-
For obtain debug information you need to enable obexd syslog debugging messages:
+
-
 
+
-
# Install sysklogd package. As root run <source lang="bash">apt-get install sysklogd</source>
+
-
#* Temporary:
+
-
#*# Kill running obexd process. As user run <source lang="bash">killall obexd</source>
+
-
#*# Get the necessary command line from file ''/usr/share/dbus-1/services/obexd.service'', line "Exec=" (only the part behind Exec=) -> it's probably best to put it in a shell script, this also enables you to quickly switch between f.e. IrMC and PBAP test cases using dedicated scripts
+
-
#*# Restart obexd with enabled debug option as user. You need to add ''--debug='*' '' (see Configuration chapter for example)
+
-
#* Permanent till next upgrade of obexd:
+
-
#*# Add the ''--debug='*' '' option into the ''/usr/share/dbus-1/services/obexd.service'' file (see Configuration chapter for example)
+
-
#*# Reboot N900
+
-
# Make you test case
+
-
# Get the debug from syslog
+
-
#* syslogd will create a file <code>/var/log/syslog</code>
+
-
#* After your test copy this file to some other location (do not delete the original) and edit out the relevant part
+
-
# Uninstall sysklogd package. As root run <source lang="bash">apt-get remove sysklogd</source>
+
-
=== Get the communication dump ===
+
=== Download and install hcidump ===
    
    
First you need to add the developer repository, see [[Documentation/devtools/maemo5#Installation the devtools installation instructions]].
First you need to add the developer repository, see [[Documentation/devtools/maemo5#Installation the devtools installation instructions]].
Line 212: Line 139:
right before turning your head unit/car on. Then, do what you would normally do to get contacts to show up and wait for it to finish/fail. Then, press ctrl+c on the phone to exit hcidump. Finally, you can view the output/dump file with Wireshark or upload your dump files so we can see what's going on.
right before turning your head unit/car on. Then, do what you would normally do to get contacts to show up and wait for it to finish/fail. Then, press ctrl+c on the phone to exit hcidump. Finally, you can view the output/dump file with Wireshark or upload your dump files so we can see what's going on.
-
'''-> Please share your results !!!'''
+
'''-> Please share your results !!!
 +
'''
 +
 
 +
=== Install syslogd and enable obexd debug option ===
 +
 
 +
For further troubleshooting information you may also want to try to enable obexd syslog debugging messages:
 +
 
 +
Step 1)
 +
Install syslogd. As root run <source lang="bash">apt-get install sysklogd</source>
 +
Step 2)
 +
Kill running obexd process. As root run <source lang="bash">killall obexd</source>
 +
Step 3)
 +
Restart obexd with enabled debug option. As root run:<source lang="bash">/usr/lib/obex/obexd --debug --opp --ftp --pcsuite --pbap --symlinks --root .obex-root --root-setup /usr/bin/obex-root-setup --capability !/usr/bin/gen-obex-capability.sh</source>
 +
OR
 +
 
 +
Add the '''--debug''' option
 +
in the ''/usr/share/dbus-1/services/obexd2.service'' file (for example just before the --nodaemon option).
 +
 
 +
Step 4)
 +
 
 +
Sysklogd will create a file <code>/var/log/syslog</code>
 +
 
 +
After your test copy this file to some other location (do not delete the original) and edit out the relevant part and post it [http://talk.maemo.org/showthread.php?t=59114 here].
== Downgrade to Original State ==
== Downgrade to Original State ==
Line 277: Line 226:
* BMW X1 -2010- (E84)
* BMW X1 -2010- (E84)
* BMW X5 -2007- (E70)
* BMW X5 -2007- (E70)
-
 
-
* BMW 3 Series -2012- (E92) - All works, except transfering photo contact.
 
=====Chrysler=====
=====Chrysler=====
Line 317: Line 264:
=====Lexus=====
=====Lexus=====
* IS 220d -2011-
* IS 220d -2011-
-
 
-
=====Mahindra and Mahindra=====
 
-
XUV 5OO (Only phone book Not call logs and SMS)
 
=====Mercedes=====
=====Mercedes=====
-
* Mercedes S-class    W 221 provided with entertainment/dialog system (standard equipment)
 
* Mercedes E-class > 09/2010- Audio 50 APS
* Mercedes E-class > 09/2010- Audio 50 APS
* Mercedes E-class > 09/2010- Audio 20
* Mercedes E-class > 09/2010- Audio 20
Line 336: Line 279:
=====Opel=====
=====Opel=====
* Insignia -2009- DVD800 (Same as [http://wiki.maemo.org/Bluetooth_PBAP#Vauxhall Vauxhall])
* Insignia -2009- DVD800 (Same as [http://wiki.maemo.org/Bluetooth_PBAP#Vauxhall Vauxhall])
-
* Zafira B -2010- CD 30 MP3
 
=====Peugeot=====
=====Peugeot=====
Line 344: Line 286:
* Peugeot 5008 -2010- Connect Nav carkit
* Peugeot 5008 -2010- Connect Nav carkit
* Peugeot 407SW 2008
* Peugeot 407SW 2008
-
* Peugeot 208 active eHDi 2012
 
=====Renault=====
=====Renault=====
Line 385: Line 326:
====Stand alone devices:====
====Stand alone devices:====
=====Alpine=====
=====Alpine=====
-
* Alpine CDE-103BT (has an inbuilt Parrot module)
+
* Alpine CDE-103BT (has an inbuilt parrot module)  
-
* Alpine CDA-137BTi (has an inbuilt Parrot Bluetooth Plus module) (FW 1.14) (no PB sync over PBAP, use IrMC!)
+
=====Blaupunkt=====
=====Blaupunkt=====
Line 434: Line 374:
* Pioneer DEH-7300BT
* Pioneer DEH-7300BT
* Pioneer MVH-8200BT
* Pioneer MVH-8200BT
-
* Pioneer AVH-X5800DAB
 
=====Sony=====
=====Sony=====
Line 447: Line 386:
====Stand alone devices:====
====Stand alone devices:====
-
* Alpine CDA-137BTi (has an inbuilt Parrot Bluetooth Plus module) (FW 1.14) (no PB sync over PBAP, use IrMC!)
 
* Kenwood DNX6140
* Kenwood DNX6140
* Parrot MK6000
* Parrot MK6000
-
* Supertooth Voice
 
[[Category:N900]]
[[Category:N900]]
[[Category:Bluetooth]]
[[Category:Bluetooth]]

Learn more about Contributing to the wiki.


Please note that all contributions to maemo.org wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see maemo.org wiki:Copyrights for details). Do not submit copyrighted work without permission!


Cancel | Editing help (opens in new window)