On Sun, 23 Dec 2018 at 08:38, Reizer, Eyal <eyalr@xxxxxx> wrote: > > > > > > Instead, it looks like what you need, is a way to keep track of > > > > > whether the SDIO card, became power cycled or if it stayed powered > > on, > > > > > when "ifconfig wlan0 up" is done. In case of a power cycle, you need > > > > > to re-program the firmware, right? > > > > > > > > Yeah mostly. But we also need to ensure things do get powered down > > > > properly after ifconfig wlan0 down :) IMO after ifconfig wlan0 down > > > > returns, there should be no waiting needed. > > > > > > > > > Would it be possible to re-program the firmware, even if the SDIO card > > > > > stayed powered-on? > > > > > > > > That might help for some cases, but the problem of how to ensure the > > > > card is powered down after ifconfig wlan0 down returns still exists. > > > > > > Well, does the SDIO card really have to be powered down before > > > "ifconfig wlan0 down" returns? If so, why? > > > > Good question. Eyal, any comments what should happen here from > > the wlcore hardware point of view? > > > > You are ok as long as the wlan_enable pin Does go down for a sufficient amount of time > turning the wl18xx device off. > The firmware can only be downloaded once after power on. > In between down/up you have to make sure the wlan_enable is fully going through on->off->on > and the wl18xx device is fully reset. > On power on the firmware is loaded by the driver and this will fail in case the reset didn't happen This clearly answers one of my question, in regards to re-programming the FW, thanks! However, I am still lacking an answer to if there is hard requirement to actually power off the SDIO card at "down". So far, the indications I have got, gives that answer "yes". Can you or anybody else confirm that? > . > > > An option would be to call pm_runtime_get_sync() at "ifconfig wlan0 > > > up" (I assume you already do that) and then re-program the firmware, > > > even if the card hasn't been power cycled. Wouldn't that work? > > > No, this wouldn't work in case the wlan_enable pin didn't reset the chip as part of the > "ifconfig wlan0 down" Command. > > > Ricardo, care to test and see if the problem comes back if you > > keep PM runtime enabled? > > > > > Or perhaps this is the problem you are encountering, that the FW can't > > > be reprogrammed, unless the card has been power cycled? You can easily > > > test that, by simply bumping the runtime usage count for the card > > > device via sysfs, before doing the "ifconfig wlan0 up/down" thingy. > > > > Correct. The firmware can't be reprogrammed , unless the card has been power cycled. Again, thanks for clarifying this. [...] Kind regards Uffe