Wie aktiviere ich Wi-Fi-Kanal 12 auf Raspberry Pi 3?


15

Ich brauche mein RPi 3, um über Kanal 12 eine Verbindung zu einem Wi-Fi-Netzwerk herzustellen, aber ich kann den eingebauten Wi-Fi-Adapter nicht für die Verwendung dieses Kanals erhalten.

Das habe ich gemacht:

$ sudo apt-get install wireless-regdb iw crda
$ sudo iw reg set NO
$ sudo iwlist wlan0 channel
wlan0     11 channels in total; available frequencies :
      Channel 01 : 2.412 GHz
      Channel 02 : 2.417 GHz
      Channel 03 : 2.422 GHz
      Channel 04 : 2.427 GHz
      Channel 05 : 2.432 GHz
      Channel 06 : 2.437 GHz
      Channel 07 : 2.442 GHz
      Channel 08 : 2.447 GHz
      Channel 09 : 2.452 GHz
      Channel 10 : 2.457 GHz
      Channel 11 : 2.462 GHz

Wie Sie sehen, enthält die Liste nicht Kanal 12 (oder 13). Gibt es eine Möglichkeit, Kanal 12 für den integrierten Adapter zu aktivieren?

Update: Das bekomme ich in dmesg:

[    5.506232] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code
[    5.756813] brcmfmac: brcmf_add_if: ERROR: netdev:wlan0 already exists
[    5.756854] brcmfmac: brcmf_add_if: ignore IF event
[    5.765557] cfg80211: Calling CRDA to update world regulatory domain
[    5.867878] lirc_rpi: auto-detected active high receiver on GPIO pin 18
[    5.875184] lirc_rpi lirc_rpi: lirc_dev: driver lirc_rpi registered at minor = 0
[    5.875222] lirc_rpi: driver registered!
[    5.885249] bcm2835-rng 3f104000.rng: hwrng registered
[    5.902514] gpiomem-bcm2835 3f200000.gpiomem: Initialised: Registers at 0x3f200000
[    6.026071] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code
[    6.026108] cfg80211: World regulatory domain updated:
[    6.026124] cfg80211:  DFS Master region: unset
[    6.026141] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
[    6.026173] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[    6.026197] cfg80211:   (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[    6.026211] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A)
[    6.026246] cfg80211:   (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (N/A)
[    6.026277] cfg80211:   (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (0 s)
[    6.026307] cfg80211:   (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s)
[    6.026332] cfg80211:   (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A)
[    6.026345] cfg80211:   (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A)
[    6.026421] cfg80211: Calling CRDA for country: NO
[    6.070591] cfg80211: Regulatory domain changed to country: NO
[    6.070607] cfg80211:  DFS Master region: ETSI
[    6.070613] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
[    6.070621] cfg80211:   (2400000 KHz - 2483500 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[    6.070628] cfg80211:   (5150000 KHz - 5250000 KHz @ 80000 KHz, 200000 KHz AUTO), (N/A, 2301 mBm), (N/A)
[    6.070635] cfg80211:   (5250000 KHz - 5350000 KHz @ 80000 KHz, 200000 KHz AUTO), (N/A, 2000 mBm), (0 s)
[    6.070643] cfg80211:   (5470000 KHz - 5795000 KHz @ 160000 KHz), (N/A, 2698 mBm), (0 s)
[    6.070650] cfg80211:   (5815000 KHz - 5850000 KHz @ 35000 KHz), (N/A, 3301 mBm), (0 s)
[    6.070656] cfg80211:   (17100000 KHz - 17300000 KHz @ 200000 KHz), (N/A, 2000 mBm), (N/A)
[    6.070662] cfg80211:   (57000000 KHz - 66000000 KHz @ 2160000 KHz), (N/A, 4000 mBm), (N/A)

1
Haben Sie Ihre Region festgelegt? Verschiedene Verwaltungen haben unterschiedliche Bänder, und WLAN lässt keine nicht autorisierten Frequenzen zu.
Milliways

Ja, wenn ich es richtig verstehe, sollte dieser Befehl die Region gesetzt haben: sudo iw reg set NO
perja

Es gibt wahrscheinlich viele Möglichkeiten, mit regionalen Einstellungen zu experimentieren. Warum nicht einfach raspi-configden Standard verwenden?
Milliways

3
Okay, ich habe auch ein Update / Upgrade / Dist-Upgrade und ein RPI-Update und ein BRANCH = nächstes RPI-Update als Teil dieses Prozesses durchgeführt. Ich weiß nicht, ob einer von ihnen auch nötig war.
Joan

1
@joan: das war es! sudo BRANCH = nächstes RPI-Update und dann ein Neustart lösten das Problem.
Perja

Antworten:


9

"Unter normalen Umständen muss RPI-Update NIEMALS ausgeführt werden, da es Sie immer zur neuesten Firmware und zum neuesten Kernel bringt. Da es sich möglicherweise um eine Testversion handelt, kann dies dazu führen, dass Ihr RPi nicht mehr bootfähig ist." https://www.raspberrypi.org/forums/viewtopic.php?p=916911#p916911 Auch die RPI-Update - Dokumentation warnt jetzt „Auch auf Raspbian Sie dies mit gutem Grund verwenden sollten. Dies Sie die neueste bleeding edge bekommt Kernel / Firmware. "

Ich hatte gerade ein identisches Problem. In meinem Fall bestand die Lösung darin, Joans Vorschlag aus den Kommentaren unter der Frage zu folgen.

sudo apt-get update

sudo apt-get upgrade

sudo apt-get dist-upgrade

sudo rpi-update

[reboot]

sudo branch=next rpi-update

[reboot]

Nach Abschluss erscheinen die Kanäle 12 und 13 in der Liste von iwlist wlan0 channel.


3
Für die Aufzeichnung: Nach "sudo branch = next rpi-update" wurde der Kernel von 4.1.18 auf 4.4.3 und die Firmware von etwas auf 41f8b4812ad653abf321b8c54cb4bee57ebdb129 (von /boot/.firmware_revision) aktualisiert.
Perja

du hast meinen Tag gerettet.
blfuentes

Wie bekommt man das rpi-updateKommando?
IgorGanapolsky

1
@IgorGanapolsky "Unter normalen Umständen ist es NIEMALS erforderlich, ein RPI-Update auszuführen, da Sie immer auf die neueste Firmware und den neuesten Kernel zugreifen. Da dies eine Testversion ist, kann Ihr RPi möglicherweise nicht mehr bootfähig sein." raspberrypi.org/forums/viewtopic.php?p=916911#p916911
Milliways

Wenn Sie Kanal 13 verwenden, stellen Sie sicher, dass Sie in Ihrer Region zugelassen sind.
Piotr Kula

5

@ Gooberings Antwort zu folgen, hat mir nicht ganz geholfen. Ich konnte meine Firmware aktualisieren, aber als ich versuchte, sudo branch=next rpi-updatesie auszuführen, wurde mir mitgeteilt, dass ich es spätestens war. Ich war nicht.

Mit @ perjas Firmware-Hash (unter der ursprünglichen Antwort) lief ich;

sudo rpi-update 41f8b4812ad653abf321b8c54cb4bee57ebdb129

Das brachte mich vom 4.1.18 auf 4.4.3.

Dies bedeutet (zumindest für mich), dass die gesamten Schritte ausgeführt wurden;

sudo raspi-config (set Wifi Country to GB, or a country that works for you)
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo rpi-update
shutdown -r now
sudo rpi-update 41f8b4812ad653abf321b8c54cb4bee57ebdb129
shutdown -r now

Und Viola, ich kann jetzt Kanal 12 sehen!

Ich habe das Gefühl, Sie könnten diese rpi-updates in einem Befehl zusammenfassen, aber es fühlt sich sicherer an, zuerst den neuesten Master zu ergreifen, einen erfolgreichen Neustart durchzuführen und dann 4.4.3 zu versuchen.

Die Bootzeit auf der 3 ist sowieso so schnell ;-)

Verwandte Blog-Post


2

Die Lösung von Shan-Desai funktioniert gut, aber ich bin bei der Implementierung auf ein Problem gestoßen.

Als ich den Wlan-Kanal einstellen wollte, wurde eine Fehlermeldung angezeigt, dass das Gerät verwendet wird und ausgelastet ist. Aber nach dem Aus- und Wiedereinschalten des Geräts (softwaremäßig) ist das Problem behoben. Also, was ich getan habe, ist das Folgende

$ sudo apt-get install wireless-regdb iw crda
$ sudo iw reg set CA 
$ sudo ifconfig wlan0 down
$ sudo ifconfig wlan0 up
$ sudo iwconfig wlan0 channel 11

Ein weiterer Punkt, den Sie beachten sollten, ist die Tatsache, dass die Kanaländerungen bei jedem Neustart des RPi auf die Standardeinstellungen zurückgesetzt werden. Um diese Änderungen in Ihrem RPi zu behalten, würde ich vorschlagen, ein Shell-Skript im Stammverzeichnis zu schreiben und es beim Neustart in crontab aufzurufen. Ich habe es so gemacht

$ nano wlan0_setup.sh

und füllen Sie die Datei wie folgt:

$ sudo iw reg set CA 
$ sudo ifconfig wlan0 down
$ sudo ifconfig wlan0 up
$ sudo iwconfig wlan0 channel 11

Ich habe die Datei dann gespeichert und sie durch Ausführen zu einem ausführbaren Shell-Skript gemacht

$ sudo chmod +x /home/pi/wlan0_setup.sh

Jetzt, da das Skript durch Ausführen ausführbar ist

$ sh wlan0_setup.sh

wir können es in der crontab hinzufügen, indem wir ausführen

$ crontab -e 

Wenn die Crontab geöffnet wird, gehen Sie zum Ende der Datei und fügen Sie Folgendes hinzu

@reboot sh /home/pi/wlan0_setup.sh

Dann speichern und beenden Sie den Editor. Auf diese Weise wird das Skript wlan0_setup.sh bei jedem Neustart des RPi ausgeführt.

Ich hoffe, das hilft, wünsche Ihnen viel Glück.


1

Vielen Dank für die Antwort Toby, es scheint, dass der SHA-1-Commit-Hash als Argument für den Befehl rpi-update erforderlich war, um die Firmware zu aktualisieren, damit es funktioniert und die Kanäle 12 und 13 angezeigt werden.

Aber ich muss mich auch bei Shan-Desai bedanken, da das Einrichten des Ländercodes mithilfe des iw reg set $COUNTRYCODEBefehls ebenfalls ein sehr wichtiger Teil des Prozesses war - ohne diese Einstellungen waren nur 11 Kanäle als Standard und eingestellter Ländercode jederzeit zulässig / sichtbar war 00 (nicht sicher, ob dieses wirklich zu einem Land gehört oder ob es nur "sichere Einstellung" für alle Länder auf der ganzen Welt war).

Mig


1

Aus der Zukunft berichten - (wo der Himbeer-Kernel 4.9 ist) Ich kann sagen, dass sudo raspi-configjetzt eine Option Set wifi countryunter anbietet localization. Von dort aus können Sie ein Gebietsschema festlegen, das die Kanäle 12 und 13 aktiviert.


Bei dieser Option wird eine Fehlermeldung angezeigt: "Konnte nicht mit wpa_supplicant kommunizieren", gefolgt von "Bei der Ausführung der Option I4" "WLAN-Land ändern" "ist ein Fehler aufgetreten.
Glenneroo

Ja, ich habe es versucht, aber es hilft nicht.
Jonathan

0

Hinzufügen einer Notiz zu dieser Abfrage

Ich habe einen Raspberry Pi - 2 Model B und benutze einen LogiLink WiFi Adapter.

Nach dem Durchführen iwlist scankann ich alle Kanäle von 1 bis 14 sehen (ja! Ich kann Kanal 14 durchsuchen)

Aber wenn ich tatsächlich Kanal 12 oder 13 verwenden möchte iwconfig wlan0 channel 12oder iwconfig wlan0 channel 13ich es anfangs nicht tun kann, da es zurückkehrt

Error for wireless request "Set Frequency" (8B04) :
SET failed on device wlan0 ; Invalid argument.

Seit ich in Europa bin, kann ich auf diese Kanäle gemäß den Bestimmungen zugreifen und sie nutzen. Dies wurde gemäß den folgenden Schritten gelöst

sudo apt-get update
sudo apt-get install wireless-regdb iw crda

und tat dann das folgende

sudo iw reg set *In CAPS your Country Code*

Jetzt iwconfig wlan0 channel 13wird sicher genug funktionieren und der Status kann mit überprüft werdeniwconfig wlan0

Dies mag ein wenig abseits des Themas sein, aber dies funktioniert gut, da ich nicht die Probleme hatte, die Kanäle 12 und 13 nicht durchsuchen zu können, aber nicht in der Lage zu sein, sie zu verwenden.

Ich habe die Informationen über diesen Link auf Deutsch erhalten

Hinweis

Bitte erkundigen Sie sich bei Ihrer Länderstandardisierung, ob Sie die letzteren Kanäle verwenden können oder nicht, da diese Kanäle in einigen Ländern für andere Zwecke verwendet werden.


0

Ich benutze die erste Lösung (goobering), und es hat nicht funktioniert.

Nach der Suche im Internet habe ich festgestellt, dass diese möglicherweise helfen. Alles was Sie tun müssen, ist crda zu installieren und die WLAN-Region einzustellen.

https://www.raspberrypi.org/forums/viewtopic.php?t=36961#p308569 RPI 3 erkennt mein WLAN nicht

Wenn Sie wpa_supplicant verwenden, müssen Sie Änderungen countryin /etc/wpa_supplicant/wpa_supplicant.conf


Sie müssen keine Software installieren. Gerade bei sudo iw listallen Kanälen 1 bis 14 sind Raspbian Stretch und Buster gelistet.
Ingo

-2

Meine Empfehlungen an alle. Dies bringt mich zu einem Weg, den ich suche. AC - Tabellen zusammen mit den b-n + Tabellen. Vielen Dank. Als ich drahtlose Netzwerke startete, handelte es sich um 802.11 1mb-Protokolle. Mit einer Omni & Uni-Richtantenne habe ich viele 802.11b + -Netzwerke betrieben. Die Klimaanlage war zu der Zeit viel zu teuer. Kompatibilität war spärlich.


Ich verstehe nicht, was Sie sagen wollen und wie diese verwirrte Antwort zur Lösung des Problems beiträgt.
Ingo
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.