On Fri, 22 May 2020 at 23:06, Larry Finger <Larry.Finger@xxxxxxxxxxxx> wrote: > On 5/22/20 3:40 PM, Rui Salvaterra wrote: > > On Fri, 22 May 2020 at 19:02, Larry Finger <Larry.Finger@xxxxxxxxxxxx> wrote: > >> > >> Rui, > >> > >> Does this one-line > >> patch work for WPA3 without setting the nohwcrypt option? > > > > Ok, so it "works", but I don't know what actually happened (I didn't > > do any performance testing yet). I got this relevant output on my > > kmsg… > > > > rui@mcnugget:~$ dmesg | awk '(/80211/ || /b43/ || /wlan0/)' > > [ 0.000000] Kernel command line: BOOT_IMAGE=/vmlinux-5.7.0-rc6+ > > root=UUID=849bbef3-007e-491e-b187-9e259680c2e2 ro mitigations=off > > b43.qos=0 b43.verbose=3 usbhid.mousepoll=16 quiet splash > > [ 0.035705] b43-pci-bridge 0001:10:12.0: enabling device (0004 -> 0006) > > [ 0.210299] b43-pci-bridge 0001:10:12.0: Sonics Silicon Backplane > > found on PCI device 0001:10:12.0 > > [ 3.361908] b43-phy0: Broadcom 4318 WLAN found (core revision 9) > > [ 3.454235] b43-phy0: Found PHY: Analog 3, Type 2 (G), Revision 7 > > [ 3.454259] b43-phy0: Found Radio: Manuf 0x17F, ID 0x2050, Revision > > 8, Version 0 > > [ 3.485125] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht' > > [ 28.697945] b43-phy0: Loading firmware version 666.2 (2011-02-23 01:15:07) > > [ 28.730381] b43-phy0 debug: Chip initialized > > [ 28.731389] b43-phy0 debug: 32-bit DMA initialized > > [ 28.731400] b43-phy0 debug: QoS disabled > > [ 28.792272] b43-phy0 debug: Wireless interface started > > [ 28.820318] b43-phy0 debug: Adding Interface type 2 > > [ 33.944771] wlan0: authenticate with 04:f0:21:24:28:44 > > [ 33.970449] wlan0: send auth to 04:f0:21:24:28:44 (try 1/3) > > [ 34.026222] wlan0: authenticate with 04:f0:21:24:28:44 > > [ 34.026241] wlan0: send auth to 04:f0:21:24:28:44 (try 1/3) > > [ 34.028522] wlan0: authenticated > > [ 34.043256] wlan0: associate with 04:f0:21:24:28:44 (try 1/3) > > [ 34.046946] wlan0: RX AssocResp from 04:f0:21:24:28:44 (capab=0x431 > > status=30 aid=1) > > [ 34.046964] wlan0: 04:f0:21:24:28:44 rejected association > > temporarily; comeback duration 1000 TU (1024 ms) > > [ 35.122051] wlan0: associate with 04:f0:21:24:28:44 (try 2/3) > > [ 35.125547] wlan0: RX AssocResp from 04:f0:21:24:28:44 (capab=0x431 > > status=0 aid=1) > > [ 35.125808] wlan0: associated > > [ 35.268256] b43-phy0 debug: Using hardware based encryption for > > keyidx: 0, mac: 04:f0:21:24:28:44 > > [ 35.268762] b43-phy0 debug: Using hardware based encryption for > > keyidx: 2, mac: ff:ff:ff:ff:ff:ff > > [ 35.358586] wlan0: failed to set key (5, ff:ff:ff:ff:ff:ff) to hardware (-22) > > [ 35.358977] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready > > [ 87.283220] wlan0: failed to set key (4, ff:ff:ff:ff:ff:ff) to hardware (-22) > > [ 87.283521] b43-phy0 debug: Using hardware based encryption for > > keyidx: 1, mac: ff:ff:ff:ff:ff:ff > > rui@mcnugget:~$ > > > > Meanwhile, iw list shows all the possible software cyphers: > > > > Supported Ciphers: > > * WEP40 (00-0f-ac:1) > > * WEP104 (00-0f-ac:5) > > * TKIP (00-0f-ac:2) > > * CCMP-128 (00-0f-ac:4) > > * CCMP-256 (00-0f-ac:10) > > * GCMP-128 (00-0f-ac:8) > > * GCMP-256 (00-0f-ac:9) > > * CMAC (00-0f-ac:6) > > * CMAC-256 (00-0f-ac:13) > > * GMAC-128 (00-0f-ac:11) > > * GMAC-256 (00-0f-ac:12) > > > > What I'm not sure is if b43 is doing all the cyphers it supports in > > hardware and falling back to software just for the unsupported ones, > > or if it's doing everything in software. > It will do supported ciphers in hardware, and unsupported using software. The > patch tells mac80211 that we will accept the newer ciphers, then in the > set_key() callback, we tell it whether the current type will be handled in > hardware. Operations will be transparent. I will keep the nohwcrypt option just > in case someone has a hardware malfunction that prohibits hardware use for all > ciphers, but it will not be needed in cases like yours. Performance will be as > you did earlier. Nice work Larry, thank you! -- Rafał