红联Linux门户
Linux帮助

TP-LINK TG-3269C网卡在Fedora中安装

发布时间:2008-04-02 00:22:36来源:红联作者:osjulyge
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系列芯片的网卡不能正常工作的问题。
文章评论

共有 1 条评论

  1. 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).