TP£LINKµÄÍø¿¨Ê¹ÓõÄÊÇRealtekµÄоƬ£¬Òò´ËRealtekµÄÍø¿¨Çý¶¯ÊÊÓÃÓÚTP-LinkµÄÍø¿¨¡£ÔÚ´ËÒÔTP-LINKµÄTG-3269CΪÀý,¸ÃÍø¿¨Ê¹ÓõÄÊÇREALTEK 8169ϵÁÐоƬ,ͬÀí¿ÉÒÔÓô˷½·¨°²×°ËùÓÐʹÓÃREALTEKϵÁÐоƬµÄÍø¿¨¡£
ÏÈÔÚ´ËÒ³ÕÒµ½RTL8169ÔÚUNIXϵÄÇý¶¯¡£ÏÂÔغó½âѹµ½±¾µØ´ÅÅÌ£¬ ÏȲ鿴ÊÇ·ñÒѾ¼ÓÔØÁËRTL8169µÄÇý¶¯Ä£¿é£º
# lsmod | grep r8169
Èç¹ûÒѾ¼ÓÔØÔòÏÈжÔØ
# rmmod r8169
È»ºóÔÚÇý¶¯³ÌÐòµÄĿ¼´¦Ö´ÐÐÈçÏÂÃüÁ
make clean modules
make install
depmod -a
insmod ./src/r8169.ko
ÕâʱÓÃlsmod | grep r8169¿ÉÒÔ¼ì²âµ½ÏµÍ³ÒѾ¼ÓÔØÁËÇý¶¯Ä£¿é8169£¬ÕâʱÍø¿¨ÒѾ¿ÉÒÔÕý³£¹¤×÷ÁË£¬Èç¹ûÍø¿¨ÈÔÈ»²»ÄÜÕý³£¹¤×÷£¬Ò»°ã±íÏÖΪËÙ¶ÈָʾLEDºÜ¿ìµÄÉÁ˸£¬´ËʱӦ¸Ã¹Ø±ÏÍø¹ØµÄ×Ô¶¯¼ì²â£¬Ö¸¶¨´«ÊäËÙÂÊ£¬ÏÈÓÃÃüÁîrmmod r8169жÔصôÒѼÓÔصÄÄ£¿é£¬È»ºóÓÃÃüÁî insmod ./src/r8169.ko speed=100 duplex=0 autoneg=0 ÓèÒÔÇ¿ÖÆÖ¸¶¨¹¤×÷ģʽ£¬É趨´«ÊäËÙÂÊΪ100M,Èç²âÊÔÈÔ²»ÄÜ£¬Çë³¢ÊÔÉ趨ÆäËûÊýÖµ£¨·Ö±ð¿ÉÉèΪ10,100,1000£©¡£ÕâÀïÐèҪ˵Ã÷µÄÊÇ£¬±¾È˸ù¾Ý¾ÑéµÃ³ö£¬ÔÚspeed=10 µÄÌõ¼þÏ¿ÉÒÔÔÚ´ó¶àÊý»úÆ÷ÉÏÈ·±£Íø¿¨¹¤×÷Õý³££¬ÔÚspeed=100¼°1000µÄÇé¿öÏ£¬Ä³Ð©Ê±ºò²»ÄÜÕý³£¹¤×÷¡£Õâ¸ö·½·¨Í¬Ñù¿ÉÒÔ½â¾öʹÓÃrealtekϵÁÐоƬµÄÍø¿¨²»ÄÜÕý³£¹¤×÷µÄÎÊÌâ¡£
osjulyge ÓÚ 2008-04-02 00:22:41·¢±í:
ÏÂÃ渽ÉÏRTL8169µÄUNIXÏÂÇý¶¯°²×°µÄ¹Ù·½ËµÃ÷£º
This is the Linux device driver released for RealTek RTL8169S/8110S, RTL8169SB/8110SB, and RTL8110SC.
- kernel source tree (supported Linux kernel 2.6.x/2.4.20 and latter)
- compiler/binutils for kernel compilation
Check whether the built-in driver, r8169.ko(or r8169.o for linux kernel 2.4.x), is installed.
# lsmod | grep r8169
If it is installed, please remove it.
# rmmod r8169
note: If the built-in driver cannot removed by rmmod, please edit /etc/modprobe.conf and comment ¡®alias eth0 r8169¡ä. Then, remove it again or reboot your computer.
Unpack the tarball :
# tar vjxf r8169-6.aaa.bb.tar.bz2
Change to the directory:
# cd r8169-6.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/r8169.ko (or r8169.o for linux kernel 2.4.x)
You can check whether the driver is loaded by using following commands.
# lsmod | grep r8169
# 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 ~/r8169, the link status can be forced
to one of the 5 modes as following command.
# insmod ./src/r8169.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/r8169.ko speed=100 duplex=0 autoneg=0
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).