Submit #2673

hostapd and wpa_supplicant vendor update (2.1)

Added by kAworu over 3 years ago. Updated over 3 years ago.

Vendor software
Target version:
Start date:
Due date:
% Done:


Estimated time:


#1 Updated by kAworu over 3 years ago

patch against the vendor/HOSTAPD branch (archived because they were too big for the tracker)

#2 Updated by kAworu over 3 years ago

patch against the vendor/WPA_SUPPLICANT branch (archived because they were too big for the tracker)

#3 Updated by kAworu over 3 years ago

patch against master once both vendor branch have been merged in.

Note that vendor/HOSTAPD and vendor/WPA_SUPPLICANT were not cleanly merged in master.

#4 Updated by marino over 3 years ago

  • Assignee set to marino

I'll take it.

#5 Updated by kAworu over 3 years ago

Sorry for the lack of comments, I wanted to complete a full buildworld / kernel beforehand.

1. The vendors patches remove and contrib/wpa_supplicant-0.4.9 contrib/hostapd-0.4.9. They're both are unchanged since their import from 2006, so I figured they're not used nor needed anymore.

2. The vendors branches were not cleanly merged before, so a bit of conflict solving is needed for a clean merge.

3. both hostapd and wpa_supplicant now ship default configuration files (with a lot of documentation in comments). The patch install them under /etc/wpa_supplicant.conf, /etc/hostapd.conf and /usr/share/initrd/etc/wpa_supplicant.conf.

4. I've imported minor changes to the man pages from FreeBSD making sure to adapt where needed.

5. usr.sbin/802_11 Makefile were adapted from FreeBSD because they're using hostapd / wpa_supplicant 2.0 (which is closer to 2.1 than our previous 0.6.10 version). I've tested both to build without any option (default) and with all options (requires devel/pcsc-lite, see comments in usr.sbin/802_11/wpa_supplicant/Makefile).

6. usr.sbin/802_11/wpa_supplicant/driver_wired.c was removed because it is now provided by the vendor.

7. usr.sbin/802_11/wpa_supplicant/driver_dragonfly.c was removed and we use driver_bsd.c from the vendor which is DragonFly ready (no modification were needed and there was already ifdef __DragonFly__ code).

8. `usr.sbin/802_11/l2_packet.c` is a copy of the vendor's `l2_packet_freebsd.c`. The changes are minimal between them and I think we should ask hostapd/wpa_supplicant to have a copy of `l2_packet_dragonfly.c`.

9. hostapd, wpa_cli and wpa_supplicant needs WARNS=0 in order to compile or small modifications. See comments below.

#6 Updated by kAworu over 3 years ago

hostapd and wpa_supplicant needs WARNS=0 because otherwise WPA_OUI_TYPE gets redefined (see attachment). I am uneasy because the dragonfly definition in /usr/include/netproto/802_11/ieee80211.h is very different from the vendor's in common/wpa_common.h and I am clueless about its purpose.

In addition wpa_supplicant/wpa_supplicant/scan.c redefine MIN() but that is trivial to ignore.

#7 Updated by kAworu over 3 years ago

I've done a full buildworld, buildkernel, installkernel, installworld, and upgrade. All seems ok (config files executables and manuals) except the wpa_passphrase manual (which does not show).

Also I don't have the hardware to properly test hostapd / wpa_supplicant :( So wireless tester are welcome.

#9 Updated by marino over 3 years ago

  • Status changed from New to Closed

It's pull in over several commits. Here is the final one:


Also available in: Atom PDF