NetworkManagement/da: Difference between revisions

From KDE Wiki Sandbox
(Created page with '===Kernen===')
No edit summary
 
(30 intermediate revisions by 2 users not shown)
Line 8: Line 8:
* Versionen af din distribution
* Versionen af din distribution
* Er '''NetworkManager''' i brug? I nogle distributioner er det et tilvalg, da '''NetworkManager''' ikke tjener noget formål på et statisk, serveragtigt system. Stop nu, hvis det ikke er i brug.
* Er '''NetworkManager''' i brug? I nogle distributioner er det et tilvalg, da '''NetworkManager''' ikke tjener noget formål på et statisk, serveragtigt system. Stop nu, hvis det ikke er i brug.
* Versionsnummeret for '''Network Management''' appletten (NetworkManager-kde4.rpm i '''openSUSE''', plasma-widget-network-manager i '''Kubuntu 9.04''', plasma-widget-networkmanagment i '''Kubuntu Karmic''', kde-plasma-networkmanagement i '''fedora''')
* Versionsnummeret for '''Network Management''' appletten (NetworkManager-kde4.rpm i '''openSUSE''', plasma-widget-network-manager i '''Kubuntu 9.04''', plasma-widget-networkmanagment i '''Kubuntu 9.10''', kde-plasma-networkmanagement i '''fedora''')
* Versionen af pakken '''NetworkManager'''
* Versionen af pakken '''NetworkManager'''
* Versionen af pakken '''ModemManager'''
* Versionen af pakken '''ModemManager'''
Line 50: Line 50:
===Kernen===
===Kernen===


This is where the actual driver that controls the hardware is located. There are many interesting bugs here too. Since the introduction of a standard wireless MAC layer in the Linux kernel, this situation is improving. Some hardware doesn't have a Linux driver, so people control it using the '''ndiswrapper''' tool, which loads '''Windows''' drivers and their bugs. You can see its output in the system log, and talk to the drivers using the '''iwtools''' set of commands.
Den egentlige driver, som kontrollerer hardwaren findes her. Her er der også mange interessante fejl. Efter at et standard MAC-lag til trådløs forbindelse blev føjet til Linux-kernen, så er situationen blevet bedre. Noget hardware har ingen Linux-driver, så man kontrollerer den ved brug af værktøjet '''ndiswrapper''', som indlæser '''Windows'''-drivere med deres fejl. Du kan se outputtet i systemloggen, og du kan komme i kontakt med driveren ved hjælp af kommandoerne i '''iwtools'''.


=== WPA Supplicant ===
=== WPA Supplicant ===


'''wpa_supplicant''' is a low level tool for talking to the driver, providing authentication and encryption settings. It is open source and generally of high quality. Before the advent of '''NetworkManager''', users had to configure it manually with control files in /etc. This has been known to get people out of a tight spot occasionally. It usually logs to /var/log/wpa_supplicant.log. Nowadays it is mostly controlled remotely by....
'''wpa_supplicant''' er et værktøj, som har kontakt med driveren på lavt niveau og udbyder indstillinger for autentfikation og kryptering. Det er opensource og generelt af høj kvalitet. Før '''NetworkManager''' skulle brugere konfigurere det manuelt med kontrolfiler i /etc. På den måde kom nogle brugere en gang imellem i vanskeligheder. Det logger sædvanligvis til /var/log/wpa_supplicant.log. Nutildags kontrolleres det for det meste af....


=== NetworkManager ===
=== NetworkManager ===


'''NetworkManager''' is the system daemon at the centre of the networking subsystem on most end user Linux installations. It has root privileges, needed to control the lower layers, and exposes some controls up to clients running in the user session via '''DBUS'''. It writes a log in /var/log. ''NM'' also controls ''DHCP'' clients as needed and rewrites /etc/resolv.conf with the ''DNS servers'' it has configured. '''NetworkManager''' also provides a '''SystemSettings''' service, which is responsible for reading your distribution's network configuration files (system wide) and feeding them into '''NetworkManager'''.
I de fleste almindelige Linux-distributioner er '''NetworkManager''' den centrale systemdæmonen for netværksdelen. Den har rodprivilegier, har kontrol over de lavere niveauer og giver klienter, som kører i en brugersession, mulighed for at kontrollere visse ting via '''DBUS'''. Den skriver i /var/log. ''NM'' kontrollerer også ''DHCP''-klienter om nødvendigt og overskriver etc/resolv.conf med den ''DNS-server'', som den har konfigureret. '''NetworkManager''' frembyder også en tjeneste i '''Systemindstillinger''', som er ansvarlig for at læse din distributions netværkskonfigurationsfil (for hele systemet) og sende den videre til '''NetworkManager'''.


=== User Clients ===
===Brugerklienter===


'''KNetworkManager''' applet for KDE 4, '''Network Management Plasmoid''' under KDE 4, '''KNetworkManager''' under KDE 3, '''nm-applet''' under GNOME, and '''cnetworkmanager''' is your last life. These are responsible for  
'''KNetworkManager''' til KDE 4, '''Network Management Plasmoid''' under KDE 4, '''KNetworkManager''' under KDE 3, '''nm-applet''' under GNOME og '''cnetworkmanager''' som sidste udvej. Disse er ansvarlige for
* giving feedback on the networking status of ths system,
* at give feedback om netværkets status
* communicating the user's actions to '''NetworkManager''' and for storing
* at formidle brugerens handlinger til '''NetworkManager'''
* communicating the user's network connection details (policy) to NM.
* at gemme og formidle detaljer om brugerens netværksforbindelse (policy) til NM
While they are the most visible part of the system, they are also the least important to making a successful connection.
Selv om disse er de mest synlige dele af systemet, så har de mindst betydning for at foretage en succefuld opkobling. Eftersom de har den samme bindelse til '''NetworkManager''', så kan de let erstatte hinanden.
Since they share a standard interface to '''NetworkManager''', they can be exchanged easily.


== When Things Go Wrong ==
==Når ting går galt==


=== Where Does It Hurt? ===
===Hvor gør det ondt?===


Simple.  Start at the top of the stack and work down. When you find something that works, you found the site of the problem. When you run out of things you can change, hand over to an expert (probably the responsible team at your Linux distribution).
Start i toppen af stakken og arbejd dig nedad. Når du finder noget, som virker, så har du fundet stedet, hvor problemet opstår. Når du løber tør for ting, der kan ændres, så overlad resten til eksperter (formentlig det ansvarlige team hos din Linux-distribution).


# Are you actually using '''NetworkManager''' on your system?  '''Mandriva''' doesn't use it.  '''ArchLinux''' uses '''wicd'''.  '''Moblin''' uses '''Connman'''.   
# Bruger dir system faktisk '''NetworkManager'''?  '''Mandriva''' gør ikke.  '''Moblin''' bruger '''Connman'''.   
# Try a different '''NetworkManager''' client. If that helps, continue in the next section to try and further localise the problem in '''Network Management'''. Then bugs.kde.org, product "Network Management" is the place to go.
# Prøv en anden '''NetworkManager'''-klient. Hvis det hjælper, så fortsæt til næste afsnit for at prøve at lokalisere problemet i '''NetworkManagement'''. Herefter er bugs.kde.org, product "Network Management" stedet at gå til.
# Try to configure a connection using your distro's system configuration tools, so '''SystemSettings''' picks it up. It's unlikely but worth a go.
# Prøv at konfigurere en forbindelse med din distributione konfigurationsværktøj, sådan at '''Systemindstillinger''' opfanger den. Det er usandsynligt, men værd at forsøge.
# Try a manually configured connection via '''wpa_supplicant'''. The documentation is rather sparse but there are example configurations include in the package. Here is the [http://hostap.epitest.fi/wpa_supplicant/ list of supported hardware]. If wpa_supplicant on its own works, '''NetworkManager''' is at fault. Talk to your distro or report it at bugs.freedesktop.org.
# Prøv at konfigurere en forbindelse manuelt via '''wpa_supplicant'''. Dokumentationen er ret sparsom, men der følger eksempelkonfigurationer med pakken. Her er en [http://hostap.epitest.fi/wpa_supplicant/ liste over understøttet hardware]. Hvis wpa_supplicant virker på egen hånd, så ligger fejlen i '''NetworkManager'''. Tal med din distribution eller rapporter fejlen på bugs.freedesktop.org.
# If that didn't work, reconfigure a wireless router to use a different (weaker) encryption type or none at all. If this works, the problem is either in '''wpa_supplicant''' or the driver. Either way, take it to your distro.
# Hvis det ikke virker, så prøv ar genkonfigurere en trådløs router til at bruge en anden (svagere) kryptering eller slet ingen. Hvis det virker, så er problemet enten '''wpa_supplicant''' eller driveren. Under alle omstændigheder - tal med din distribution.


=== It's All KDE's Fault! ===
===Det er altsammen KDE's fejl===
If you are reading this, you will have been able to make a connection using a different '''NetworkManager''' client.   
Hvis du læser dette, så har du været i stand til at ave en opkobling med en anden '''NetworkManager'''-klient.   


First, make sure that you are not running another client as well as '''Network Management'''. This will lead to unpredictable results. If you were, remove and restart '''Network Management'''. You can run it externally to '''Plasma''' as  {{Input|1=plasmoidviewer networkmanagement}} if you want.
Først skal du sikre dig, at du ikke kører en anden klient samtidig med '''Network Management'''. Dette kan føre til uforudsigelige resultater. Hvis du gør, så skal du fjerne og genstarte '''Network Management'''. Du kan køre den udenfor '''Plasma''' ved {{Input|1=plasmoidviewer networkmanagement}} hvis du vil.


You should now try to figure out how the connection provided by '''Network Management''' differs from that provided by the other client. If you build '''Network Management''' from source you can use the tool 'qdbusfornm', which is a version of qdbus extended to handle NM's data types.
Du bør nu prøve at finde ud af, hvordan den forbindelse, som '''Network Management''' giver dig afviger fra den, som den anden klient giver. Hvis du bygger '''Network Management''' fra kildekoden, så kan du bruge værktøjet 'qdbusfornm', som er en version af qdbus, som er udvidet til at håndtere NM's datatyper.


If you do not build from source, just replace {{Input|1=./qdbusfornm --system}}by {{Input|1=qdbus --system --literal}} in the command shown below. It is a bit harder to read but should give you the same output.
Hvis du ikke byggede den fra kildekoden, så erstat blot  {{Input|1=./qdbusfornm --system}}med {{Input|1=qdbus --system --literal}} i kommandoen nedenfor. Det er lidt mere vanskeligt at læse, men giver dig det samme output.


If you use {{Input|1=qdbus --system --literal}}please take the time to format the output so there is one key per line, similar to the qdbusfornm output below. This is easy and just takes time, so it is better for you to do this than a developer.
Hvis du bruger {{Input|1=qdbus --system --literal}}så tag dig venligst tid til at formattere outputtet, sådan at der kun er en nøgle per linje, ligesom outputtet fra qdbusornm herunder. Det er let nok, selv om det tager lidt tid, så det er bedre at du gør det end at en udvikler skal gøre det.


The value 0 below identifies the connection. Change it if you have more than one until you find the relevant connection.
Værdien 0 nedenfor identificerer forbindelsen. Den kan du ændre indtil du finder den relevante forbindelse, hvis du har mere end en.


{{Input|1=./qdbusfornm --system org.freedesktop.NetworkManagerUserSettings/org/freedesktop/NetworkManagerSettings/0
{{Input|1=./qdbusfornm --system org.freedesktop.NetworkManagerUserSettings /org/freedesktop/NetworkManagerSettings/0
org.freedesktop.NetworkManagerSettings.Connection.GetSettings}}
org.freedesktop.NetworkManagerSettings.Connection.GetSettings}}


returns here
returnerer
<pre>
{{Output|1=<nowiki>a{sa{sv}}(==802-11-wireless==
a{sa{sv}}(==802-11-wireless==
  band: bg
  band: bg
  mode: infrastructure
  mode: infrastructure
Line 116: Line 114:
  dns-search:
  dns-search:
  method: auto
  method: auto
  )
  )</nowiki>}}
</pre>
Gentag nu, idet du bruger den anden klient, som virker, kopier begge sæt optputs og vedhæft dem sikkert til en fejlrapport til bugs.kde.org.  Med denne information vil vi hurtigt være i stand til at finde en løsning.
Now you should repeat using the other, working client and copy both sets of output, before attaching them securely to a bug report at bugs.kde.org.  With this information we will quickly be able to implement a fix.


==== Crashes ====
===Sammenbrud===


If you have a crash ensure you install [http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports debugging symbols] and take a backtrace. In '''Kubuntu''' you need to add the [https://wiki.kubuntu.org/DebuggingProgramCrash debug repository] and install '''plasma-widget-networkmanagement-dbgsym'''.
Hvis du kommer ud for et sammenbrud, så bør du installerer  [http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports debuggingsymboler] og lave et backtrace. I '''Kubuntu''' skal du tilføje [https://wiki.kubuntu.org/DebuggingProgramCrash debugarkivet] og installere '''plasma-widget-networkmanagement-dbgsym'''.


[[Category:System]]
[[Category:System/da]]

Latest revision as of 13:13, 16 September 2011

Introduktion

I mange distributioner af Linux kontrolleres netværksforbindelsen af NetworkManager-dæmonen; den kan konfigureres af brugeren. I KDE er KNetworkManagmer (til KDE 3 og KDE 4) og Network Management (til KDE 4) de vigtigste brugerflader til NetworkManager.

Fejl

Rapportering af fejl

For at rapportere en fejl i Network Management skal du angive følgende information:

  • Versionen af din distribution
  • Er NetworkManager i brug? I nogle distributioner er det et tilvalg, da NetworkManager ikke tjener noget formål på et statisk, serveragtigt system. Stop nu, hvis det ikke er i brug.
  • Versionsnummeret for Network Management appletten (NetworkManager-kde4.rpm i openSUSE, plasma-widget-network-manager i Kubuntu 9.04, plasma-widget-networkmanagment i Kubuntu 9.10, kde-plasma-networkmanagement i fedora)
  • Versionen af pakken NetworkManager
  • Versionen af pakken ModemManager
  • Din computers hardware, hvis det ikke er en helt almindelig x86-kompatibel maskine. Er du en PPC-bruger? Så vil jeg vide det.
  • Din netværkshardware (brug lshal for at finde ud af det)
  • En systemlog fra NetworkManager fra et forsøg på opkobling
    • for openSUSE: /var/log/NetworkManager
    • for kubuntu: /var/log/syslog
    • for fedora: /var/log/messages
  • For trådløse netværk:
    • Bruger den en skjult SSID?
    • Hvilken type trådløs sikkerhed: WEP/WPA-PSK/WPA-EAP?
    • Nøglelængde
    • Nøgletype (passphrase eller hex for WEP)
    • Ciphers (TKIP/AES)
    • Auth mekanismer (TLS/TTLS/PEAP/...)
  • For mobilt bredbånd:
    • hardware
    • anvendt driver (se dmesg, når du forbinder hardwaren)
    • anvendt netværk
    • netværkstype (GSM/CDMA/UMTS)
    • hvilken apn er anvendt (hvis nogen)
    • ModemManager logs ("killall NetworkManager", "killall modem-manager", start "modem-manager --debug", "NetworkManager --no-debug") kan være nyttige for at finde ud af om NetworkManager finder din hardware.

Og meget vigtigt: Kan du etablere forbindelse med en anden klient? For eksempel nm-applet under GNOME eller cnetworkmanager fra konsollen. Hvis du kan det, så prøv venligst at vedhæfte tilsvarende information som beskrevet i slutningen af denne artikel.

Fejlhåndtering

På de fleste stationære Linux-maskiner er Network Manager den øverste i en stor og skrøbelig stak af komponenter. Det er nødvendigt for at kunne håndtere det enorme antal forskellige konfigurationer. Når en opkobling mislykkes kan der være mange forskellige årsager overalt i stakken, men symptomerne vil typisk være noget i retnig af "Connection got to 28% and then failed". Fejl, som rapporteres til bugs.kde.org bliver triaged for at finde ud af, hvor i stakken fejlen optræder, sådan at den kan rettes af de, der er ansvarlige.

Stakken

Hardwaren

Trådløs hardware har et forbløffende stort antal fejl. Disse håndteres i det næste lag, hvis du er heldig.

Kernen

Den egentlige driver, som kontrollerer hardwaren findes her. Her er der også mange interessante fejl. Efter at et standard MAC-lag til trådløs forbindelse blev føjet til Linux-kernen, så er situationen blevet bedre. Noget hardware har ingen Linux-driver, så man kontrollerer den ved brug af værktøjet ndiswrapper, som indlæser Windows-drivere med deres fejl. Du kan se outputtet i systemloggen, og du kan komme i kontakt med driveren ved hjælp af kommandoerne i iwtools.

WPA Supplicant

wpa_supplicant er et værktøj, som har kontakt med driveren på lavt niveau og udbyder indstillinger for autentfikation og kryptering. Det er opensource og generelt af høj kvalitet. Før NetworkManager skulle brugere konfigurere det manuelt med kontrolfiler i /etc. På den måde kom nogle brugere en gang imellem i vanskeligheder. Det logger sædvanligvis til /var/log/wpa_supplicant.log. Nutildags kontrolleres det for det meste af....

NetworkManager

I de fleste almindelige Linux-distributioner er NetworkManager den centrale systemdæmonen for netværksdelen. Den har rodprivilegier, har kontrol over de lavere niveauer og giver klienter, som kører i en brugersession, mulighed for at kontrollere visse ting via DBUS. Den skriver i /var/log. NM kontrollerer også DHCP-klienter om nødvendigt og overskriver etc/resolv.conf med den DNS-server, som den har konfigureret. NetworkManager frembyder også en tjeneste i Systemindstillinger, som er ansvarlig for at læse din distributions netværkskonfigurationsfil (for hele systemet) og sende den videre til NetworkManager.

Brugerklienter

KNetworkManager til KDE 4, Network Management Plasmoid under KDE 4, KNetworkManager under KDE 3, nm-applet under GNOME og cnetworkmanager som sidste udvej. Disse er ansvarlige for

  • at give feedback om netværkets status
  • at formidle brugerens handlinger til NetworkManager
  • at gemme og formidle detaljer om brugerens netværksforbindelse (policy) til NM

Selv om disse er de mest synlige dele af systemet, så har de mindst betydning for at foretage en succefuld opkobling. Eftersom de har den samme bindelse til NetworkManager, så kan de let erstatte hinanden.

Når ting går galt

Hvor gør det ondt?

Start i toppen af stakken og arbejd dig nedad. Når du finder noget, som virker, så har du fundet stedet, hvor problemet opstår. Når du løber tør for ting, der kan ændres, så overlad resten til eksperter (formentlig det ansvarlige team hos din Linux-distribution).

  1. Bruger dir system faktisk NetworkManager? Mandriva gør ikke. Moblin bruger Connman.
  2. Prøv en anden NetworkManager-klient. Hvis det hjælper, så fortsæt til næste afsnit for at prøve at lokalisere problemet i NetworkManagement. Herefter er bugs.kde.org, product "Network Management" stedet at gå til.
  3. Prøv at konfigurere en forbindelse med din distributione konfigurationsværktøj, sådan at Systemindstillinger opfanger den. Det er usandsynligt, men værd at forsøge.
  4. Prøv at konfigurere en forbindelse manuelt via wpa_supplicant. Dokumentationen er ret sparsom, men der følger eksempelkonfigurationer med pakken. Her er en liste over understøttet hardware. Hvis wpa_supplicant virker på egen hånd, så ligger fejlen i NetworkManager. Tal med din distribution eller rapporter fejlen på bugs.freedesktop.org.
  5. Hvis det ikke virker, så prøv ar genkonfigurere en trådløs router til at bruge en anden (svagere) kryptering eller slet ingen. Hvis det virker, så er problemet enten wpa_supplicant eller driveren. Under alle omstændigheder - tal med din distribution.

Det er altsammen KDE's fejl

Hvis du læser dette, så har du været i stand til at ave en opkobling med en anden NetworkManager-klient.

Først skal du sikre dig, at du ikke kører en anden klient samtidig med Network Management. Dette kan føre til uforudsigelige resultater. Hvis du gør, så skal du fjerne og genstarte Network Management. Du kan køre den udenfor Plasma ved

plasmoidviewer networkmanagement

hvis du vil.

Du bør nu prøve at finde ud af, hvordan den forbindelse, som Network Management giver dig afviger fra den, som den anden klient giver. Hvis du bygger Network Management fra kildekoden, så kan du bruge værktøjet 'qdbusfornm', som er en version af qdbus, som er udvidet til at håndtere NM's datatyper.

Hvis du ikke byggede den fra kildekoden, så erstat blot

./qdbusfornm --system

med

qdbus --system --literal

i kommandoen nedenfor. Det er lidt mere vanskeligt at læse, men giver dig det samme output. Hvis du bruger

qdbus --system --literal

så tag dig venligst tid til at formattere outputtet, sådan at der kun er en nøgle per linje, ligesom outputtet fra qdbusornm herunder. Det er let nok, selv om det tager lidt tid, så det er bedre at du gør det end at en udvikler skal gøre det.

Værdien 0 nedenfor identificerer forbindelsen. Den kan du ændre indtil du finder den relevante forbindelse, hvis du har mere end en.

./qdbusfornm --system org.freedesktop.NetworkManagerUserSettings /org/freedesktop/NetworkManagerSettings/0
org.freedesktop.NetworkManagerSettings.Connection.GetSettings

returnerer

a{sa{sv}}(==802-11-wireless==
 band: bg
 mode: infrastructure
 security: 802-11-wireless-security
 ssid: opensuse-guest
 ==802-11-wireless-security==
 auth-alg: open
 key-mgmt: wpa-psk
 wep-tx-keyidx: 0
 ==connection==
 autoconnect: true
 id: openSUSE
 type: 802-11-wireless
 uuid: {951cc7d9-1fa0-4525-9ab7-7199849e1b19}
 ==ipv4==
 dns-search:
 method: auto
 )

Gentag nu, idet du bruger den anden klient, som virker, kopier begge sæt optputs og vedhæft dem sikkert til en fejlrapport til bugs.kde.org. Med denne information vil vi hurtigt være i stand til at finde en løsning.

Sammenbrud

Hvis du kommer ud for et sammenbrud, så bør du installerer debuggingsymboler og lave et backtrace. I Kubuntu skal du tilføje debugarkivet og installere plasma-widget-networkmanagement-dbgsym.