<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/rtwn, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>rtwn: migrate to new ieee80211 key data accessors</title>
<updated>2025-11-14T02:25:25+00:00</updated>
<author>
<name>Adrian Chadd</name>
<email>adrian@FreeBSD.org</email>
</author>
<published>2025-09-24T15:36:46+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=333eb58deeda6cc5a5a908b92301f833ba8750fa'/>
<id>333eb58deeda6cc5a5a908b92301f833ba8750fa</id>
<content type='text'>
Migrate to the ieee80211_crypto_key_*() routines.
Should be no functional change.

Locally tested:

* RTL8821AU, STA mode

Differential Revision:	https://reviews.freebsd.org/D52712
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Migrate to the ieee80211_crypto_key_*() routines.
Should be no functional change.

Locally tested:

* RTL8821AU, STA mode

Differential Revision:	https://reviews.freebsd.org/D52712
</pre>
</div>
</content>
</entry>
<entry>
<title>[rtwn] don't send NULL data frames if we're compiled with firmware enabled</title>
<updated>2025-09-20T00:44:19+00:00</updated>
<author>
<name>Adrian Chadd</name>
<email>adrian@FreeBSD.org</email>
</author>
<published>2025-08-27T17:04:39+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=d9ae618c0816d24bc8127e479db5787c97a23140'/>
<id>d9ae618c0816d24bc8127e479db5787c97a23140</id>
<content type='text'>
the firmware should be sending these.

Differential Revision:	https://reviews.freebsd.org/D52298
Reviewed by: bz

Locally tested:

* rtl8821/rtl8812au (STA)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
the firmware should be sending these.

Differential Revision:	https://reviews.freebsd.org/D52298
Reviewed by: bz

Locally tested:

* rtl8821/rtl8812au (STA)
</pre>
</div>
</content>
</entry>
<entry>
<title>rtwn: enable seqno offload; migrate to use ieee80211_output_seqno_assign()</title>
<updated>2025-09-06T06:15:47+00:00</updated>
<author>
<name>Adrian Chadd</name>
<email>adrian@FreeBSD.org</email>
</author>
<published>2025-06-05T00:47:14+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=dff11c4f8007841484748af08e11e110c541fd7d'/>
<id>dff11c4f8007841484748af08e11e110c541fd7d</id>
<content type='text'>
This should both enable the sequence number offloading and disable
the net80211 TX lock from being acquired/released/checked.

Locally tested:

* RTL8812AU, STA mode

Reviewed by: bz
Differential Revision:	https://reviews.freebsd.org/D52301
Differential Revision:	https://reviews.freebsd.org/D50693
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This should both enable the sequence number offloading and disable
the net80211 TX lock from being acquired/released/checked.

Locally tested:

* RTL8812AU, STA mode

Reviewed by: bz
Differential Revision:	https://reviews.freebsd.org/D52301
Differential Revision:	https://reviews.freebsd.org/D50693
</pre>
</div>
</content>
</entry>
<entry>
<title>net80211 / LinuxKPI: 802.11: revert / redo enum ieee80211_sta_rx_bw</title>
<updated>2025-08-30T07:38:22+00:00</updated>
<author>
<name>Bjoern A. Zeeb</name>
<email>bz@FreeBSD.org</email>
</author>
<published>2025-08-14T01:28:29+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=06527b2818f2748fa6eedc2fd418379ef7f99bd9'/>
<id>06527b2818f2748fa6eedc2fd418379ef7f99bd9</id>
<content type='text'>
The initial thought of migrating the LinuxKPI 802.11 enum into net80211
for shared use did not work out well.  Currently in the need for yet
another adjustment, I decided to undo/de-couple net80211 and
LinuxKPI 802.11 again.

The enum name now gets used in LinuxKPI based wifi drivers and it
turns out it is spelt differntly than what I used initially.
This creates a conflict.

net80211 still in the need to be able to express BW_320 in an uint8_t
will likely be fine with the current solution as well.  Rename the
enum and prefixes in net80211 to "net80211" instead of "ieee80211".
Apart from the names/prefix we leave the values the same.

In LinuxKPI add the enum with the expected name and use it there
throughout to make modern versions of LinuxKPI based wifi drivers
compile.

Sponsored by:	The FreeBSD Foundation
Fixes:		ca389486a9599, 2c8b0d6205f6f
MFC after:	3 days
Reviewed by:	adrian
Differential Revision: https://reviews.freebsd.org/D52064
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The initial thought of migrating the LinuxKPI 802.11 enum into net80211
for shared use did not work out well.  Currently in the need for yet
another adjustment, I decided to undo/de-couple net80211 and
LinuxKPI 802.11 again.

The enum name now gets used in LinuxKPI based wifi drivers and it
turns out it is spelt differntly than what I used initially.
This creates a conflict.

net80211 still in the need to be able to express BW_320 in an uint8_t
will likely be fine with the current solution as well.  Rename the
enum and prefixes in net80211 to "net80211" instead of "ieee80211".
Apart from the names/prefix we leave the values the same.

In LinuxKPI add the enum with the expected name and use it there
throughout to make modern versions of LinuxKPI based wifi drivers
compile.

Sponsored by:	The FreeBSD Foundation
Fixes:		ca389486a9599, 2c8b0d6205f6f
MFC after:	3 days
Reviewed by:	adrian
Differential Revision: https://reviews.freebsd.org/D52064
</pre>
</div>
</content>
</entry>
<entry>
<title>rtwn: fix mbuf allocation errors in USB RX path for &gt; 4 KiB frames</title>
<updated>2025-05-01T03:01:05+00:00</updated>
<author>
<name>Adrian Chadd</name>
<email>adrian@FreeBSD.org</email>
</author>
<published>2025-04-27T23:50:51+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=28e89934a9bec3eca08f4d291a5699485c29d203'/>
<id>28e89934a9bec3eca08f4d291a5699485c29d203</id>
<content type='text'>
We can and do receive &gt; 4 KiB frames in the RX path (A-MSDU frames
can be up to 11KiB.)  At least one user has reported seeing this
and having it break their traffic flows.

Use m_get3() to try and grab an mbuf jumbo cluster.

This may not be the best permanent solution, but it at least will
fail for frame sizes we expect to see up and including the largest
A-MPDU frame (11Kib)  and keep a counter if it can't allocate, versus
just returning NULL because it's too large (and not keeping counters.)

Differential Revision:	https://reviews.freebsd.org/D50049
PR:	kern/286366
Reviewed by:	bz
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We can and do receive &gt; 4 KiB frames in the RX path (A-MSDU frames
can be up to 11KiB.)  At least one user has reported seeing this
and having it break their traffic flows.

Use m_get3() to try and grab an mbuf jumbo cluster.

This may not be the best permanent solution, but it at least will
fail for frame sizes we expect to see up and including the largest
A-MPDU frame (11Kib)  and keep a counter if it can't allocate, versus
just returning NULL because it's too large (and not keeping counters.)

Differential Revision:	https://reviews.freebsd.org/D50049
PR:	kern/286366
Reviewed by:	bz
</pre>
</div>
</content>
</entry>
<entry>
<title>rtwn: don't treat UDP/TCP checksum failure as permanent failure</title>
<updated>2025-04-23T02:02:47+00:00</updated>
<author>
<name>Adrian Chadd</name>
<email>adrian@FreeBSD.org</email>
</author>
<published>2025-04-01T23:57:41+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=d5f5193e2db974576120b5e5f559970a6c15247d'/>
<id>d5f5193e2db974576120b5e5f559970a6c15247d</id>
<content type='text'>
jrtc27@freebsd.org reported that DHCP wasn't working on some
networks.  She dug into it and found that the RTL8812AU/RTL8812AU
NICs seem to be failing UDP frames w/ a zero checksum, which is
a valid "there's no checksum" checksum.

So, just pass those frames up the stack and let the IP stack
deal with it.  If the hardware claims the frames did pass TCP/UDP
checksum then still mark those frames with the checksum offload
bits.

PR:	kern/285387
Differential Revision:	https://reviews.freebsd.org/D49628
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
jrtc27@freebsd.org reported that DHCP wasn't working on some
networks.  She dug into it and found that the RTL8812AU/RTL8812AU
NICs seem to be failing UDP frames w/ a zero checksum, which is
a valid "there's no checksum" checksum.

So, just pass those frames up the stack and let the IP stack
deal with it.  If the hardware claims the frames did pass TCP/UDP
checksum then still mark those frames with the checksum offload
bits.

PR:	kern/285387
Differential Revision:	https://reviews.freebsd.org/D49628
</pre>
</div>
</content>
</entry>
<entry>
<title>rtwn: enable reception of BAR frames</title>
<updated>2025-04-23T02:02:39+00:00</updated>
<author>
<name>Jessica Clarke</name>
<email>jrtc27@freebsd.org</email>
</author>
<published>2025-04-01T00:43:13+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=5c74aa3abd4e353ed7f8cb446c0527c8ebe15d1c'/>
<id>5c74aa3abd4e353ed7f8cb446c0527c8ebe15d1c</id>
<content type='text'>
The RX filter wasn't enabling BAR frames, so we weren't receiving them
during normal operation.

Jessica noticed we WERE getting BAR frames, but only when promisc mode
is active.  Which is a different set of bugs, but it did highlight
the differences here.

Differential Revision:	https://reviews.freebsd.org/D49596
PR: kern/285822
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The RX filter wasn't enabling BAR frames, so we weren't receiving them
during normal operation.

Jessica noticed we WERE getting BAR frames, but only when promisc mode
is active.  Which is a different set of bugs, but it did highlight
the differences here.

Differential Revision:	https://reviews.freebsd.org/D49596
PR: kern/285822
</pre>
</div>
</content>
</entry>
<entry>
<title>rtwn: add support for AES-GCM-128 in the supported software cipher set</title>
<updated>2025-03-27T01:28:46+00:00</updated>
<author>
<name>Adrian Chadd</name>
<email>adrian@FreeBSD.org</email>
</author>
<published>2025-03-01T04:36:42+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=077108d94ae1928cdeed5e63d87a8b53a9dc0382'/>
<id>077108d94ae1928cdeed5e63d87a8b53a9dc0382</id>
<content type='text'>
I'm testing this with rtwn(4) NICs right now, so enable it here.

Locally tested:

* RTL8812AU / RTL8821AU, STA mode (with some wpa_supplicant.conf
  shenanigans to force GCMP as the pairwise key to an OpenWRT AP
  configured to use GCMP but without requiring MFP.)

Differential Revision:	https://reviews.freebsd.org/D49190
Reviewed by:	bz
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I'm testing this with rtwn(4) NICs right now, so enable it here.

Locally tested:

* RTL8812AU / RTL8821AU, STA mode (with some wpa_supplicant.conf
  shenanigans to force GCMP as the pairwise key to an OpenWRT AP
  configured to use GCMP but without requiring MFP.)

Differential Revision:	https://reviews.freebsd.org/D49190
Reviewed by:	bz
</pre>
</div>
</content>
</entry>
<entry>
<title>rtwn: move to using ieee80211_node_get_txrate()</title>
<updated>2025-02-26T19:30:01+00:00</updated>
<author>
<name>Adrian Chadd</name>
<email>adrian@FreeBSD.org</email>
</author>
<published>2025-01-13T02:15:05+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=fdc88416118759692fb1773deffe298e86cc902b'/>
<id>fdc88416118759692fb1773deffe298e86cc902b</id>
<content type='text'>
Migrate the transmit path to use ieee80211_node_get_txrate(), and handle
VHT rates.

Nothing is currently setting VHT rates, but the driver should now
be ready.

Differential Revision:	https://reviews.freebsd.org/D48606
Reviewed by:	bz
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Migrate the transmit path to use ieee80211_node_get_txrate(), and handle
VHT rates.

Nothing is currently setting VHT rates, but the driver should now
be ready.

Differential Revision:	https://reviews.freebsd.org/D48606
Reviewed by:	bz
</pre>
</div>
</content>
</entry>
<entry>
<title>sys: convert ni-&gt;ni_txrate references use to the new net80211 API</title>
<updated>2025-02-26T19:29:18+00:00</updated>
<author>
<name>Adrian Chadd</name>
<email>adrian@FreeBSD.org</email>
</author>
<published>2025-01-02T04:35:24+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=7067450010931479f8dd97e51e4c5bf6a4d34c7e'/>
<id>7067450010931479f8dd97e51e4c5bf6a4d34c7e</id>
<content type='text'>
This just mechanically converts things.

* For linuxkpi, it was just used for display.
* For uath, it was just used for display, as firmware
  doesn't report it up.

Differential Revision:	https://reviews.freebsd.org/D48602
Reviewed by:	bz, thj
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This just mechanically converts things.

* For linuxkpi, it was just used for display.
* For uath, it was just used for display, as firmware
  doesn't report it up.

Differential Revision:	https://reviews.freebsd.org/D48602
Reviewed by:	bz, thj
</pre>
</div>
</content>
</entry>
</feed>
