PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : iwl3945 Probleme mit iwlist



albernenase
09.11.08, 09:30
Hallo allerseits,

ich habe einige Probleme mit der Umstellung von ipw3945 (Kernel 2.6.22) auf iwl3945 (2.6.25 bzw 2.6.26).

Da ich je nach Access Point verschiedene Konfigurationen, wie zB LAN,Cups,fstab,etc realisieren möchte, hatte ich zu ipw3945-Zeiten ein Skript genutzt, welches mit iwlist scanning nach AP gescannt hat und die entsprechenden Konfigurationen kopiert hat.

Nun scheint es so zu sein, dass iwlist scanning unter iwl3945 nicht mehr vernünftig funktioniert:


# iwlist eth1 scanning
eth1 Interface doesn't support scanning : Network is down


Kopiere ich die passenden Konfigurationsdateien und mache ein /etc/init.d/net.eth1 up, so verbindet sich mein Notebook auch mit dem AP und alles funktioniert soweit; sogar iwlist scanning



# /etc/init.d/net.eth1 restart
# iwlist eth1 scanning
eth1 Scan completed :
(...)


Die Frage scheint nun zu sein, wie ich es schaffen kann, dass iwlist scanning vor dem ifup des Interfaces funktioniert.

Setze ich beispielsweise eine dummy-IP, bleibt das Problem bestehen:


# ifconfig eth1 192.168.4.10 up
# iwlist eth1 scanning
eth1 No scan results


Ähnliches geschieht mit irgendwelchen anderen Kommandos


# iwconfig eth1 power on
Error for wireless request "Set Power Management" (8B2D) :
GET failed on device eth1 ; Operation not supported.
# iwconfig eth1 txpower on
# iwlist eth1 scanning
eth1 No scan results


Noch einige Infos:


andromeda ~ # cat /proc/version
Linux version 2.6.26-gentoovanilla (root@andromeda) (gcc version 4.1.2 (Gentoo 4.1.2 p1.1)) #2 SMP Sat Nov 8 21:27:35 CET 2008

andromeda ~ # uname -a
Linux andromeda 2.6.26-gentoovanilla #2 SMP Sat Nov 8 21:27:35 CET 2008 i686 Intel(R) Core(TM)2 CPU T5600 @ 1.83GHz GenuineIntel GNU/Linux

andromeda ~ # zgrep -i iwl /proc/config.gz
CONFIG_IWLWIFI=m
# CONFIG_IWLCORE is not set
# CONFIG_IWLWIFI_LEDS is not set
# CONFIG_IWL4965 is not set
CONFIG_IWL3945=m
CONFIG_IWL3945_SPECTRUM_MEASUREMENT=y
CONFIG_IWL3945_LEDS=y
# CONFIG_IWL3945_DEBUG is not set

andromeda ~ # lsmod | grep iwl
iwl3945 82676 0
led_class 7428 1 iwl3945


Hat vielleicht jemand eine geniale Idee, wie ich ein iwlist scanning vor dem ifup des Interfaces realisieren kann? Danke für Eure Antworten.


UPDATE

Na das ist mal wieder typisch. Da versucht man einen ganzen Tag lang das Problem zu lösen, probiert rum, wendet sich dann an ein linuxforum und findet 2min später eine Lösung. Na ja, vielleicht hilft es ja sonst jemanden da draußen, bzw vielleicht kennt ja jemand eine elegantere Lösung. Ich habe mein Skript folgendermaßen gestaltet:


ebegin "Starting Network configuration"
ebegin "Starting WLAN-Scanning"
ifconfig ${WLAN} 192.168.4.10 up && iwconfig ${WLAN} txpower on
sleep 2
if [[ $(iwlist ${WLAN} scanning | grep -e ${ap_uni}) ]]; then
local ap="uni"
elif [[ $(iwlist ${WLAN} scanning | grep -e ${ap_home}) ]]; then
local ap="home"
fi
ifconfig ${WLAN} down && iwconfig ${WLAN} txpower auto


So scheint es zu funktionieren. :) Warum auch immer

Rain_maker
09.11.08, 15:04
BTW:

Mit iwl3945 sollte das Interface eigentlich "wlan0" heissen, sollten unschöne Effekte auftreten (udev kommt durcheinander) dann empfehle ich das hier zu lesen:

http://www.pc-forum24.de/24429-post4.html

//Nachtrag:


Da ich je nach Access Point verschiedene Konfigurationen, wie zB LAN,Cups,fstab,etc realisieren möchte, hatte ich zu ipw3945-Zeiten ein Skript genutzt, welches mit iwlist scanning nach AP gescannt hat und die entsprechenden Konfigurationen kopiert hat.

Da kannst Du wahrscheinlich auch einfacher haben, wpa_supplicant ist da ein sehr nettes Tool, das für solche Szenarien wie geschaffen ist.

http://www.pc-forum24.de/linux-howtos/9450-wlan-wpa_supplicant-und-roaming-mehrere-netzwerke-einer-konfigurationsdatei.html

Greetz,

RM

albernenase
10.11.08, 10:39
Herzlichen Dank für die Antwort.

Ok, das mit der Namensgebung werde ich mal ausprobieren. Ich dachte, wlan0 in eth1 umzuwandeln, erspart mir etwas an Arbeit. :) Daher hatte ich einfach nur den udev-Eintrag verändert. Ich werde das auf jeden Fall noch testen und schauen, ob eine Veränderung zu wlan0 Veränderungen bringt.


andromeda ~ # cat /etc/udev/rules.d/70-persistent-net.rules
(...)
# PCI device 0x8086:0x4222 (iwl3945)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="[REMOVED]", ATTR{type}=="1", KERNEL=="wlan*", NAME="eth1"

# PCI device 0x8086:0x4222 (iwl3945)
#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="[REMOVED]", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"
(...)


Auch die Idee mit wpa_supplicant.conf finde ich gut. Allerdings weiß ich nicht, ob das in meinem Fall viel bringt, da nicht nur nach AP via WLAN gescannt wird, sondern auch einige IPs via LAN angepingt werden, um die passende Umgebung zu finden. Ich werde mal einige Dokus konsultieren. In Deinem Link konnte ich keine Möglichkeit entdecken, externe Befehle, wie zb "cp /etc/cups.1 /etc/cups.conf" zu starten, aber ich denke, ich werde irgendwo fündig werden. Vielen Dank. :)