
고정된 채널 -1 오류를 수정하기 위해 Wi-Fi 드라이버를 패치하려고 하는데 소스를 컴파일하려고 하면 항상 오류가 발생합니다... 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"의 중요한 변경으로 인해 채널 음수 1 격언 패치가 컴팩트 드라이버에서 작동하지 않습니다. 에 따르면에어크랙 위키Channel-negative-one-maxim 패치는 "v3.3-rc1-2 이전의 compat-wireless 버전"에만 적용하면 되므로 적용할 필요가 없습니다. 최신 버전에서는 문제가 발생하지 않아야 한다고 가정할 수 있습니다.
나의 제안:aircrack wiki 지침을 사용하여 3.8 커널용 컴팩트 드라이버(https: //www.kernel.org/pub/linux/kernel/projects/backports/stable/)를 다운로드하고 mac80211.compat08082009.wl_frag+ack_v1.patch를 적용합니다. 패치 통과 여부에 관계없이 컴파일합니다. 설치 후에도 여전히 작동하지 않는 경우.다른 모든 방법이 실패하면무선 카드를 VM에 노출하는 동안 가상 머신에서 Kali live와 같은 다른 disto를 시도해 보십시오(USB 무선 모듈이 있는 경우 상대적으로 쉬울 것입니다).
추가 정보: 3.2.0-41-generic 커널이 포함된 12.04가 있기 때문에 apt를 통해 linux-backports-modules-cw-3.8-3.2.0-41-generic 설치를 시도했습니다. 작동하지 않았습니다. 미리 컴파일된 모듈에는 mac80211.compat08082009.wl_frag+ack_v1.patch가 포함되어 있지 않습니다. 또한 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1024568이 우분투 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
.