你好,当我将电脑升级到 ubuntu 11.10 时,我无法连接到有线网络!它甚至找不到我的设备 MAC 地址!我该怎么办?
配置文件
eth0 Link encap:Ethernet HWaddr ff:ff:ff:ff:ff:ff
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:44 Base address:0x2000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:6647 errors:0 dropped:0 overruns:0 frame:0
TX packets:6647 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1333687 (1.3 MB) TX bytes:1333687 (1.3 MB)
etc/network/interfaces 的答案
auto lo
iface lo inet loopback
sudo lshw -class network
*-network
description: Ethernet interface
product: RTL8111/8168B PCI Express Gigabit Ethernet controller
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:04:00.0
logical name: eth0
version: 02
serial: ff:ff:ff:ff:ff:ff
size: 1Gbit/s
capacity: 1Gbit/s
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix vpd bus_master cap_list rom ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=full firmware=N/A latency=0 link=no multicast=yes port=MII speed=1Gbit/s
resources: irq:44 ioport:c000(size=256) memory:cff20000-cff20fff memory:cff00000-cff0ffff memory:cff10000-cff1ffff
lspci
00:00.0 Host bridge: Intel Corporation 4 Series Chipset DRAM Controller (rev 03)
00:01.0 PCI bridge: Intel Corporation 4 Series Chipset PCI Express Root Port (rev 03)
00:1a.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #4
00:1a.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #5
00:1a.2 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #6
00:1a.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #2
00:1b.0 Audio device: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller
00:1c.0 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 1
00:1c.4 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 5
00:1c.5 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 6
00:1d.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1
00:1d.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #2
00:1d.2 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #3
00:1d.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 90)
00:1f.0 ISA bridge: Intel Corporation 82801JIB (ICH10) LPC Interface Controller
00:1f.2 IDE interface: Intel Corporation 82801JI (ICH10 Family) 4 port SATA IDE Controller #1
00:1f.3 SMBus: Intel Corporation 82801JI (ICH10 Family) SMBus Controller
00:1f.5 IDE interface: Intel Corporation 82801JI (ICH10 Family) 2 port SATA IDE Controller #2
01:00.0 VGA compatible controller: nVidia Corporation G92 [GeForce 9600 GSO] (rev a2)
03:00.0 IDE interface: JMicron Technology Corp. JMB368 IDE controller
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)
05:00.0 Memory controller: Conexant Systems, Inc. Device 2d00 (rev 01)
uname -a
Linux mahdiar-EP45-UD3L 3.0.0-15-generic #26-Ubuntu SMP Fri Jan 20 17:23:00 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
答案1
内核错误地将此 NIC 与 r8169 内核模块匹配。跟踪显示lshw
NIC 已被禁用,这表明内核错误地将此 NIC 与 r8169 内核模块匹配。
根据本文,NIC 应与 r8168 内核模块关联。如果内核模块不正确,您将会遇到网速缓慢或根本无法连接的情况。
根据 Launchpad- 这也是 Oneiric 的一个已知错误 - 不过,由于 Precise 使用了较新的内核(v3.2),所以该问题似乎已在 12.04 中得到解决
硬件问题
首先,让我们排除 NIC 硬件故障 -NIC 可能会出问题(固件/ROM) - 这表明 MAC 地址被识别为FF:FF:FF:FF:FF
如果您上次有一个可运行 Natty(或之前的 Ubuntu 版本)的 NIC - 那么请使用 LiveUSB/LiveCD 启动您的电脑。
测试有线连接 - 重新运行sudo lshw -class network
。查找 MAC 地址。还要查看它是否仍然显示已禁用。
如果它仍然无法通过实时 USB/CD 连接到上次使用的 Ubuntu 版本,那么就有强烈的迹象表明存在硬件故障。
潜在的软件解决方案
一旦排除了硬件问题,那么我们就集中精力寻找可能的软件解决方案。
对于以下解决方案,您仍然需要有效的互联网连接......
如果您有非此型号的备用 NIC 卡,我会将其插入您的 PC 并通过有线连接连接到互联网。如果您可以通过无线连接 - 请这样做。否则,您可能需要将硬盘移到另一台计算机以执行以下操作,然后将其传输回您的原始 PC。
首先 - 使用 Clonezilla 等优质备份工具备份您的系统
建议修复 1
根据启动板错误报告,如果您在软件源中启用建议的存储库并安装软件包,则可能会修复此问题linux-backports-modules-3.0.0
建议修复 2
您可能能够下载 Precise 内核 (v3.2) 并安装它。
来自主线内核发射台区域:
下载 amd64 headers.deb、headers_all.deb 和 image_amd64.deb 文件
然后使用以下语法安装内核:
sudo dpkg -i [package_name].deb
建议修复 3
您可以通过下载 realtek 驱动程序并自行编译来解决此问题。
下载Linux 源代码- 撰写本文时版本号为 v8.028.00
解压压缩包:
tar vjxf r8168*.tar.bz2
更改目录:
cd r8168-8*
编译:
sudo ./autorun.sh
您可以使用以下命令检查驱动程序是否已加载。
lsmod | grep r8168
ifconfig -a
如果显示器上有设备名ethX,则表示linux驱动已经加载,然后可以使用下面的命令来激活ethX。
ifconfig ethX up
最后,将 r8169 驱动程序列入黑名单,添加以下内容/etc/modprobe.d/blacklist.conf
#blacklist r8169 driver
blacklist r8169
潜在的解决方法
一个相似的错误报告提到旧内核中的 r8169 内核模块的奇数 MAC 地址给出了几个建议的解决方法。
解决 1
一旦启动,停止并启动内核模块:
sudo rmmod r8169 && sudo modprobe r8169
解决 2
从您的 Natty 实时 CD 启动 - 运行ifconfig -a
并记录 eth0 的 MAC 地址。
启动 oneiric。检查你的 udev 持久规则并将正确的 MAC 地址映射到 eth0
sudo cp /etc/udev/rules.d/70-persistent-net.rules /
sudo nano /etc/udev/rules.d/70-persistent-net.rules
更改 MAC 地址。如果有疑问 - 请将规则文件的内容添加到您的问题中。
答案2
HWaddr ff:ff:ff:ff:ff:ff
真的吗?这是你的真实 MAC 地址还是你在欺骗?将你的 MAC 地址从广播地址更改为其他地址(欺骗另一个地址):
sudo ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx
sudo service networking restart
将新的 MAC 地址替换为xx:xx:xx:xx:xx:xx