
Я пытаюсь пропатчить свой драйвер Wi-Fi, чтобы исправить ошибку исправленного канала -1, но я всегда получаю ошибки make, когда пытаюсь скомпилировать исходный код... Я использую Ubuntu x64 13.04 на AMD-боксе. Любая помощь будет оценена по достоинству...
$ 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, поэтому вам нужно использоватькомпактный-драйвер. Патч channel-negative-one-maxim не работает на compact-driver из-за существенных изменений в "net/wireless/chan.c". Согласноaircrack википатч channel-negative-one-maxim нужно применять только к "compat-wireless версиям до v3.3-rc1-2", поэтому его применять не нужно. Могу только предположить, что в более новых версиях проблема не должна существовать.
Мое предложение:Используя инструкции вики aircrack, загрузите compact-driver для ядра 3.8 (https: //www.kernel.org/pub/linux/kernel/projects/backports/stable/), примените mac80211.compat08082009.wl_frag+ack_v1.patch и скомпилируйте независимо от того, прошел ли патч или нет. Если после установки все еще не работает.Если все остальное не удаетсяпопробуйте другой дистрибутив, например Kali Live, возможно, в виртуальной машине, при этом открыв доступ к беспроводной карте виртуальной машины (это должно быть относительно просто, если у вас есть беспроводной модуль USB).
Дополнительная информация: Я попытался установить linux-backports-modules-cw-3.8-3.2.0-41-generic через apt, так как у меня 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.
PS: Если бы только у 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
.