วิธีเปิดใช้งาน Wi-Fi channel 12 บน Raspberry Pi 3


15

ฉันต้องการ RPi 3 ของฉันเพื่อเชื่อมต่อกับเครือข่าย Wi-Fi โดยใช้ช่องสัญญาณ 12 แต่ฉันไม่สามารถรับอะแดปเตอร์ Wi-Fi ในตัวเพื่อใช้ช่องสัญญาณนี้ได้

นี่คือสิ่งที่ฉันทำ:

$ 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

ในขณะที่คุณสามารถดูรายการไม่รวมช่อง 12 (หรือ 13) มีวิธีการเปิดใช้งานช่องสัญญาณ 12 สำหรับอะแดปเตอร์ในตัวหรือไม่

ปรับปรุง: นี่คือสิ่งที่ฉันได้รับใน 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
คุณได้ตั้งค่าภูมิภาคของคุณ การบริหารที่แตกต่างกันมีแบนด์ที่ต่างกันและ WiFi จะไม่อนุญาตให้ใช้ความถี่ที่ไม่ได้รับอนุญาต
Milliways

ใช่ถ้าฉันเข้าใจถูกต้องคำสั่งนี้ควรตั้งค่าภูมิภาค: sudo iw reg set NO
perja

อาจมีหลายวิธีที่จะเล่นซอกับการตั้งค่าภูมิภาค ทำไมไม่ลองใช้raspi-configวิธีมาตรฐานดู
Milliways

3
โอเคฉันยังทำการอัปเดต / อัปเกรด / อัปเกรดและอัปเดต rpi และ BRANCH = อัปเดต rpi ต่อไปซึ่งเป็นส่วนหนึ่งของกระบวนการนี้ ฉันไม่ทราบว่ามีสิ่งใดที่จำเป็นเช่นกัน
joan

1
@joan: นั่นมัน! sudo BRANCH = อัปเดต rpi ถัดไปจากนั้นรีบูตจะแก้ไขปัญหาได้
perja

คำตอบ:


9

"ในสถานการณ์ปกติไม่จำเป็นที่จะต้องเรียกใช้ rpi-update เพราะมันจะพาคุณไปที่เฟิร์มแวร์และเคอร์เนลชั้นนำเสมอและเพราะนั่นอาจเป็นเวอร์ชั่นทดสอบ https://www.raspberrypi.org/forums/viewtopic.php?p=916911#p916911 แม้แต่เอกสารrpi-updateตอนนี้ก็เตือนว่า "แม้ใน Raspbian คุณควรใช้สิ่งนี้ด้วยเหตุผลที่ดีเท่านั้น เคอร์เนล / เฟิร์ม."

ฉันเพิ่งมีปัญหาเหมือนกัน ในกรณีของฉันการแก้ปัญหาคือการทำตามคำแนะนำของโจแอนจากความคิดเห็นภายใต้คำถาม

sudo apt-get update

sudo apt-get upgrade

sudo apt-get dist-upgrade

sudo rpi-update

[reboot]

sudo branch=next rpi-update

[reboot]

เมื่อเสร็จสิ้น, ช่อง 12 และ 13 iwlist wlan0 channelปรากฏในรายการที่ผลิตโดย


3
สำหรับบันทึก: หลังจากเคอร์เนล "sudo branch = next rpi-update" ได้รับการอัปเดตจาก 4.1.18 เป็น 4.4.3 และเฟิร์มแวร์จากบางสิ่งเป็น 41f8b4812ad653abf321b8c54cb4bee57ebdb129 (จาก /boot/.firmware_revision)
perja

คุณทำวันของฉัน
blfuentes

คุณจะrpi-updateรับคำสั่งได้อย่างไร
IgorGanapolsky

1
@IgorGanapolsky "ในสถานการณ์ปกติไม่จำเป็นต้องเรียกใช้ rpi-update เพราะมันจะพาคุณไปสู่เฟิร์มแวร์และเคอร์เนลที่ทันสมัยอยู่เสมอและเพราะนั่นอาจเป็นเวอร์ชั่นทดสอบ raspberrypi.org/forums/viewtopic.php?p=916911#p916911
Milliways

หากคุณใช้ช่อง 13 ให้แน่ใจว่าคุณได้รับอนุญาตให้อยู่ในภูมิภาคของคุณ
Piotr Kula

5

การติดตามคำตอบของ @ goobering ไม่ได้ทำเพื่อฉัน ฉันสามารถอัปเดตเฟิร์มแวร์ของฉัน แต่เมื่อฉันลองเรียกใช้sudo branch=next rpi-updateมันบอกฉันว่าฉันเป็นรุ่นล่าสุดแล้ว ฉันไม่ได้.

ใช้แฮชเฟิร์มแวร์ของ @ perja (ต่ำกว่าคำตอบดั้งเดิม) ฉันวิ่งไป;

sudo rpi-update 41f8b4812ad653abf321b8c54cb4bee57ebdb129

สิ่งนี้ทำให้ฉันจาก 4.1.18 ถึง 4.4.3

นี่หมายถึง (อย่างน้อยฉัน) ขั้นตอนที่สมบูรณ์คือ;

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

และวิโอล่าตอนนี้ฉันเห็นช่อง 12 แล้ว!

ฉันรู้สึกว่าคุณสามารถรวบรวมrpi-updateคำสั่งเหล่านั้นเป็นคำสั่งเดียว แต่รู้สึกปลอดภัยกว่าที่จะคว้ามาสเตอร์คนล่าสุดออกมาก่อนทำการรีบูทที่สำเร็จแล้วลองใช้ 4.4.3

เวลาบูตเครื่องใน 3 เร็วมากอยู่แล้ว ;-)

โพสต์บล็อกที่เกี่ยวข้อง


2

การแก้ปัญหาโดย Shan-Desai ทำงานได้ดี แต่ฉันพบปัญหาขณะใช้งาน

เมื่อฉันต้องการตั้งค่าช่อง Wlan ฉันได้รับข้อผิดพลาดที่ระบุว่าอุปกรณ์ใช้งานอยู่และไม่ว่าง แต่หลังจากปิดอุปกรณ์แล้วเปิดใหม่อีกครั้ง [ซอฟต์แวร์ที่ฉลาด] ปัญหาก็หายไป ดังนั้นสิ่งที่ฉันทำคือต่อไปนี้

$ 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

อีกเรื่องที่ควรทราบก็คือความจริงที่ว่าการเปลี่ยนแปลงของช่องจะถูกรีเซ็ตเป็นค่าเริ่มต้นในการรีบูตของ RPi ดังนั้นเพื่อให้การเปลี่ยนแปลงเหล่านั้นใน RPi ของคุณฉันขอแนะนำให้เขียนเชลล์สคริปต์ในไดเรกทอรีรากและเรียกมันใน crontab เมื่อรีบูต ฉันทำได้โดย

$ nano wlan0_setup.sh

และเติมไฟล์โดยต่อไปนี้:

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

ฉันบันทึกไฟล์และทำให้เป็นเชลล์สคริปต์ที่รันได้โดยการรัน

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

ตอนนี้สคริปต์สามารถเรียกทำงานได้โดยการเรียกใช้

$ sh wlan0_setup.sh

เราสามารถเพิ่มเข้าไปใน crontab ได้โดยการดำเนินการ

$ crontab -e 

เมื่อ crontab เปิดขึ้นให้ไปที่จุดสิ้นสุดของไฟล์และเพิ่มสิ่งต่อไปนี้

@reboot sh /home/pi/wlan0_setup.sh

จากนั้นบันทึกและออกจากเครื่องมือแก้ไข โดยการทำเช่นนั้นสคริปต์ wlan0_setup.sh จะทำงานกับการรีบูต RPi ทุกครั้ง

ฉันหวังว่านี่จะช่วยได้ขอให้ทุกคนโชคดี


1

ขอบคุณสำหรับการตอบกลับของ Toby ดูเหมือนว่า SHA-1 กระทำการแฮชเป็นอาร์กิวเมนต์สำหรับคำสั่ง rpi-update ที่จำเป็นในการอัปเดตเฟิร์มแวร์เพื่อให้ทำงานได้เพื่อดูช่อง 12 และ 13

แต่ฉันต้องขอบคุณ Shan-Desai เนื่องจากการตั้งค่ารหัสประเทศโดยใช้iw reg set $COUNTRYCODEคำสั่งเป็นส่วนสำคัญของกระบวนการเช่นกัน - หากไม่มีการตั้งค่านี้มีเพียง 11 ช่องที่อนุญาต / มองเห็นได้ตลอดเวลาเป็นค่าเริ่มต้นและรหัสประเทศที่กำหนด คือ 00 (ไม่แน่ใจว่าอันนี้เป็นของประเทศใด ๆ จริง ๆ หรือว่าเป็น "การตั้งค่าที่ปลอดภัย" สำหรับทุกประเทศทั่วโลก)

Mig


1

รายงานจากอนาคต - (ที่เคอร์เนล raspian คือ 4.9) ฉันสามารถบอกได้ว่าsudo raspi-configตอนนี้มีตัวเลือกภายใต้Set wifi country localizationจากตรงนั้นคุณสามารถตั้งค่าภาษาที่เปิดใช้งานช่อง 12 และ 13


ฉันได้รับข้อผิดพลาดด้วยตัวเลือกนี้: "ไม่สามารถสื่อสารกับ wpa_supplicant" ตามด้วย "มีข้อผิดพลาดในการใช้งานตัวเลือก I4 เปลี่ยน Wi-Fi Country"
glenneroo

ใช่ลองสิ่งนี้ แต่มันก็ไม่ได้ช่วยอะไร
Jonathan

0

หากต้องการเพิ่มบันทึกย่อในแบบสอบถามนี้

ฉันมีRaspberry Pi - 2 Model Bและฉันใช้อแด็ปเตอร์LogiLink WiFi กับมัน

เมื่อดำเนินการiwlist scanฉันสามารถดูแชเนลทั้งหมดได้ตั้งแต่1 ถึง 14 (ใช่! ฉันสามารถสแกนแชนเนล 14)

แต่ถ้าจริงผมต้องการที่จะใช้ช่อง 12 หรือ 13โดยใช้iwconfig wlan0 channel 12หรือiwconfig wlan0 channel 13ฉันไม่สามารถทำมันได้ตั้งแต่แรกผลตอบแทนมัน

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

เนื่องจากฉันอยู่ในยุโรปฉันสามารถเข้าถึงช่องทางเหล่านี้ตามระเบียบและใช้งานได้ สิ่งนี้ได้รับการแก้ไขตามขั้นตอนต่อไปนี้

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

จากนั้นทำสิ่งต่อไปนี้

sudo iw reg set *In CAPS your Country Code*

ตอนนี้iwconfig wlan0 channel 13จะทำงานได้อย่างเพียงพอและสามารถตรวจสอบสถานะได้iwconfig wlan0

นี่อาจเป็นเรื่องเล็กน้อย แต่ก็ใช้งานได้ดีเนื่องจากฉันไม่มีปัญหาในการไม่สามารถสแกนช่องที่12 และ 13แต่ไม่สามารถใช้งานได้

ฉันได้รับข้อมูลโดยใช้ลิงค์นี้เป็นภาษาเยอรมัน

บันทึก

โปรดตรวจสอบกับมาตรฐานประเทศของคุณว่าคุณสามารถใช้ช่องทางหลังหรือไม่เพราะในบางประเทศช่องเหล่านี้จะใช้เพื่อวัตถุประสงค์อื่น


0

ฉันใช้วิธีแก้ปัญหาแรก (goobering) และมันไม่ทำงาน

หลังจากค้นหาบนอินเทอร์เน็ตฉันพบว่าสิ่งเหล่านี้อาจช่วยได้ สิ่งที่คุณต้องทำคือติดตั้ง CRDA และตั้งค่าภูมิภาค WiFi

https://www.raspberrypi.org/forums/viewtopic.php?t=36961#p308569 RPI 3 ไม่เห็น wifi ของฉัน

หากคุณใช้ wpa_supplicant คุณต้องเปลี่ยนcountryใน /etc/wpa_supplicant/wpa_supplicant.conf


คุณไม่จำเป็นต้องติดตั้งซอฟต์แวร์ใด ๆ เพียงแค่มีsudo iw listทุกช่อง 1 ถึง 14 มีการระบุไว้ใน Raspbian Stretch และ Buster
Ingo

-2

ฉันขอยกย่องทุกคน นี่จะพาฉันไปยังเส้นทางที่ฉันกำลังมองหา AC - ตารางพร้อมกับ b-n + ตาราง ขอขอบคุณ. เมื่อฉันเริ่มเครือข่ายไร้สายพวกเขาเป็น 802.11 1mb โปรโตคอล การใช้เสาอากาศของ Omni & Uni-directional ฉันทำเครือข่าย 802.11b + มาก เวลาแอร์นั้นแพงเกินไป ความเข้ากันได้เบาบาง


ฉันไม่เข้าใจสิ่งที่คุณต้องการจะพูดและคำตอบที่สับสนนี้ช่วยแก้ปัญหาได้อย่างไร
Ingo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.