Am 12.06.24 um 03:47 schrieb Ping-Ke Shih:
Martin Kaistra <martin.kaistra@xxxxxxxxxxxxx> wrote:
Hi Ping-Ke, hi Bitterblue,
I have a problem with the rtl8xxxu driver and 8188f, but only on some boards.
More specifically, I can see that during the second channel switch (which
happens when I do "iw dev wlan0 scan"), the rtl8xxxu_read32(0e08) returns -110
(ETIMEDOUT) and after that no reads or writes work anymore until I unload and
reload the driver.
If this symptom is 100% reproducible, I would add many rtl8xxxu_read32(0xe08)
somewhere to bisect the cause resulting from writing IO or certain H2C commands.
Thanks to your suggestion, I found out that
1) the timeouts start occuring right after the first frame is sent (rtl8xxxu_tx)
2) the adress doesn't matter, rtl8xxxu_read8(0x100) also gets a timeout
I am now looking into the differences between vendor driver and rtl8xxxu for
sending frames.
Example 1:
rtl8xxxu_write32(0x1234) // original code
rtl8xxxu_read32(0xe08) // add this to see if problem encounters?
Example 2:
rtl8xxxu_gen2_h2c_cmd() // original code
mdelay(50) // add some delay to wait firmware complete the work
rtl8xxxu_read32(0xe08) // add this to see if problem encounters?
The address of 0xe08 is not always on, so you should read it after power-on.