Làm cách nào để bật kênh Wi-Fi 12 trên Raspberry Pi 3?


15

Tôi cần RPi 3 của mình để kết nối với mạng Wi-Fi bằng kênh 12, nhưng tôi không thể có bộ điều hợp Wi-Fi tích hợp để sử dụng kênh này.

Đây là những gì tôi đã làm:

$ 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

Như bạn có thể thấy danh sách không bao gồm kênh 12 (hoặc 13). Có cách nào để bật kênh 12 cho bộ điều hợp tích hợp không?

Cập nhật: Đây là những gì tôi nhận được trong 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
Bạn đã thiết lập khu vực của bạn. Chính quyền khác nhau có các băng tần khác nhau và WiFi sẽ không cho phép tần số trái phép.
Milliways

Có, nếu tôi hiểu chính xác, lệnh này sẽ đặt khu vực: sudo iw reg đặt NO
perja 3/03/2016

Có lẽ có nhiều cách để mân mê với các thiết lập khu vực. Tại sao không chỉ sử dụng raspi-configđể làm điều đó theo cách tiêu chuẩn.
Milliways

3
Được rồi, tôi cũng đã thực hiện cập nhật / nâng cấp / nâng cấp và cập nhật rpi và BRUC = cập nhật rpi tiếp theo như một phần của quy trình này. Tôi không biết có ai trong số họ cũng cần thiết không.
gia ngày

1
@joan: vậy thôi! sudo BRANCH = rpi-update tiếp theo và sau đó khởi động lại đã giải quyết vấn đề.
perja 3/03/2016

Câu trả lời:


9

"Trong trường hợp bình thường KHÔNG BAO GIỜ cần phải chạy rpi-update vì nó luôn đưa bạn đến firmware và kernel hàng đầu và vì đó có thể là phiên bản thử nghiệm nên nó có thể khiến RPi của bạn không thể khởi động được". https://www.raspberrypi.org/forums/viewtopic.php?p=916911#p916911 Ngay cả tài liệu cập nhật rpi hiện cũng cảnh báo "Ngay cả trên Raspbian, bạn chỉ nên sử dụng điều này với một lý do chính đáng. hạt nhân / phần sụn. "

Tôi vừa gặp một vấn đề giống hệt nhau. Giải pháp, trong trường hợp của tôi, là làm theo gợi ý của joan từ các bình luận bên dưới câu hỏi.

sudo apt-get update

sudo apt-get upgrade

sudo apt-get dist-upgrade

sudo rpi-update

[reboot]

sudo branch=next rpi-update

[reboot]

Khi hoàn thành, các kênh 12 và 13 xuất hiện trong danh sách được sản xuất bởi iwlist wlan0 channel.


3
Đối với bản ghi: sau khi kernel "sudo Branch = next rpi-update" được cập nhật từ 4.1.18 đến 4.4.3 và phần sụn từ thứ gì đó thành 41f8b4812ad653abf321b8c54cb4bee57ebdb129 (từ /boot/.firmware_Vvision).
perja 3/03/2016

bạn đã làm cho ngày của tôi.
blfuentes 18/03/2016

Làm thế nào để bạn nhận được rpi-updatelệnh?
IgorGanapolsky

1
@IgorGanapolsky "Trong trường hợp bình thường KHÔNG BAO GIỜ cần phải chạy rpi-update vì nó luôn đưa bạn đến firmware và kernel cạnh hàng đầu và vì đó có thể là phiên bản thử nghiệm nên nó có thể khiến RPi của bạn không thể khởi động được". raspberrypi.org/forums/viewtopic.php?p=916911#p916911
Milliways

Nếu bạn sử dụng kênh 13, hãy đảm bảo bạn được phép vào khu vực của mình.
Piotr Kula

5

Theo câu trả lời của @ goobering đã không làm điều đó cho tôi. Tôi đã có thể cập nhật chương trình cơ sở của mình nhưng một khi tôi đã thử chạy sudo branch=next rpi-updatethì nó đã nói với tôi rằng tôi đã có bản mới nhất. Tôi đã không.

Sử dụng phần mềm băm của @ perja (bên dưới câu trả lời ban đầu) tôi đã chạy;

sudo rpi-update 41f8b4812ad653abf321b8c54cb4bee57ebdb129

Điều này đã cho tôi từ 4.1.18 đến 4.4.3.

Điều này có nghĩa (đối với tôi ít nhất) các bước hoàn chỉnh là;

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

Và viola, bây giờ tôi có thể xem kênh 12!

Tôi có cảm giác bạn có thể cuộn các rpi-updatelệnh đó thành một lệnh nhưng cảm thấy an toàn hơn khi lấy chủ nhân mới nhất trước, thực hiện khởi động lại thành công sau đó thử 4.4.3.

Thời gian khởi động trên 3 dù sao cũng rất nhanh ;-)

Bài đăng trên blog liên quan


2

Giải pháp của Shan-Desai hoạt động tốt, nhưng tôi gặp phải một vấn đề trong khi thực hiện nó.

Khi tôi muốn đặt kênh Wlan, tôi đã gặp lỗi cho biết thiết bị đang được sử dụng và đang bận. Nhưng sau khi tắt thiết bị và bật lại [phần mềm thông minh], vấn đề đã biến mất. Vì vậy, những gì tôi đã làm là sau đây

$ 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

Một vấn đề khác cần lưu ý là thực tế là kênh thay đổi được đặt lại thành mặc định sau mỗi lần khởi động lại RPi. Vì vậy, để giữ những thay đổi đó trên RPi của bạn, tôi khuyên bạn nên viết một tập lệnh shell trong thư mục gốc và gọi nó trong crontab khi khởi động lại. Tôi đã làm như vậy bởi

$ nano wlan0_setup.sh

và điền vào tệp bằng cách sau:

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

Sau đó tôi đã lưu tệp và biến nó thành tập lệnh shell thực thi bằng cách chạy

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

Bây giờ tập lệnh được thực thi bằng cách chạy

$ sh wlan0_setup.sh

chúng ta có thể thêm nó vào crontab bằng cách thực thi

$ crontab -e 

Khi crontab mở ra, đi đến cuối tập tin và thêm vào như sau

@reboot sh /home/pi/wlan0_setup.sh

sau đó lưu và thoát khỏi trình soạn thảo. Bằng cách đó, tập lệnh wlan0_setup.sh sẽ chạy trên mỗi và mỗi lần khởi động lại của RPi.

Tôi hy vọng điều này sẽ giúp, chúc bạn may mắn.


1

Cảm ơn đã trả lời Toby, có vẻ như hàm băm cam kết SHA-1 như là một đối số cho lệnh rpi-update là cần thiết để cập nhật phần sụn để làm cho nó hoạt động để xem kênh 12 và 13.

Nhưng tôi cũng phải cảm ơn Shan-Desai khi thiết lập mã quốc gia bằng cách sử dụng iw reg set $COUNTRYCODE lệnh cũng là một phần rất quan trọng của quy trình - không có cài đặt này, chỉ có 11 kênh được phép / hiển thị mọi lúc như mặc định và mã quốc gia được đặt là 00 (không chắc chắn liệu cái này có thực sự thuộc về bất kỳ quốc gia nào hay không hay chỉ là "thiết lập an toàn" cho tất cả các quốc gia trên thế giới).

Di chuyển


1

Báo cáo từ tương lai - (trong đó nhân raspian là 4,9) Tôi có thể nói rằng sudo raspi-configbây giờ cung cấp tùy chọn Set wifi countrybên dưới localization. Từ đó bạn có thể đặt ngôn ngữ cho phép kênh 12 và 13.


Tôi gặp lỗi với tùy chọn này: "Không thể giao tiếp với wpa_supplicant" kèm theo "Có lỗi khi chạy tùy chọn I4 Thay đổi quốc gia Wi-fi".
glenneroo

Vâng, đã thử điều này nhưng nó không giúp đỡ.
Jonathan

0

Để thêm một ghi chú cho truy vấn này

Tôi có Raspberry Pi - 2 Model B và tôi sử dụng bộ điều hợp WiFi LogiLink trên nó.

Khi thực hiện, iwlist scantôi có thể thấy tất cả các Kênh từ 1 đến 14 (có! Tôi có thể quét kênh 14)

Nhưng nếu tôi thực sự muốn sử dụng kênh 12 hoặc 13 bằng cách sử dụng iwconfig wlan0 channel 12hoặc iwconfig wlan0 channel 13tôi không thể thực hiện được ban đầu vì kênh này trả về

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

Vì tôi ở Châu Âu nên tôi có thể truy cập các kênh này theo quy định và sử dụng chúng. Điều này đã được giải quyết theo các bước sau

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

và sau đó đã làm như sau

sudo iw reg set *In CAPS your Country Code*

chắc chắn bây giờ iwconfig wlan0 channel 13sẽ hoạt động và có thể kiểm tra trạng thái bằng cách sử dụngiwconfig wlan0

Điều này có thể hơi lạc đề nhưng điều này hoạt động tốt vì tôi không gặp vấn đề gì khi không thể quét các kênh 12 và 13 nhưng không thể sử dụng nó.

Tôi đã nhận được thông tin bằng Liên kết này bằng tiếng Đức

Ghi chú

vui lòng kiểm tra với tiêu chuẩn hóa Quốc gia của bạn xem bạn có thể sử dụng các kênh sau hay không vì ở một số quốc gia, các kênh này được sử dụng cho các mục đích khác.


0

Tôi sử dụng giải pháp đầu tiên (goobering), và nó không hoạt động.

Sau khi tìm kiếm trên Internet, tôi thấy đây có thể là những trợ giúp. Tất cả bạn cần làm là cài đặt crda và thiết lập vùng wifi.

https://www.raspberrypi.org/forums/viewtopic.php?t=36961#p308569 RPI 3 không thấy wifi của tôi

Nếu bạn sử dụng wpa_supplicant, bạn phải thay đổi countrytrong /etc/wpa_supplicant/wpa_supplicant.conf


Bạn không cần phải cài đặt bất kỳ phần mềm nào. Chỉ với sudo iw listtất cả các kênh từ 1 đến 14 được liệt kê trên Raspbian Stretch và Buster.
Ingo

-2

Khen thưởng của tôi cho tất cả. Điều này sẽ đưa tôi đến một con đường tôi đang tìm kiếm. AC - bảng cùng với bảng b-n +. Cảm ơn bạn. Khi tôi bắt đầu mạng không dây, chúng là các giao thức 802.11 1mb. Sử dụng ăng-ten Omni & Uni-direction tôi đã thực hiện rất nhiều kết nối mạng 802.11b +. Các công cụ AC là quá đắt tại thời điểm đó. Khả năng tương thích còn thưa thớt.


Tôi không hiểu những gì bạn muốn nói và làm thế nào câu trả lời nhầm lẫn này giúp giải quyết vấn đề.
Ingo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.