几个月前,我的N770忽然搜索不到wifi无线网络了。具体表现为:笔记本和ipod touch都可以搜索到并且连接到wifi,N770却搜索不到任何网络。我把N770拿到图书馆去,又可以搜索到wifi了,很奇怪的故障。
最近google了一下,在下面的网址发现了这个bug report。
https://bugs.maemo.org/show_bug.cgi?id=2082
具体来说,是wifi搜索程序的bug,当搜索到的AP超过8个时,会有内存溢出问题,结果是一个都显示不出来。此故障在AP密集的地区如寝室、办公楼特别明显。
这个bug存在于内核模块中,相关代码没有开放,因此无法修复。从报告的结果来看,OS2006、OS2007HE、OS2008HE都有此问题。
解决方案:
方案一、可以通过iwconfig强制连接AP,步骤如下(OS2006下):
1. 安装xterm,取得root权限,联网后输入命令(联不上网的先用方案二连一下)
apt-get install wireless-tools
2. 在/usr/bin下建一个wifi.sh脚本,内容如下(名称随便,至于怎么建,不会用vi的话,在电脑上编辑好之后拷过来吧)
#!/bin/sh
# use gainroot to become root and relaunch itself
if [ `id -u` != 0 ] ; then
#if not already root, call itself as root
exec sudo gainroot <<EOF
exec $0 $*
EOF
exit $?
fi
# real script follows
ifconfig wlan0 up
iwconfig wlan0 key s:your_WEP_key
iwconfig wlan0 mode managed
iwconfig wlan0 essid your_ESSID
udhcpc -i wlan0
echo "nameserver your_dns_server" > /etc/resolv.conf
gconftool -s -t string /system/osso/connectivity/IAP/DEFAULT/type DUMMY
将其中的your_WEP_key替换为你的AP的WEP密码(ASCII格式),your_ESSID替换为你的AP的SSID,your_dns_server替换为你的DNS IP。
3. chmod +x /usr/bin/wifi.sh
4. 在菜单中做一个wifi.sh的快捷方式:
ln -s /usr/share/applications/hildon/wifi.desktop /etc/others-menu/extra_applications/wifi.desktop
就可以在菜单->Extra中看到Wifi Connection的快捷方式了。
5. 需要联网的时候就点击菜单->Extra->Wifi Connection。当使用需要联网的程序时,N770会要求选择连接,选择DEFAULT即可。
方案二、如果你觉得上面的方案太麻烦,bug report中提供了一种简便易行的方案,那就是——拥抱你的N770!
没错,你需要通过屏蔽大部分的wifi信号来避免这个bug的发生,具体步骤为:
1. 在离AP比较近的地方,点击select connection
2. 迅速将N770紧贴胸口,两只手在外侧捂住机身,务必捂严实了
3. 10秒钟后拿出,N770搜索到了一些AP,选择你自己的,点确定
4. 迅速再次抱住N770
5. 10秒钟后拿出,连接成功!