RTL8273AE-BT 드라이버에서 make 명령을 사용할 때 오류가 발생했습니다.

RTL8273AE-BT 드라이버에서 make 명령을 사용할 때 오류가 발생했습니다.

이것이 내가받는 오류입니다. 드라이버가 이전 버전의 Ubuntu용이기 때문일 것이라고 가정하고 있지만 불행히도 제가 찾을 수 있는 드라이버의 최신 버전입니다. 드라이버는 내 Realtek WiFi 카드용입니다 RTL8273AE-BT.

lewis@luitaco:~/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012$ make
make -C /lib/modules/3.16.0-31-generic/build M=/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012 modules
make[1]: Entering directory '/usr/src/linux-headers-3.16.0-31-generic'
  CC [M]  /home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.o
In file included from /home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c:39:0:
/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/pci.h:245:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘rtl_pci_probe’
 int __devinit rtl_pci_probe(struct pci_dev *pdev,
               ^
/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c: In function ‘_rtl_init_mac80211’:
/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c:320:6: error: ‘IEEE80211_HW_BEACON_FILTER’ undeclared (first use in this function)
      IEEE80211_HW_BEACON_FILTER |
      ^
/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c:320:6: note: each undeclared identifier is reported only once for each function it appears in
/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c:351:4: error: ‘struct ieee80211_hw’ has no member named ‘channel_change_time’
  hw->channel_change_time = 100;
    ^
/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c: In function ‘rtl_action_proc’:
/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c:867:32: error: ‘struct ieee80211_conf’ has no member named ‘channel’
       rx_status.freq = hw->conf.channel->center_freq;
                                ^
/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c:868:32: error: ‘struct ieee80211_conf’ has no member named ‘channel’
       rx_status.band = hw->conf.channel->band;
                                ^
/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c:870:25: error: ‘RX_FLAG_MACTIME_MPDU’ undeclared (first use in this function)
       rx_status.flag |= RX_FLAG_MACTIME_MPDU;
                         ^
/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c: In function ‘rtl_beacon_statistic’:
/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c:1141:2: error: implicit declaration of function ‘compare_ether_addr’ [-Werror=implicit-function-declaration]
  if (compare_ether_addr(hdr->addr3, rtlpriv->mac80211.bssid))
  ^
/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c: In function ‘rtl_send_smps_action’:
/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c:1432:16: error: ‘struct <anonymous>’ has no member named ‘sta’
   info->control.sta = sta;
                ^
/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c:1433:24: error: ‘struct ieee80211_conf’ has no member named ‘channel’
   info->band = hw->conf.channel->band;
                        ^
cc1: some warnings being treated as errors
scripts/Makefile.build:257: recipe for target '/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.o' failed
make[2]: *** [/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.o] Error 1
Makefile:1345: recipe for target '_module_/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012' failed
make[1]: *** [_module_/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-3.16.0-31-generic'
Makefile:27: recipe for target 'all' failed
make: *** [all] Error 2
lewis@luitaco:~/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012$ sudo su
root@luitaco:/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012# make install
make -C /lib/modules/3.16.0-31-generic/build M=/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012 modules
make[1]: Entering directory '/usr/src/linux-headers-3.16.0-31-generic'
  CC [M]  /home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.o
In file included from /home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c:39:0:
/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/pci.h:245:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘rtl_pci_probe’
 int __devinit rtl_pci_probe(struct pci_dev *pdev,
               ^
/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c: In function ‘_rtl_init_mac80211’:
/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c:320:6: error: ‘IEEE80211_HW_BEACON_FILTER’ undeclared (first use in this function)
      IEEE80211_HW_BEACON_FILTER |
      ^
/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c:320:6: note: each undeclared identifier is reported only once for each function it appears in
/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c:351:4: error: ‘struct ieee80211_hw’ has no member named ‘channel_change_time’
  hw->channel_change_time = 100;
    ^
/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c: In function ‘rtl_action_proc’:
/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c:867:32: error: ‘struct ieee80211_conf’ has no member named ‘channel’
       rx_status.freq = hw->conf.channel->center_freq;
                                ^
/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c:868:32: error: ‘struct ieee80211_conf’ has no member named ‘channel’
       rx_status.band = hw->conf.channel->band;
                                ^
/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c:870:25: error: ‘RX_FLAG_MACTIME_MPDU’ undeclared (first use in this function)
       rx_status.flag |= RX_FLAG_MACTIME_MPDU;
                         ^
/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c: In function ‘rtl_beacon_statistic’:
/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c:1141:2: error: implicit declaration of function ‘compare_ether_addr’ [-Werror=implicit-function-declaration]
  if (compare_ether_addr(hdr->addr3, rtlpriv->mac80211.bssid))
  ^
/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c: In function ‘rtl_send_smps_action’:
/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c:1432:16: error: ‘struct <anonymous>’ has no member named ‘sta’
   info->control.sta = sta;
                ^
/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c:1433:24: error: ‘struct ieee80211_conf’ has no member named ‘channel’
   info->band = hw->conf.channel->band;
                        ^
cc1: some warnings being treated as errors
scripts/Makefile.build:257: recipe for target '/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.o' failed
make[2]: *** [/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.o] Error 1
Makefile:1345: recipe for target '_module_/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012' failed
make[1]: *** [_module_/home/lewis/Realtek/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-3.16.0-31-generic'
Makefile:27: recipe for target 'all' failed
make: *** [all] Error 2

답변1

포함된 드라이버와 함께 최신(Ubuntu 버전보다 최신) 커널을 사용해야 합니다. http://cateee.net/lkddb/web-lkddb/RTL8723AE.html- Linux 커널에 있음: 3.8–3.19, 4.0-rc+HEAD

예를 들어 -http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.19-vivid/

속도가 느려지는 경우 라우터에서 WMM을 비활성화하세요. http://ubuntuforums.org/showthread.php?t=2267816&page=3

답변2

커널 3.19로 업데이트한 다음 ~$ sudo nano /etc/modules 명령을 사용하고 목록에 rtl8723ae를 추가하여 시작 시 자동 로드되도록 modprobe를 설정해야 했습니다. 이 Wi-Fi 기기에 문제가 있는 다른 사람에게 도움이 되기를 바랍니다.

관련 정보