#
419abdb2 |
|
25-Apr-2023 |
Augustin Cavalier <waddlesplash@gmail.com> |
openbsd_wlan: Add implementation of IEEE80211_IOC_SCAN_REQ. We cannot actually initiate scans, but we can at least detect when one is in progress. This fixes "ifconfig ... scan" on OpenBSD devices returning errors instead of scan results ("list" always worked.)
|
#
0bee9ee7 |
|
09-Jun-2022 |
Augustin Cavalier <waddlesplash@gmail.com> |
openbsd_wlan: Refactor implementation of IEEE80211_IOC_SCAN_RESULTS. * Do not allocate an equally-sized buffer for all scan results, but just alloca() a buffer for a single result, and copy this back to userland at the end of each iteration. * Check remaining space correctly with respect to IE data. May fix incorrect scan results or userland memory corruptions seen with the previous code. Also should be faster since it does not need to allocate large kernel-side temporary buffers.
|
#
ea7c8307 |
|
08-Jun-2022 |
Augustin Cavalier <waddlesplash@gmail.com> |
openbsd_wlan: Implement IEEE80211_IOC_MLME for leaving networks.
|
#
2f7936a6 |
|
08-Jun-2022 |
Augustin Cavalier <waddlesplash@gmail.com> |
openbsd_wlan: Add a Haiku-specific "FreeBSD-style" ioctl for joining networks. In the long run it may make more sense to have Haiku-style ioctls for this purpose, but since we are currently coexisting with FreeBSD-style ioctls, just add this as another FreeBSD-style ioctl for now (we already have two custom ones anyway.) This ioctl pretty much just consists of the same parameters we pass to wpa_supplicant using the Haiku-specific constants already, with one notable difference: the PSK must be in proper WPA format, i.e. already hashed. Hence we will submit this ioctl, for now, from our own code in our wpa_supplicant port. WPS is not implemented in this commit, but it could be if someone actually needs to connect to WPS networks for some reason... Tested and verified as working along with the wpa_supplicant changes.
|
#
bcb089f6 |
|
08-Jun-2022 |
Augustin Cavalier <waddlesplash@gmail.com> |
openbsd_wlan (and FreeBSD ieee80211_ioctl.h): Initial ioctl compatibility. * Introduce IEEE80211_IOCTLS_ABBREVIATED to FreeBSD's ieee80211_ioctl.h, so that the FreeBSD header can be included along with the OpenBSD net80211 stack without triggering lots of errors, so we can use these structs in openbsd_wlan ieee80211_haiku.cpp. * Implement basic ieee80211req handling machinery. We aren't going to handle anything but SIOCG80211 and SIOCS80211 in this method, so we can simplify it a bit at the same time. * Implement IEEE80211_IOC_SCAN_RESULTS to return scan results from the OpenBSD WiFi stack in FreeBSD ioctl format. This change adds two minor "features" (noted with #ifdefs) to the OpenBSD net80211 stack: one to specify what node index to return when returning known nodes (scan results), as this way we do not have to allocate a huge buffer to store the scan results in before sending them back to userland, but can instead get and convert a single one at a time. (We store the converted values in kernel mode all at once, though, so this is not as efficient as it could be. More improvement possible.) * Implement IEEE80211_IOC_BSSID and IEEE80211_IOC_SSID while we are at it. This actually may make joining open networks possible, but I didn't really test it. (They are used with SIOCG80211 to see what network the device is currently connecting/connected to.)
|
#
eb561466 |
|
12-May-2022 |
Augustin Cavalier <waddlesplash@gmail.com> |
openbsd_wlan: Basic adaptations to the net80211 layer. The stack now compiles and links. Combining this with adaptations to the driver gets things to the point where it runs scans, but we do not yet implement ioctls so they can be returned to userland.
|