Linux 内核支持 AR9485 芯片组

Linux 内核支持 AR9485 芯片组

我的无线网络华硕 P8Z77-V Pro没有工作(这是一台新机器,我安装了 Debian Linux 6.0.6,内核 2.6.32-5-amd64),由于我不是高级用户,对无线一无所知,所以我来这里寻求帮助。但在我能想出比“我打开系统,却看不到无线!”更好的问题描述之前,我决定阅读“如何提问”部分,然后我看到了“帮助吸血鬼”定义,这让我有点羞愧。于是我开始做作业(而且是一项非常难的作业),四天后我又回到这里,遇到了一个完全不同的问题——我想。所以事情是这样的:

  1. “找出无线硬件是什么”——完成:Atheros AR9485

  2. “找出要使用的驱动程序” — 完成:ath9k

  3. “获取驱动程序” — 完成……嗯,差不多。似乎从内核版本 2.6.27 开始,这个 ath9k 驱动程序就内置在 Linux 中,因此我从一开始就拥有它。

那还有什么呢?好吧,我在网上搜索了一下,发现我应该使用系统配置。我尝试过,但也没有用——这是输出:

 root@balafom:~# iwconfig
 lo        no wireless extensions.

 eth0      no wireless extensions.

 pan0      no wireless extensions.

然后我发现Linux 无线 ath9k 页面其中有一个受支持的芯片组列表,其中包含以下条目:

AR9485(>= 2.6.39)1x1 SB 11n PCIe

我不知道这一切意味着什么,但括号对我来说似乎是一个威胁,表明最低 Linux 内核版本需要支持这个庞然大物。所以我继续寻找答案,并找到了Debian ath9k 维基页面。我找到了两个不同的芯片组支持列表,一个用于一个喘息,不幸的是,事实证明,我的芯片组支持似乎不是最新的,而只能由后者提供(内核 2.6.39?)

正如我所说,我不是高级 Linux 用户,因此我觉得自己无法冒险进入不稳定版本的领域。您建议这样做吗?内核 2.6.39 目前是否足够稳定?它能否在其余系统组件和软件仍处于其当前稳定版本的情况下安装和运行?

然后我开始收集有关内核和内核更改的信息,发现去年 12 月发布的最后一个稳定内核是 3.7.2,这让我很困惑,因为在我的发行版的稳定版本中,内核是 2.6.32。而且,2.6.39 版本甚至没有在 kernel.org 中列出……所以我现在很困惑。如果我的机器中已经有正确的驱动程序 (ath9k),为什么现在没有对我的芯片组的支持?还缺少什么?是版本错误吗?可以更新吗?我真的不知道这些问题是否有意义,而且我实际上不知道现在应该问什么才是明智的问题!如果我不能组织我的问题,我就会陷入困境,无法独自前进……

那么,你有什么建议?请记住,我不是技术人员:我相信内核编译和此类黑客肯定超出了我的能力范围……

好吧,就是这样。如果这个求助请求偏离了在这里提问的常规方式,如果很长很无聊,请原谅我——这是我的第一个。毕竟我只是一个文学理论老师,受过叙事方面的训练,但没有受过论坛类型。

谢谢大家的耐心,
卡西奥。

答案1

我继续四处寻找,找到了解决兼容性问题的方法(尽管到目前为止我还没能让它工作——最后我会描述我的尝试)。所以,以下是我对上述主要问题的回答:

  1. 目前看来,Wheezy 并不是一个好的选择,因为截至 2013 年第一周,仍有 287 个发布关键错误未修复。等待发布可能需要耐心,因为过去 10 周内,此类错误的减少率平均为每周 18 个(参见 Debian 项目第 01 周发布关键错误报告)。

  2. 看起来,驱动程序确实可以更新,而不需要重建整个内核。驱动程序的方法是模块化的,因此只需要拥有适当的更新、内核兼容的模块并加载它。这可能是一件棘手的事情,但有些人为了共同的利益而努力,因此有一个将较新的驱动程序移植到较旧的内核的包,该包名为兼容驱动程序(原名兼容无线

构建模块需要安装内核头文件(我花了一段时间才搞清楚)。然后就是下载 compat-drivers 源代码,解压并按照 [compat-drivers 文档] 中的说明进行操作(抱歉,我不允许发布第三个链接)。我很高兴我找到了答案:在我看来,这似乎是所有方面都完整的答案——除了我自己的。我是个新手,无法构建模块。我确实使用司机选择脚本来指定 ath9k 驱动程序,但制作命令失败 - 这是输出(实际输出是葡萄牙语,这是我自己错误地反向翻译成英语):

root@balafom:~/build/compat-wireless-3.6.8-1# make –debug=v  
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.

This program built for x86_64-pc-linux-gnu
Reading makefile files ...
Reading makefile files `Makefile'...
Updating the final objects...
Considering target file `all'.
 The file `all' doesn’t exist.
  Considering target file `modules'.
   The file `modules' doesn’t exist.
    Considering the target file `/root/build/compat-wireless-3.6.8-1/.compat_autoconf_compat-wireless-v3.6.8-1'.
     Target `/root/build/compat-wireless-3.6.8-1/.compat_autoconf_compat-wireless-v3.6.8-1' prerequisites done.
    Not necessary to reprocess the target file `/root/build/compat-wireless-3.6.8-1/.compat_autoconf_compat-wireless-v3.6.8-1'.
   Target `modules' prerequisites done.
  The target `modules' must be reprocessed.
make -C /lib/modules/2.6.32-5-amd64/build M=/root/build/compat-wireless-3.6.8-1 modules
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.

This program built for x86_64-pc-linux-gnu
Reading makefile files ...
Updating the final objects...
Considering target file `modules'.
 The file `all' doesn’t exist.
 Target `modules' prerequisites done.
The target `modules' must be reprocessed.
make[1]: Entering directory `/lib/modules/2.6.32-5-amd64/build'
make[1]: *** No rule to process target `modules'.  Stop.
make[1]: Exiting directory `/lib/modules/2.6.32-5-amd64/build'
make: ** [modules] Error 2

就这样吧。目前我只能做到这一步了。

答案2

我有这个芯片组,我也遇到了 Debian 的问题。对我来说,安装 Ubuntu 是可行的,因为它附带了一个更新的内核(它基于 Debian)。我的无线网卡在 12.04 版(长期支持版本)和 12.10 版中开箱即用。我个人更喜欢基于 Ubuntu 12.04 的 elementary OS。您应该决定您想要的桌面环境,并根据该环境选择变体(Ubuntu 用于 Unity、Kubuntu 用于 KDE、Xubuntu 用于 XFCE、Lubuntu 用于 LXDE)。这些绝不是您唯一的选择,您还可以使用 Linux Mint(它也基于 Ubuntu),其中包括 Cinnamon 或 Mate 桌面。祝您好运。

相关内容