Network configuration (Nederlands)
Op deze pagina woordt de installatie van een bedrade netwerkaansluiting uitgelegd. Voor configuratie van een wireless aansluiting, zie de Wireless network configuration engelstalige pagina.
Controleer de kabelaansluiting
Deze basis installatie / configuratie gaat uit van een werkende netwerkaansluiting. Gebruik ping(8) om de werking te controleren:
$ ping www.google.com
PING www.l.google.com (74.125.132.105) 56(84) bytes of data. 64 bytes from wb-in-f105.1e100.net (74.125.132.105): icmp_req=1 ttl=50 time=17.0 ms ...
Wanneer de ping successvol is (zie het 64 bytes bericht hierboven), dan is het netwerk al geconfigureerd. Druk op Control-C
om de ping sessie te stoppen.
Echter, indien de ping faalt met een Unknown hosts fout, blijkt je computer niet in staat is om de gebruite domeinnaam te vinden. Dit kan geweten worden aan de internet service provider of aan je eigen router/gateway. Probeer eerst eens om een statisch adres te pingen om te bepalen of er toch aansluiting is op het Internet:
$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_req=1 ttl=53 time=52.9 ms ...
Indien 8.8.8.8
gepingd kan worden, maar niet b.v. www.google.com
, controleer dan de DNS configuratie. Zie resolv.conf voor details. De hosts
regel in /etc/nsswitch.conf
is ook een optie welke gecontroleerd kan worden.
Indien geen baat, controleer de netwerkkabel op defecten.
- Een foutmelding als
ping: icmp open socket: Operation not permitted
bij een ping, herinstalleer het iputils pakket. - De
-c num
optie kan gebruikt worden voor exactenum
pings, anders kan de ping oneindig doorlopen en zal dan handmatig beeindigd moeten worden. Zie ping(8) voor meer informatie. -
8.8.8.8
is een statisch adres dat makkelijk te onthouden is. Het betreft hier Google's primary DNS server adres, en kan als betrouwbaar beschouwd worden omdat het gewoonlijk niet geblokkeerd wordt door contentfilters en proxy servers.
Device driver
Controleer de status
udev zou de netwerk interface controller moeten vinden en bij het opstarten de noodzakelijke module laden. Controleer de "Ethernet controller" regel bij de lspci -v
output. Als het goed zal kenbaar zijn welke kernelmodule de driver voor de netwerk adapter aanbied. Bijvoorbeeld:
$ lspci -v
02:00.0 Ethernet controller: Attansic Technology Corp. L1 Gigabit Ethernet Adapter (rev b0) ... Kernel driver in use: atl1 Kernel modules: atl1
Controleer nu dat de driver daadwerkelijk geladen is via dmesg | grep module_name
. Bijvoorbeeld:
# dmesg | grep atl1
... atl1 0000:02:00.0: eth0 link is up 100 Mbps full duplex
Als de driver geladen is, sla dan de volgende sectie over. Zo niet, dan moet achterhaald worden welke module vereist is voor dit model netwerkkaart.
Laadt de module
Zoek op het Internet naar de benodigde module/driver voor de gebruikte chipset. Algemene modules zijn 8139too
voor kaarten met een Realtek chipset, of sis900
waneer een SiS chipset gebruikt wordt. Als bekend is welke chipset gebruikt is, probeer de module dan zelf te laden. Mocht er een foutmelding optreden omdat de module niet gevonden is, dan zou het zomaar kunnen dat deze module niet inbegrepen is in de Arch kernel. Eventueel kan in de AUR kan nog gezocht worden op modulenaam.
Indien udev tijdens het opstarten de juiste module niet detecteert en/of laadt, zie dan Kernel module#Automatic module loading with systemd.
Netwerk management
Device namen
Bij computers met meerdere Netwerk Interfaces (NIC's), is het van belang om vaste device benaming te gebruiken. Als dat niet gebeurt, worden configuratieproblemen veelal veroorzaakt door verandering in de benoeming.
udev zorgt ervoor dat elk device een naam toegewezen krijgt. Systemd gebruikt Predictable network Interface Names, welk automatisch statische namen toekent aan netwerk devices. Interfaces worden hedentendage vooraf gegaan met en
(bedraad/Ethernet), wl
(draadloos/WLAN), of ww
(WWAN) gevolgd door een automatisch gegenereerde identifier, zoals: enp0s25
.
net.ifnames=0
aan de kernel parameters toe te voegen.Toon de de huidige benaming
Zowel bedrade als wireless device-namen kunnen getoond worden met:
$ ls /sys/class/net
of via:
$ ip link
Let erop dat lo
het W:Loop_device is, en niet gebruikt wordt om een netwerkverbinding te leggen.
Wireless device-names kunnen eveneens achterhaald worden met iw dev
. Zie ook Wireless network configuration#Get the name of the interface.
Activeren en De-actieveren van netwerk interfaces
Een netwerk interface activeren:
# ip link set interface up
Om te deactiveren gebruik dan:
# ip link set interface down
Om de interface koppeling te controleren eth0
:
$ ip link show dev eth0
2: eth0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP mode DEFAULT qlen 1000 ...
eth0
loopt, zal bij deactivatie ook de route verdwijnen, en tevens zal bij re-activatie de default route niet automatisch hersteld worden. Zie #Handmatige toewijzing statisch adres om deze handmatig te kunnen herstellen.Dynamisch IP adres
Zie #netwerk managers voor een opsomming van opties voor een dynamisch IP adres.
Statisch IP adres
Een statisch IP adres kan via de meeste, standaard, netwerk managers geconfigureerd worden. Welke manager ook gebruikt wordt, de volgend informatie zal voorhanden moeten zijn:
- statisch IP adres
- Subnet mask, of mogelijk de CIDR notation, zoals
/24
de CIDR notatie is van het netmask255.255.255.0
. - Broadcast adres
- Gateway's IP adres
- Nameserver (DNS) IP adresen. Zie ook resolv.conf.
Bij een prive netwerk, is het een veilige, en standaard, keuze om IP adres bereik 192.168.*.*
te gebruiken, met een subnet mask van 255.255.255.0
en een broadcast address als 192.168.*.255
. De gateway is normaal gesproke 192.168.*.1
of 192.168.*.254
.
Echter, in een netwerk met meerdere guests (computers en/of servers) is het handiger om op de commandline korte adressen te kunnen gebruiken via een IP bereik van 10.0.0.* met als subnet 255.0.0.0 en een gateway/router adres van 10.0.0.1. Let wel dat het 192.* IP bereik in aan te schaffen apparatuur. (printers, routers, IP camera's, etc), altijd als standaard ingesteld is, en dat het even moeite vraagt om deze apparatuur binnen het 10.0.0.0 bereik te kunnen gebruiken.
Handmatige toewijzing statisch adres
Kan uitgevoerd worden met gebruik van het iproute2 pakket. Dit is tevens een goode manier om de instellingen te testen, daar de aansluiting, op deze manier gemaakt, niet permanent is en bij een herstart verdwijnt. Allereerdt zor dat de netwerk interface geactiveerd is:
# ip link set interface up
Ken, via de commandregel, een statisch IP adres toe:
# ip addr add IP_adres/subnet_mask broadcast broadcast_adres dev interface
Hetzelfde met het gateway IP adres:
# ip route add default via default_gateway
Bijvoorbeeld:
# ip link set eth0 up # ip addr add 192.168.1.2/24 broadcast 192.168.1.255 dev eth0 # ip route add default via 192.168.1.1
RTNETLINK answers: netwerk is unreachable
, probeer dan het opzetten van de route in twee stappen te doen:
# ip route add 192.168.1.1 dev eth0 # ip route add default via 192.168.1.1 dev eth0
Om deze handelinge ongedaan te maken (b.v. alvorens over te gaan tot een dynamisch IP), verwijder alle toegekende IP adressen:
# ip addr flush dev interface
Verwijder daarna de aangegeven gateway:
# ip route flush dev interface
En tenslotte, deactiveer de netwerkkaart:
# ip link set interface down
Voor meerdere opties, zie de ip(8). Deze commandline opdrachten kunnen geautomatiseerd uitgevoerd worden via scripts en systemd units.
Bereken adressen
Met behulp van ipcalc
installeerbaar via het ipcalc pakket, kunnen IP broadcast, netwerk, netmask, en host bereik berekend worden in meer geavanceerde configuraties. Een voorbeeld kan zijn om Ethernet te gebruiken over Firewire om een Windows machine aan Linux te koppelen. Om veiligheids- en organisatorische redenen zullen beide machines hun eigen netwerk en broadcast gebruiken.
De respectievelijke netmask en broadcastadressen zijn zichtbaar te nmaken met ipcalc
, door het IP van de Linux NIC in te geven 10.66.66.1
en daarbij het aantal hosts (in dit geval twee:
$ ipcalc -nb 10.66.66.1 -s 1
adres: 10.66.66.1 Netmask: 255.255.255.252 = 30 netwerk: 10.66.66.0/30 HostMin: 10.66.66.1 HostMax: 10.66.66.2 Broadcast: 10.66.66.3 Hosts/Net: 2 Class A, Private Internet
netwerk managers
Er is een ruime keuze voorhanden, maar hou voor ogen dat er slechts een daemon gestart mag zijn! In onderstaande tabel worden verschillende managers vergeleken. Automatisch bedrade aansluiting houdt in dat er voor de gebruiker tenminste 1 mogelijkheid bestaat om op eenvoudige wijze, en zonder configuratiebestand, de daemon op te starten om zo een ethernetaansluiting te realiseren:
Connection manager | Automatically handles wired connection |
Official GUI |
Archiso [1] | Console tools | Systemd units |
---|---|---|---|---|---|
ConnMan | Yes | No | No | connmanctl |
connman.service
|
dhcpcd | Yes | No | Yes (base) | dhcpcd |
dhcpcd.service , dhcpcd@interface.service
|
netctl | Yes | No | Yes (base) | netctl |
netctl-ifplugd@interface.service
|
NetworkManager | Yes | Yes | No |
nmcli ,nmtui
|
NetworkManager.service
|
systemd-networkd | No | No | Yes (base) |
systemd-networkd.service , systemd-resolved.service
|
|
Wicd | Yes | Yes | No | wicd-curses |
wicd.service
|
Zie ook de List of applications#Network managers.
Bepaal de hostnaam
Een hostnaam is een unieke naam gegeven aan een apparaat op een netwerk, als aangeduid in /etc/hostname
—zie hostname(5) en hostname(7) voor details. Het bestand kan eventueel ook de domeinnaam van het systeem/netwerk bevatten. Om de hostnaam in te stellen, wijzig /etc/hostname
en voeg een enkele regel toe met b.v. myhostname
:
/etc/hostname
myhostname
Als alternatief kan hostnamectl(1) gebruikt worden:
# hostnamectl set-hostname myhostname
Om een tijdelijke hostnaam toe te kennen, totaan een herstart, gebruik hostname(1) van inetutils:
# hostname myhostname
Om de hostnaam, en andere metadata,te verfraaien, zie machine-info(5).
Lokaal netwerk hostnaam resolutie
Allereerst dient #Bepaal de hostnaam uitgevoerd te zijn, waarmee de hostnaam resolutie in werking gezet wordt op de lokale computer zelf:
$ ping myhostname
PING myhostname (192.168.1.2) 56(84) bytes of data. 64 bytes from myhostname (192.168.1.2): icmp_seq=1 ttl=64 time=0.043 ms
Om het mogelijk te maken dat andere systemen in het netwerkwerk de computer via de hostnaam kunnen bereiken, is het noodzakelijk dat of:
- het bestand hosts(5) geconfigureerd is, of
- een dienst geactiveerd word welke de hostname kan zoeken en vinden.
myhostname
nss module, standaard geactiveerd in /etc/nsswitch.conf
.
Echter, sommige systemen gebruiken wellicht toch nog het bestand /etc/hosts
, zie [2] [3] voor voorbeelden.Pas het hosts file aan door de volgende regel toe te voegen aan /etc/hosts
:
- 127.0.1.1 myhostname.localdomain myhostname
Als gevolg waarvan het systeem zichtbaar en bereikbaar is op beide adressen:
$ getent hosts
127.0.0.1 localhost 127.0.1.1 myhostname.localdomain myhostname
Overigens kan en mag localdomain door willekeurig welke domeinnaam vervangen worden, b.v. thuis,nl, jansen.xx, etc. Wees hierin wel consequent op de aangesloten systemen.
In host file kunnen tevens alle op het netwerk aanwezige systemen, voorzien van een statisch IP adres, opgenomen worden, welke dan eveneens via hunner eigen hostnaam herkend zullen worden, bijvoorbeeld:
{{hc|/etc/hosts| 127.0.0.1 localhost 127.0.1.1 myhostname.local myhostname 10.0.0.6 raspbian.local raspbian 10.0.0.5 xbian.local xbian 10.0.0.107 runeaudio.local runeaudio enz
En als klap op de vuurpijl kunnen ongewenste verbindingen naar de eeuwige jachtvelden gezonden worden door deze te verwijzen naar het niet bestaande 0.0.0.0 of naar het lokale adres 127.0.0.1:
- 0.0.0.0 p78878.adskape.ru
Een kant en klaar, en regelmatig bijgewerkt, host file is te downloaden op [4] de MVPhosts site
-
Samba verleent de hostnaam resolutie via Microsoft's NetBIOS. Benodigd is slechts de installatie van samba en activatie van de
nmbd.service
service. Computers met Windows, macOS, en Linux waaropnmbd
is geinstalleerd, zullen de machine kunnen vinden. - Avahi voorziet in de hostnaam resolutie via zeroconf, ook bekend als Avahi of Bonjour. Het vergt een enigzins complexer configuratie dan met Samba: zie Avahi#Hostname resolution voor meer info. Computers met macOS, of Linux met een werkende Avahi daemon, zullen de machine kunnen traceren. Windows beschikt niet over een ingebouwde Avahi client of daemon.
Tips en tricks
Device naam wijzigen
De device naam kan handmatig gewijzigd worden door aanmaak van een udev-rule. Bijvoorbeeld:
/etc/udev/rules.d/10-netwerk.rules
SUBSYSTEM=="net", ACTION=="add", ATTR{adres}=="aa:bb:cc:dd:ee:ff", NAME="net1" SUBSYSTEM=="net", ACTION=="add", ATTR{adres}=="ff:ee:dd:cc:bb:aa", NAME="net0"
welke na een reboot automatisch geactiveerd zal worden.
Enkele opmerkingen:
- Om het MAC adres van een netwerkkaart te verkrijgen, gebruik dit commando:
cat /sys/class/net/device_name/adres
- Gebruik alleen de in onderkast aangegeven hex waarden in een udev-rule. Hoofdletters worden niet verwerkt.
Indien de netwerkkaart over een dynamisch MAC adres beschikt, kan DEVPATH
gebruikt worden, bijvoorbeeld:
/etc/udev/rules.d/10-netwerk.rules
SUBSYSTEM=="net", DEVPATH=="/devices/platform/wemac.*", NAME="int" SUBSYSTEM=="net", DEVPATH=="/devices/pci*/*1c.0/*/net/*", NAME="en"
Het pad naar het device dient zowel naar de nieuwe als naar de oude naam te verwijzen, omdat deze rule tijdens het opstarten meer dan eens uitgevoerd kan worden. Zo is bijvoorbeeld "/devices/pci*/*1c.0/*/net/enp*"
in de tweede regel niet goed, daar deze niet zal werken wanneer de naam veranderd is in en
. Alleen de systeem-default rule zal deze in tweede instantie starten, waarmee de naam (terug) veranderd wordt in b.v.enp1s0
.
Om test de rules te testen, kunnen deze vanuit een userspace direct geactiveerd worden, b.v. via udevadm --debug test /sys/DEVPATH
. Let er dan wel op dat de interface welke hernoemd gaat worden, eerst gedeactiveerd wordt(e.g. ip link set enp1s0 down
).
net0
, net1
, wifi0
, wifi1
. Voor meer onformatie zie systemd documentation.
Terug naar de traditionele device namen
In het geval de gebruiker b.v. over scripts beschikt waarin verwezen wordt naar de traditionele benaming eth0 of wlan0, dan kan Predictable netwerk Interface Names gedeactiveerd worden via maskering van de udev-rule:
# ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules
Instellen van device MTU en queue lengte
De MTU van het netwerk device en tevens de queue lengte kunnen aangepast worden via een udev-rule. Bijvoorbeeld:
/etc/udev/rules.d/10-netwerk.rules
ACTION=="add", SUBSYSTEM=="net", KERNEL=="wl*", ATTR{mtu}="1500", ATTR{tx_queue_len}="2000"
-
mtu
: Bij PPPoE, dient de MTU niet groter te zijn dan 1492. MTU kan ook ingesteld worden systemd.netdev(5). -
tx_queue_len
: Gebruik kleine waarden voor langzamere devices met een hoge latency, zoals modem links en ISDN. Hoge waarden worden aanbevolen bij hoge snelheid aansluitingen met veel dataverkeer.
ifplugd voor laptops
ifplugd is een daemon welke automatisch een Ethernet device configureerd op het moment er een kabel aangesloten wordt, en de configuratie weer ongedaan maakt als de kabelverbinding weer verbroken wordt. Bijzonder nuttig bij laptops met een ingebouwde netwerk adapter, omdat de interface allen geconfigureerd wordt als er daadwerkelijk een kabelverbinding is. Ook is het handig wanneer alleeb de netwerkaansluiting opnieuw opgestart moet worden, zonder de laptop te hoeven herstarten.
Standaard configuratie geldt voor het eth0
device. Wijzigingen hierin, bv het device of vertragingsinstellingen, kunnen aangebracht worden in /etc/ifplugd/ifplugd.conf
.
netctl-ifplugd@.service
, ook kan ifplugd@.service
uit het ifplugd pakket gebruikt worden. Bijvoorbeeld: enable ifplugd@eth0.service
.Bonding of LAG
Zie netctl#Bonding of Wireless bonding.
IP adres aliasing
Bij IP aliasing wordt meer dan een enkel adres toegevoegd aan aan een netwerk interface. Hierdoor is het mogelijk dat een node op een netwerk meerdere aansluitingen kan hebben met dat netwerk, waarbij elke aansluiting een ander doelkan dienen Deze methode wordt typisch gebruikt bij virtual hosting of Web en FTP servers, of bij herorganisatie van servers, zonder andere machines te hoeven updaten (dit kan erg handig zijn voor naamservers).
Voorbeeld
Omhandmatig een alias in te stellen voor een NIC, gebruik iproute2, type:
# ip addr add 192.168.2.101/24 dev eth0 label eth0:1
Om het alias te verwijderen, type:
# ip addr del 192.168.2.101/24 dev eth0:1
Datapaketten, bedoeld voor een subnet, zullen standaars het primaire alias gebruiken. Wanneer het bestemmings IP zich binnen een subnet of een secondaire alias bevindt, zal het bron IP ook zo ingesteld worden. In het geval er meer dan een NIC is, kunnen de default routes weergegeven worden met ip route
.
MAC/hardware adres wijzigen
Zie MAC address spoofing.
Internet delen
Zie Internet sharing.
Router configuratie
Zie Router.
Promiscuous (willekeurig) mode
Bij inschakelen van de promiscuous mode zal een (wireless) NIC alle ontvangen dataverkeer verwerken. Dit in tegenstelling tot de "normale modus" waarin een NIC alle data ,welke het niet geacht is te ontvangen, zal negeren. Willekeurige modus wordt veelal gebruikt bij probleemoplossing in geavanceerde netwerken en bij packet sniffing.
/etc/systemd/system/promiscuous@.service
[Unit] Description=Set %i interface in promiscuous mode After=netwerk.target [Service] Type=oneshot ExecStart=/usr/bin/ip link set dev %i promisc on RemainAfterExit=yes [Install] WantedBy=multi-user.target
Activeren van de promiscuous mode op interface eth0
via enable promiscuous@eth0.service
.
Foutopsporing
Swapping computers on the cable modem
Niet van toepassing op de Europese / Nederlandse markt
Het TCP window scaling probleem
TCP-pakketten bevatten een "window" -waarde in hun koptekst, waarin wordt aangegeven hoeveel gegevens de andere host mogelijk in ruil zal sturen. Deze waarde wordt alleen weergegeven met slechts 16 bits, dus de venstergrootte bedraagt maximaal 64Kb. TCP-pakketten worden een tijdje in de cache gehouden (ze moeten worden herordend), en aangezien het geheugen beperkt of nog beperkt is, kan een host geheugen tekort komen.
Terug in 1992, toen meer en meer geheugen beschikbaar werd, werd RFC 1323 geschreven om de situatie te verbeteren: Window Scaling. De "window" -waarde, die in alle pakketten wordt geleverd, wordt gewijzigd door een schaalfactor die eenmaal is gedefinieerd, aan het begin van de verbinding. Die 8-bits Scale Factor maakt het venster maximaal 32 keer hoger dan de oorspronkelijke 64Kb.
Het lijkt erop dat sommige oudere routers en firewalls op het internet de Scale Factor omschrijven naar 0, waardoor misverstanden tussen hosts veroorzaakt worden. De Linux kernel 2.6.17 introduceerde een nieuw berekeningsschema dat hogere schaalfactoren oplevert, waardoor de nasleep van de oudere routers en firewalls vrijwel zichtbaar wordt.
De resulterende verbinding is in ieder geval zeer langzaam of gebroken.
How to diagnose the problem
Het moge duidelijk zijn dat dit een raar probleem is. In sommige gevallen zal het niet mogelijk zijn om uberhaupt TCP aansluitingen (HTTP, FTP, ...) te gebruiken, en in een ander geval kan slechts met sommige hosts gecommuniceerd worden.
Indien dit probleem zich manifesteert zal de dmesg
's output er goed uitzien en de logs zullen leeg blijven, daarbij zal ip addr
een normale status rapporteren, waardoor er op het eerste gezicht niet aan de hand lijkt te zijn.
Maar wanneer websites niet reageren en het pingen van een willekeurige host geen probleem oplevert, dan is er een grote kans dat we hier met genoemd probleem te maken hebben: ping gebruikt namelijk ICMP en heeft dus geen lastvan de TCP problemen.
Mischien dat Wireshark iets verduidelijkt. Wellicht wordt UDP en ICMP verkeer zichbaar, maar TCP niet (alleen bij externe hosts).
Hoe te herstellen
Fout
Op de foute manier kan de tcp_rmem
waarde, waarop Scale Factor calculatie is gebaseerd, aangepast worden. Alhoewel dit voor de meeste hosts zal werken, is er geen garantie dat dit ook het geval zal zijn voor met name hosts op afstand.
# echo "4096 87380 174760" > /proc/sys/net/ipv4/tcp_rmem
Goed
KISS: simpleweg deactiveren van de Window Scaling. Maar omdat Window Scaling is een fijne TCP feature is, voelt het wellicht niet fijn om het uit te schakelen, zeker als een oudere router er niet mee opgeknapt wordt. Window Scaling kan op meerdere manieren uitgeschakeld worden, maar klaarblijkelijk is de beste manier (en effectief met de meeste kernels), om de volgende regel toe te voegen aan /etc/sysctl.d/99-disable_window_scaling.conf
(zie ook sysctl):
net.ipv4.tcp_window_scaling = 0
Best
Omdat het probleem veroorzaakt wordt door een defecte router/firewall, is vervanging gewenst. Sommige gebruikers gaven aan dat hun defecte router de DSL router was.
Aanvullend
Gebaseerd op het LWN artikel TCP window scaling and broken routers en een Kernel Trap artikel: Window Scaling on the Internet.
Meer relevante discussie zijn te vinden op de LKML.
Realtek geen link / WOL probleem
Gebruikers met Realtek 8168 8169 8101 8111 (C) gebaseerde NIC's (kaarten en aan boord) kunnen het probleem hebben dat de NIC bij het opstarten gedeactiveerd lijkt te zijn en geen Link-lichtje heeft. Dit kan meestal worden gevonden op een dual boot systeem waar Windows ook geïnstalleerd is. Het lijkt erop dat het gebruik van de officiële Realtek-drivers (gedateerd na mei 2007) onder Windows de oorzaak is. Deze nieuwere stuurprogramma's schakelen de functie Wake-On-LAN uit door de NIC uit te schakelen bij de Windows-uitschakeltijd, waar het wordt uitgeschakeld tot de volgende keer dat Windows opstart. U zult kunnen opmerken of dit probleem u beïnvloedt als het Link-lampje uit blijft tot Windows opstart; tijdens het uitschakelen van Windows zal het Link-lampje weer uitschakelen. Normale werking moet zijn dat het verbindingslampje altijd brandt zolang het systeem aan staat, zelfs tijdens POST. Dit probleem heeft ook invloed op andere besturingssystemen zonder nieuwe drivers (bijv. Live CD's). Hier zijn een paar correcties voor dit probleem.
Activeren van de NIC in Linux
Ga naar #Activeren en De-actieveren van netwerk interfaces om de NIC in te schakelen.
Rollback/wijzig de Windows driver
U kunt uw Windows NIC-stuurprogramma terugzetten naar de Microsoft versie, indien beschikbaar, of terugzetten / installeer een officiële Realtek-driver van voor mei 2007 (staat op cd die bij uw hardware is geleverd).
Activeer WOL in Windows driver
Waarschijnlijk is de beste en de snelste oplossing om deze instelling in het Windows-stuurprogramma te wijzigen. Op deze manier zou het systeembreed opgelost moeten zijn en niet alleen onder Arch (bijvoorbeeld live CD's, andere besturingssystemen). Zoek in Windows onder Device Manager uw Realtek-netwerkadapter en dubbelklik op het. Onder het tabblad 'Geavanceerd' wijzigt u 'Wake-on-LAN na uitschakelen' in 'Inschakelen'.
In Windows XP (example):
Right click my computer and choose "Properties" --> "Hardware" tab --> Device Manager --> netwerk Adapters --> "double click" Realtek ... --> Advanced tab --> Wake-On-Lan After Shutdown --> Enable
Disable
geen effect heeft (u merkt dat het Link-lampje nog steeds wordt uitgeschakeld bij het uitschakelen van Windows). Eén vieze oplossing is om naar Windows te starten en het systeem opnieuw te resetten (een onhandige herstart / uitschakeling uitvoeren) waardoor de Windows-chauffeur geen kans krijgt om LAN uit te schakelen. Het Link-lampje blijft aan en de LAN-adapter blijft toegankelijk na POST - dat wil zeggen totdat u weer opstart naar Windows en het weer goed afsluit..Nieuwe Realtek Linux driver
Nieuwere drivers voor deze Realtek kaarten zijn verkrijgbaar voor Linux op de Realtek site (ongetest, maar lost waarschijnlijk het probleem wel op).
Inschakelen LAN Boot ROM in BIOS/CMOS
Het lijkt erop dat de instelling Integrated Peripherals --> Onboard LAN Boot ROM --> Enabled in BIOS/CMOS de Realtek LAN chip bij system boot-up reactiveerd, ondanks dat de Windows driver bij afsluiten van het systeem het de-activeerd.
No interface with Atheros chipsets
Gebruikers van sommige Atheros ethernet chips melden dat deze niet out-of-the-box werken. (bij installatiemedis van februari 2014). Een werkende oplossing is om vanuit backports-patchedAUR te installeren.
Broadcom BCM57780
Deze Broadcom chipset gedraagt zich iet altijd netjes wanner nier specifiek aangegeven wordt dat de betreffende module geladen dient te worden. Het betreft de mosules broadcom
en tg3
, waarbij laatstgenoemde als eerste geladen dient te worden.
Onderstaande stappen bieden een oplossing voor deze chipset:
- Zoek de NIC in lspci output:
$ lspci | grep Ethernet
02:00.0 Ethernet controller: Broadcom Corporation NetLink BCM57780 Gigabit Ethernet PCIe (rev 01)
- Insien de bedrade netwerkaansluiting hapert, probeer het volgende, na eerst de kabel losgekoppeld te hebben:
# modprobe -r tg3 # modprobe broadcom # modprobe tg3
- Koppel de kabel weer aan. Mocht dit de oplossing te zijn geweest, dan kan de procedure permanent gemaakt worden door toevoeging van
broadcom
entg3
(in deze volgorde) aan deMODULES
array in/etc/mkinitcpio.conf
:
MODULES=".. broadcom tg3 .."
- Rebuild the initramfs:
# mkinitcpio -p linux
- Als alternatief kan ook een
/etc/modprobe.d/broadcom.conf
aangemaakt worden:
softdep tg3 pre: broadcom
Realtek RTL8111/8168B
# lspci | grep Ethernet
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)
De adapter moet herkend worden door de r8169
module. Echter, met enkele chiprevisies kan de aansluiting voortdurend aan en uit gaan. Het alternatief r8168 moet in dit geval gebruikt worden voor een betrouwbare aansluiting. Blacklist r8169
, als r8168 niet automatisch wordt geladen door udev, zie Kernel module#Automatic module loading with systemd.
Ook kan matige IPv6 ondersteuning de oorzaak zijn bij sommige revisies. IPv6#Disable functionality kan behulpzaam zijn bij problemen met hangende webpagina's en lage snelheden.
Gigabyte Motherboard with Realtek 8111/8168/8411
Met moederborden zoals de Gigabyte GA-990FXA-UD3, opstartend met IOMMU uitgeschakeld (wat de standaard kan zijn) zorgt ervoor dat de netwerkinterface onbetrouwbaar is, vaak niet aansluit of aansluiting heeft, maar geen doorvoer mogelijk maakt. Dit geldt niet alleen voor de NIC aan boord, maar ook voor andere pci-NIC's, omdat de instelling van de IOMMU de gehele netwerkinterface op het bord beïnvloedt. Als u IOMMU inschakelt en opstart met de installatiemedia, worden AMD I-10 / xhci pagina-defecten voor een seconde gebroken, maar start daarna wel normaal op, wat resulteert in een volledig functionele interne NIC (zelfs bij de r8169-module).
Voeg iommu=soft
als een kernel parameter toe om bij het opstarten foutmeldingen te onderdrukken en de USB3.0-functionaliteit te herstellen.