Wifi is not working on two of my boards 5(final)

That problem is confirmed, it is caused by “factory setting” area(0x00040000-0x00050000).

I get the bug flash and normal flash, compare the two, get the following result.

BUG BOARD:
< 00040000  FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF
< 00040020  FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF
< 00040030  FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF
< 00040040  FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF
< 00040050  FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF
< 00040070  FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF
< 000400D0  FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF
< 000400E0  FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF 
< 00040120  FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF 
NORMAL BOARD:
> 00040000  50 53 00 01 00 0C 43 30  50 C8 FF FF FF FF FF FF  
> 00040020  FF FF FF FF FF FF FF FF  00 0C 43 30 50 77 00 0C  
> 00040030  43 30 50 66 11 FF 24 28  FF FF 2B 01 55 77 A8 AA  
> 00040040  8C 88 FF FF 0C 00 00 00  00 00 00 00 00 00 FF FF  
> 00040050  FF FF 0A 0A 0A 0A 0A 0A  0A 0A 0A 0A 0A 0A 0B 0B  
> 00040070  FF FF FF FF FF FF 03 80  FF FF FF FF FF FF FF FF   
> 000400D0  FF FF FF FF FF FF FF FF  FF FF FF FF FF FF 66 66  
> 000400E0  CC AA 88 66 CC AA 88 66  CC AA 88 66 CC AA 88 66   
> 00040120  81 09 1C 13 4F 15 4F 15  03 1D 07 1D FF FF FF FF

I guess this data(about 512 bytes) should be same data format in EEPROM. The bug one can not load mac address because in this area it is all invalid/empty(0xFF).

I am right again:

this is EEPROM from RT5350 official SDK.(0xFF lines deleted, 512bytes)

ADDRESS   +0 +1 +2 +3 +4 +5 +6 +7  +8 +9 +A +B +C +D +E +F
00000000  50 53 00 01 00 0C 43 30  50 58 FF FF FF FF FF FF
00000020  FF FF FF FF FF FF FF FF  00 0C 43 30 50 77 00 0C
00000030  43 30 50 66 11 FF 24 28  FF FF 2B 01 55 77 A8 AA
00000040  8C 88 FF FF 0C 00 00 00  00 00 00 00 00 00 FF FF
00000050  FF FF 0A 0A 0A 0A 0A 0A  0A 0A 0A 0A 0A 0A 0B 0B
00000070  FF FF FF FF FF FF 03 80  FF FF FF FF FF FF FF FF 
000000D0  FF FF FF FF FF FF FF FF  FF FF FF FF FF FF 66 66
000000E0  CC AA 88 66 CC AA 88 66  CC AA 88 66 CC AA 88 66
00000120  03 09 1C 13 4F 15 4F 15  03 1D 07 1D FF FF FF FF

This is another EEPROM in SDK.

ADDRESS   +0 +1 +2 +3 +4 +5 +6 +7  +8 +9 +A +B +C +D +E +F
00000000  50 53 00 01 00 0C 43 30  50 58 FF FF FF FF FF FF 
00000020  FF FF FF FF FF FF FF FF  00 0C 43 30 50 77 00 0C 
00000030  43 30 50 66 11 FF 24 30  FF FF 2B 01 55 77 A8 AA 
00000040  8C 88 FF FF 0C 00 00 00  00 00 00 00 00 00 FF FF 
00000050  FF FF 0A 0A 0A 0A 0A 0A  0A 0A 0A 0A 0A 0A 0B 0B
00000070  FF FF FF FF FF FF 03 80  FF FF FF FF FF FF FF FF
000000D0  FF FF FF FF FF FF FF FF  FF FF FF FF FF FF 66 66
000000E0  CC AA 88 66 CC AA 88 66  CC AA 88 66 CC AA 88 66
00000120  03 09 1C 13 4F 15 4F 15  03 1D 07 1D FF FF FF FF

So, the factory setting is necessary and important, looks like some driver are reading that when the board boot up.

After copy 512 bytes data to its location at flash 0x00040000, everything works again. 😀