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

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

我正在嘗試讓我的 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

看來錯誤來自原始碼,而不是由於缺少庫或其他原因。

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

答案1

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

相關內容