此前在装fc6的时候曾在RTL8168B上捣弄了半天,后来就转用了ubuntu,现在又装上了suse 10
问题又出现了,呵呵,是10.1的问题吧,好像现在fc7已经支持了RTL8111B/RTL8168B
解决办法:
1、到下载对应驱动
//查看linux内核版本:uname -r
2、解压安装
0)注:r8168-8.aaa.bb为你所下载的驱动对应的名字
1)cd到网卡驱动所在文件夹,解压 :
# tar vjxf r8168-8.aaa.bb.tar.bz2
//关于解压命令查看《
Linux下软件包的解压方式大全》
2)进入文件夹:
# cd r8168-8.aaa.bb
3)安装(需安装kernel-source,否则会失败) :
# make clean modules (as root or with sudo)
# make install
# depmod -a
# insmod ./src/r8168.ko (or r8168.o in linux kernel 2.4.x)
4)通过以下指令查看驱动是否已经启动.
# lsmod | grep r8168
# ifconfig -a
如果能看到类似“ethX”的结果输出, 说明已成功驱动网卡.
5)配置并激活 ethX.
# ifconfig ethX up
,where X=0,1,2,...
3、附realtek RTL8168B驱动readme文档:
This is the Linux device driver released for RealTek RTL8168B/8111B
and RTL8168C/8111C, Gigabit Ethernet controllers with PCI-Express
interface.
- Kernel source tree (supported Linux kernel 2.6.x and 2.4.x)
- For linux kernel 2.4.x, this driver supports 2.4.20 and latter.
- Compiler/binutils for kernel compilation
Unpack the tarball :
# tar vjxf r8168-8.aaa.bb.tar.bz2
Change to the directory:
# cd r8168-8.aaa.bb
If you are running the target kernel, then you should be able to do :
# make clean modules (as root or with sudo)
# make install
# depmod -a
# insmod ./src/r8168.ko (or r8168.o in linux kernel 2.4.x)
You can check whether the driver is loaded by using following commands.
# lsmod | grep r8168
# ifconfig -a
If there is a device name, ethX, shown on the monitor, the linux
driver is loaded. Then, you can use the following command to activate
the ethX.
# ifconfig ethX up
,where X=0,1,2,...
1. Set manually
a. Set the IP address of your machine.
# ifconfig ethX "the IP address of your machine"
b. Set the IP address of DNS.
Insert the following configuration in /etc/resolv.conf.
nameserver "the IP address of DNS"
c. Set the IP address of gateway.
# route add default gw "the IP address of gateway"
2. Set by doing configurations in /etc/sysconfig/network-scripts
/ifcfg-ethX for Redhat and Fedora, or /etc/sysconfig/network
/ifcfg-ethX for SuSE. There are two examples to set network
configurations.
a. Fix IP address:
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
TYPE=ethernet
NETMASK=255.255.255.0
IPADDR=192.168.1.1
GATEWAY=192.168.1.254
BROADCAST=192.168.1.255
b. DHCP:
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
There are two ways to modify the MAC address of the NIC.
1. Use ifconfig:
# ifconfig ethX hw ether YY:YY:YY:YY:YY:YY
,where X is the device number assigned by Linux kernel, and
YY:YY:YY:YY:YY:YY is the MAC address assigned by the user.
2. Use ip:
# ip link set ethX address YY:YY:YY:YY:YY:YY
,where X is the device number assigned by Linux kernel, and
YY:YY:YY:YY:YY:YY is the MAC address assigned by the user.
1. Force the link status when insert the driver.
If the user is in the path ~/r8168, the link status can be forced
to one of the 5 modes as following command.
# insmod ./src/r8168.ko speed=SPEED_MODE duplex=DUPLEX_MODE autoneg=NWAY_OPTION
,where
SPEED_MODE = 1000 for 1000Mbps
= 100 for 100Mbps
= 10 for 10Mbps
DUPLEX_MODE = 0 for half-duplex
= 1 for full-duplex
NWAY_OPTION = 0 for auto-negotiation off (true force)
= 1 for auto-negotiation on (nway force)
For example:
# insmod ./src/r8168.ko speed=100 duplex=0 autoneg=1
will force PHY to operate in 100Mpbs Half-duplex(nway force).
2. Force the link status by using ethtool.
a. Insert the driver first.
b. Make sure that ethtool exists in /sbin.
c. Force the link status as the following command.
# ethtool -s ethX speed SPEED_MODE duplex DUPLEX_MODE autoneg NWAY_OPTION
,where
SPEED_MODE = 1000 for 1000Mbps
= 100 for 100Mbps
= 10 for 10Mbps
DUPLEX_MODE = half for half-duplex
= full for full-duplex
NWAY_OPTION = off for auto-negotiation off (true force)
= on for auto-negotiation on (nway force)
For example:
# ethtool -s eth0 speed 100 duplex full autoneg on
will force PHY to operate in 100Mpbs Full-duplex(nway force).
阅读(5588) | 评论(1) | 转发(0) |