有线网卡检测不到,显示网线没插好,怎样解决?

包含网卡/无线网的网络问题和ADSL/校园网/宽带拨号支持及代理/共享等网络使用问题
回复
shinnhao
帖子: 6
注册时间: 2013-04-09 22:35
系统: ubuntu12.04
送出感谢: 0
接收感谢: 0

有线网卡检测不到,显示网线没插好,怎样解决?

#1

帖子 shinnhao » 2013-04-14 23:16

网卡:瑞昱 Semiconductor RTL8168B/8111B PCI-E 千兆以太网
win7下,网卡能上网应该不是水晶头问题。
但在ubuntu12.04那里说网线未插好。
怎样才能解决?
taohunter
帖子: 1554
注册时间: 2012-03-31 3:29
送出感谢: 2 次
接收感谢: 121 次

Re: 有线网卡检测不到,显示网线没插好,怎样解决?

#2

帖子 taohunter » 2013-04-15 21:50

你安装用的是新的3.5内核的·12.04.02的iso吧?如果是,其内核/部分网卡driver module的确是有这个bug的。我在一台机器上碰到的情况是win/ubuntu双启动,更新过所有包后,发现每次ubuntu关机时会将有线网卡状态从正常工作状态直接变成“没插网线”的状态,导致win下怎么也无法将网卡激活,后来找了最新的win下的网卡驱动才能在win启动过程中将“没插网线”的状态强制恢复成正常工作状态。--现象可以从家里的pc和路由器的以太网端口上很明显地观察到。

因为你的问题正好相反,所以你只能找一下是否有该网卡的linux版的驱动,先看一下ubuntu下是否有附加驱动可供安装,如没有去对应的厂商网站找找。也许需要编译安装并blacklist掉原有的driver module。。。
16.04-->14.04
shinnhao
帖子: 6
注册时间: 2013-04-09 22:35
系统: ubuntu12.04
送出感谢: 0
接收感谢: 0

Re: 有线网卡检测不到,显示网线没插好,怎样解决?

#3

帖子 shinnhao » 2013-04-18 10:10

可是我是校园网iNode,
taohunter 写了:你安装用的是新的3.5内核的·12.04.02的iso吧?如果是,其内核/部分网卡driver module的确是有这个bug的。我在一台机器上碰到的情况是win/ubuntu双启动,更新过所有包后,发现每次ubuntu关机时会将有线网卡状态从正常工作状态直接变成“没插网线”的状态,导致win下怎么也无法将网卡激活,后来找了最新的win下的网卡驱动才能在win启动过程中将“没插网线”的状态强制恢复成正常工作状态。--现象可以从家里的pc和路由器的以太网端口上很明显地观察到。

因为你的问题正好相反,所以你只能找一下是否有该网卡的linux版的驱动,先看一下ubuntu下是否有附加驱动可供安装,如没有去对应的厂商网站找找。也许需要编译安装并blacklist掉原有的driver module。。。
deng19910912
帖子: 8
注册时间: 2013-03-20 10:32
系统: Ubuntu12.04
送出感谢: 0
接收感谢: 0

Re: 有线网卡检测不到,显示网线没插好,怎样解决?

#4

帖子 deng19910912 » 2013-04-22 13:39

网卡驱动问题!!!Ubuntu自带网卡驱动是r8169,不支持RTL8168B/8111B!!!这是一个BUG!所以要重新安装驱动!!!
解决方法如下:
引用:
1) Check to see if the r8169 module is loaded
-> lsmod | grep r816
r8168 41104 0
-> lspci -v
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)
Subsystem: ASRock Incorporation Device 8168
Kernel driver in use: r8169
Kernel modules: r8169
2) Download the official Realtek driver
Realtek RTL8111/RTL8168
3) Remove the r8169 module
-> rmmod r8169
-> mv /lib/modules/`uname -r`/kernel/drivers/net/r8169.ko ~/r8169.ko.backup
( the ` is a backtick, it is not an apostrophe or single quote )
4) Build the new r8168 module for the kernel
-> bzip2 -d r8168-8.009.00.tar.bz2 (这儿的包名称有点儿变化,需要改动)
-> tar -xf r8168-8.009.00.tar
-> cd r8168-8.009.00
-> make clean modules
-> make install
5) Rebuild the kernel module dependencies
-> depmod -a
-> insmod ./src/r8168.ko
6) Remove the r8169 module from initrd
-> mv /initrd.img ~/initrd.img.backup
-> mkinitramfs -o /boot/initrd.img-`uname -r` `uname -r`
7) Add r8168 module to /etc/modules
-> echo "r8168" >> /etc/modules

Reboot, You are done!
8) Examine that ONLY the r8168 module is loaded for the interface
-> lspci -v01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)
Subsystem: ASRock Incorporation Device 8168
Kernel driver in use: r8168
Kernel modules: r8168

中文解释:
步骤基本如下:首先得下载好这个型号网卡的官方驱动:网卡RTL8111/8168 官方驱动链接页
而且进行时确保以root用户权限(最好先sudo su)。

代码:
sudo su
1 删除r8169 模块,这个是系统自动加载的驱动
代码:
rmmod r8169
mv /lib/modules/`uname -r`/kernel/drivers/net/r8169.ko ~/r8169.ko.backup (这儿的'uname -r' 换成你运行的内核版本代号)
内核版本代号使用uname -r查看!

2 解压官方驱动软件包

3 进入解压目录之后编译并安装驱动模块
代码:
make clean modules
make install
或者使用以下自动安装方法!!!
运行结果如下:
sudo ./autorun.sh
Check old driver and unload it.
rmmod r8169
Build the module and install
Backup r8169.ko
rename r8169.ko to r8169.bak
DEPMOD 3.5.4-2.fc17.x86_64
load module r8168
Completed.
lsmod | grep r8168
r8168 248619 0

4 将模块添加到内核中
代码:
depmod -a
insmod ./src/r8168.ko

5 删除原来的initrd.img并生成那个initrd.img-你使用的内核版本号 文件,保存更改免得重启的时候出现我那种状况
代码:
mv /initrd.img ~/initrd.img.backup
mkinitramfs -o /boot/initrd.img-`uname -r` `uname -r` (这儿的'uname -r' 换成你运行的内核版本代号)

6 在开机启动模块中添加r8168模块。
代码:
echo "r8168" >> /etc/modules

7 重启

希望对这个型号的网卡上网问题有所帮助。
回复

回到 “网卡问题以及网络和拨号”