CVSROOT: /cvs Module name: src Changes by: s...@cvs.openbsd.org 2021/06/01 07:21:08
Modified files: sys/dev/pci : if_iwm.c if_iwmreg.h if_iwmvar.h Log message: Switch iwm(4) to new firmware images available in iwm-firmware-20210512. This updates firmware for 3165, 3168, 7265, 8260, 8265, 9260, 9560 devices. Other devices did not receive firmware updates from Intel. New firmware images should contain revelant fixes for fragattacks: https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00473.html Running fw_update(1) may be required before rebooting into a new kernel. sysupgrade(8) will take care of this. When reporting issues (I am sure there will be new "fatal firmware errors" for some people) please enable 'ifconfig iwm0 debug', reproduce the error once more, and include the full dmesg in your bug report. Important changes required for new firmware: - Support new variants of several existing firmware commands just because Intel loves adding new features and changing the commands. - Implement the 'clear persistence bit' workaround for 9k devices to avoid potential issues during suspend/resume. - Recognize Mobile Country Code update notifications for the regulatory domain, like iwx(4) does. - Handle PHY context updates more like the Linux iwlwifi driver does. Some devices need an add/remove dance if the band has changed. - For 9560, configure SoC latency parameters after booting firmware. - Handle critical temperature notifications by shutting the device down. - Use only antenna B for single-antenna Tx on 9k devices (matches what Linux and FreeBSD do; Likely only matters if Bluetooth is active, but who knows, Git logs and comments are the only documentation we have). Other small fixes: - Fix various scan command parameters. Some fixes were taken from iwx(4). - Don't send probe requests when scanning passive channels. Experimentation has shown that this will make 9k devices crash after associating to an AP. This same fix does not seem to work on iwx(4) devices, where active scan is disabled for the same reason, and it is not yet clear why. - Fix firmware reloading after parsing the firmware image has failed. - Flushing Tx rings will fail if the AP disappears. Don't make any noise about that in dmesg, instead gracefully reset the device and continue. Tested: 7260: florian 3168: kevlo 7265: stsp, mlarkin 8260: bket 8265: stsp, benno 9560: stsp, steven