Hello all, recently I bought a MK808B but it turns out that the wifi driver is not working on picuntu, so I decided to debug it and find out the problem.
I think I have some findings on the problem and wanna see if someone is still fixing it.
As many of you suggested that the wl_reg_on pin is somehow remapped to another pin, I have tried some weird testing hoping to find out the pin from Finless 2.1 ROM by hard-coding a gpio testing module using the debugfs.
It appears that the wl_reg_on pin(D0 I suppose) may not be remapped as I find that it is already requested (barely means a name is marked on the pin desc) by someone ( I believe it is the sdmmc kernel that does this) and the whole GPIO3_PC[0-7] pins are requested, unless the kernel programmer forgot to clear the request calls
Here is what I find about GPIO3_P[ C and D ]: where X is requested, 1/0 is current pin value
Code: Select all
so PC[0-7], PD0 PD1 are all requested. (Don't readlly sure about the pin value is correct or not, but I think the request state is more relevant as you move on to the story below)
As I have no kernel development experience and minimal C skills, I don't dig into the gpio_request function and don't try to see the current gpio value behind it, as I believe the existing turn-on logic should work.
But then I observed an interesting phenomenon when I try to do the same testing on other pins.
I try to request all pins values and their request state, after I did so, the wifi module stops working. (Hopefully the stick was not burnt out as I understand messing with the gpio can causes severe problem)
Then I pin down which pin causes that problem by requesting it one by one, it appears that when I request GPIO0_D
(just do a gpio_request), the system loses the spi connection with the module.
I find on RK3066_datasheet_brief.pdf this pin has an alternative function of PWM2
Oops... and then I hesitate to dig in further as I will probably burn the RK903 chip easily in case it is truly used as a pwm pin to drive an external circuit to power the RK903.
So forgive me, I truly don't want to break the case of my android stick and investigate the circuit.
I hope that someone can continue to work on it in case my infomation is relevant