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

目的

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

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

在这里插入图片描述
由于我的树莓派国家码为CN,

iw list 

在这里插入图片描述

不同国家码支持的5G列表。
在这里插入图片描述

发现不支持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 - 切换设置信息文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

道阻且长,行则降至

无聊,打赏求刺激而已

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值