All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alessio Ferri <alessio.ferri@mythread.it>
To: "andreas.wendleder" <andreas.wendleder@proton.me>
Cc: "b43-dev@lists.infradead.org" <b43-dev@lists.infradead.org>,
	"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>
Subject: Re: b43: ac rev1 captured packets with ampdu
Date: Sat, 10 Oct 2026 16:10:43 +0200	[thread overview]
Message-ID: <20261010161043.5dd21203@fedora> (raw)
In-Reply-To: <1NF3n26c1UQ1YcYwXT-JD8OKl7dIr_22x7bgdLLwLHkWHnKlZAtcYw7504hufNHGIBEo3qr8atDAoKtK6qxtLUfVWhVSazjaIH5QPYGAgs0=@proton.me>

Il giorno Sat, 10 Oct 2026 12:59:10 +0000
"andreas.wendleder" <andreas.wendleder@proton.me> ha scritto:

> Hi Alessio,
> 
> Three findings on the MacBookAir6,1 (2.4 GHz, ucode 832.127), all
> thanks to your code and captures:
> 
> 1. RX level. Your rxgainctrl write 0x1726 = 0x000c is worth 26 dB
> here. With it my remaining PHY table replay is gone. 2. Second TX
> chain. The chipcontrol |= 0x8 at the end of your fem2_sub1_setup is
> what turns on TX on core 1. I had ported the two PHY writes but not
> that one: core 1 did not radiate and MCS 8–15 failed completely. The
> bit survives a module reload, so it only shows after a cold boot. 3.
> A-MPDU TX works, with the microcode building the aggregates as in
> your notes. What it needed beyond 0x45c0 and the cache info:
>    - the frame's seq_ctrl in the header's sequence field;
>    - cache info bytes 0–1 zero when encrypting in software. The stock
> 50 04 makes the microcode encrypt again: the AP acks the frame and
> drops it;
>    - session frames reported to mac80211 with
> IEEE80211_TX_STAT_AMPDU, or minstrel_ht ignores them;
>    - the attempt count of a status (word 2, bits 7:0) divided by its
> MPDU count;
>    - a requeue in the driver for MPDUs the microcode reports unacked.
> It gives up after a few attempts, and without the requeue TCP
> collapses.
> 
>    Result: about 30 Mbit/s up at HT20 over 15 minutes, against 20 at
> legacy rates.
> 
> One question: my TX gain sits at index 64 of
> acphy_txgain_epa_2g_2069rev4 (the reset value), and going to index 96
> collapses the link at 1 m from the AP. Have you seen what a healthy
> board transmits with on 2.4 GHz, or is there more to the PA/FEM setup
> than fem2_sub1_setup?
> 
> Thanks, Andreas

Increasing bits density per air time cause transmission power to drop,
as the modulation is more sensitive to distortion. By raising the index
you reduce power, so it works better near the device and much worse
from afar.

WARNING: multiple messages have this Message-ID (diff)
From: Alessio Ferri <alessio.ferri@mythread.it>
To: "andreas.wendleder" <andreas.wendleder@proton.me>
Cc: "b43-dev@lists.infradead.org" <b43-dev@lists.infradead.org>,
	"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>
Subject: Re: b43: ac rev1 captured packets with ampdu
Date: Sat, 10 Oct 2026 16:10:43 +0200	[thread overview]
Message-ID: <20261010161043.5dd21203@fedora> (raw)
In-Reply-To: <1NF3n26c1UQ1YcYwXT-JD8OKl7dIr_22x7bgdLLwLHkWHnKlZAtcYw7504hufNHGIBEo3qr8atDAoKtK6qxtLUfVWhVSazjaIH5QPYGAgs0=@proton.me>

Il giorno Sat, 10 Oct 2026 12:59:10 +0000
"andreas.wendleder" <andreas.wendleder@proton.me> ha scritto:

> Hi Alessio,
> 
> Three findings on the MacBookAir6,1 (2.4 GHz, ucode 832.127), all
> thanks to your code and captures:
> 
> 1. RX level. Your rxgainctrl write 0x1726 = 0x000c is worth 26 dB
> here. With it my remaining PHY table replay is gone. 2. Second TX
> chain. The chipcontrol |= 0x8 at the end of your fem2_sub1_setup is
> what turns on TX on core 1. I had ported the two PHY writes but not
> that one: core 1 did not radiate and MCS 8–15 failed completely. The
> bit survives a module reload, so it only shows after a cold boot. 3.
> A-MPDU TX works, with the microcode building the aggregates as in
> your notes. What it needed beyond 0x45c0 and the cache info:
>    - the frame's seq_ctrl in the header's sequence field;
>    - cache info bytes 0–1 zero when encrypting in software. The stock
> 50 04 makes the microcode encrypt again: the AP acks the frame and
> drops it;
>    - session frames reported to mac80211 with
> IEEE80211_TX_STAT_AMPDU, or minstrel_ht ignores them;
>    - the attempt count of a status (word 2, bits 7:0) divided by its
> MPDU count;
>    - a requeue in the driver for MPDUs the microcode reports unacked.
> It gives up after a few attempts, and without the requeue TCP
> collapses.
> 
>    Result: about 30 Mbit/s up at HT20 over 15 minutes, against 20 at
> legacy rates.
> 
> One question: my TX gain sits at index 64 of
> acphy_txgain_epa_2g_2069rev4 (the reset value), and going to index 96
> collapses the link at 1 m from the AP. Have you seen what a healthy
> board transmits with on 2.4 GHz, or is there more to the PA/FEM setup
> than fem2_sub1_setup?
> 
> Thanks, Andreas

Increasing bits density per air time cause transmission power to drop,
as the modulation is more sensitive to distortion. By raising the index
you reduce power, so it works better near the device and much worse
from afar.

_______________________________________________
b43-dev mailing list
b43-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/b43-dev

  reply	other threads:[~2026-10-10 14:13 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-09 15:31 b43: ac rev1 captured packets with ampdu Alessio Ferri
2026-10-09 15:31 ` Alessio Ferri
2026-10-09 23:16 ` AW: " andreas.wendleder
2026-10-09 23:16   ` andreas.wendleder
2026-10-10 12:59   ` andreas.wendleder
2026-10-10 12:59     ` andreas.wendleder
2026-10-10 14:10     ` Alessio Ferri [this message]
2026-10-10 14:10       ` Alessio Ferri
2026-10-10 14:15       ` AW: " andreas.wendleder
2026-10-10 14:15         ` andreas.wendleder
2026-10-11 16:42         ` Alessio Ferri
2026-10-11 16:42           ` Alessio Ferri
2026-10-10 14:01   ` Alessio Ferri
2026-10-10 14:01     ` Alessio Ferri

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20261010161043.5dd21203@fedora \
    --to=alessio.ferri@mythread.it \
    --cc=andreas.wendleder@proton.me \
    --cc=b43-dev@lists.infradead.org \
    --cc=linux-wireless@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.