Erro ao usar o comando make com driver RTL8273AE-BT

Erro ao usar o comando make com driver RTL8273AE-BT

Este é o erro que estou recebendo. Presumo que seja porque o driver é para uma versão anterior do Ubuntu, mas infelizmente é a versão mais recente do driver que posso encontrar. O driver é para minha placa 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

Responder1

Você deve usar o kernel mais recente (!! mais recente que a sua versão do Ubuntu) com driver incluído: http://cateee.net/lkddb/web-lkddb/RTL8723AE.html- encontrado nos kernels Linux: 3.8–3.19, 4.0-rc+HEAD

Por exemplo -http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.19-vivid/

Se você experimentar velocidade lenta, desative o WMM no roteador: http://ubuntuforums.org/showthread.php?t=2267816&page=3

Responder2

atualizado para o kernal 3.19 e então tive que configurar o modprobe para carregamento automático na inicialização usando o comando ~$ sudo nano /etc/modules e adicionando rtl8723ae à lista. espero que isso ajude qualquer pessoa que tenha problemas com este dispositivo wi-fi.

informação relacionada