I had the same problem getting wifi to work with ARV752DPW22, rev:01C:
misha.gps wrote:If someone have ARV752DPW22, rev:01B, Vodafone Easybox 803A - you will have problem with wifi (openwrt trunk from 11.03.2013).
The problem is connected with incorrect reading of rt3062 eeprom through PCI.
I don't know how to do eeprom reading correct, but I can did dirty hack.
[...snip...]
after that wifi working perfectly
Here's the story of what I did:
(All testing was done against current trunk, all patches are for about r36130.)
Starting point was this forum thread which hinted for some time about the WLAN eeprom not being loaded / extracted. The fix for this is easy, just patch:
/etc/hotplug.d/firmware/10-rt2xx-eeprom
or do the steps manually.
Patch: ARV752DPW-hotplug-firmware-wifi-eeprom.patch
(The patch just adds another case to the script, maybe it would be better to strip the old/other cases out completely?)
But, this wasn't working - even if the file was present, it would not be loaded. Browsing the source code and openwrt patches showed that there should be a Message if any filename was even attempted to load - no such luck with my box.
Since it seemed to be working on ARV752DPW and it should not be overly complicated (the eeprom is even stored in the same mtd blocks), I thought it could only be some board specific code.
I thought maybe it's got something to do with the whole device-tree migration....
--> Bingo! The *.dts file on ARV752DPW defined an eeprom name, the ARV752DPW22 didn't
Patch: ARV752DPW-dts.patch
So, now it tried to load the file and if it was present, it would even succeed.
But, the file wasn't generated by default, manually generating it worked fine.
Why? Because /lib/functions/lantiq.sh greps /proc/cpuinfo for the board name/type which simply stated "Danube rev. 1.5" and didn't include the board name at all. Hmmm..... I was pretty sure this worked before in 3.7?
Luckily the Patches for 3.7 are still present. After a bit of digging around in the arch code of the kernel I was pretty sure that the "arch" directory and/or "prom.c" would be the place to edit if i wanted to do something like this.
Grepping the existing linux-3.7 patches showed that there was something going on in that place *and* most the patches are missing for linux-3.8. I isolated the missing feature to the "0100-MIPS-lantiq-honour-model-property-inside-devicetree-.patch" patch and tested if it applied against linux-3.8. Unfortunately, the entire patch series was reorganized, so 0100 means "last patch" as of now. Since I didn't want to mess around with the other patches, i rewrote the patch a bit (mostly line numbers) so that it applies correctly.
Another rebuild later -> bingo.
EDIT: This patch is outdated. Model name is contained in the "machine" line of /proc/cpuinfo as of now. Therefore the file /lib/functions/lantiq must be patched to reflect that.
Patch: ARV752DPW22-enable_model_dts.patch
The only problem is, that even if my Box now generates the eeprom an loads it, i still can't get WLAN to work.
"iwlist scan" shows nothing (I'm trying to join an existing wifi network as client) and I'm getting "command failed: No buffer space available (-132)" on "wifi enable".
I'm stumped as to why this is happening, maybe i've missed something else.
I hope that at least the patches/code may help someone else to get it to work, no Idea what's wrong with my setup since loading the eeprom worked for "misha.gps".
Currently I'm compiling a bare-bones trunk, I'm still hoping my wifi will magically work with that.
Edit: I forgot something:
The default profile for ARV752DPW22 also doesn't contain wifi modules and userspace software, so I also patched it:
ARV752DPW22-profile.patch
(Last edited by qwertz123 on 13 Apr 2013, 08:07)