Reply
Thread Tools
Posts: 50 | Thanked: 21 times | Joined on Oct 2009 @ Helsinki, Finland
#31
I tried the new version with BMW car kit and got following results.

obex_write_stream: name=telecom/pb.vcf type=x-bt/phonebook tx_mtu=7736 file=0x34540
PROGRESS(0x0), GET(0x3), (null)(0x0)
UNEXPECTED(0xa), (null)(0x10), (null)(0x0)
STREAMEMPTY(0x8), CONNECT(0x0), (null)(0x0)

Nothing is transferred, but looks like pbap is used and initial handshake is ok.
 

The Following User Says Thank You to jarmo2 For This Useful Post:
Posts: 50 | Thanked: 21 times | Joined on Oct 2009 @ Helsinki, Finland
#32
This is the beginning of pbap-session wirh BMW

Loading builtin plugins
driver 0x25610 mimetype x-obex/folder-listing registered
driver 0x25634 mimetype x-obex/capability registered
driver 0x25658 mimetype (null) registered
Plugin filesystem loaded
driver 0x25688 service Object Push server registered
Plugin opp loaded
driver 0x256d0 service File Transfer server registered
driver 0x2570c service Nokia OBEX PC Suite Services registered
Plugin ftp loaded
driver 0x25790 mimetype x-bt/phonebook registered
driver 0x257b4 mimetype x-bt/vcard-listing registered
driver 0x257d8 mimetype x-bt/vcard registered
driver 0x25754 service Phonebook Access server registered
Plugin pbap loaded
driver 0x25808 service OBEX server for SyncML, using SyncEvolution registered
Plugin syncevolution loaded
Loading plugins /usr/lib/obex/plugins
FindAdapter(any)
Registered: Object Push server, handle: 0x10006, folder: /tmp
Registered: File Transfer server, handle: 0x10007, folder: /tmp
Registered: Phonebook Access server, handle: 0x10008, folder: (null)
Registered: Nokia OBEX PC Suite Services, handle: 0x10009, folder: /tmp
New connection from: 00:1C:12:XX:XX:XX, channel 15
FindAdapter(C0:38:F9:YY:YY:YY)
FindAdapter -> /org/bluez/891/hci0
RequestAuthorization(00:1C:12:XX:XX:XX, 10008)
RequestAuthorization succeeded
REQHINT(0x1), CONNECT(0x0), (null)(0x0)
REQ(0x2), CONNECT(0x0), (null)(0x0)
Version: 0x10. Flags: 0x00 OBEX packet length: 7936
Resizing stream chunks to 7736
Selected driver: Phonebook Access server
REQDONE(0x3), CONNECT(0x0), (null)(0x0)
REQHINT(0x1), SETPATH(0x5), (null)(0x0)
REQ(0x2), SETPATH(0x5), (null)(0x0)
phonebook_set_folder: phonebook_set_folder flag=0x2 cur=/ new= root=true child=false

REQDONE(0x3), SETPATH(0x5), (null)(0x0)
REQHINT(0x1), SETPATH(0x5), (null)(0x0)
REQ(0x2), SETPATH(0x5), (null)(0x0)
Set path name: telecom
phonebook_set_folder: phonebook_set_folder flag=0x2 cur=/ new=telecom root=true child=true

REQDONE(0x3), SETPATH(0x5), (null)(0x0)
REQHINT(0x1), SETPATH(0x5), (null)(0x0)
REQ(0x2), SETPATH(0x5), (null)(0x0)
Set path name: mch
phonebook_set_folder: phonebook_set_folder flag=0x2 cur=/telecom new=mch root=false child=true

REQDONE(0x3), SETPATH(0x5), (null)(0x0)
REQHINT(0x1), SETPATH(0x5), (null)(0x0)
REQ(0x2), SETPATH(0x5), (null)(0x0)
Set path name: ich
phonebook_set_folder: phonebook_set_folder flag=0x2 cur=/telecom new=ich root=false child=true

REQDONE(0x3), SETPATH(0x5), (null)(0x0)
REQHINT(0x1), SETPATH(0x5), (null)(0x0)
REQ(0x2), SETPATH(0x5), (null)(0x0)
Set path name: cch
phonebook_set_folder: phonebook_set_folder flag=0x2 cur=/telecom new=cch root=false child=true

REQDONE(0x3), SETPATH(0x5), (null)(0x0)
REQHINT(0x1), SETPATH(0x5), (null)(0x0)
REQ(0x2), SETPATH(0x5), (null)(0x0)
Set path name: och
phonebook_set_folder: phonebook_set_folder flag=0x2 cur=/telecom new=och root=false child=true

REQDONE(0x3), SETPATH(0x5), (null)(0x0)
REQHINT(0x1), SETPATH(0x5), (null)(0x0)
REQ(0x2), SETPATH(0x5), (null)(0x0)
Set path name: pb
phonebook_set_folder: phonebook_set_folder flag=0x2 cur=/telecom new=pb root=false child=true

REQDONE(0x3), SETPATH(0x5), (null)(0x0)
REQHINT(0x1), SETPATH(0x5), (null)(0x0)
REQ(0x2), SETPATH(0x5), (null)(0x0)
phonebook_set_folder: phonebook_set_folder flag=0x2 cur=/telecom/pb new= root=false child=false

REQDONE(0x3), SETPATH(0x5), (null)(0x0)
REQHINT(0x1), SETPATH(0x5), (null)(0x0)
REQ(0x2), SETPATH(0x5), (null)(0x0)
Set path name: SIM1
phonebook_set_folder: phonebook_set_folder flag=0x2 cur=/telecom/pb new=SIM1 root=false child=true

REQDONE(0x3), SETPATH(0x5), (null)(0x0)
REQHINT(0x1), SETPATH(0x5), (null)(0x0)
REQ(0x2), SETPATH(0x5), (null)(0x0)
phonebook_set_folder: phonebook_set_folder flag=0x2 cur=/telecom/pb new= root=false child=false

REQDONE(0x3), SETPATH(0x5), (null)(0x0)
REQHINT(0x1), GET(0x3), (null)(0x0)
REQ(0x2), GET(0x3), (null)(0x0)
OBEX_HDR_NAME: telecom/pb.vcf
OBEX_HDR_TYPE: x-bt/phonebook
query_result: pbap query returned str-size=506007 contacts=177, missed=0

STREAMEMPTY(0x8), CONNECT(0x0), (null)(0x0)
obex_write_stream: name=telecom/pb.vcf type=x-bt/phonebook tx_mtu=7736 file=0x34540
STREAMEMPTY(0x8), CONNECT(0x0), (null)(0x0)
obex_write_stream: name=telecom/pb.vcf type=x-bt/phonebook tx_mtu=7736 file=0x34540
PROGRESS(0x0), GET(0x3), (null)(0x0)
UNEXPECTED(0xa), (null)(0x10), (null)(0x0)
STREAMEMPTY(0x8), CONNECT(0x0), (null)(0x0)
obex_write_stream: name=telecom/pb.vcf type=x-bt/phonebook tx_mtu=7736 file=0x34540
PROGRESS(0x0), GET(0x3), (null)(0x0)
UNEXPECTED(0xa), (null)(0x10), (null)(0x0)
STREAMEMPTY(0x8), CONNECT(0x0), (null)(0x0)
obex_write_stream: name=telecom/pb.vcf type=x-bt/phonebook tx_mtu=7736 file=0x34540
PROGRESS(0x0), GET(0x3), (null)(0x0)
UNEXPECTED(0xa), (null)(0x10), (null)(0x0)
STREAMEMPTY(0x8), CONNECT(0x0), (null)(0x0)
obex_write_stream: name=telecom/pb.vcf type=x-bt/phonebook tx_mtu=7736 file=0x34540
PROGRESS(0x0), GET(0x3), (null)(0x0)
UNEXPECTED(0xa), (null)(0x10), (null)(0x0)
STREAMEMPTY(0x8), CONNECT(0x0), (null)(0x0)
 

The Following User Says Thank You to jarmo2 For This Useful Post:
Posts: 36 | Thanked: 11 times | Joined on Dec 2009
#33
Originally Posted by Ossman View Post
- 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.
I misread the dump. The kit actually connects to the SyncML stuff, but the N900 doesn't respond. I guess it's the same issue as found earlier in the thread.

From what I understand, the built-in SyncML stuff is proprietary, so we can't do much about that. Has anyone played with using syncevolution to replace the Nokia stuff?
 
Posts: 159 | Thanked: 122 times | Joined on Nov 2009
#34
Originally Posted by Ossman View Post
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.

...
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.
This was logged to /var/log/syslog. It occurs everytime my Parrot MK6000 and the N900 connect using the original obexd. When I remove the SyncML Server and Client from SDP it does not occur.
I think the the SyncML lib checks the device class from the car kit's bluetooth address and rejects other classes than PC or Mobil.
The next problem is that this code is in closed source libs.
 
Posts: 36 | Thanked: 11 times | Joined on Dec 2009
#35
Originally Posted by hschmitt View Post
This was logged to /var/log/syslog. It occurs everytime my Parrot MK6000 and the N900 connect using the original obexd. When I remove the SyncML Server and Client from SDP it does not occur.
I think the the SyncML lib checks the device class from the car kit's bluetooth address and rejects other classes than PC or Mobil.
The next problem is that this code is in closed source libs.
Yeah, I'm hoping syncevolution can replace that crud so that we can get a general SyncML solution.

Does your Parrot kit continue to the PBAP stuff without SyncML though? Got a hcidump to share? It would be nice to compare behaviours with my kit.

Also, have you talked to the Parrot guys? They have a form for technical contacts, but unfortunately they couldn't help me out with the OEM modules.
 
Posts: 159 | Thanked: 122 times | Joined on Nov 2009
#36
Originally Posted by Ossman View Post
Yeah, I'm hoping syncevolution can replace that crud so that we can get a general SyncML solution.

Does your Parrot kit continue to the PBAP stuff without SyncML though? Got a hcidump to share? It would be nice to compare behaviours with my kit.

Also, have you talked to the Parrot guys? They have a form for technical contacts, but unfortunately they couldn't help me out with the OEM modules.
I haven't worked with hcidump. But syslog did not show that PBAP was queried after I removed SyncML profiles. What should be in hcidump when it is asked for PBAP?

The German support said, that he forward my question to developers, but that was 2 weeks ago and my email from Friday is not answered till now.
 
Posts: 36 | Thanked: 11 times | Joined on Dec 2009
#37
Originally Posted by hschmitt View Post
I haven't worked with hcidump. But syslog did not show that PBAP was queried after I removed SyncML profiles. What should be in hcidump when it is asked for PBAP?

The German support said, that he forward my question to developers, but that was 2 weeks ago and my email from Friday is not answered till now.
This is how hcidump looks with my car kit:
  1. First it scans through the profiles and checks for PBAP:
    Code:
    > ACL data: handle 11 flags 0x02 dlen 18
        L2CAP(d): cid 0x0040 len 14 [psm 1]
            SDP SS Req: tid 0x100 len 0x9
              pat uuid-16 0x112f (PBAP PSE)
              max 5
              cont 00
    < ACL data: handle 11 flags 0x02 dlen 18
        L2CAP(d): cid 0x0040 len 14 [psm 1]
            SDP SS Rsp: tid 0x100 len 0x9
              count 1
              handle 0x10008
              cont 00
    > ACL data: handle 11 flags 0x02 dlen 22
        L2CAP(d): cid 0x0040 len 18 [psm 1]
            SDP SA Req: tid 0x100 len 0xd
              handle 0x10008
              max 256
              aid(s) 0x0009 (BTProfileDescList)
              cont 00
    < ACL data: handle 11 flags 0x02 dlen 27
        L2CAP(d): cid 0x0040 len 23 [psm 1]
            SDP SA Rsp: tid 0x100 len 0x12
              count 15
              aid 0x0009 (BTProfileDescList)
                 < < uuid-16 0x1130 (PBAP) uint 0x100 > >
              cont 00
    The above checks for the existence of the PBAP profile and what version the device supports (1.0).
  2. At some point later it should be asking for the protocol specifics of that profile (which RFCOMM channel primarily). This is how it looks for the Handsfree profile:
    Code:
    > ACL data: handle 11 flags 0x02 dlen 24
        L2CAP(d): cid 0x0040 len 20 [psm 1]
            SDP SSA Req: tid 0x100 len 0xf
              pat uuid-16 0x111f (Handsfree AG)
              max 256
              aid(s) 0x0004 (ProtocolDescList)
              cont 00
    < ACL data: handle 11 flags 0x02 dlen 33
        L2CAP(d): cid 0x0040 len 29 [psm 1]
            SDP SSA Rsp: tid 0x100 len 0x18
              count 21
              record #0
                  aid 0x0004 (ProtocolDescList)
                     < < uuid-16 0x0100 (L2CAP) > <
                     uuid-16 0x0003 (RFCOMM) uint 0xd > >
              cont 00
    No such request is ever seen from my kit for the PBAP profile though.
 
Posts: 197 | Thanked: 101 times | Joined on Dec 2009 @ Netherlands
#38
I played with the hcidump and new obexd and figured my citroen carkit does not PBAP whatever... But in the hcidump log see
Code:
> ACL data: handle 11 flags 0x01 dlen 5
    L2CAP(d): cid 0x0040 len 18 [psm 1]
        SDP SA Req: tid 0x100 len 0xd
          handle 0x10001
          max 256
          aid(s) 0x0311 (SuppFeatures)
          cont 00
< ACL data: handle 11 flags 0x02 dlen 20
    L2CAP(d): cid 0x0040 len 16 [psm 1]
        SDP SA Rsp: tid 0x100 len 0xb
          count 8
          aid 0x0311 (SuppFeatures)
             uint 0xb
          cont 00
> HCI Event: Number of Completed Packets (0x13) plen 5
    handle 11 packets 2
> ACL data: handle 11 flags 0x02 dlen 17
> ACL data: handle 11 flags 0x01 dlen 1
    L2CAP(d): cid 0x0040 len 14 [psm 1]
        SDP SS Req: tid 0x100 len 0x9
          pat uuid-16 0x1112 (Headset AG)
          max 5
          cont 00
< ACL data: handle 11 flags 0x02 dlen 18
    L2CAP(d): cid 0x0040 len 14 [psm 1]
        SDP SS Rsp: tid 0x100 len 0x9
          count 1
          handle 0x10000
          cont 00
> ACL data: handle 11 flags 0x02 dlen 17
> ACL data: handle 11 flags 0x01 dlen 5
    L2CAP(d): cid 0x0040 len 18 [psm 1]
        SDP SA Req: tid 0x100 len 0xd
          handle 0x10000
          max 256
          aid(s) 0x0000 (SrvRecHndl)
          cont 00
< ACL data: handle 11 flags 0x02 dlen 22
    L2CAP(d): cid 0x0040 len 18 [psm 1]
        SDP SA Rsp: tid 0x100 len 0xd
          count 10
          aid 0x0000 (SrvRecHndl)
             uint 0x10000
          cont 00
> HCI Event: Number of Completed Packets (0x13) plen 5
    handle 11 packets 2
> ACL data: handle 11 flags 0x02 dlen 17
> ACL data: handle 11 flags 0x01 dlen 1
    L2CAP(d): cid 0x0040 len 14 [psm 1]
        SDP SS Req: tid 0x100 len 0x9
          pat uuid-16 0x1104 (IRMCSync)
          max 5
          cont 00
< ACL data: handle 11 flags 0x02 dlen 14
    L2CAP(d): cid 0x0040 len 10 [psm 1]
        SDP SS Rsp: tid 0x100 len 0x5
          count 0
          cont 00
> ACL data: handle 11 flags 0x02 dlen 17
> ACL data: handle 11 flags 0x01 dlen 15
    L2CAP(d): cid 0x0040 len 28 [psm 1]
        SDP SS Req: tid 0x100 len 0x17
          pat uuid-128 00005001-0000-1000-8000-0002ee000001
          max 5
          cont 00
< ACL data: handle 11 flags 0x02 dlen 14
    L2CAP(d): cid 0x0040 len 10 [psm 1]
        SDP SS Rsp: tid 0x100 len 0x5
          count 0
          cont 00
> HCI Event: Number of Completed Packets (0x13) plen 5
    handle 11 packets 2
So it looks like my carkit only supports IRMCSync.

Is there an IrMC sync server that we can use on the n900?
 
Posts: 356 | Thanked: 172 times | Joined on Jan 2010 @ Canada
#39
Originally Posted by mikkov View Post
More information about PBAP here https://bugs.maemo.org/show_bug.cgi?id=6368

It appears that sending contacst as vcards to car kit works in some cases.
This has worked perfectly for me.

I was pretty hacked off when I found out about it not supporting PBAP, but as soon as I started sending vCards to my car, I realized why I didn't care anymore -- sending the vCard to the car (or at least my car) allows you to record voice-dialing prompts, which we know the N900 also doesn't support.

So not only does sending the vCard enable voice-dialing, but it also lets me know who's calling just fine when a call comes in. It's not quite as convenient as having the car read the most current version of my contacts directly from the phone, but the trade-off is well worth it IMO.
 
Posts: 36 | Thanked: 11 times | Joined on Dec 2009
#40
Originally Posted by mirakels View Post
So it looks like my carkit only supports IRMCSync.

Is there an IrMC sync server that we can use on the n900?
Doesn't seem to be any open source IrMC sync servers available. My kit does support IrMC as well though, so I'm thinking of trying to get some support into obexd and see if that works.
 
Reply


 
Forum Jump


All times are GMT. The time now is 07:59.