diff --git a/service/bluetooth.go b/service/bluetooth.go index 2f78048..6911f55 100644 --- a/service/bluetooth.go +++ b/service/bluetooth.go @@ -76,6 +76,7 @@ func (bt *BtService) StartNAP() (err error) { // Disable simple secure pairing to make PIN requests work bt.Controller.SetPowered(false) bt.Controller.SetSSP(true) //NAP doesn't work well without SSP + bt.Controller.SetHighSpeed(true) // Enable high speed mode bt.Controller.SetPowered(true) // Configure adapter diff --git a/service/bluetooth/controller.go b/service/bluetooth/controller.go index 765209d..0677562 100644 --- a/service/bluetooth/controller.go +++ b/service/bluetooth/controller.go @@ -34,6 +34,17 @@ func (c *Controller) SetSSP(val bool) (err error) { return } +func (c *Controller) SetHighSpeed(val bool) (err error) { + mgmt,err := btmgmt.NewBtMgmt() + if err != nil { return ErrChgSetting } + + s,err := mgmt.SetHighSpeed(c.Index, val) + if err != nil || s.HighSpeed != val { + return ErrChgSetting + } + return +} + func (c *Controller) StartDiscovery() error { return c.adapter.StartDiscovery() diff --git a/service/network.go b/service/network.go index 8813b58..394a8cd 100644 --- a/service/network.go +++ b/service/network.go @@ -34,6 +34,8 @@ func NewNetworkManager() (nm *NetworkManager, err error){ err = nm.AddManagedInterface(GetDefaultNetworkSettingsBluetooth()) if err != nil { return } + //ToDo: Deploy all settings once, to assure consistency of server state and real adapter configuration + return nm, nil }