RFComm behaviour with nokia mobiles

Iain Hibbert plunky at rya-online.net
Tue Nov 4 11:17:53 PST 2008


On Tue, 4 Nov 2008, Maksim Yevmenkin wrote:

> could you please run hcidump and see what is going on after you
> connect to the "pc suite" service. some (most/simbian-based?)  nokia
> phones have some sort of the callback mechanism, i.e. pc suite
> connects to the phone service and then immediately disconnects. this
> somehow tells the phone to initiate connection back to the pc on
> serial port service. rfcomm_pppd(8) man page has a little notes on
> that.

It doesn't seem to do that here (dump attached), though its not a symbian
phone. The phone enables encryption and accepts the RFCOMM connection to
channel 15 (dlci 30), then sends some credits and waits. If I send any
data (in this case, pressed return 0x0d) then it disconnects.  I left it a
short while but it didn't try to connect back so I don't know what Nokia
PC Suite service actually would like to hear..

I think the SP service required by Guido might be channel 3 in this case.

iain
-------------- next part --------------
HCI sniffer - Bluetooth packet analyzer ver 1.42-netbt
< HCI Command: Create Connection (0x01|0x0005) plen 13
    bdaddr 00:16:BC:*:*:* ptype 0xcc18 rswitch 0x01 clkoffset 0x06a9
    Packet type: DM1 DM3 DM5 DH1 DH3 DH5 
> HCI Event: Command Status (0x0f) plen 4
    Create Connection (0x01|0x0005) status 0x00 ncmd 1
> HCI Event: Connect Complete (0x03) plen 11
    status 0x00 handle 45 bdaddr 00:16:BC:*:*:* type ACL encrypt 0x00
< HCI Command: Write Link Policy Settings (0x02|0x000d) plen 4
    handle 45 policy 0x07
    Link policy: RSWITCH HOLD SNIFF 
< ACL data: handle 45 flags 0x02 dlen 12
    L2CAP(s): Connect req: psm 3 scid 0x0042
> HCI Event: Number of Completed Packets (0x13) plen 5
    handle 45 packets 1
> HCI Event: Command Complete (0x0e) plen 6
    Write Link Policy Settings (0x02|0x000d) ncmd 1
    status 0x00 handle 45
< HCI Command: Read Clock Offset (0x01|0x001f) plen 2
    handle 45
> HCI Event: Page Scan Repetition Mode Change (0x20) plen 7
    bdaddr 00:16:BC:*:*:* mode 1
> HCI Event: Max Slots Change (0x1b) plen 3
    handle 45 slots 5
> HCI Event: Command Status (0x0f) plen 4
    Read Clock Offset (0x01|0x001f) status 0x00 ncmd 0
> HCI Event: Command Status (0x0f) plen 4
    Unknown (0x00|0x0000) status 0x00 ncmd 1
> HCI Event: Read Clock Offset Complete (0x1c) plen 5
    status 0x00 handle 45 clkoffset 0x06a1
> ACL data: handle 45 flags 0x02 dlen 16
    L2CAP(s): Connect rsp: dcid 0x0040 scid 0x0042 result 0 status 0
      Connection successful
< ACL data: handle 45 flags 0x02 dlen 12
    L2CAP(s): Config req: dcid 0x0040 flags 0x00 clen 0
> ACL data: handle 45 flags 0x02 dlen 16
    L2CAP(s): Config req: dcid 0x0042 flags 0x00 clen 4
      MTU 32772 
< ACL data: handle 45 flags 0x02 dlen 14
    L2CAP(s): Config rsp: scid 0x0040 flags 0x00 result 0 clen 0
      Success
> HCI Event: Number of Completed Packets (0x13) plen 5
    handle 45 packets 1
> HCI Event: Number of Completed Packets (0x13) plen 5
    handle 45 packets 1
> ACL data: handle 45 flags 0x02 dlen 14
    L2CAP(s): Config rsp: scid 0x0042 flags 0x00 result 0 clen 0
      Success
< ACL data: handle 45 flags 0x02 dlen 8
    L2CAP(d): cid 0x0040 len 4 [psm 3]
      RFCOMM(s): SABM: cr 1 dlci 0 pf 1 ilen 0 fcs 0x1c 
> HCI Event: Number of Completed Packets (0x13) plen 5
    handle 45 packets 1
> ACL data: handle 45 flags 0x02 dlen 8
    L2CAP(d): cid 0x0042 len 4 [psm 3]
      RFCOMM(s): UA: cr 1 dlci 0 pf 1 ilen 0 fcs 0xd7 
< ACL data: handle 45 flags 0x02 dlen 18
    L2CAP(d): cid 0x0040 len 14 [psm 3]
      RFCOMM(s): PN CMD: cr 1 dlci 0 pf 0 ilen 10 fcs 0x70 mcc_len 8
      dlci 30 frame_type 0 credit_flow 15 pri 31 ack_timer 0
      frame_size 127 max_retrans 0 credits 7
> HCI Event: Number of Completed Packets (0x13) plen 5
    handle 45 packets 1
> ACL data: handle 45 flags 0x02 dlen 18
    L2CAP(d): cid 0x0042 len 14 [psm 3]
      RFCOMM(s): PN RSP: cr 0 dlci 0 pf 0 ilen 10 fcs 0xaa mcc_len 8
      dlci 30 frame_type 0 credit_flow 14 pri 31 ack_timer 0
      frame_size 127 max_retrans 0 credits 0
< ACL data: handle 45 flags 0x02 dlen 8
    L2CAP(d): cid 0x0040 len 4 [psm 3]
      RFCOMM(s): SABM: cr 1 dlci 30 pf 1 ilen 0 fcs 0x6d 
> HCI Event: Number of Completed Packets (0x13) plen 5
    handle 45 packets 1
> HCI Event: Link Key Request (0x17) plen 6
    bdaddr 00:16:BC:*:*:*
< HCI Command: Link Key Request Reply (0x01|0x000b) plen 22
    bdaddr 00:16:BC:*:*:* key ********************************
> HCI Event: Command Complete (0x0e) plen 10
    Link Key Request Reply (0x01|0x000b) ncmd 1
    status 0x00 bdaddr 00:16:BC:*:*:*
> HCI Event: Encrypt Change (0x08) plen 4
    status 0x00 handle 45 encrypt 0x01
> ACL data: handle 45 flags 0x02 dlen 8
    L2CAP(d): cid 0x0042 len 4 [psm 3]
      RFCOMM(s): UA: cr 1 dlci 30 pf 1 ilen 0 fcs 0xa6 
< ACL data: handle 45 flags 0x02 dlen 13
    L2CAP(d): cid 0x0040 len 9 [psm 3]
      RFCOMM(s): MSC CMD: cr 1 dlci 0 pf 0 ilen 5 fcs 0x70 mcc_len 3
      dlci 30 fc 0 rtc 1 rtr 1 ic 0 dv 1 b1 1 b2 0 b3 0 len 1
> ACL data: handle 45 flags 0x02 dlen 12
    L2CAP(d): cid 0x0042 len 8 [psm 3]
      RFCOMM(s): MSC CMD: cr 0 dlci 0 pf 0 ilen 4 fcs 0xaa mcc_len 2
      dlci 30 fc 0 rtc 1 rtr 1 ic 0 dv 0 b1 1 b2 0 b3 0 len 1
> HCI Event: Number of Completed Packets (0x13) plen 5
    handle 45 packets 1
< ACL data: handle 45 flags 0x02 dlen 12
    L2CAP(d): cid 0x0040 len 8 [psm 3]
      RFCOMM(s): MSC RSP: cr 1 dlci 0 pf 0 ilen 4 fcs 0x70 mcc_len 2
      dlci 30 fc 0 rtc 1 rtr 1 ic 0 dv 0 b1 1 b2 0 b3 0 len 1
> ACL data: handle 45 flags 0x02 dlen 9
    L2CAP(d): cid 0x0042 len 5 [psm 3]
      RFCOMM(d): UIH: cr 0 dlci 30 pf 1 ilen 0 fcs 0x37 credits 10
> ACL data: handle 45 flags 0x02 dlen 12
    L2CAP(d): cid 0x0042 len 8 [psm 3]
      RFCOMM(s): MSC RSP: cr 0 dlci 0 pf 0 ilen 4 fcs 0xaa mcc_len 2
      dlci 30 fc 0 rtc 1 rtr 1 ic 0 dv 1 b1 1 b2 0 b3 0 len 1
> HCI Event: Number of Completed Packets (0x13) plen 5
    handle 45 packets 1
< ACL data: handle 45 flags 0x02 dlen 10
    L2CAP(d): cid 0x0040 len 6 [psm 3]
      RFCOMM(d): UIH: cr 1 dlci 30 pf 1 ilen 1 fcs 0xed credits 25
      0D 
> HCI Event: Number of Completed Packets (0x13) plen 5
    handle 45 packets 1
> ACL data: handle 45 flags 0x02 dlen 8
    L2CAP(d): cid 0x0042 len 4 [psm 3]
      RFCOMM(s): DISC: cr 0 dlci 30 pf 1 ilen 0 fcs 0xed 
< ACL data: handle 45 flags 0x02 dlen 8
    L2CAP(d): cid 0x0040 len 4 [psm 3]
      RFCOMM(s): UA: cr 0 dlci 30 pf 1 ilen 0 fcs 0xc7 
> HCI Event: Number of Completed Packets (0x13) plen 5
    handle 45 packets 1
> ACL data: handle 45 flags 0x02 dlen 8
    L2CAP(d): cid 0x0042 len 4 [psm 3]
      RFCOMM(s): DISC: cr 0 dlci 0 pf 1 ilen 0 fcs 0x9c 
< ACL data: handle 45 flags 0x02 dlen 8
    L2CAP(d): cid 0x0040 len 4 [psm 3]
      RFCOMM(s): UA: cr 0 dlci 0 pf 1 ilen 0 fcs 0xb6 
> HCI Event: Number of Completed Packets (0x13) plen 5
    handle 45 packets 1
< ACL data: handle 45 flags 0x02 dlen 12
    L2CAP(s): Disconn req: dcid 0x0040 scid 0x0042
> ACL data: handle 45 flags 0x02 dlen 12
    L2CAP(s): Disconn req: dcid 0x0042 scid 0x0040
< ACL data: handle 45 flags 0x02 dlen 12
    L2CAP(s): Disconn rsp: dcid 0x0042 scid 0x0040
> HCI Event: Number of Completed Packets (0x13) plen 5
    handle 45 packets 1
> HCI Event: Number of Completed Packets (0x13) plen 5
    handle 45 packets 1
> ACL data: handle 45 flags 0x02 dlen 12
    L2CAP(s): Disconn rsp: dcid 0x0040 scid 0x0042
< HCI Command: Disconnect (0x01|0x0006) plen 3
    handle 45 reason 0x13
    Reason: Remote User Terminated Connection
> HCI Event: Command Status (0x0f) plen 4
    Disconnect (0x01|0x0006) status 0x00 ncmd 1
> HCI Event: Disconn Complete (0x05) plen 4
    status 0x00 handle 45 reason 0x16
    Reason: Connection Terminated by Local Host


More information about the freebsd-bluetooth mailing list