Bagaimana cara mengaktifkan saluran Wi-Fi 12 di Raspberry Pi 3?

15

Saya perlu RPi 3 saya untuk terhubung ke jaringan Wi-Fi menggunakan saluran 12, tapi saya tidak bisa mendapatkan adaptor Wi-Fi bawaan untuk menggunakan saluran ini.

Inilah yang telah saya lakukan:

$ 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

Seperti yang Anda lihat daftar tidak termasuk saluran 12 (atau 13). Apakah ada cara untuk mengaktifkan saluran 12 untuk adaptor bawaan?

Update: Inilah yang saya dapat di 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)
perja
sumber
1
Sudahkah Anda mengatur wilayah Anda. Administrasi yang berbeda memiliki band yang berbeda, dan WiFi tidak akan mengizinkan frekuensi yang tidak sah.
Milliways
Ya, jika saya memahaminya dengan benar, perintah ini seharusnya mengatur wilayah: sudo iw reg atur NO
perja
Mungkin ada banyak cara untuk mengutak-atik pengaturan regional. Kenapa tidak gunakan saja raspi-configuntuk melakukannya dengan cara standar.
Milliways
3
Oke, saya juga melakukan update / upgrade / dist-upgrade dan rpi-update dan BRANCH = rpi-update berikutnya sebagai bagian dari proses ini. Saya tidak tahu apakah ada di antara mereka juga diperlukan.
joan
1
@ Joan: itu dia! sudo BRANCH = pembaruan rpi berikutnya dan kemudian reboot menyelesaikan masalah.
perja

Jawaban:

9

"Dalam keadaan normal, TIDAK PERNAH ada kebutuhan untuk menjalankan rpi-update karena selalu membawa Anda ke firmware dan kernel terdepan dan karena itu mungkin versi pengujian, ini dapat membuat RPi Anda tidak dapat di-boot". https://www.raspberrypi.org/forums/viewtopic.php?p=916911#p916911 Bahkan dokumentasi rpi-update sekarang memperingatkan "Bahkan pada Raspbian Anda hanya boleh menggunakan ini dengan alasan yang bagus. Ini memberi Anda tepi pendarahan terbaru kernel / firmware. "

Saya baru saja mengalami masalah yang sama. Solusinya, dalam kasus saya, adalah mengikuti saran joan dari komentar di bawah pertanyaan.

sudo apt-get update

sudo apt-get upgrade

sudo apt-get dist-upgrade

sudo rpi-update

[reboot]

sudo branch=next rpi-update

[reboot]

Setelah selesai, saluran 12 dan 13 muncul dalam daftar yang diproduksi oleh iwlist wlan0 channel.

Goobering
sumber
3
Sebagai catatan: setelah kernel "sudo branch = next rpi-update" diperbarui dari 4.1.18 ke 4.4.3 dan firmware dari sesuatu ke 41f8b4812ad653abf321b8c54cb4bee57ebdb129 (dari /boot/.firmware_revision).
perja
kamu membuat hariku.
blfuentes
Bagaimana Anda mendapat rpi-updateperintah?
IgorGanapolsky
1
@IgorGanapolsky "Dalam keadaan normal TIDAK PERNAH ada kebutuhan untuk menjalankan rpi-update karena selalu membawa Anda ke firmware terdepan dan kernel dan karena itu mungkin versi pengujian, itu bisa membuat RPi Anda tidak bisa di-boot". raspberrypi.org/forums/viewtopic.php?p=916911#p916911
Milliways
Jika Anda menggunakan saluran 13 pastikan Anda diizinkan berada di wilayah Anda.
Piotr Kula
5

Mengikuti @ goobering jawaban tidak cukup untuk saya. Saya dapat memperbarui firmware saya, tetapi begitu saya mencoba menjalankannya sudo branch=next rpi-updatememberitahu saya bahwa saya sudah paling lambat. Aku tidak.

Menggunakan hash firmware @ perja (di bawah jawaban asli) saya berlari;

sudo rpi-update 41f8b4812ad653abf321b8c54cb4bee57ebdb129

Ini membuat saya dari 4.1.18 ke 4.4.3.

Ini berarti (setidaknya bagi saya) langkah-langkah lengkapnya adalah;

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

Dan biola, sekarang saya bisa melihat saluran 12!

Saya punya perasaan Anda bisa menggulung rpi-updateitu menjadi satu perintah tetapi rasanya lebih aman untuk mengambil master terbaru terlebih dahulu, lakukan reboot sukses kemudian coba 4.4.3.

Waktu boot pada 3 begitu cepat pula ;-)

Posting blog terkait

Toby
sumber
2

Solusi oleh Shan-Desai bekerja dengan baik, tetapi saya mengalami masalah saat menerapkannya.

Ketika saya ingin mengatur saluran Wlan, saya mendapatkan pesan kesalahan yang menyatakan bahwa perangkat sedang digunakan dan sibuk. Tetapi setelah mematikan dan menghidupkan kembali perangkat [dari segi perangkat lunak] masalahnya hilang. Jadi yang saya lakukan adalah sebagai berikut

$ 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

Hal lain yang perlu diperhatikan adalah fakta bahwa perubahan saluran diatur ulang ke default setelah setiap reboot RPi. Jadi untuk menjaga perubahan itu pada RPi Anda, saya sarankan menulis skrip shell di direktori root dan memanggilnya di crontab saat reboot. Saya melakukannya dengan

$ nano wlan0_setup.sh

dan isi file dengan yang berikut:

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

Saya kemudian menyimpan file dan membuatnya menjadi skrip shell yang dapat dieksekusi dengan menjalankan

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

Sekarang skrip dapat dieksekusi dengan menjalankan

$ sh wlan0_setup.sh

kita bisa menambahkannya di crontab dengan mengeksekusi

$ crontab -e 

ketika crontab terbuka, pergi ke akhir file dan tambahkan berikut ini

@reboot sh /home/pi/wlan0_setup.sh

lalu simpan dan keluar dari editor. Dengan melakukannya, skrip wlan0_setup.sh akan dijalankan pada setiap dan setiap reboot dari RPi.

Saya harap ini membantu, semoga Anda semua beruntung.

Babak D
sumber
1

Terima kasih atas balasan Toby, tampaknya SHA-1 melakukan hash sebagai argumen untuk perintah rpi-update diperlukan untuk memperbarui firmware agar berfungsi untuk melihat saluran 12 dan 13.

Tetapi saya juga harus berterima kasih kepada Shan-Desai karena pengaturan kode negara menggunakan iw reg set $COUNTRYCODEperintah juga merupakan bagian yang sangat penting dari proses ini - tanpa pengaturan ini hanya ada 11 saluran yang diizinkan / terlihat sepanjang waktu sebagai default dan kode negara yang ditetapkan adalah 00 (tidak yakin apakah ini benar-benar milik negara mana pun atau apakah itu hanya "pengaturan aman" untuk semua negara di seluruh dunia).

Mig

Michal Mig Novotny
sumber
1

Melaporkan dari masa depan - (di mana kernel raspian adalah 4.9) Saya dapat mengatakan bahwa sudo raspi-configsekarang menawarkan opsi di Set wifi countrybawah localization. Dari sana Anda dapat mengatur lokal yang memungkinkan saluran 12 dan 13.

LudvigH
sumber
Saya mendapatkan pesan kesalahan dengan opsi ini: "Tidak dapat berkomunikasi dengan wpa_supplicant" diikuti oleh "Ada opsi menjalankan kesalahan I4 Ubah Negara Wi-fi".
glenneroo
Ya, sudah mencoba ini tetapi tidak membantu.
Jonathan
0

Untuk menambahkan catatan ke kueri ini

Saya memiliki Raspberry Pi - 2 Model B dan saya menggunakan adaptor WiFi LogiLink di atasnya.

Saat melakukan, iwlist scansaya dapat melihat semua Saluran dari 1 hingga 14 (ya! Saya dapat memindai saluran 14)

Tetapi jika saya benar-benar ingin menggunakan saluran 12 atau 13 menggunakan iwconfig wlan0 channel 12atau iwconfig wlan0 channel 13saya tidak bisa melakukannya sejak itu kembali

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

Karena saya berada di Eropa, saya dapat mengakses saluran ini sesuai dengan peraturan dan menggunakannya. Ini dipecahkan sesuai dengan langkah-langkah berikut

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

dan kemudian melakukan yang berikut

sudo iw reg set *In CAPS your Country Code*

cukup yakin sekarang iwconfig wlan0 channel 13akan berfungsi dan statusnya dapat diperiksa menggunakaniwconfig wlan0

Ini mungkin agak off topic tapi ini bekerja dengan baik karena saya tidak memiliki masalah tidak dapat memindai saluran 12 dan 13 tetapi tidak dapat menggunakannya.

Saya mendapat informasi menggunakan Tautan Ini dalam Bahasa Jerman

Catatan

silakan periksa dengan standardisasi Negara Anda apakah Anda dapat menggunakan saluran yang terakhir atau tidak karena di beberapa negara saluran ini digunakan untuk tujuan lain.

Shan-Desai
sumber
0

Saya menggunakan solusi pertama (goobering), dan itu tidak berhasil.

Setelah mencari di Internet, saya menemukan ini mungkin bisa membantu. Yang perlu Anda lakukan adalah menginstal crda dan mengatur wilayah wifi.

https://www.raspberrypi.org/forums/viewtopic.php?t=36961#p308569 RPI 3 tidak melihat wifi saya

Jika Anda menggunakan wpa_supplicant, Anda harus mengubah countrydi /etc/wpa_supplicant/wpa_supplicant.conf

Peter Lai
sumber
Anda tidak perlu menginstal perangkat lunak apa pun. Hanya dengan sudo iw listsemua saluran 1 hingga 14 terdaftar di Raspbian Stretch dan Buster.
Ingo
-2

Pujian saya untuk semua. Ini akan membuat saya ke jalan yang saya cari. AC - tabel bersama dengan b-n + tables. Terima kasih. Ketika saya memulai jaringan nirkabel mereka 802.11 protokol 1mb. Menggunakan antena Omni & Uni-directional, saya melakukan banyak jaringan 802.11b +. Barang-barang AC terlalu mahal pada saat itu. Kompatibilitas jarang.

Joel Huebner
sumber
Saya tidak mengerti apa yang ingin Anda katakan dan bagaimana jawaban yang membingungkan ini membantu menyelesaikan masalah.
Ingo