HI, Am Do., 9. Feb. 2023 um 22:19 Uhr schrieb Michael Walle <michael@xxxxxxxx>: > > Am 2023-02-09 22:07, schrieb Jakub Kicinski: > > On Thu, 9 Feb 2023 18:51:58 +0000 Ajay.Kathat@xxxxxxxxxxxxx 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