Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 3 Jan 2011 15:20:06 GMT
From:      Iain Hibbert <plunky@rya-online.net>
To:        freebsd-bluetooth@FreeBSD.org
Subject:   Re: kern/140590: [bluetooth] ng_ubt(4) ng_l2cap_process_cmd_rej warnings
Message-ID:  <201101031520.p03FK6IM027615@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/140590; it has been noted by GNATS.

From: Iain Hibbert <plunky@rya-online.net>
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/140590: [bluetooth] ng_ubt(4) ng_l2cap_process_cmd_rej
 warnings
Date: Mon, 3 Jan 2011 14:40:47 +0000 (GMT)

 On Mon, 3 Jan 2011, FreeBSD bugmaster wrote:
 
 > p kern/140590  bluetooth  [bluetooth] ng_ubt(4) ng_l2cap_process_cmd_rej warning
 
 the final piece of this PR is that a
 
   ng_btsocket_rfcomm_receive_dm: Got DM for non-existing dlci=18
 
 warning is produced.. looking at the dump given:
 
 < ACL data: handle 42 flags 0x02 dlen 11
     L2CAP(d): cid 0x0041 len 7 [psm 3]
       RFCOMM(d): UIH: cr 1 dlci 18 pf 0 ilen 3 fcs 0xce
         OBEX: Disconnect cmd(f): len 3
 > ACL data: handle 42 flags 0x02 dlen 12
     L2CAP(d): cid 0x0047 len 8 [psm 3]
       RFCOMM(d): UIH: cr 0 dlci 18 pf 1 ilen 3 fcs 0x8 credits 1
         OBEX: Disconnect rsp(f): status 200 len 3
 
 OBEX is disconnected
 
 < ACL data: handle 42 flags 0x02 dlen 8
     L2CAP(d): cid 0x0041 len 4 [psm 3]
       RFCOMM(s): DISC: cr 1 dlci 18 pf 1 ilen 0 fcs 0xd3
 
 we send a DISC(18) request to disconnect the channel
 
 > ACL data: handle 42 flags 0x02 dlen 8
     L2CAP(d): cid 0x0047 len 4 [psm 3]
       RFCOMM(s): DISC: cr 0 dlci 18 pf 1 ilen 0 fcs 0xb2
 < ACL data: handle 42 flags 0x02 dlen 8
     L2CAP(d): cid 0x0041 len 4 [psm 3]
       RFCOMM(s): UA: cr 0 dlci 18 pf 1 ilen 0 fcs 0x98
 
 they also do that, and we send a UA in response as is proper
 
 < ACL data: handle 42 flags 0x02 dlen 8
     L2CAP(d): cid 0x0041 len 4 [psm 3]
       RFCOMM(s): DISC: cr 1 dlci 0 pf 1 ilen 0 fcs 0xfd
 
 and then we send DISC(0) to disconnect the session
 
 > ACL data: handle 42 flags 0x02 dlen 8
     L2CAP(d): cid 0x0047 len 4 [psm 3]
       RFCOMM(s): DM: cr 1 dlci 18 pf 1 ilen 0 fcs 0x18
 
 and this is the rogue DM - I guess that the other side had deleted the
 dlci handle when it sent the DISC so this is their response to our
 DISC(18) message..
 
 The warning is printed because FreeBSD had legitimately decided that dlci
 18 was closed (received DISC, sent UA) and therefore this DM is addressed
 to a vacant channel..
 
 IMO FreeBSD did nothing really wrong there except warn about something
 that was not really a dire situation..  perhaps the _WARN should just be
 changed to _INFO to supress that in normal use?
 
 iain
 PS what was the remote device?



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