Debian

我的 wifi 驅動程序 (RTL8192CE) 的編譯失敗

  • December 15, 2018

我正在嘗試讓我的 wifi 在我新安裝的 Debian Sid(amd64,核心 3.10.11-1)上工作。的輸出的相關行lspci是:

06:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8188CE 802.11b/g/n WiFi Adapter (rev 01)

並且無法辨識此 Wi-Fi 卡:

# iwconfig
eth0      no wireless extensions.
lo        no wireless extensions.

如果你需要它,這裡是 lshw -c network 的輸出:

*-network NON-RÉCLAMÉ   
description: Network controller
produit: RTL8188CE 802.11b/g/n WiFi Adapter
fabriquant: Realtek Semiconductor Co., Ltd.
identifiant matériel: 0
information bus: pci@0000:06:00.0
version: 01
bits: 64 bits
horloge: 33MHz
fonctionnalités: pm msi pciexpress cap_list
configuration: latency=0
ressources: portE/S:3000(taille=256) mémoire:f1d00000-f1d03fff

所以我上網查了一下我應該安裝什麼驅動程序。我發現我應該去這個頁面並安裝 rtl8192ce 驅動程序。我下載並解壓它,並按照readme文件的說明進行操作。我更改為超級使用者並嘗試使用make. 這是輸出:

# make      
make -C /lib/modules/3.10-3-amd64/build M=/home/damien/Downloads/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013 modules
make[1]: entrant dans le répertoire « /usr/src/linux-headers-3.10-3-amd64 »
 CC [M]  /home/damien/Downloads/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/base.o
In file included from /home/damien/Downloads/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/base.c:39:0:
/home/damien/Downloads/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/pci.h:247:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘rtl_pci_probe’
int __devinit rtl_pci_probe(struct pci_dev *pdev,
              ^
/home/damien/Downloads/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/base.c: In function ‘rtl_action_proc’:
/home/damien/Downloads/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/base.c:885:32: error: ‘struct ieee80211_conf’ has no member named ‘channel’
      rx_status.freq = hw->conf.channel->center_freq;
                               ^
/home/damien/Downloads/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/base.c:886:32: error: ‘struct ieee80211_conf’ has no member named ‘channel’
      rx_status.band = hw->conf.channel->band;
                               ^
/home/damien/Downloads/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/base.c: In function ‘rtl_send_smps_action’:
/home/damien/Downloads/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/base.c:1451:24: error: ‘struct ieee80211_conf’ has no member named ‘channel’
  info->band = hw->conf.channel->band;
                       ^
make[4]: *** [/home/damien/Downloads/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/base.o] Erreur 1
make[3]: *** [_module_/home/damien/Downloads/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013] Erreur 2
make[2]: *** [sub-make] Erreur 2
make[1]: *** [all] Erreur 2
make[1]: quittant le répertoire « /usr/src/linux-headers-3.10-3-amd64 »
make: *** [all] Erreur 2

似乎錯誤來自原始碼,而不是缺少庫或其他原因。

知道我下一步應該做什麼,或者我應該如何解決這個編譯錯誤?

請在 /etc/apt/sources.list 中啟用 contrib 和 non-free,安裝firmware-realtek並重啟。

引用自:https://unix.stackexchange.com/questions/96118