Hi all. I hope my findings can point some developer/hacker in the right direction.
Some background on my iPhone:
It's an 8Gb 49 week, 1.1.2 4.6 OTB. When I bought it, there was no software unlock solution but the Turbosim that I used.
Later, 1.1.4 came out and I updated the iPhone and unlocked it with Ziphone. Right out of the sudden, my battery didn't last for even 24 hours. I had to recharge it every night and some in days, the phone was already dead when getting home late at night. At that point, wifi worked as usual.
After updating to 2.1 and unlocking with Winpwn, wifi stopped working.
Trying to solve the Wifi problem:
Reading a lot about that problem here in this forums and on Google searches, I decided to roll back to 1.1.4 and perform a baseband downgrade to 04.04.05G. I used Kiphone to downgrade the baseband.
Note: Kiphone only works on 1.1.4 iphones, so you need to roll back to 1.1.4 before using it. There are a bunch of tutorials in the net about it, the most annoying part is installing old versions of iTunes (7.5 in that case). Read more about it on the net before doing this.
That gave me a 1.1.4 iPhone with 04.04.05G baseband. Then I unlocked it with Ziphone 3.0, but I didn't try using Wifi (my bad, I know). Then I restored it back to 2.1 and unlocked with Winpwn.
After that I tried to mess with some file permissions. At the end with no success, I made sure every file under /private/var/preferences/SystemConfiguration belonged to root:wheel (not sure this was the default permissions, if not, please tell me your settings).
Wifi started to work but very weird. It tries to connect to known networks BUT:
- DHCP assigns the damn 169 IPs;
- If I get to the wifi menu in time to still see the access point, I keep renewing the IP until DHCP gets the IP of my wifi's IP range.
- By doing this, wifi remains connected until I put the iPhone back to sleep.
- When opening the iPhone, sometimes I see the wifi bars for a couple of seconds, then they disappear. Sometimes I just can't find wifi any network. Not even mine. I believe the iPhone tries to connect to the access point when waking up but, due to this 169 IP, it gives up the connection.
- Everyday iPhone seems to behave different, it seems that finding the access points is becoming harder as time goes by.
- It seems to be easier to connect when the iPhone is "cold".
1. If there's a way to prevent those 169 IPs to be assigned, the wifi will work.
2. If it's really a hardware problem as reported in other threads, I believe this can work around the problem.
3. There should be a way to log hardware failures and what Wifi is doing and its status.
4. Due to my last comment in My Findings, I believe some file should be being fed and some garbage collector is not doing its job. Maybe that explains different and degrading behavior along the time.
Admins, if this info is useless, pls delete this thread.
Thanks you all.