Realtek-verkkopiiri voi hidastella, jos siinä on väärä ajuri. Verkossa liittyvien tietojen mukaan Ubuntu ja Fedora tuppaavat lataamaan väärän ajurin. Alla olevien ohjeiden avulla onnistuin ratkaisemaan oman ongelmani, ja Ubuntu 11.04 (64 bit) toimii nyt verkossa nopeammin.
Many motherboards nowadays have integrated gigabit ethernet that use the Realtek NIC chipset.
The Realtek r8168B network card does not work out of the box in Redhat, Centos, Fedora, or Ubuntu: instead of loading the r8168 driver, modprobe loads the r8169 driver, which is broken as can be seen with ifconfig which shows large amounts of dropped packets.
Lähteitä:
http://www.foxhop.net/realtek-dropping-packets-on-linux-ubuntu-and-fedorahttp://ubuntuforums.org/showthread.php?t=1661489http://ubuntuforums.org/showthread.php?t=1788758Selvitetään ensin onko Realtek-verkkolaitteessa oikea ajuri. Se saadaan selville komennolla
sudo lshw -C network
Tulos näytti ristiriidan (lihavoidut kohdat):
*-network
description: Ethernet interface
product: RTL8111/
8168B PCI Express Gigabit Ethernet controller
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:03:00.0
logical name: eth0
version: 03
serial: 00:1c:c0:ed:26:e5
size: 100Mbit/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 ip=192.168.1.33 latency=0 link=yes multicast=yes port=MII speed=100Mbit/s
resources: irq:43 ioport:d000(size=256) memory:d2114000-d2114fff memory:d2110000-d2113fff memory:d2100000-d210ffff
Ratkaisua haetaan seuraavasti.
Haetaan uusi ajuri ja puretaan se asianomaiseen kansioon (uudemman ajuriversion voi noutaa vastaisuudessa Realtekin sivuilta):
wget http://www.foxhop.net/attachment/r8168-8.023.00.tar.bz2
tar vjxf r8168-8.023.00.tar.bz2
Poistetaan vanha ajuri vasta tässä vaiheessa, sillä kun ajuri poistetaan, katkeaa myös internet-yhteys ja se palaa, kun uusi (edellä ladattu) ajuri otetaan käyttöön.
sudo rmmod r8169
Siirrytään kansioon, johon uusi ajuri ladattiin ja sitten asennetaan se:
cd r8168-8.023.00
sudo ./autorun.sh
Ladataan uusi ajuri (voi olla tarpeeton vaihe):
sudo modprobe r8168
Asetetaan vanhan ajuri nimi mustalle listalle, jotta se ei lataudu järjestelmään sen käynnistyessä:
echo "blacklist r8169" >> /etc/modprobe.d/blacklist.conf
Tällä käskyllä voi varmistaa, että vanha ajuri todella on mustalla listalla:
gksudo gedit /etc/modprobe.d/blacklist.conf
Seuraavalla käskyllä varmistetaan, että poistettu ajuri ei kummittele enää järjestelmässä:
sudo update-initramfs -u
Vielä katsotaan, löytyykö uusi ajuri tiedostoista niin kuin pitääkin:
lsmod | grep r8168
Kun järjestelmä päivittää ytimen, Realtekin ajuria ei asenneta eikä verkkoyhteyttä muodostu. r8168 -ajuri on silloin asennettava edellä ladatusta tiedostosta noudattaen edellä annettuja ohjeita.
Jos haluaa saada r8168-ajurin uudemman version, se löytyy tältä Realtekin sivulta:
http://www.realtek.com/downloads/downloadsview.aspx?langid=1&pnid=13&pfid=5&level=5&conn=4&downtypeid=3&getdown=false#2 (Uuden version saa Linux-ytimen päivityksenkin jälkeen, jos käytettävissä on vanha ydin, jolla koneen voi käynnistää ja ajurin noutaa.)