Hi Arend, >>>> This patch introduces NL80211_CMD_SET_BTCOEX command and >>>> NL80211_ATTR_BTCOEX_OP attribute to enable or disable btcoex. >>> >>> What kind of btcoex are we talking about here? Is it signalling >>> between wlan and bt to get access to the shared RF. >> >> Yes, at least that's how I understand this. >> >>> Why would it require user-space interaction? Are there no options for >>> wlan to detect bt is in use, ie. bt hci is setup, and vice versa. Can >>> it be indicated in platform data or device tree. Trying to understand >>> the use-case here. >> >> One use case is being able to disable btcoex in case of problems or to >> test if it's btcoex related. I think during the last five years the need >> for this interface has come every once in a while. > > Well, you would want to disable btcoex *and* bt to verify wlan is working > properly on its own. And similarly disable btcoex *and* wlan to verify bt > works properly. > > Now I do recall a thread between you and Marcel. Looked it up and it was this > thread , but did not see a follow-up on it. I suspect it involves more > than just an enable/disable state. That may be fine for devices in which BT > and WLAN are integrated and coordination of RF use is done on the device. The > "btcoex subsystem" thread seems to aim for more like providing the > coordination logic so independent BT device and WLAN device can still use the > same RF. So before adopting the api in nl80211 it would be good to revive > that thread.
actually we can solve any number of WiFi devices vs any number of Bluetooth devices on the same host. It goes mainly in the direction of WiFi having a notifier about its currently used channels and Bluetooth subsystem can subscribe to these and issue AFH channel map classification updates as needed. The other way around for the Bluetooth audio cases and a shared antenna, you need a tighter integration. If the antenna is not shared, then it makes no difference anyway since you are not sharing the transceiver. Normally these are just handled by the firmware internally and right priorities for RF scheduling are done. The Bluetooth controller normally then does a bit too much, but nobody wants to implement that in the host cleanly, and so they all hack it into the controller. I think that Realtek has some older chips where it would be really needed in the host. And Intel controllers can also let the host do it, but by default it is magically done by the controller. Regards Marcel