debug 故事之二——“wireless switch”
自从 2.6.29,本本的无线网卡(ath9k)就不能上网。正巧 2.6.29 刚出来的时候另有一票人在邮件列表里抱怨无线网卡的问题,我便以为这是个普遍现象,在群众雪亮的眼睛前不久就可得到修正。 等啊等啊,一等就到了 2.6.29.3,问题依旧没有改观。而此时,邮件列表和论坛里的其他案例早都消停了。 我讨厌一个人的战斗。但我决定不能傻等。 症状:networkmanager 无法搜索到无线信号。停用 networkmanager,手动 iwlist scan 也一样。 病历: 1、分析其他 2.6.29 无线网卡问题案例,安装 crda 和 wireless-regdb 并进行相应设置,无效。 2、找到了 Linux 无线驱动的官网,在 2.6.29 下编译 daily build 的 compat-wireless,无效。 3、刚好手边有块 pcmcia 的无线网卡(ath5k),发现在 2.6.29 下可以正常使用。 4、设置不变,降级回 2.6.28.x 问题消失,升级到 2.6.29.x 症状出现。 似乎是 ath9k 的问题。或许是 2.6.28 -> 2.6.29 引入的 regression?我决定给 kernel 报 bug 。 马拉松式的诊断开始: 1、根据 John W. Linville 的建议编译 2.6.30-rc5,无效。 2、在 Luis R. Rodriguez 的热心指点下,看 dmesg,看 irq,无果。 3、打补丁,编译内核。 4、重复 2、3 步。 几经周折,收效甚微。Luis 似乎也懵了。 算了,为了不耽误找工作,先回到 2.6.28 待着吧。 直到昨天。2.6.29.4 出世,手痒。没有惊喜。 百无聊赖,翻了翻 自己报的 bug ,回味着 Luis 说的 dmesg 看不出有什么问题。 或许是 networkmanager 的问题?虽然不信,但是有病乱投医,索性看一下。google 告知 networkmanager 的日志记于 /var/log/daemon.log。 对比升级前后的 log,2.6.29,"deactivating device (reason: 2)"之后再无消息。 这"reason 2...