笔记本从休眠中恢复,无线连接中断的解决方法
-
最近给自己的一台Toshiba老笔记本装上了Ubuntu 8.10(Intrepid)。出现的一个问题让我大费周折。
[b]问题:[/b]电脑使用CISCO Aironet 350 的PCMCIA无线卡,当笔记本从休眠状态恢复时,该卡无反应,无线连接中断。
[b]解决过程:[/b]
从休眠中恢复的电脑上的PC卡的指示灯全灭。最先以为恢复时系统没有载入无线卡的驱动. 使用以下命令检查了解到驱动已载入。[code]tony@Shine:~$ lsmod |grep airo
airo_cs 12416 1
airo 77088 1 airo_cs
pcmcia 43052 1 airo_cs
pcmcia_core 43540 4 airo_cs,pcmcia,yenta_socket,rsrc_nonstatic
tony@Shine:~$
[/code]注:airo_cs是这个无线卡的驱动的名字。
[list][li]将卡拔出再插回插槽后,无线连接能恢复。了解到pccardctl可以对PC卡进行控制,尝试了他的各种命令选项,最后发现使用下面的命令可以让无线卡恢复工作(只能用弱智的方法,拔了再插回):[code]先:
sudo pccardctl eject
然后:
sudo pccardctl insert[/code]注:必须要用管理员身份(sudo)才有效[/li][li]接着考虑将这两个命令写入到“电源管理程序”在电脑恢复时调用的脚本中。网上查到了很多方法,大多数是到/etc/acpi/resume.d中加入相应的命令,可是试了很久都不成功,最后发现该目录下的所有脚本都没有在电源恢复时执行。上网再查才发现Ubuntu8.4后默认不使用acpi-support的电源管理程序而由pm-utils代替了,我虚弱[/li][li]最后用man pm-suspend来了解pm-utils的用法。写了个下面的名为10-wireless.sh的小脚本放到/etc/pm/sleep.d/目录下。[code]#!/bin/sh
TODO: Bring back wireless conneciton after the power resume
case "$1" in
thaw|resume)
/sbin/pccardctl eject
sleep 1
/sbin/pccardctl insert
;;
*) exit $NA
;;
esac
[/code]注:保存上诉脚本后要确保其可被执行:sudo chmod a+x 10-wireless.sh
[/li][li]实验一下,成功。Happy[/li][/list]
(另:上诉的无线卡在Ubuntu 8.4(内核2.6.24-19-generic)上无法工作,原因及解决方法请见: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/189398 , Ubuntu 8.10(内核2.6.27-2-generic)没有问题)[[i] 本帖最后由 digitalsatori 于 2008-9-8 10:25 编辑 [/i]]