Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx> wrote: > On 17/03/2025 05:01, Ping-Ke Shih wrote: > > Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx> wrote: > >> > >> Tell the chip the maximum AMPDU size supported by the AP. This greatly > >> improves the TX speed of RTL8814AU in the 2.4 GHz band. Before: ~90 > >> Mbps. After: ~300 Mbps. > >> > >> Add this configuration for all the chips, even if it only has an effect > >> on RTL8814AU in my tests. Surely they all need this. > > > > The hardware default value of REG_AMPDU_MAX_LENGTH is 0xffff (unlimited) > > for most chips. It seems like RTL8812A/RTL8821A are also exceptions, so > > at power on function they do > > rtw_write32(rtwdev, REG_AMPDU_MAX_LENGTH, 0xffffffff); > > > > I feel RTL8814A has similar setting, so maybe you can just add similar > > stuff. > > > > By the way, the AMPDU is controlled by TX descriptor basically: > > pkt_info->ampdu_factor = ampdu_factor; > > pkt_info->ampdu_density = ampdu_density; > > pkt_info->ampdu_en = ampdu_en; > > > > Since you didn't change this part at all, I still feel setting > > REG_AMPDU_MAX_LENGTH to 0xffffffff can fix low throughput problem. > > > > I tried 0xffffffff just now and it doesn't work. It's the same with > both of my routers. They advertise a maximum AMPDU size of 64 K. > I can't just set it to 0xffff either, because then the upload speed > in the 5 GHz band suffers a lot. The dual band router advertises a > maximum AMPDU size of 256 K in the 5 GHz band so it gets a value of > 0x3ffff. Not sure if 0xffffffff is a special value. Since this is a limit of AMPDU length, you can set a constant large value such as 0x3ffff you have tested. Is there special case it can't handle?