[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAEyMn7bpwusVarzHa262maJHf6XTpCW4SL0-o+YH4DGZx94+hw@mail.gmail.com>
Date: Fri, 10 Feb 2023 10:17:24 +0100
From: Heiko Thiery <heiko.thiery@...il.com>
To: Michael Walle <michael@...le.cc>
Cc: Jakub Kicinski <kuba@...nel.org>, Ajay.Kathat@...rochip.com,
Claudiu.Beznea@...rochip.com, kvalo@...nel.org,
linux-wireless@...r.kernel.org, netdev@...r.kernel.org,
Amisha.Patel@...rochip.com, Thomas Haller <thaller@...hat.com>,
Beniamino Galvani <bgalvani@...hat.com>
Subject: Re: wilc1000 MAC address is 00:00:00:00:00:00
HI,
Am Do., 9. Feb. 2023 um 22:19 Uhr schrieb Michael Walle <michael@...le.cc>:
>
> Am 2023-02-09 22:07, schrieb Jakub Kicinski:
> > On Thu, 9 Feb 2023 18:51:58 +0000 Ajay.Kathat@...rochip.com wrote:
> >> > netdev should be created with a valid lladdr, is there something
> >> > wifi-specific here that'd prevalent that? The canonical flow is
> >> > to this before registering the netdev:
> >>
> >> Here it's the timing in wilc1000 by when the MAC address is available
> >> to
> >> read from NV. NV read is available in "mac_open" net_device_ops
> >> instead
> >> of bus probe function. I think, mostly the operations on netdev which
> >> make use of mac address are performed after the "mac_open" (I may be
> >> missing something).
> >>
> >> Does it make sense to assign a random address in probe and later read
> >> back from NV in mac_open to make use of stored value?
> >
> > Hard to say, I'd suspect that may be even more confusing than
> > starting with zeroes. There aren't any hard rules around the
> > addresses AFAIK, but addrs are visible to user space. So user
> > space will likely make assumptions based on the most commonly
> > observed sequence (reading real addr at probe).
>
> Maybe we should also ask the NetworkManager guys. IMHO random
> MAC address sounds bogus.
Maybe it would be a "workaround" with loading the firmware while
probing the device to set the real hw address.
probe()
load_fw()
read_hw_addr_from_nv()
eth_hw_addr_set(ndev, addr)
unload_fw()
mac_open()
load_fw()
mac_close()
unload_fw()
> I don't understand the "we load the firmware when the interface
> is brought up" thing. Esp. with network manager scanning in the
> background, the firmware gets loaded so many times.
Yes this is also an additional issue here.
I added Thomas and Beniamino as I hope one of them can help regarding
the network-manager questions.
>
> -michael
Powered by blists - more mailing lists