致命:未找到模組 p80211。antiX 13.1 (Debian Wheezy) 下的 RTL8192CUS WLAN 回歸
該問題涉及基於 Debian Wheezy(穩定)的發行版antiX 13.1下RTL8192CUS WLAN 晶片的驅動程序支持回歸。該晶片實際上位於Edimax EW-7811Un 802.11n 無線適配器中。
首先,這裡是一些一般系統資訊。
$ inxi -F System: Host: 4000cdt Kernel: 3.7.10-antix.3-486-smp i686 (32 bit) Desktop: IceWM 1.3.7 Distro: antiX-13.1_386-full Luddite 19 June 2013 Machine: No /sys/class/dmi, using dmidecode: you must be root to run dmidecode CPU: Single core Pentium II (Deschutes) (-UP-) cache: 512 KB flags: (pae) clocked at 233.275 MHz Graphics: Card: Chips and F65555 HiQVPro X.Org: 1.12.4 drivers: chips (unloaded: fbdev,vesa) Resolution: 800x600@60.0hz GLX Renderer: Gallium 0.4 on softpipe GLX Version: 2.1 Mesa 8.0.5 Network: Card: Edimax EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS] IF: N/A state: N/A mac: N/A Drives: HDD Total Size: 40.0GB (8.7% used) 1: id: /dev/sda model: TOSHIBA_MK4032GA size: 40.0GB Partition: ID: / size: 9.9G used: 3.0G (32%) fs: ext4 ID: /home size: 25G used: 284M (2%) fs: ext4 ID: swap-1 size: 2.15GB used: 0.00GB (0%) fs: swap Sensors: System Temperatures: cpu: 71.0C mobo: N/A Fan Speeds (in rpm): cpu: N/A Info: Processes: 88 Uptime: 2:57 Memory: 72.4/151.4MB Client: Shell (bash) inxi: 1.9.9
在啟動過程中,螢幕上會出現以下錯誤,這是在執行
/etc/network/if-pre-up.d/linux-wlan-ng-pre-up
腳本時引起的:FATAL: Module p80211 not found. /etc/network/if-pre-up.d/linux-wlan-ng-pre-up Failed to load p80211.ko. Listening on LPF/wlan0/00:1f:1f:bf:45:7a Sending on LPF/wlan0/00:1f:1f:bf:45:7a Sending on Socket/fallback DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 7 DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 10 DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 14 DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 17 DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 13 No DHCPOFFERS received. No working leases in persistent database - sleeping.
可以通過分別發出
sudo modprobe p80211
和sudo dhclient -v wlan0
命令來重現錯誤消息。載入以下模組:
$ lsmod Module Size Used by mperf 870 0 cpufreq_stats 2600 0 cpufreq_powersave 575 0 cpufreq_conservative 3562 0 ppdev 4124 0 lp 6127 0 uinput 5093 1 nfsd 156046 2 auth_rpcgss 19755 1 nfsd nfs_acl 1576 1 nfsd nfs 88586 0 lockd 42731 2 nfs,nfsd fscache 21695 1 nfs sunrpc 122417 6 nfs,nfsd,auth_rpcgss,lockd,nfs_acl af_packet 19031 6 dm_crypt 10846 0 arc4 1400 2 rtl8192cu 45534 0 rtlwifi 43564 1 rtl8192cu rtl8192c_common 23999 1 rtl8192cu mac80211 192647 3 rtlwifi,rtl8192c_common,rtl8192cu cfg80211 123731 2 mac80211,rtlwifi microcode 8484 0 evdev 6815 10 mac_hid 2214 0 psmouse 52159 0 pcspkr 1273 0 serio_raw 3177 0 i2c_piix4 6769 0 toshiba_acpi 10065 0 sparse_keymap 1937 1 toshiba_acpi parport_pc 23969 1 rfkill 10599 3 cfg80211,toshiba_acpi parport 21942 3 lp,ppdev,parport_pc wmi 6240 1 toshiba_acpi pcmcia 24870 0 battery 5391 0 yenta_socket 15802 0 ac 1753 0 pcmcia_rsrc 5995 1 yenta_socket pcmcia_core 8446 3 pcmcia,pcmcia_rsrc,yenta_socket processor 23837 1 button 3513 0 btrfs 555574 0 zlib_deflate 15207 1 btrfs dm_mod 51354 1 dm_crypt floppy 41663 0 fan 1818 0 thermal 6606 0 thermal_sys 10423 3 fan,thermal,processor
證明這不是身份驗證問題:
$ sudo cat /var/log/dmesg |grep wlan0 [ 36.321107] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready [ 38.921480] wlan0: authenticate with 00:xx:xx:xx:xx:xx [ 38.971473] wlan0: send auth to 00:xx:xx:xx:xx:xx (try 1/3) [ 38.996892] wlan0: authenticated [ 39.000218] wlan0: associate with 00:xx:xx:xx:xx:xx (try 1/3) [ 39.055578] wlan0: RX AssocResp from 00:xx:xx:xx:xx:xx (capab=0x411 status=0 aid=2) [ 39.056549] wlan0: associated [ 39.056781] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready [ 49.062856] wlan0: disassociating from 00:xx:xx:xx:xx:xx by local choice (reason=3) [ 49.086100] wlan0: deauthenticating from 00:xx:xx:xx:xx:xx by local choice (reason=3) [ 50.431396] wlan0: authenticate with 00:xx:xx:xx:xx:xx [ 50.481575] wlan0: send auth to 00:xx:xx:xx:xx:xx (try 1/3) [ 50.684150] wlan0: send auth to 00:xx:xx:xx:xx:xx (try 2/3) [ 50.888146] wlan0: send auth to 00:xx:xx:xx:xx:xx (try 3/3) [ 51.092212] wlan0: authentication with 00:xx:xx:xx:xx:xx timed out $ sudo iwconfig wlan0 IEEE 802.11bgn ESSID:off/any Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm Retry long limit:7 RTS thr=2347 B Fragment thr:off Encryption key:off Power Management:off lo no wireless extensions.
我已經嘗試過:
- 從 Realtek 站點安裝Linux 驅動程序,同時解除安裝
linux-wlan-ng
軟體包並將核心rtl8192cu
模組列入黑名單(以前使用 antiX 12M 的方法),以及ipv6.disable=1
作為grub
引導參數提供給核心。問題
為什麼
p80211
在應該基於 Debian Wheezy stable的發行版中找不到該模組?如何讓 DHCP 為這個無線適配器工作?
FATAL: Module p80211 not found.
通常表明所提供的驅動程序對於使用的核心已過時。此外,Realtek 驅動程序的目前版本 3.4.4_4749.20121105 將無法與最新的 Linux 核心一起編譯。解決方案包括安裝降級核心,在其上編譯Realtek的驅動程序,並將降級核心提供的驅動程序列入黑名單。
按 Ctrl+Alt+F1 在顯示管理器之外獲取命令行。執行
smxi.sh
Antix 附帶的腳本。sudo smxi
對於其他 GNU/Linux 發行版,請從smxi.org下載腳本。按照說明進行操作。A
dist-upgrade
並不總是必要的。選擇:
6) kernel-options > 1) alternate-kernel-install
核心
3.6.0-11.dmz.1-liquorix-686
或更低的工作,核心3.7.0-10.dmz.1-liquorix-686
和更高的不。具有長期支持的最新穩定核心是3.4.0-35.dmz.1-liquorix-686
.在繼續之前,請務必重新啟動到新核心。這個核心可以預設啟動;簡單編輯…
sudo nano /boot/grub/menu.lst
從Realtek 的網站下載 RTL8192CUS Linux 驅動程序。
提取驅動程序。然後,將下面
setup.sh
的 bash 腳本保存在與install.sh
. (我從SolydXK的Schoelje那裡得到了這個腳本——發行版的名聲。)#!/bin/bash if [ $UID -ne 0 ]; then echo "Please, type the root password..." su -c "$0 $@" exit fi apt-get install linux-headers-`uname -r` apt-get install build-essential rmmod rtl8192cu chmod +x install.sh ./install.sh echo "blacklist rtl8192cu" > /etc/modprobe.d/blacklist-rtl8192cu.conf echo 8192cu >> /etc/modules
使腳本可執行並執行它。
chmod +x setup.sh ./setup.sh
成功完成腳本後,發出
sudo service network restart
您的 RTL8192CUS 無線適配器現在應該可以正常工作了。
使用 Wicd 應用程序連接到無線網路。如果始終使用相同的 WLAN,還可以將安全憑證硬編碼如下:
sudo chmod 600 /etc/network/interfaces sudo nano /etc/network/interfaces # interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback allow-hotplug eth0 iface eth0 inet dhcp auto wlan0 iface wlan0 inet dhcp wpa-ssid xxxxxxxxxxx wpa-psk xxxxxxxxxxxx
為什麼在應該基於 Debian Wheezy stable 的發行版中找不到 p80211 模組?
因為 Anti 手動滾動了核心並且可能將該模組遺漏了。我在以前版本的不同裝備上遇到了這個問題,並通知了團隊。
http://antix.freeforums.org/post28122.html#p28122
我在這里而不是在論壇上回答你。該論壇有一個發布程式碼讀數的錯誤。如果在 AntiX 論壇上發帖。在 /etc/issue 或 /ect 之間留一個空格,否則你會收到消息
您無權訪問此伺服器上的 /posting.php。
編輯:作為我過去使用的快速修復解決方案。您可以在 X 中以 root 身份執行 smxi 並通過陸線連接(如果可用)安裝 Liqourix 或 Debian 核心,