关于树莓派连接不了产品开的5G热点, 当时还是一头雾水。
参考这篇博客
把思路方向转向了频率, 信道, 通过给的产品A相关规格说明wifi 5.18GHz, 信道36。
于是乎我两款产品A、产品B为例。 树莓派是能连接产品B开的热点(5.745GHz, 信道149),连接不了产品A开的热点(5.18GHz, 信道36).
iw list
发现不支持5.18GHz 36的, 虽然这能解释上述问题.
其他博客
Linux 网卡配置 (频段、发射功率等)
如果你想让树莓派能连上wifi, 可以通过外接一个usb无线网卡, 或者修改国家码(我没验证过)。
如果外接一个usb无线网卡, 首先是要安装对应驱动, 我选的是tplink, 需要安装驱动, 并加载即可
RPi_USB_Wi-Fi_Adapters
核心关键几点
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 获得模块的信息
如果输入
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由几个组件来共同协同工作。