Re: Bluetooth PAN Connection - NAP and GN

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Tuesday 09 February 2016 13:17:56 Jon Hoffman wrote:
> Hello,
> I am hoping that someone on this list can tell me what I am doing wrong or
> at least point me in the right direction.
> 
> As part of a number of proof-of-concepts, I am trying to setup a PAN between
> two devices.  For this particular proof-of-concepts I am trying to setup a
> Bluetooth Legacy connection.  I have successfully setup this connection
> using the NAP scenario however we are not looking to route anything outside
> of connection.  Since we do not want to route (security also says we need
> to disable routing) we would prefer to use either a GN (Group Ad-Hoc
> Network) or a PANU-PANU connection however I have been unable to get this
> to work.
> 
> My slave device (where the server is being setup at) is running the Linux
> kernel 4.4 (also tried it on a 4.1.13 kernel) with Bluez 5.35 (tried it
> with 5.23 on the 4.1.13 kernel).  I have tried three master devices (device
> making the connection) and have the same issue with all three.  They are:
> -Linux kernel 4.1.13 with bluez 5.23 using blueman as the UI
>   -Windows 10
>   -iOS 9.2.1
> 
> I have run hcidump to see what is going on during the pairing/connection of
> the NAP connection and also the GN connection to see what is different. 
> Below are sniplets of what I am seeing.  For the NAP connection I am seeing
> this:
> 
> information about the NAP from the hcidump
>            record #6
>               aid 0x0000 (SrvRecHndl)
>                  uint 0x10007
>               aid 0x0001 (SrvClassIDList)
>                  < uuid-16 0x1116 (NAP) >
>               aid 0x0004 (ProtocolDescList)
>                  < < uuid-16 0x0100 (L2CAP) uint 0xf > <
>                  uuid-16 0x000f (BNEP) uint 0x100 < uint 0x800 uint 0x806 >
> > > aid 0x0005 (BrwGrpList)
>                  < uuid-16 0x1002 (PubBrwsGrp) >
>               aid 0x0006 (LangBaseAttrIDList)
>                  < uint 0x656e uint 0x6a uint 0x100 >
>               aid 0x0009 (BTProfileDescList)
>                  < < uuid-16 0x1116 (NAP) uint 0x100 > >
>               aid 0x0100 (SrvName)
>                  str "Network service"
>               aid 0x0101 (SrvDesc)
>                  str "Network service"
>               aid 0x030a (SecurityDescription)
>                  uint 0x1
>               aid 0x030b (NetAccessType)
>                  uint 0xfffe
>               aid 0x030c (MaxNetAccessRate)
>                  uint 0x0
> 
> Then for the actual connection attempt I see this:
> > ACL data: handle 11 flags 0x02 dlen 12
> 
>     L2CAP(s): Connect req: psm 15 scid 0x0041
> < ACL data: handle 11 flags 0x00 dlen 16
>     L2CAP(s): Connect rsp: dcid 0x0041 scid 0x0041 result 1 status 2
>       Connection pending - Authorization pending
> < ACL data: handle 11 flags 0x00 dlen 16
>     L2CAP(s): Connect rsp: dcid 0x0041 scid 0x0041 result 0 status 0
>       Connection successful
> 
> And after this my connection is established and all is well.  For the GN
> network this is what I am seeing beginning with the information about the
> GN.
> 
>            record #6
>               aid 0x0000 (SrvRecHndl)
>                  uint 0x10007
>               aid 0x0001 (SrvClassIDList)
>                  < uuid-16 0x1117 (GN) >
>               aid 0x0004 (ProtocolDescList)
>                  < < uuid-16 0x0100 (L2CAP) uint 0xf > <
>                  uuid-16 0x000f (BNEP) uint 0x100 < uint 0x800 uint 0x806 >
> > > aid 0x0005 (BrwGrpList)
>                  < uuid-16 0x1002 (PubBrwsGrp) >
>               aid 0x0006 (LangBaseAttrIDList)
>                  < uint 0x656e uint 0x6a uint 0x100 >
>               aid 0x0009 (BTProfileDescList)
>                  < < uuid-16 0x1117 (GN) uint 0x100 > >
>               aid 0x0100 (SrvName)
>                  str "Network service"
>               aid 0x0101 (SrvDesc)
>                  str "Network service"
>               aid 0x030a (SecurityDescription)
>                  uint 0x1
> 
> and when the connection is made I see this:
> > ACL data: handle 11 flags 0x02 dlen 12
> 
>     L2CAP(s): Connect req: psm 15 scid 0x0041
> < ACL data: handle 11 flags 0x00 dlen 16
>     L2CAP(s): Connect rsp: dcid 0x0041 scid 0x0041 result 1 status 2
>       Connection pending - Authorization pending
> < ACL data: handle 11 flags 0x00 dlen 16
>     L2CAP(s): Connect rsp: dcid 0x0041 scid 0x0041 result 3 status 0
>       Connection refused - security block

This looks like connection was rejected due to missing authorization. Are you 
sure you have default agent registered in your system?

Providing also 'bluetoothd -n -d'  logs would put some light on this issue.

-- 
pozdrawiam
Szymon Janc
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux