Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
wireless und wpa, kurze Frage (Problem gelöst!)
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

Goto page Previous  1, 2  
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
flubber
Tux's lil' helper
Tux's lil' helper


Joined: 28 Dec 2004
Posts: 136

PostPosted: Tue Jan 25, 2005 9:06 am    Post subject: Reply with quote

@NightDragon

Kann das Verlieren der IP-Adresse vielleicht daran liegen, daß Du 2 Netze hast? Der scannt doch permanent die AP's und wenn jetzt die Lease ziemlich kurz eingestellt ist, könnte das doch der Grund sein. Soweit ich mich erinnere, macht ein Client, nach 50% Leasedauer eine erneute DHCP-Abfrage, wenn sich dann der andere AP meldet, könnte es krachen. Ist aber nur ein Gedanke, schmeiß doch einfach mal ein Netz raus.

Flubber
Back to top
View user's profile Send private message
Anarcho
Advocate
Advocate


Joined: 06 Jun 2004
Posts: 2970
Location: Germany

PostPosted: Tue Jan 25, 2005 9:36 am    Post subject: Reply with quote

@flubber

vielleicht liegt das mit der IP-Adresse bei dir an der Startreihenfolge.

Wenn net.ath0 vor wpa_supplicant gestartet wird, geht es nicht.

Daher würde ich in dem Falle net.ath0 nicht als symlink sondern als copy von net.etho machen und dann dort vorne noch

need wpa_supplicant


reinschreiben. Dann sollten sie in der richitgen Reihenfolge starten und es sollte gehen. (wenn es daran lag)
_________________
...it's only Rock'n'Roll, but I like it!
Back to top
View user's profile Send private message
flubber
Tux's lil' helper
Tux's lil' helper


Joined: 28 Dec 2004
Posts: 136

PostPosted: Tue Jan 25, 2005 10:25 am    Post subject: Reply with quote

net.ath0 gibt es bei mir nicht, das hat mich auch schon stutzig gemacht.
Also, was und wie sollte ich da tun?

Flubber
Back to top
View user's profile Send private message
Anarcho
Advocate
Advocate


Joined: 06 Jun 2004
Posts: 2970
Location: Germany

PostPosted: Tue Jan 25, 2005 10:30 am    Post subject: Reply with quote

Da haben wir doch das problem!

DU hast kein init-script, wie soll er dann dhcp machen?

Mach am besten ne Kopie:

also

Code:

cd /etc/init.d
cp net.eth0 net.ath0
$EDITOR net.ath0


Dort dann unter depend

Code:

need wpa_supplicant


oder wie das init-script heisst hinzufügen.

und zum schluss noch

rc-update add net.ath0 default
_________________
...it's only Rock'n'Roll, but I like it!
Back to top
View user's profile Send private message
flubber
Tux's lil' helper
Tux's lil' helper


Joined: 28 Dec 2004
Posts: 136

PostPosted: Tue Jan 25, 2005 11:26 am    Post subject: Reply with quote

Alles klar, probier ich heute abend.

Flubber
Back to top
View user's profile Send private message
NightDragon
Veteran
Veteran


Joined: 21 Aug 2004
Posts: 1156
Location: Vienna (Austria)

PostPosted: Tue Jan 25, 2005 1:34 pm    Post subject: Reply with quote

@flubber

Naja. Das Problem ist ja a) das es noch gar nicht zum DHCP Request kommt und b) wäre die Reihenfolge ja in der wpa_supplicant geregelt und c) ist ja derzeit das WPA-Netz außer funktion.
Es scheint eher irgendwas mit der Einstellung in der wpa_supplicant.conf nicht zu stimmen... ich verstehs selbst nicht.
_________________
You are the problem too all my solutions ;)
Back to top
View user's profile Send private message
Sas
Veteran
Veteran


Joined: 05 Jul 2003
Posts: 1229
Location: Germany

PostPosted: Tue Jan 25, 2005 5:12 pm    Post subject: Reply with quote

Edit: Nein, wpa_supplicant wird vor net.* ausgeführt, deshalb solltest du auch /etc/init.d/net.ath0 wieder löschen und stattdessen einen Symlink erstellen: 'ln -s /etc/init.d/net.lo /etc/init.d/net.ath0'.

Außerdem solltest du deine Änderungen, die du unter 7. im letzten Posting auf der ersten Seite beschrieben hast, rückgängig machen und stattdessen 'rc-update add net.ath0 default' ausführen (falls noch nicht geschehen).


Gruß, Sas
_________________
42
Back to top
View user's profile Send private message
flubber
Tux's lil' helper
Tux's lil' helper


Joined: 28 Dec 2004
Posts: 136

PostPosted: Tue Jan 25, 2005 10:30 pm    Post subject: Reply with quote

Also, wenn ich die Geschichte mit net.ath0 mache, wie in den oben genannten Postings beschrieben, geht es nicht. Beim Systemstart kommt dann:
Bring ath0 down
Stopping wpa_supplicant
Stop ath0.

Den Eintrag unter depend habe ich gemacht.
Habe alles so wieder gemacht, wie in meiner Aufstellung auf Seite1. Und es geht.
Ich habe die Aufstellung etwas geändert, da ich einen Eintrag vergessen hatte.

Flubber
Back to top
View user's profile Send private message
NightDragon
Veteran
Veteran


Joined: 21 Aug 2004
Posts: 1156
Location: Vienna (Austria)

PostPosted: Wed Jan 26, 2005 12:36 pm    Post subject: Reply with quote

Also okay.
Ich hab den Fehler in der Konfig gefunden.

Witzigerweise haut das ganze nicht hin, wenn er priority gesetzt hat (wahrscheinlich weils ohne hin durch die Reihenfolge der einträge in der conf gelöst wird)

Und nun hab ich folgendes.
habe net.ath0 von wpa_cupplicant abhängig gemacht. und wenn ich dann starte, bekomm ich vom Dienst net.ath0 folgende meldung:
Code:
 * Keeping kernel configuration for ath0

D. h. er führt kein dhcpd aus.
Klar. hier könnte man wieder sagen: eigenen dienst schreiben. Aber das kanns ja nun nicht sein. Wozu gibts denn sonst das wpa_supplicant init-Script...

Dann muss ich zusätzlich dhcpcd ath0 ausführen.

Aber das muss ja auch noch sauber ohne local.start zu lösen sein. oder?
_________________
You are the problem too all my solutions ;)
Back to top
View user's profile Send private message
NightDragon
Veteran
Veteran


Joined: 21 Aug 2004
Posts: 1156
Location: Vienna (Austria)

PostPosted: Wed Jan 26, 2005 11:59 pm    Post subject: Reply with quote

Okay, habs gelöst.

jetzt läuft alles.

wpa_supplicant mit modifiziertem net.ath0 und der wpa_supplicant.conf für 2 netze.
_________________
You are the problem too all my solutions ;)
Back to top
View user's profile Send private message
xmit
Apprentice
Apprentice


Joined: 02 Apr 2003
Posts: 158
Location: Hamburg, Germany

PostPosted: Sat Jan 29, 2005 2:06 pm    Post subject: Reply with quote

Ich möchte mal anregen, das Ganze im Sinne der baselayout Erfinder zu gestalten. Dazu genügt es /etc/wpa_supplicant.conf und /etc/conf.d/net zu kennen. Man muss dann nicht jedem Update hinterherbasteln.
Back to top
View user's profile Send private message
Sas
Veteran
Veteran


Joined: 05 Jul 2003
Posts: 1229
Location: Germany

PostPosted: Sat Jan 29, 2005 2:10 pm    Post subject: Reply with quote

Naja, leider nicht ganz. Ich dachte das auch zuerst, allerdings funkt die Standard-Wireless-Erkennung vom baselayout dem wpa_supplicant dazwischen.

Erst wird dieser gestartet, so weit so gut, alles stimmt. Wenn aber nun net.ath0 ausgeführt wird, wird erkannt, dass ath0 ja wireless extensions hat und nach einem verfügbaren AP gescannt. Wenn keiner gefunden wird, sind halt alle Einstellungen dahin. Eigentlich kann man die APs ja in /etc/con.d/wireless konfigurieren, allerdings ist an dieser Stelle kein WPA vorgesehen. Deshalb klappts nicht ganz sauber.
_________________
42
Back to top
View user's profile Send private message
xmit
Apprentice
Apprentice


Joined: 02 Apr 2003
Posts: 158
Location: Hamburg, Germany

PostPosted: Sun Jan 30, 2005 12:36 pm    Post subject: Reply with quote

Zugegeben bis baselayout 1.11.8 funktioniert das noch nicht perfekt, aber spätestens mit 1.11.9 wird es gehen.

So kommt man mit folgenden Handgriffen aus:

1. emerge madwifi-driver madwifi-tools

2. ln -s /etc/init.d/net.lo /etc/init.d/net.ath0 && rc-update add net.ath0 default

3. Module wlan, ath_hal, ath_pci in /etc/modules.autoload.d/kernel-2.6 eintragen

4. /etc/wpa_supplicant.conf anpassen, z.B.:
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
eapol_version=1
ap_scan=1
fast_reauth=1
network={
ssid="ESSID"
proto=WPA
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
psk="PASSPHRASE"
priority=2
}

5. /etc/conf.d/net anpassen, z.B.:
config_ath0=( "192.168.0.100 netmask 255.255.255.0" )
routes_ath0=( "default via 192.168.0.1" )
modules=( "wpa_supplicant" )
wpa_supplicant_ath0="-Dmadwifi"
wpa_timeout_ath0=60

6. Fertig ist die Laube.
Back to top
View user's profile Send private message
NightDragon
Veteran
Veteran


Joined: 21 Aug 2004
Posts: 1156
Location: Vienna (Austria)

PostPosted: Sun Jan 30, 2005 1:24 pm    Post subject: Reply with quote

Tja wenn's uns gesagt hätte, hätten wirs auch so gemacht / ausprobiert.
Daher mal danke für die Infos.

Woher hast Du die Infos für die richtige Konfig in /etc/conf.d/net ?

Und kann ich nun einfach
Code:
config_ath0=( "192.168.0.100 netmask 255.255.255.0" )
routes_ath0=( "default via 192.168.0.1" )
durch
Code:
iface_ath0="dhcp"
dhcpcd_ath0="-N"
ersetzen?
Oder hauts dann mit dhcp nicht hin?
_________________
You are the problem too all my solutions ;)
Back to top
View user's profile Send private message
Sas
Veteran
Veteran


Joined: 05 Jul 2003
Posts: 1229
Location: Germany

PostPosted: Sun Jan 30, 2005 1:33 pm    Post subject: Reply with quote

Will er auch nicht, da bleibt er mit nem Timeout hängen, wenn er den wpa_supplicant starten will.

Ich habs auch schon mal damit versucht, einfach module_ath0=( "!iwconfig" ) in die conf.d/net einzutragen, aber auch da will er WPA starten - auch wenns vorher schon läuft. Ganz so elegant ist das sowieso nicht. Eigentlich gehörten die WPA-Einstellungen in die conf.d/wireless, weil sie ja auch AP-spezifisch sind.
_________________
42
Back to top
View user's profile Send private message
xmit
Apprentice
Apprentice


Joined: 02 Apr 2003
Posts: 158
Location: Hamburg, Germany

PostPosted: Sun Jan 30, 2005 2:37 pm    Post subject: Reply with quote

wpa_supplicant bitte nicht in einen Runlevel aufnehmen, baselayout startet es automatisch.

modules=("!iwconfig") wird bei supplicants zwar in der Regel gebraucht, bei wpa_supplicant im besonderen aber nicht. /etc/conf.d/wireless wird ebenfalls nicht benötigt, diese Konfiguration steht dann in /etc/wpa_supplicant.conf.

Das Timeout hatte ich mit 1.11.8 leider auch. Das Skript Skript /lib/rcscripts/net.modules.d/wpa_supplicant löst hier das Problem, welches so oder ähnlich in 1.11.9 erscheinen wird:

Quote:

# wpa_supplicant (net-wireless/wpa_supplicant) module for net-scripts
# Version 1.0.0
# Copyright (c) 2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License V2
# Contributed by Roy Marples (uberlord@gentoo.org)

# Fix any potential localisation problems
# Note that LC_ALL trumps LC_anything_else according to locale(7)
wpa_supplicant() {
LC_ALL=C /usr/sbin/wpa_supplicant "$@"
}

wpa_cli() {
LC_ALL=C /usr/bin/wpa_cli "$@"
}

# char* wpa_supplicant_provides(void)
#
# Returns a string to change module definition for starting up
wpa_supplicant_provides() {
echo "wireless"
}

# void wpa_supplicant_depend(void)
#
# Sets up the dependancies for the module
wpa_supplicant_depend() {
after macchanger
before interface
}

# bool wpa_supplicant_check_installed(void)
#
# Returns 1 if wpa_supplicant is installed, otherwise 0
wpa_supplicant_check_installed() {
[[ -x /usr/sbin/wpa_supplicant ]] && return 0
${1:-false} && eerror "For WPA support (wpa_supplicant) support, emerge net-wireless/wpa-supplicant"
return 1
}

# bool wpa_supplicant_check_depends(void)
#
# Checks to see if we have the needed functions
wpa_supplicant_check_depends() {
local f

for f in interface_exists interface_variable; do
[[ $( type -t ${f} ) == function ]] && continue
eerror "wpa_supplicant: missing required function ${f}\n"
return 1
done

return 0
}

# bool wpa_supplicant_check_extensions(char *interface)
#
# Checks to see if wireless extensions are enabled on the interface
wpa_supplicant_check_extensions() {
grep -q "${1}: " /proc/net/wireless
}

# char* wpa_supplicant_get_essid(char *interface)
#
# Gets the current ESSID of iface
wpa_supplicant_get_essid() {
wpa_cli -i${1} status 2>/dev/null | awk -F= '/^ssid=/ { print $2 }'
}

# char* wpa_supplicant_get_ap_mac_address(char *interface)
#
# Returns the MAC address of the Access Point
# the interface is connected to
wpa_supplicant_get_ap_mac_address() {
wpa_cli -i${1} status 2>/dev/null | awk -F= '/^bssid=/ { print toupper($2) }'
}

# bool wpa_supplicant_associated(char *interface)
#
# Returns 0 if we're associated correctly or 1 if not
# Note that just because we are associated does not mean we are using the
# correct encryption keys
wpa_supplicant_associated() {
local -a status=( "$( wpa_cli -i${1} status | awk -F= '/^key_mgmt|^wpa_state|^EAP state/ { print "\""$2"\"" }' )" )

case ${status[0]} in
"NONE" ) [[ ${status[1]} == "ASSOCIATED" ]] ;;
"IEEE 802.1X (no WPA)") [[ ${status[2]} == "SUCCESS" ]] ;;
*) [[ ${status[1]} == "COMPLETED" ]] ;;
esac

return $?
}

# void wpa_supplicant_kill(char *interface, bool report)
#
# Kills any existing wpa_supplicant process on the interface
wpa_supplicant_kill() {
local iface=$1 report=${2:-false}
local pid=$( ps --no-headers -fC wpa_supplicant 2>/dev/null | awk '/-i'${iface}'/ { print $2 }' )

if [[ -n ${pid} ]]; then
${report} && ebegin "Stopping wpa_supplicant on ${iface}"
kill -s TERM ${pid}
${report} && eend 0
fi

# If wpa_supplicant exits uncleanly, we need to remove the stale dir
[[ -S /var/run/wpa_supplicant/${iface} ]] && rm -f /var/run/wpa_supplicant/${iface}
}

# bool wpa_supplicant_associate(char *interface)
#
# Returns 0 if wpa_supplicant associates and authenticates to an AP
# otherwise, 1
wpa_supplicant_associate() {
local iface=${1} ifvar=$( interface_variable ${1} ) timeout i

eval timeout=\"\$\{wpa_timeout_${ifvar}:-60\}\"
for (( i=0; i<${timeout}; i++ )); do
wpa_supplicant_associated ${iface} && break
sleep 1
done
if [[ ${i} == ${timeout} ]]; then
if ! wpa_supplicant_associated ${iface}; then
[[ ${background} != yes ]] && eend 1 "timed out"

# We now need to kill the process
wpa_supplicant_kill ${iface}

return 1
fi
fi
}

# bool wpa_supplicant_pre_start(char *interface)
#
# Start wpa_supplicant on an interface and wait for association
# Returns 0 (true) when successful, non-zero otherwise
wpa_supplicant_pre_start() {
local iface=$1 opts ifvar cfgfile=/etc/wpa_supplicant.conf timeout

# We only work on wirelesss interfaces
wpa_supplicant_check_extensions ${iface} || return 0

# Kill off any existing wpa_supplicant on this interface
# This is so we can re-read the configuration file and clean any stale
# directories
wpa_supplicant_kill ${iface} true

ebegin "Starting wpa_supplicant on ${iface}"

if [[ ! -f ${cfgfile} ]]; then
eend 1 "configuration file ${cfgfile} not found!"
return 1
fi

local ctrl_dir=$( awk -F# '/^ctrl_interface=/ { print $1 }' ${cfgfile} )
ctrl_dir=${ctrl_dir/ctrl_interface=/}
if [[ ${ctrl_dir} != "/var/run/wpa_supplicant" ]]; then
eerror "${cfgfile} must set"
eerror " ctrl_interface=/var/run/wpa_supplicant"
eend 1
return 1
fi

ifvar=$( interface_variable ${iface} )
eval opts=\" \$\{wpa_supplicant_${ifvar}\}\"
[[ ${opts} != *' -D'* ]] && ewarn "wpa_supplicant_${ifvar} does not define a driver"

# Some drivers require the interface to be up
interface_up ${iface}

if ! wpa_supplicant ${opts} -B -c/etc/wpa_supplicant.conf -i${iface} ; then
eend 1
return 1
fi

if ! wpa_cli -i${iface} status &>/dev/null ; then
eend 1 "wpa_supplicant has exited unexpectedly"
return 1
fi

eindent
veinfo "Waiting for association"
eend 0

wpa_supplicant_associate ${iface} || return 1

# Set ESSID for essidnet and report
ESSID=$( wpa_supplicant_get_essid ${iface} )
local -a status=( "$( wpa_cli -i${iface} status | awk -F= '/^bssid|^pairwise_cipher|^key_mgmt/ { print "\""$2"\"" }' )" )
local mac=$( echo ${status[0]} | tr '[:lower:]' '[:upper:]' )
einfo "${iface} connected to \"${ESSID//\\\\/\\\\}\" at ${mac}"

if [[ ${status[2]} == NONE ]]; then
if [[ ${status[1]} == NONE ]]; then
ewarn "not using any encryption"
else
veinfo "using ${status[1]}"
fi
else
veinfo "using ${status[2]}/${status[1]}"
fi
eoutdent

return 0
}

# bool wpa_supplicant_post_stop(char *iface)
#
# Stops wpa_supplicant on an interface
# Returns 0 (true) when successful, non-zero otherwise
wpa_supplicant_post_stop() {
wpa_supplicant_kill $1 true
return 0
}


Mir hat brix sehr geholfen bei dieser Konfiguration, er ist zuständig für das wpa_supplicant ebuild und man trifft ihn ab und zu im IRC in channel #gentoo-laptop.

Aber auch /etc/wpa_supplicant und /etc/conf.d/net sind sehr gut kommentiert. DHCP sollte (muss) problemlos möglich sein. In meinem vorherigen Post war die statische Konfiguration nur als Beispiel gemeint.
Back to top
View user's profile Send private message
NightDragon
Veteran
Veteran


Joined: 21 Aug 2004
Posts: 1156
Location: Vienna (Austria)

PostPosted: Sun Jan 30, 2005 2:45 pm    Post subject: Reply with quote

D. h. wie geglaubt einfach die statischen Einträge, deines Beispiels durch die bekannten von DHCP ersetzen?
_________________
You are the problem too all my solutions ;)
Back to top
View user's profile Send private message
Sas
Veteran
Veteran


Joined: 05 Jul 2003
Posts: 1229
Location: Germany

PostPosted: Sun Jan 30, 2005 3:00 pm    Post subject: Reply with quote

xmit wrote:
wpa_supplicant bitte nicht in einen Runlevel aufnehmen, baselayout startet es automatisch.

modules=("!iwconfig") wird bei supplicants zwar in der Regel gebraucht, bei wpa_supplicant im besonderen aber nicht. /etc/conf.d/wireless wird ebenfalls nicht benötigt, diese Konfiguration steht dann in /etc/wpa_supplicant.conf.

Das Timeout hatte ich mit 1.11.8 leider auch. Das Skript Skript /lib/rcscripts/net.modules.d/wpa_supplicant löst hier das Problem, welches so oder ähnlich in 1.11.9 erscheinen wird:

[...]
Hatte WPA nicht im runlevel, als ich deine Lösung ausprobiert habe. Ich denke schon, dass ich alles richtig gemacht habe ;)
Das mit dem !iwconfig war auch nur der Versuch, net.ath0 komplett aus den Wireless-Extensions rauszuhalten, da ich _bei diesem Versuch_ wpa_supplicant vorher schon ausgeführt hatte. Naja, bleibt im Endeffekt nur zu warten, bis WPA korrekt ins baselayout (wireless) integriert wurde. Macht mir persönlich aber auch nichts...
_________________
42
Back to top
View user's profile Send private message
xmit
Apprentice
Apprentice


Joined: 02 Apr 2003
Posts: 158
Location: Hamburg, Germany

PostPosted: Mon Jan 31, 2005 8:48 pm    Post subject: Reply with quote

Baselayout 1.11.9 ist draussen und WPA funktioniert, d.h. das längliche Skript aus meinem vorherigen Post wird nicht mehr benötigt. :)

NightDragon, läuft dein DHCP?
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum