Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 Aug 2006 16:44:03 +0400
From:      Andrew Belashov <bel@orel.ru>
To:        freebsd-bluetooth@freebsd.org
Subject:   The bluetooth stack does not work on FreeBSD/sparc64
Message-ID:  <44EC4D93.6000603@orel.ru>

next in thread | raw e-mail | index | archive | help
Hello, All!

The help in debugging netgraph bluetooth stack is necessary to me.
I have a working example on i386, but on sparc64 same example
does not work. On sparc64(SMP) I have following debug information:

$ uname -a
FreeBSD bel.localdomain 6.1-PRERELEASE FreeBSD 6.1-PRERELEASE #11: Tue Apr 25
14:08:31 MSD 2006     bel@bel.localdomain:/usr/obj/usr/src/sys/SUNC3D  sparc64

$ obexapp -c -a POCKET_PC -C FTRN -f
OBEX_TransportConnect():
obex_transport_connect_request(): Custom connect
[pause at ~60 seconds]
obex_transport_connect_request(): ret=-1
obex_transport_disconnect_request(): Custom disconnect
obex_transport_disconnect_server(): Custom disconnect
obexapp_transport_connect(): Could not connect socket. Operation timed out (60)
obexapp_client(): OBEX_TransportConnect failed


# l2control -a bel Read_Channel_List
L2CAP channels:
Remote BD_ADDR     SCID/ DCID   PSM  IMTU/ OMTU State
POCKET_PC            65/   65     3     0/ 1691 OPEN


# hcidump -r /tmp/obexftrn.hcidump
HCIDump - HCI packet analyzer ver 1.5
< HCI Command: Create Connection(0x01|0x0005) plen 13
> HCI Event: Command Status(0x0f) plen 4
> HCI Event: Connect Complete(0x03) plen 11
< HCI Command: Write Link Policy Settings(0x02|0x000d) plen 4
< ACL data: handle 0x0001 flags 0x02 dlen 12
     L2CAP(s): Connect req: psm 1 scid 0x0040
> HCI Event: Max Slots Change(0x1b) plen 3
> HCI Event: Command Complete(0x0e) plen 6
> HCI Event: Number of Completed Packets(0x13) plen 5
> ACL data: handle 0x0001 flags 0x02 dlen 16
     L2CAP(s): Connect rsp: dcid 0x0040 scid 0x0040 result 0 status 0
< ACL data: handle 0x0001 flags 0x02 dlen 12
     L2CAP(s): Config req: dcid 0x0040 flags 0x0000 clen 0
> HCI Event: Number of Completed Packets(0x13) plen 5
> ACL data: handle 0x0001 flags 0x02 dlen 20
     L2CAP(s): Config req: dcid 0x0040 flags 0x0000 clen 8
     MTU 512 FlushTO 65535
< ACL data: handle 0x0001 flags 0x02 dlen 14
     L2CAP(s): Config rsp: scid 0x0040 flags 0x0000 result 0 clen 0
> ACL data: handle 0x0001 flags 0x02 dlen 14
     L2CAP(s): Config rsp: scid 0x0040 flags 0x0000 result 0 clen 0
< ACL data: handle 0x0001 flags 0x02 dlen 24
     L2CAP(d): cid 0x40 len 20 [psm 1]
         SDP SSA Req: tid 0x0 len 0xf
           pat uuid-16 0x1106 (OBEXObjTrnsf)
           max 0xffff
           aid(s) 0x0004 (ProtocolDescList)
           cont 00
> HCI Event: Number of Completed Packets(0x13) plen 5
> HCI Event: Number of Completed Packets(0x13) plen 5
> ACL data: handle 0x0001 flags 0x02 dlen 39
     L2CAP(d): cid 0x40 len 35 [psm 1]
         SDP SSA Rsp: tid 0x0 len 0x1e
           cnt 0x1b
           srv rec #0
             aid 0x0004 (ProtocolDescList)
                < < uuid-16 0x0100 (L2CAP) > <
                uuid-16 0x0003 (RFCOMM) uint 0x3 > <
                uuid-16 0x0008 (OBEX) > >

           cont 00
< ACL data: handle 0x0001 flags 0x02 dlen 12
     L2CAP(s): Disconn req: dcid 0x0040 scid 0x0040
< ACL data: handle 0x0001 flags 0x02 dlen 12
     L2CAP(s): Connect req: psm 3 scid 0x0041
> HCI Event: Number of Completed Packets(0x13) plen 5
> HCI Event: Number of Completed Packets(0x13) plen 5
> ACL data: handle 0x0001 flags 0x02 dlen 12
     L2CAP(s): Disconn rsp: dcid 0x0040 scid 0x0040
> ACL data: handle 0x0001 flags 0x02 dlen 16
     L2CAP(s): Connect rsp: dcid 0x0041 scid 0x0041 result 0 status 0
< ACL data: handle 0x0001 flags 0x02 dlen 16
     L2CAP(s): Config req: dcid 0x0041 flags 0x0000 clen 4
     MTU 0
[hmmm, MTU=0! Why?]
> ACL data: handle 0x0001 flags 0x02 dlen 16
     L2CAP(s): Config req: dcid 0x0041 flags 0x0000 clen 4
     MTU 1691
< ACL data: handle 0x0001 flags 0x02 dlen 14
     L2CAP(s): Config rsp: scid 0x0041 flags 0x0000 result 0 clen 0
> HCI Event: Number of Completed Packets(0x13) plen 5
> HCI Event: Number of Completed Packets(0x13) plen 5
> ACL data: handle 0x0001 flags 0x02 dlen 14
     L2CAP(s): Config rsp: scid 0x0041 flags 0x0000 result 0 clen 0
< ACL data: handle 0x0001 flags 0x02 dlen 8
     L2CAP(d): cid 0x41 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
[pause at ~60 seconds]
< ACL data: handle 0x0001 flags 0x02 dlen 12
     L2CAP(s): Disconn req: dcid 0x0041 scid 0x0041
> HCI Event: Number of Completed Packets(0x13) plen 5
> ACL data: handle 0x0001 flags 0x02 dlen 12
     L2CAP(s): Disconn rsp: dcid 0x0041 scid 0x0041
> HCI Event: Disconn Complete(0x05) plen 4

Messages from modified (for debugging) kernel:
ng_btsocket_rfcomm_session_create: sosetopt: mtu=672
ng_btsocket_l2cap_ctloutput: SOPT_SET: SO_L2CAP_IMTU: pcb->imtu=0

Why MTU is 0? Any ideas are welcomed.

--
With Best Regards,
Andrew Belashov.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44EC4D93.6000603>