IBM Thinkpad: WLAN funktioniert nicht

karl_bsd

Active Member
Hallo,

ich habe einen aelteren IBM Thinkpad T43p, auf dem habe ich FreeBSD 11.2-RELEASE (i386) installiert, was soweit auch ziemlich gut funktioniert hat - bis auf WLAN. Zuvor hatte ich FreeBSD 10.2 installiert, bei dem WLAN funktioniert hat. Der grosse Unterschied: Dieses Mal habe ich einen eigenen Kernel gebaut.
Im Thinkpad ist ein Intel PRO/Wireless 2915ABG Chip fuer WLAN eingebaut. D.h. ich benoetige das iwi-Modul, das ich in den Kernel kompiliert hab. Zusaetzlich habe ich alle Module in den Kernel kompiliert, die auf der man-Page von iwi aufgelistet waren: iwifw, pci, wlan, firmware.

Den Eintrag in loader.conf habe gemacht:
Code:
legal.intel_iwi.license_ack=1

In /etc/rc.conf ist eingetragen:
Code:
wlans_iwi0="wlan0"
ifconfig_wlan0="WPA ssid <WLAN-Name> DHCP"

In wpa_supplicant.conf ist eingetragen:
Code:
network={
        ssid="<WLAN-Name>"
        psk="<WLAN-Passwort>"
}

Beim Booten (dmesg -a) gibt es folgende Meldungen, die WLAN betreffen: (Das Netzwerkkabel war dabei rausgezogen)
Code:
acpi0: <IBM TP-1Y> on motherboard
...
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
...
pcib4: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci4: <ACPI PCI bus> on pcib4
...
iwi0: <Intel(R) PRO/Wireless 2915ABG> mem 0xb4001000-0xb4001fff irq 21 at device 2.0 on pci4
...
wlan0: Ethernet address: 00:16:6f:c1:13:ea
Created wlan(4) interfaces: wlan0.
bge0: link state changed to DOWN
Starting wpa_supplicant.
Starting Network: lo0 bge0 wlan0.
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
    options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
    inet6 ::1 prefixlen 128 
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 
    inet 127.0.0.1 netmask 0xff000000 
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
    groups: lo 
bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=8009b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LINKSTATE>
    ether 00:15:58:2e:e6:80
    hwaddr 00:15:58:2e:e6:80
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
    media: Ethernet autoselect (none)
    status: no carrier
wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    ether 00:16:6f:c1:13:ea
    hwaddr 00:16:6f:c1:13:ea
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
    media: IEEE 802.11 Wireless Ethernet autoselect mode 11g
    status: no carrier
    ssid KomplexeEbene channel 3 (2422 MHz 11g)
    regdomain FCC country US authmode WPA1+WPA2/802.11i privacy MIXED
    deftxkey UNDEF txpower 30 bmiss 24 scanvalid 60 protmode CTS wme
    roaming MANUAL bintval 0
    groups: wlan

Hat jemand noch eine Idee, was ich falsch gemacht haben koennte?

Viele Gruesse,
Karl
 
Was heisst denn "funktioniert nicht"? Geht's gar nicht, zickt's rum?

In /etc/rc.conf ist eingetragen:
Code:
wlans_iwi0="wlan0"
ifconfig_wlan0="WPA ssid <WLAN-Name> DHCP"

Afaik hat "ssid <WLAN-Name>" an dieser Stelle nichts verloren, ich hab's da jedenfalls nicht stehen.

Intel Karten haben bei mir noch nie richtig funktioniert, jedenfalls nicht ab 10.3 aufwärts (damit hab' ich angefangen). Zwei verschiedene Karten in zwei verschiedenen Notebooks (IBM x24, IBM/Lenovo x61s) machten die gleichen Probleme, schlechter Verbindungsaufbau, miese Datenrate, ständige Verbindungsabbrüche. Hab' die rausgeschmissen und durch Atheros ersetzt, die funktionieren unter allen Betriebssystemen.
 
Hallo,
dankeschön für die Vorschläge, aber leider funktioniert das WLAN noch nicht. Mit nicht funktionieren meine ich, dass der Rechner keine IP-Adresse bekommt und es nicht möglich ist, eine Verbindung zu anderen Rechner, weder lokal noch im Internet zu bekommen.
Folgendes fällt mir allerdings auf: In meiner ersten Nachricht, in der Ausgabe von dmesg steht noch die ssid meines Netzwerks unter wlan0. Wenn ich die ssid aus rc.conf herausnehme, dann steht da nur noch ein leerer String. In wpa_supplicant.conf steht zwar nur ein WLAN (mit ssid) drin, aber wie erfolgt die Zuordnung? Wie weiss ifconfig, dass die Parameter von wpa_supplicant benutzt werden sollen?
Der zusätzliche Parameter -ht40 in rc.conf hat leider auch nicht geholfen.

Viele Grüße,
Karl
 
Also bekommt keine Adresse. Okay.

Läuft denn der dhclient? Mach mal ein

Code:
service dhclient restart wlan0

Und stell' Dich mal direkt neben den AP mit dem Laptop.
 
Läuft denn der dhclient?

Entweder ist die Meldung neu oder ist mir bisher nicht aufgefallen. Der dhclient beendet sich gleich wieder, bzw startet gar nicht erst:
Code:
wlan0: Ethernet address: 00:16:6f:c1:13:ea
Created wlan(4) interfaces: wlan0.
bge0: link state changed to DOWN
Starting wpa_supplicant.
Starting dhclient.
wlan0: no link .............. giving up
/etc/rc.d/dhclient: WARNING: failed to start dhclient
Starting Network: lo0 bge0 wlan0.
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
    options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
    inet6 ::1 prefixlen 128
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
    inet 127.0.0.1 netmask 0xff000000
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
    groups: lo
bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=8009b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LINKSTATE>
    ether 00:15:58:2e:e6:80
    hwaddr 00:15:58:2e:e6:80
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
    media: Ethernet autoselect (none)
    status: no carrier
wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    ether 00:16:6f:c1:13:ea
    hwaddr 00:16:6f:c1:13:ea
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
    media: IEEE 802.11 Wireless Ethernet autoselect (autoselect)
    status: no carrier
    ssid "" channel 165 (5825 MHz 11a)
    regdomain FCC country US authmode WPA1+WPA2/802.11i privacy MIXED
    deftxkey UNDEF txpower 23 bmiss 24 mcastrate 6 mgmtrate 6 scanvalid 60
    wme roaming MANUAL bintval 0
    groups: wlan

Wenn ich dhclient von der Shell aus neu starte, ist es genauso. Das Programm startet gar nicht erst. Direkte Nähe zum WLAN-Router macht keinen Unterschied. Für die Debugausgaben muss ich wohl den Kernel noch mal kompilieren. Müssten die Ausgaben nicht in /var/log/messages erscheinen? Ich habe keine Ausgaben gefunden, allerdings habe ich alles, was mit Debug zu tun hat, aus dem Kernel rausgenommen.
Vielleicht ist auch hardwaremäßig etwas kaputt...
 
wlan0: no link .............. giving up
Das Problem ist nicht dhclient, es ist wpa_supplicant. Aus irgendeinem Grund verbindet wap_supplicant nicht auf den Access Point, weshalb kein Link zustande kommt und ohne Link geht logischerweise gar nichts. Das sieht man auch gut in der Ausgabe zu wlan0. Keine SSID und keinen Carrier. Der nächste logische Schritt wäre also wpa_supplicant einmal im Vordergrund zu starten und sich dessen Ausgabe anzuschauen. In etwa (ungetestet!) so:

Code:
wpa_supplicant -dd -D bsd -i wlan0 -f /etc/wpa_supplicant.conf
 
Ich habe ein Lenovo Thinkpad T500, das allerdings iwn nutzt (Intel WiFi Link 5100). Ich habe ebenfalls erhebliche Probleme mit dem WLAN. Ich muss nach dem Anschalten häufig mehrfach "service netif restart" ausführen, bis eine Verbingung zum AP aufgebaut wird.

Ich bilde mir ein, dass die Probleme mit 11.2 gekommen sind, kann das aber nicht garantieren. Die Ursache habe ich ebenfalls noch nicht gefunden. Vielleicht ist das bei dir ähnlich? Hast du mal "ifconfig wlan0 scan" ausgeführt?
 
Hast du es schon manuell versucht?:
Code:
# ifconfig wlan0 create wlandev iwi0
# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -d
# dhclient wlan0
 
Ich hab jetzt rausgefunden, warum es nicht funktioniert hat. Der Aufruf von wpa_supplicant, den @Yamagi vorgeschlagen hat, zeigt wie alle verfügbaren Netze im Umkreis hier aufgelistet und gescannt werden. Nur mein WLAN war in dieser Liste nicht dabei. Es war aber auch nicht auf unsichtbar gesetzt. Nur was ist bei meinem WLAN anders? Im WLAN-Router kann man einen Kanal von 1 bis 13 auswählen für das WLAN. Bei mir war diese Auswahl auf automatisch gesetzt, so dass der WLAN automatisch den "freiesten" Kanal benutzt. Das war hier der letzte Kanal 13. So wie es aussieht, scannt wpa_supplicant nicht bis Kanal 13. Ich habe (manuell) den Kanal auf 9 gestellt. Also, weiter in der "Mitte" und hier im Umkreis trotzdem noch nicht so start benutzt. Da hat es funktioniert. Ich bekomme nun eine IP-Adresse und kann das Netzwerk benutzen.
Gibt es einen Parameter für wpa_supplicant mit dem man den Scanbereich beeinflussen kann? Auf die schnelle hab ich nichts gefunden...

Noch mal danke an alle, die hier mitgeholfen haben!
 
Trag' in der rc.conf
Code:
ifconfig_wlan0="WPA DHCP country DE"
ein. Dann sind die Kanäle 13 und 14 verfügbar.

Aber wie vom Vorposter schon gesagt, verwende besser die Kanäle 1, 6 oder 11.
 
Zurück
Oben