这就是我的目的已经完成:
$ 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 楼
“在通常情况下,不需要运行rpi-update,因为它总是可以带您到领先的固件和内核,因为这可能是测试版本,可能会使RPi无法启动”。 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
产生的列表中。评论
作为记录:在“ sudo branch = next rpi-update”之后,内核从4.1.18更新到4.4.3,固件从某些版本更新为41f8b4812ad653abf321b8c54cb4bee57ebdb129(来自/boot/.firmware_revision)。
–perja
16 Mar 3 '16 at 17:34
你让我今天一整天都感觉很好。
– blfuentes
16年3月18日在19:17
您如何获得rpi-update命令?
– IgorGanapolsky
16年7月18日在1:37
@IgorGanapolsky“在通常情况下,永远不需要运行rpi-update,因为它总是可以带您到领先的固件和内核,因为这可能是测试版本,可能会使您的RPi无法启动”。 raspberrypi.org/forums/viewtopic.php?p=916911#p916911
–地铁
16年8月4日,0:07
如果您使用频道13,请确保您被允许进入您所在的地区。
–Piotr Kula
16-09-22在18:05
#2 楼
遵循@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
汇总到一个命令中,但是先获取最新的master主机更安全,先成功重启,然后尝试4.4.3。 反正3的启动时间太快了;-)
相关博客文章
#3 楼
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上,建议您在根目录中编写一个shell脚本,并在重新启动后在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
使其成为可执行的Shell脚本,现在通过运行
$ sh wlan0_setup.sh
该脚本是可执行的/>我们可以通过执行
$ crontab -e
将其添加到crontab中。crontab打开时,转到文件末尾并添加以下
/>
@reboot sh /home/pi/wlan0_setup.sh
,然后保存并退出编辑器。这样,wlan0_setup.sh脚本将在RPi的每次重新启动时运行。
我希望这会有所帮助,祝大家好运。
#4 楼
从将来的报告-(树莓派内核为4.9)我可以看出sudo raspi-config
现在在Set wifi country
下提供了一个选项localization
。从那里可以设置启用通道12和13的语言环境。评论
我收到此选项错误:“无法与wpa_supplicant通信”,然后显示“运行选项I4更改Wi-fi国家时出错”。
– Glenneroo
18年9月14日在1:50
是的,尝试过此操作但无济于事。
–乔纳森
19年12月3日,0:09
#5 楼
感谢Toby的答复,似乎必须将SHA-1 commit hash作为rpi-update命令的参数来更新固件,以使其能够正常工作以查看通道12和13。但是我也必须感谢Shan-Desai,因为使用
iw reg set $COUNTRYCODE
命令设置国家/地区代码也是该过程中非常重要的部分-如果没有此设置,则默认情况下始终只有11个通道/可见,并且国家/地区代码设置为00 (不确定这个国家是否真正属于任何国家,还是仅仅是对全世界所有国家来说都是“安全设置”)。Mig
#6 楼
为该查询添加注释我有一个Raspberry Pi-2型B,并且在其上使用LogiLink WiFi适配器。
执行
iwlist scan
后,我可以看到所有通道从1到14(是的!我可以扫描通道14)但是如果我实际上想使用
iwconfig wlan0 channel 12
或iwconfig wlan0 channel 13
使用通道12或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的问题,但不能能够使用它。
我使用此链接以德语获取了信息
注意
请检查您所在国家/地区的标准化情况是否使用后一种渠道,因为在某些国家/地区这些渠道已用于其他目的。
#7 楼
我使用第一个解决方案(goobering),但没有用。在Internet上搜索后,我发现这些可能有所帮助。您需要做的就是安装crda并设置wifi区域。
https://www.raspberrypi.org/forums/viewtopic.php?t=36961#p308569
RPI 3不能看不到我的wifi
如果使用wpa_supplicant,则必须在/etc/wpa_supplicant/wpa_supplicant.conf中更改
country
评论
您不需要安装任何软件。就像sudo iw list一样,Raspbian Stretch和Buster上列出了所有通道1到14。
– Ingo
19年8月21日在8:47
#8 楼
频道由您的无线接入点以及您所居住的国家/地区设置。美国只有12个不同的频道。有些国家有14个...不在美国。您可以将WAP设置为3个不同的频道空间,并且不与邻居竞争或重叠。1、6或12可为您提供最大的范围,重叠的机会也最少。这是您必须在收音机上播放的内容,而不是客户端(RaspPi)。他们只是选择设置为频道空间的SSID。
#9 楼
我对所有人的赞赏。这将使我进入寻找的道路。 AC-表格以及b-n +表格。谢谢。当我启动无线网络时,它们是802.11 1mb协议。使用全向和单向天线,我完成了许多802.11b +网络连接。当时AC的东西太贵了。兼容性很少。评论
我不明白您想说什么,这个困惑的答案如何帮助您解决问题。
– Ingo
19-10-16在8:57
802.11 b-n是具有加密狗wifi的较早的Pi。我相信ZW,3A,3B,4B都具有802.11 b-n 2.4 GHz和a-c 5 GHz,这可能更加清楚。哦,是的,我对那个职位感到厌倦。哎呀
–乔尔·休布纳(Joel Huebner)
20年6月17日,下午3:21
评论
您设定好地区了吗?不同的主管部门拥有不同的频段,WiFi将不允许未经授权的频率。是的,如果我理解正确,则此命令应已设置区域:sudo iw reg set NO
可能有很多方法来摆弄区域设置。为什么不只是使用raspi-config来以标准方式进行操作呢?
好的,我还执行了update / upgrade / dist-upgrade以及rpi-update和BRANCH = next rpi-update作为此过程的一部分。我不知道它们是否也有必要。
@joan:就是这样! sudo BRANCH = next rpi-update,然后重新启动即可解决此问题。