> -----Original Message----- > From: Chris Morgan <macromorgan@xxxxxxxxxxx> > Sent: Saturday, December 9, 2023 4:34 AM > To: Larry Finger <Larry.Finger@xxxxxxxxxxxx> > Cc: Chris Morgan <macroalpha82@xxxxxxxxx>; linux-wireless@xxxxxxxxxxxxxxx; kvalo@xxxxxxxxxx; Ping-Ke Shih > <pkshih@xxxxxxxxxxx> > Subject: Re: [PATCH] wifi: rtw88: Use random MAC when efuse MAC invalid > > > On Fri, Dec 08, 2023 at 10:17:00AM -0600, Larry Finger wrote: > > On 12/8/23 09:07, Chris Morgan wrote: > > > From: Chris Morgan <macromorgan@xxxxxxxxxxx> > > > > > > When the MAC address read from the efuse data is invalid, warn the > > > user and use a random MAC address instead. > > > > > > On a device I am currently using (Anbernic RG-ARC) with a rtw8821cs > > > the efuse appears to be incompletely/improperly programmed. The MAC > > > address reads as ff:ff:ff:ff:ff:ff. When networkmanager attempts to > > > initiate a connection (and I haven't hard-coded a MAC address or > > > set it to random) it fails to establish a connection. > > > > > > Signed-off-by: Chris Morgan <macromorgan@xxxxxxxxxxx> > > > --- > > > drivers/net/wireless/realtek/rtw88/main.c | 5 +++++ > > > 1 file changed, 5 insertions(+) > > > > > > diff --git a/drivers/net/wireless/realtek/rtw88/main.c b/drivers/net/wireless/realtek/rtw88/main.c > > > index 4a33d2e47f33..6d22628129d0 100644 > > > --- a/drivers/net/wireless/realtek/rtw88/main.c > > > +++ b/drivers/net/wireless/realtek/rtw88/main.c > > > @@ -2008,6 +2008,11 @@ static int rtw_chip_efuse_info_setup(struct rtw_dev *rtwdev) > > > efuse->ext_pa_5g = efuse->pa_type_5g & BIT(0) ? 1 : 0; > > > efuse->ext_lna_2g = efuse->lna_type_5g & BIT(3) ? 1 : 0; > > > + if (!is_valid_ether_addr(efuse->addr)) { > > > + eth_random_addr(efuse->addr); > > > + dev_warn(rtwdev->dev, "efuse MAC invalid, using random\n"); > > > + } > > > + > > > out_disable: > > > rtw_chip_efuse_disable(rtwdev); > > > > Reviewed by Larry Finger <Larry.Finger@xxxxxxxxxxxx> Acked-by: Ping-Ke Shih <pkshih@xxxxxxxxxxx> Patch looks good to me. At least, it can have a valid MAC address. > > > > Thanks for this patch. > > > > There are a number of SDIO devices known to me with improperly coded EFUSE > > values. It seems that RTW8723DS chips perform poorly even when given a valid > > MAC address. Is this also true for RTW8821CS chips? > > The RTW8821CS I have in this specific case doesn't perform all that > well, but it also has sub-optimal antennas. I'm not noticing any major > performance difference between the devices with a valid MAC address > and the device I have without one. They're both pulling about 8MB/s > over scp on a 5GHz 802.11ac(ax wifi gateway) network. > It seems like we still need to have a set of _default_ efuse values.