forked from external/yambar
module/network: resurrect SSID
Recent kernels, or possibly updated wireless drivers, no longer provide the SSID in `NL80211_CMD_NEW_STATION` responses. For yambar, this meant the SSID was always missing. This patch fixes this, by also issuing a NL80211_CMD_GET_SCAN command. The response to this (NL80211_CMD_SCAN_RESULTS) _may_ return many access points. Pick out the one that we’re associated with, and inspect its BSS_INFORMATION_ELEMENTS. This is a raw data structure containing, among other things, the SSID. I haven’t been able to find any documentation of the format, but could glean enough from https://git.kernel.org/pub/scm/linux/kernel/git/jberg/iw.git/tree/scan.c#n2313 to be able to parse out the SSID. Note that we get a “device or resource busy” error if we try to issue both the NL80211_CMD_GET_STATION and the NL80211_CMD_GET_SCAN commands at the same time. Therefore, we issue the GET_SCAN command after completing the GET_STATION command. Closes #226
This commit is contained in:
parent
d1a8029e6c
commit
4143099e94
2 changed files with 147 additions and 3 deletions
|
@ -110,6 +110,9 @@
|
|||
* string: crash when failing to convert string to UTF-32.
|
||||
* script: only first transaction processed when receiving multiple
|
||||
transactions in a single batch ([#221][221]).
|
||||
* network: missing SSID (recent kernels, or possibly wireless drivers,
|
||||
no longer provide the SSID in the `NL80211_CMD_NEW_STATION`
|
||||
response) ([#226][226]).
|
||||
|
||||
[169]: https://codeberg.org/dnkl/yambar/issues/169
|
||||
[172]: https://codeberg.org/dnkl/yambar/issues/172
|
||||
|
@ -117,6 +120,7 @@
|
|||
[177]: https://codeberg.org/dnkl/yambar/issues/177
|
||||
[198]: https://codeberg.org/dnkl/yambar/issues/198
|
||||
[221]: https://codeberg.org/dnkl/yambar/issues/221
|
||||
[226]: https://codeberg.org/dnkl/yambar/issues/226
|
||||
|
||||
|
||||
### Security
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue