# (SOLVED) Wlanverbindung erst nach zu tun möglich

## fndark

Hallo,

Mein Problem ist folgendes:

Wenn ich nach dem Booten die "WPA_Supplicant Gui" öffne so kann ich nicht zu meinem Point Connecten, selbst nach mehrmaligem drücken der "Connect-Schaltfläche" nicht. Öffne ich jetzt das "Terminal" und restarte "dhcpcd" dann funktioniert sowohl das Connecten, es wird auch automatisch die IP per Dhcp geholt - immer erst per Terminal Dhcp restarten ist doch etwas nervig  :Smile: 

Was gibt es zusagen?

1. Ich benutze WPA_Supplicant und dhcpcd

2. lasse per dhcp die IP automatisch holen

3. sowohl WPA_Supplicant als auch dhcpcd wird automatisch im Runlevel "default" mit gestartet

4. nach einem "/etc/init.d/dhcpcd restart funktioniert es bestens obwohl dhcpcd ja schon gestartet ist im Runlevel

Hier mal noch /etc/conf.d/net

```

# This blank configuration will automatically use DHCP for any net.*

# scripts in /etc/init.d.  To create a more complete configuration,

# please review /usr/share/doc/openrc*/net.example* and save your configuration

# in /etc/conf.d/net (this file :]!).

dns_domain_lo="NETWORK"

config_eth0="dhcp"

config_wlan0="dhcp"

```

und hier /etc/wpa_supplicant/wpa_supplicant.con

```

ctrl_interface=/var/run/wpa_supplicant

ctrl_interface_group=users

update_config=1

network={

        ssid="Fr!tz@DarkSphere"

        scan_ssid=1

        psk="SAG-ICH-NICHT-JEDEM"

        proto=WPA

        key_mgmt=WPA-PSK

        pairwise=TKIP

        auth_alg=OPEN

}

```

Für hilfe binsch natürlich dankbar

Grüße, SvenLast edited by fndark on Thu Aug 16, 2012 3:02 am; edited 1 time in total

----------

## firefly

öhm wiso verdendest du nicht /etc/conf.d/net und /etc/init.d/net.wlan0?

Denn dann brauchst du nicht dhcpcd und wpa_supplicant direkt in ein runlevel zu packen.

Das starten der beiden komponenten mach das net init script von selbst, wenn es entsprechen konfiguriert ist.

http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=4&chap=4#doc_chap2

----------

## fndark

Hi,

Ok, wäre auch eine Möglichkeit. Mich stört allerdings nicht wenn ich Dhcpcd und WPA-Supplicant per Runlevel starte solange das dann auch funktioniert, was es ja im Moment nur zum Teil tut und ich weis nich warum, denn bei der vorherigen Gentoo-Installation hat es funktioniert wie es soll.

Grüße, Sven

----------

## firefly

 *fndark wrote:*   

> Hi,
> 
> Ok, wäre auch eine Möglichkeit. Mich stört allerdings nicht wenn ich Dhcpcd und WPA-Supplicant per Runlevel starte solange das dann auch funktioniert, was es ja im Moment nur zum Teil tut und ich weis nich warum, denn bei der vorherigen Gentoo-Installation hat es funktioniert wie es soll.
> 
> Grüße, Sven

 

Wiso willst du das? Denn das starten eines DHCP clients macht doch erst sinn, wenn das entsprechende Netzwerkinterface aktiv ist (Kabel angesteckt, oder Verbindung mit einem WLAN-Accesspoint besteht).

Ok dhcpcd unterstüzt so ein Szenario. (Der Deamon läuft und wird erst aktiv, wenn das überwachte Netzwerkinterface aktiv wird). Aber scheinbar kommt es nicht mit wlan interfaces klar, welche eine WPA (über wpa_supplicant) Verbindung mit einem Accesspoint aufbauen. Scheinbar wird der dhcpcd zu früh aktiv (bevor die Wlanverbindung komplett aufgebaut ist) und rennt in einen timeout.

----------

## fndark

Hi,

Ok, Problem soweit gelöst! Das einzigste was ist - der versucht nun zuerst für Kabel eine IP zubekommen und dann für WLan was ja nicht funktioneren kann wenn kein Kabel eingesteckt ist. Wie kann ich das umgehen oder verhindern?

Im Moment läuft das so, das ich ansich ja nur "net.eth0" oder "net.wlan0" starte und das andere mit gestartet wird ...

Grüße, Sven

----------

## firefly

Was soll eigentlich genau funktionieren?

Willst du immer über Wlan gehen oder auch über die Netzwerkkarte?

Und welches soll Vorrang haben, wenn ein konfiguriertes WLAN erreichbar ist und gleichzeitig die Netzwerkkarte aktiv ist (Kabel angesteckt mit Verbindung zu einem Hub/Switsch)?

EDIT: Oder wie ist der genaue Workflow bei dir. Startest du net.eth0/net.wlan0 von hand, je nachdem was du brauchst? Oder ist eines von beiden in nem runlevel hinzugefügt?

----------

## fndark

Hi,

 *Quote:*   

> 
> 
> Was soll eigentlich genau funktionieren?
> 
> Willst du immer über Wlan gehen oder auch über die Netzwerkkarte? 
> ...

 

Ich geh zu 90% per WLan in Netzwerke und zu etwa 5% was 5x im Jahr ist per Kabel, also will ich per WLan verbinden.

 *Quote:*   

> 
> 
> Und welches soll Vorrang haben, wenn ein konfiguriertes WLAN erreichbar ist und gleichzeitig die Netzwerkkarte aktiv ist (Kabel angesteckt mit Verbindung zu einem Hub/Switsch)?
> 
> 

 

Wie oben gesagt - WLan soll vorrang haben! Wenn ich mal mit Kabel verbinde das ist mit Sicherheit kein WLan vorhanden oder ich kann nicht verbinden weil ich den Passkey nicht bekomme wodurch es genügen würde das wenn ich mal per Kabel verbinden muß ich ein Script oder sowas händisch starte falls händisch überhaupt notwendig ist  :Wink: 

 *Quote:*   

> 
> 
> EDIT: Oder wie ist der genaue Workflow bei dir. Startest du net.eth0/net.wlan0 von hand, je nachdem was du brauchst? Oder ist eines von beiden in nem runlevel hinzugefügt?
> 
> 

 

Ich laß "net.wlan0" per Runlevel "default" beim booten automatisch mit starten. Bei mir ist das allerdings egal ob ich "net.eth0" oder "net.wlan0" starte, es ist beides auf die selbe Datei "net.lo" gelinkt und es ist bei beiden die selbe Reihenfolge was gestartet wird ->

-- 1. eth0 (kabel) wird gestartet und auf IP per Dhcp gewartet

-- 2. wlan0 wird gestartet

-- 3. die ganzen Services werden gestartet, also ssh etc.

Ich weis, das "Problem" hatte ich schon einmal, da hat mir allerdings ein super guter Freund damals geholfen, nur weis ich nich wie er das gemacht hatte, ist auch schonlange her.

Grüße, Sven

----------

## firefly

damit das net.eth0 script erst dann versucht per DHCP eine IP zu bekommen, wenn auch ein Kabel mit aktiven endpoint (Hub/Switch) angeschlossen ist kanns du netplug/ifplug verwenden.

Genaueres siehe Handbuch

Wegen, dass net.eth0 mitgestartet wird obwohl nur net.wlan0 im runlevel ist: 

Wenn ein das System eine Netzwerkschnittstelle erkennt ("hotplug"), so wird automatisch das entsprechende net.* script ausgeführt, falls vorhanden.

Dass kann man aber beeinflussen. In der /etc/rc.conf gibt es folgenden Eintrag

 *Quote:*   

> # rc_hotplug is a list of services that we allow to be hotplugged.
> 
> # By default we do not allow hotplugging.
> 
> # A hotplugged service is one started by a dynamic dev manager when a matching
> ...

 

wenn du nun rc_hotplug="!net.*" aktivierts so wird kein hotplug mehr für netzwerkschnittstellen gemacht. Das sollte dein Problem lösen.

Eventuell wäre auch die Verwendung eines Netzwerkmanagers wie wicd oder networkmanager interessant.

----------

## fndark

Hi,

hab also folgendes eingetragen in /etc/rc.conf

```

rc_hotplug="!net.*"

```

Dennoch startet er "net.eth0" mit und versucht eine IP zubekonmmen.

Grüße, Sven

----------

## firefly

Dann hast du anscheinend net.eth0 auch mit in einem runlevel.

poste mal die ausgabe von

```
rc-status -a
```

----------

## fndark

Hi,

Du hattest recht -> "net.eth0" war noch im Runlevel "default", hab es rausgenommen und jetzt funzt es wie es soll.

Vielen dank für eure Hilfe!

Eine Frage hätte ich noch: Wenn ich jetzt mit Netzwerkkabel verbinden will, wie verhält sich das? Erkennt der das selber und startet / sucht mit "net.eth0" automatisch oder muß ich dann noch was zu tun?

Grüße, Sven

----------

## bell

Normal passiert gar nichts. Damit das Einstecken des Kabels automatisch erkannt wird, musst Du einfach sys-apps/ifplugd installieren.

----------

## firefly

 *bell wrote:*   

> Normal passiert gar nichts. Damit das Einstecken des Kabels automatisch erkannt wird, musst Du einfach sys-apps/ifplugd installieren.

 

Und AFAIK wieder net.eth0 in ein runlevel packen. Damit ifplugd für eth0 überhaupt gestartet wird.

----------

