syncEvolution needs you! 8

tl;dr: If you’d like to help improve phone synchronization support, please run the script linked to at the bottom and send me the file it produces so that I can compile a list of supported phones.

As Murray pointed out, I’ve been working on SyncEvolution for the past couple months. Recently I added support for getting reliable phone information using the Bluetooth Device ID Profile (DIP). This data is used to match a Bluetooth phone with suitable syncEvolution configuration templates. In syncEvolution, templates are predefined in order to make setting up a sync session easier and less error-prone.

The problem with using the DIP information is that it’s just a hex number. For this information to be more useful, we need mapping from IDs to names. A list of companies IDs is freely available. For products this is a different story. As each company assigns numbers to its products, there is no centralized list mapping products to their assigned IDs.[1] So, we have to make our own list.

Below is a small python script that checks if your phone supports the Device Id profile and asks you for the model of the phone. It produces a file that you can either attach to, or copy into, an email and send to me (email address is in file). Oh, and don’t forget to turn on your phone’s bluetooth. ;)

Bluetooth Device ID Inspector

Thanks!

[1] If anyone has device ID to product name mappings for a particular manufacturer we’d be grateful to have this info.

8 thoughts on “syncEvolution needs you!

  1. Reply vudentz Sep 22, 2011 00:56

    I think we can probably have the vendor id and product id as properties in the device object if that makes sense to you, that way application just use GetProperties and that would return VendorID and ProductID if they are available.

  2. Reply vudentz Sep 22, 2011 00:59

    Btw, in case it was not clear, Im talking about BlueZ/bluetoothd parsing the DIP record.

  3. Reply Chris Sep 22, 2011 02:51

    Yes, that would be convenient but I doubt the DIP is wide spread enough to warrant that. There is actually code to parse the DIP record in the BlueZ repository. It’s found in the BlueZ sdp code I believe.

  4. Reply vudentz Sep 22, 2011 03:28

    Hi Chris,

    Yep, Im one of the developers of BlueZ, I did ask about the convenience of having those as properties since we already parse the records, in fact we even store this persistently so we can quickly give you back this information without having to be connected.

  5. Reply Dinesh Sep 22, 2011 07:23

    Hi Chris,

    Also, i have access to a couple of nokia S60 and S40 phones…….. which already work well with the default templates. Do you still want the info for them???

  6. Reply Roumano Sep 22, 2011 10:46

    I was try to run the script but it’s doesn’t run due to missing bluez :
    File “/usr/lib64/python2.7/site-packages/dbus/connection.py”, line 630, in call_blocking
    message, timeout)
    dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name org.bluez was not provided by any .service files

    So i was install the pybluez but same problem , any idea why ? (pythonpath missing or something like that ?

    >>> Merging dev-python/pybluez-0.18 to /
    — /usr/
    — /usr/share/
    — /usr/share/doc/
    >>> /usr/share/doc/pybluez-0.18/
    >>> /usr/share/doc/pybluez-0.18/CHANGELOG.bz2
    >>> /usr/share/doc/pybluez-0.18/README.bz2
    — /usr/lib64/
    — /usr/lib64/python2.7/
    — /usr/lib64/python2.7/site-packages/
    >>> /usr/lib64/python2.7/site-packages/bluetooth/
    >>> /usr/lib64/python2.7/site-packages/bluetooth/osx.py
    >>> /usr/lib64/python2.7/site-packages/bluetooth/bluez.py
    >>> /usr/lib64/python2.7/site-packages/bluetooth/_bluetooth.so
    >>> /usr/lib64/python2.7/site-packages/bluetooth/__init__.py
    >>> /usr/lib64/python2.7/site-packages/bluetooth/btcommon.py
    >>> /usr/lib64/python2.7/site-packages/bluetooth/widcomm.py
    >>> /usr/lib64/python2.7/site-packages/bluetooth/msbt.py
    >>> /usr/lib64/python2.7/site-packages/PyBluez-0.18-py2.7.egg-info
    * Compilation and optimization of Python modules for CPython 2.7 … [ ok ]
    >>> dev-python/pybluez-0.18 merged.
    >>> Regenerating /etc/ld.so.cache…

  7. Reply Chris Sep 22, 2011 11:49

    @4vudentz: That would be great. We’d love to be able to get that info without having to parse the record ourself.

    @Dinesh: Yes, please. I don’t currently have the ids for those phones. Previously we were using the Device name to match the phone with the template. This is not reliable however because it’s user-modifiable. So even though it worked fine for you it may not be auto-matched for ppl who change the device names on their phones

    @Roumano: For this script to run you only need the python dbus binding and a Bluez service. It says there is no Bluez service available which would hint to not having Bluez installed. You can use a program like d-feet to see if Bluez shows up on the system bus.

  8. Reply Anonymous Sep 23, 2011 11:05

    For the case of devices which can run syncEvolution directly, could syncEvolution detect the device it runs *on* and choose an appropriate profile?

Leave a Reply