diff --git a/modules/ble/ble_options_darwin.go b/modules/ble/ble_options_darwin.go index c7b078f4..80eb64ef 100644 --- a/modules/ble/ble_options_darwin.go +++ b/modules/ble/ble_options_darwin.go @@ -4,8 +4,10 @@ import ( "github.com/bettercap/gatt" ) -var defaultBLEClientOptions = []gatt.Option{ - gatt.MacDeviceRole(gatt.CentralManager), +func getClientOptions(deviceID int) []gatt.Option { + return []gatt.Option{ + gatt.MacDeviceRole(gatt.CentralManager), + } } /* diff --git a/modules/ble/ble_options_linux.go b/modules/ble/ble_options_linux.go index 4163dde0..2bc1519b 100644 --- a/modules/ble/ble_options_linux.go +++ b/modules/ble/ble_options_linux.go @@ -5,9 +5,11 @@ import ( // "github.com/bettercap/gatt/linux/cmd" ) -var defaultBLEClientOptions = []gatt.Option{ - gatt.LnxMaxConnections(255), - gatt.LnxDeviceID(-1, true), +func getClientOptions(deviceID int) []gatt.Option { + return []gatt.Option{ + gatt.LnxMaxConnections(255), + gatt.LnxDeviceID(deviceID, true), + } } /* diff --git a/modules/ble/ble_recon.go b/modules/ble/ble_recon.go index db00ded3..0a945880 100644 --- a/modules/ble/ble_recon.go +++ b/modules/ble/ble_recon.go @@ -1,3 +1,4 @@ +//go:build !windows // +build !windows package ble @@ -166,7 +167,7 @@ func (mod *BLERecon) Configure() (err error) { golog.SetFlags(0) golog.SetOutput(dummyWriter{mod}) - if mod.gattDevice, err = gatt.NewDevice(defaultBLEClientOptions...); err != nil { + if mod.gattDevice, err = gatt.NewDevice(getClientOptions(mod.deviceId)...); err != nil { mod.Debug("error while creating new gatt device: %v", err) return err }