无线驱动通道-1补丁未构建

无线驱动通道-1补丁未构建

我正在尝试修补我的 wifi 驱动程序以修复固定通道 -1 错误,但当我尝试编译源代码时总是出现错误...我在 AMD 机器上运行 Ubuntu x64 13.04。任何帮助都将不胜感激...

$ sudo make
make -C /lib/modules/3.8.0-19-generic/build M=/usr/src/compat-wireless-3.4-rc3-1 modules
make[1]: Entering directory `/usr/src/linux-headers-3.8.0-19-generic'
CC [M]  /usr/src/compat-wireless-3.4-rc3-1/drivers/bcma/main.o
In file included from /usr/src/compat-wireless-3.4-rc3-1/include/linux/bcma/bcma.h:8:0,
             from /usr/src/compat-wireless-3.4-rc3-1/drivers/bcma/bcma_private.h:9,
             from /usr/src/compat-wireless-3.4-rc3-1/drivers/bcma/main.c:8:
/usr/src/compat-wireless-3.4-rc3-1/include/linux/bcma/bcma_driver_pci.h:207:23: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘bcma_core_pci_init’
In file included from /usr/src/compat-wireless-3.4-rc3-1/drivers/bcma/main.c:8:0:
/usr/src/compat-wireless-3.4-rc3-1/drivers/bcma/bcma_private.h:17:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘bcma_bus_register’
/usr/src/compat-wireless-3.4-rc3-1/drivers/bcma/main.c:142:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘bcma_bus_register’
/usr/src/compat-wireless-3.4-rc3-1/drivers/bcma/main.c:17:21: warning: ‘bcma_bus_next_num’ defined but not used [-Wunused-variable]
/usr/src/compat-wireless-3.4-rc3-1/drivers/bcma/main.c:86:12: warning: ‘bcma_register_cores’ defined but not used [-Wunused-function]
make[3]: *** [/usr/src/compat-wireless-3.4-rc3-1/drivers/bcma/main.o] Error 1
make[2]: *** [/usr/src/compat-wireless-3.4-rc3-1/drivers/bcma] Error 2
make[1]: *** [_module_/usr/src/compat-wireless-3.4-rc3-1] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.8.0-19-generic'
make: *** [modules] Error 2

答案1

使用 Ubuntu 12.04 AMD64 和“0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN”我还没有找到解决方案,尽管我可以尝试为您指明正确的方向。

编译错误:compact-wireless 软件包(http://wireless.kernel.org/en/users/Download/stable/)适用于 3.7 之前的内核。您使用的是内核 3.8.0-19,因此您需要使用紧凑型驱动器. 由于“net/wireless/chan.c”中的重大变化,channel-negative-one-maxim 补丁无法在 compact-driver 上运行。根据aircrack 维基channel-negative-one-maxim 补丁只需要应用于“v3.3-rc1-2 之前的 compat-wireless 版本”,因此您无需应用它。我只能假设这个问题在较新的版本中不存在。

我的建议:使用 aircrack wiki 说明下载适用于 3.8 内核的 compact-driver(https://www.kernel.org/pub/linux/kernel/projects/backports/stable/),应用 mac80211.compat08082009.wl_frag+ack_v1.patch 并进行编译,无论补丁是否通过。安装后如果仍然不起作用。如果一切都失败了尝试另一个发行版,例如 Kali live,可能在虚拟机中尝试,同时将无线网卡暴露给 VM(如果您有 USB 无线模块,应该相对容易)。

附加信息:我尝试通过 apt 安装 linux-backports-modules-cw-3.8-3.2.0-41-generic,因为我有 12.04 和 3.2.0-41-generic 内核。但是没有成功,请注意这些预编译模块不包含 mac80211.compat08082009.wl_frag+ack_v1.patch。我还发现 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1024568 是针对 ubuntu 12.04 提交的,但自 2012-07-31 以来没有任何活动。

附言:如果 aireplay 有一个参数来强制通道,那么它将为很多人省去很多麻烦,建议像我这样的新手使用随机不受支持的补丁来修复损坏的驱动程序是很糟糕的做法。在 Raspbian 上情况更糟(尝试了内核 3.2 和 3.6)。抱歉链接损坏了,这是我的第一篇帖子。祝你好运!

答案2

./scripts/driver-select您是否在 compat-wireless-3.* 目录中通过 选择了驱动程序?如果没有,请运行 bare./scripts/driver-select以查看支持的驱动程序,并使用 选择一个./scripts/driver-select driver_name。之后,您很可能能够make && sudo make install

相关内容