树莓派4B连接不了产品开的热点

目的

关于树莓派连接不了产品开的5G热点, 当时还是一头雾水。
参考这篇博客
把思路方向转向了频率, 信道, 通过给的产品A相关规格说明wifi 5.18GHz, 信道36。

于是乎我两款产品A、产品B为例。 树莓派是能连接产品B开的热点(5.745GHz, 信道149),连接不了产品A开的热点(5.18GHz, 信道36).

树莓派4B连接不了产品开的热点_第1张图片
由于我的树莓派国家码为CN,

iw list 

树莓派4B连接不了产品开的热点_第2张图片

不同国家码支持的5G列表。
树莓派4B连接不了产品开的热点_第3张图片

发现不支持5.18GHz 36的, 虽然这能解释上述问题.
其他博客
Linux 网卡配置 (频段、发射功率等)
如果你想让树莓派能连上wifi, 可以通过外接一个usb无线网卡, 或者修改国家码(我没验证过)。

usb 无线网卡

如果外接一个usb无线网卡, 首先是要安装对应驱动, 我选的是tplink, 需要安装驱动, 并加载即可

了解你要掌握的树莓派usb wifi adapters

RPi_USB_Wi-Fi_Adapters

下载驱动编译RTL8811CU

核心关键几点
1: sudo ./install-driver.sh  启动装驱动脚本
2: make 编译
3: sudo make install 安装程序
4: sudo reboot 重启

重启之后可对比查看驱动是否安装: 
ls /lib/modules/$(uname -r)/kernel/drivers/net/wireless/realtek/rtl8821cu
如果没有
cd /lib/modules/$(uname -r)/kernel/drivers/net/wireless/realtek/rtl8821cu
sudo insmod 8821cu.ko 或者sudo modprobe 8821cu
重启
驱动操作命令:
      insmod / modprobe         加载驱动
      rmmod                     卸载驱动
      lsmod                      查看系统中所有已经被加载了的所有的模块以及模块间的依赖关系
      modinfo                    获得模块的信息

最后插入usb无线网卡,lsusb

如果输入

lsusb 没有查看到0bda:1a2b有新增, 说明没有识别到

可以进行如下尝试:
1: 确保编译ko加载到内核中

insmod 8821cu.ko  // sudo modprobe 8821cu

通过对比lsmod 查看已经加载模块是否包含有8821cu, 有的话说明已经加载了
Ubuntu20.04 系统安装USB无线网卡 TL-WDN5200免驱版 安转失败不显示WiFi的一种解决方案

2: 基于已经ko加载大内核中, 如果还是不识别, 可能把usb 模式switch, 可能识别为U盘存储模式
解决Realtek rtl8821cu USB 无线网卡树莓派linux下识别为存储模式的问题

1: cd /lib/udev/rules.d/
2: sudo vi ./40-usb_modeswitch.rules
3: 按下I键进入插入模式,在文件末尾 LABEL=“modeswitch_rules_end” 前插入以下内容:
ATTR{idVendor}=="0bda", ATTR{idProduct}=="1a2b", RUN+="/usr/sbin/usb_modeswitch -K -v 0bda -p 1a2b"
输入:x保存并推出,然后重启即可。

扩展

了解下usb_modeswitch简介

usb_modeswitch是一个linux下的usb模式切换工具,用于控制含有多个USB子设备的USB设备。

具体点来说,目前一些新的USB 设备在内部含有windows驱动,当你第一次插入的时候,它作为一个闪存,并提示你安装驱动。

在安装驱动之后,驱动会自动切换USB设备的模式,存储设备将会消失(大多数情况),新的设备将会产生(如USB类型的Modem)。这种特征被无线设备的制造商称其为“免CD”的设备。

目前许多这种设备都可以在Linux的驱动下工作,如"usb-storage"(存储设备的驱动模块)和"options"(高速Modem的驱动模块),接下来的事情就是如何从存储设备到Modem的切换。

USB_ModeSwitch从1.0.3以后的版本集成到udev(设备管理器)上,使得其工作完全自动化。

你可以通过修改配置文件来设置usb_modeswitch的参数。您可以从本文的参考链接中获取最新的版本。需要注意的是安装时你需要安装usb-modeswitch-data的包,其中包含了设备数据库和规则文件。

如何使用

usb_modeswitch由几个组件来共同协同工作。

  • /lib/udev/rules.d/40-usb_modeswitch.rules - udev的规则文件,如果设备ID(制造商/产品)被识别就启动usb_modeswitch。
  • /lib/udev/usb_modeswitch - 一个shell脚本调用实际的usb_modeswitch.
  • /usr/sbin/usb_modeswitch_dispatcher - 检查设备并使用选择的设备文件来运行二进制程序,需要"tcl"才能运行。
  • /etc/usb_modeswitch.conf - 全局的配置文件,用于调试时启用日志或禁止切换。
  • /etc/usb_modeswitch.d - 该文件夹包含了针对每一个设备的独立的设置信息文件,用设备的ID来命名,如果您的设备ID出现在文件名字中,那么即使型号不同也有机会正常工作。
  • /usr/sbin/usb_modeswitch - 完成切换工作的二进制程序。
    */usr/share/usb_modeswitch/configPack.tar.gz - 切换设置信息文件

你可能感兴趣的:(5G)