除了内置的 Wi-Fi 功能外,计算机还可以通过 USB 连接的 Wi-Fi 适配器(也称为加密狗)进行无线通信。
本期我们将介绍一个使用附带 USB 型 Wi-Fi 适配器的非无线型号 “PL-R4 “的示例。
PL-R4 系列工业用 Raspis 包括一个内置 Raspberry Pi 计算模块 4 的型号和一个不兼容无线的型号。
非无线型号也有需求。这是因为有些工业场所不使用或不能使用 Wi-Fi,具体取决于应用情况。PL-R4 的标准配置是有线,Wi-Fi 是可选配件。
最初,Raspberry Pi ComputeModule(CM)系列是一个产品阵容,可选择带或不带 Wi-Fi、eMMC 和内存容量。
*非无线型号的 PL-R4 在出厂时已将 WiFi 设置为禁用,且天线未安装。
不受技术合规问题约束的可能性
不敢使用 Raspberry Pi 内置 Wi-Fi 功能的情况可能比较特殊,因为市售的 Pi 4 和 Pi 5 无法移除 Wi-Fi 功能。
在日本,Wi-Fi 和蓝牙等无线通信必须遵守《无线电法》,即所谓的技术法规符合性认证 (GITEKI)。各国都有这项法律,只是名称不同而已。
Raspberry Pi 本身也已通过许多国家和地区的认证,但在某些国家,认证需要一定的时间。日本的认证速度也很慢。
根据您的业务,您可能希望在一个首先未通过合规认证的国家或地区使用 Raspberry Pi。
这就是需要基于 USB 的 Wi-Fi 适配器的原因。
这里介绍的两种产品是已在许多国家和地区获得认证的合规产品。
无论 Raspberry Pi 无线兼容性认证如何,没有 Wi-Fi 功能的 Raspberry Pi CM 也可以通过添加 USB Wi-Fi 适配器实现无线功能。
例如,如果 Raspberry Pi CM5 刚刚发布,在日本还不能立即通过技术认证。但是,不带 Wi-Fi 功能的 Raspberry Pi CM5 却可以顺利使用。事实上,不带 Wi-Fi 功能的 CM5 已立即在日本上市。
如果 USB Wi-Fi 适配器是合规产品,在日本进行 Wi-Fi 设置和验证后,无需修改即可在海外使用。
在其他一些情况下,工业用 Raspi 本来是作为不需要 Wi-Fi 的环境引入的,但情况发生了变化,临时需要 Wi-Fi 通信环境。改装的简便性是选择 Raspi 的原因之一。
基于 USB 的 Wi-Fi 适配器的优势
与工业级 Raspberry Pi 一起使用这款 Wi-Fi 适配器产品还有其他优势。
- 额外费用低
- 只需插入驱动程序即可使用
- 在 LinuxOS 上运行良好
LM Technologies Ltd. 的 LM808 和 LM842 Wi-Fi 适配器。
在这种情况下,我们测试了 LM Technologies 的 LM808 和 LM842。

LM808 和 LM842 的主要区别在于,LM842 具有蓝牙功能。
,其工作温度可安全用于工业用途,而且支持的操作系统范围也很广。
详情请查看制造商页面。
以下是规格简介。
LM808 | LM842 | |
---|---|---|
无线方式 | ac/a/b/g/n | ac/b/g/n |
蓝牙 | 无 | 5.0/4.2/4.1/4.0/3.0/2.1 |
频段 | 2.4GHz/5GHz | 2.4GHz/5GHz |
工作温度 | 0°C 至 70°C | -20°C至85°C |
支持的操作系统 | Linux OSX Win10 Win7 Win8 WinVista WinXP | Android Linux Win10 Win7 |
一致性 | ![]() | ![]() |
我看到日本的技术认证标志也赫然在列。
获得合格认证的国家和地区
*请直接与制造商联系,了解每个国家的认证申请和更新情况。
LM808
- 土耳其
- 圣马丁岛(荷兰部分)
- 洪都拉斯
- 多米尼加共和国
- 印度尼西亚
- 巴拉圭
- 萨尔瓦多
- 危地马拉
- 巴哈马
- 巴西
- 欧洲联盟
- 沙特阿拉伯
- 巴林
- 欧亚经济联盟
(俄罗斯、白俄罗斯、哈萨克斯坦、亚美尼亚、吉尔吉斯斯坦) - 阿根廷
- 美利坚合众国
- 加拿大
- 南非
- 新加坡
- 韩国
- 印度
- 以色列
- 摩洛哥
- 泰国
- 台湾
- 墨西哥
- 澳大利亚和新西兰
- 中国
- 哥斯达黎加
- 日本
LM842
- 土耳其
- 印度尼西亚
- 巴基斯坦
- 巴西
- 英国
- 欧洲联盟
- 欧亚经济联盟
(俄罗斯、白俄罗斯、哈萨克斯坦、亚美尼亚、吉尔吉斯斯坦) - 阿根廷
- 美利坚合众国
- 加拿大
- 南非
- 新加坡
- 韩国
- 印度
- 泰国
- 台湾
- 墨西哥
- 菲律宾
- 马来西亚
- 澳大利亚和新西兰
- 中国
- 日本
- 阿联酋
- 越南
准备设备驱动程序
我立即从 LM808 上进行了尝试。
环境树莓派 CM4 64 位书虫
这些设备需要先安装驱动程序。
将 LM808 插入 USB 端口后,尝试运行lsusb
命令。

该产品的制造商是 LM Technologies,但我们发现板载芯片是 Realtek 制造的 RTL8811AU。
Bus 001 Device 008: ID 0bda:a811 Realtek Semiconductor Corp. RTL8811AU 802.11a/b/g/n/ac WLAN Adapter
驱动程序就在制造商的网站上,我发现它与 Windows/Linux/Android/MacOS 兼容。
请勿使用制造商网站上的驱动程序
该驱动程序是 2019 年发布的,安装脚本在2011 年 11 月 21 日已经过时,并出现编译错误。
这并不奇怪,因为当时 Raspberry Pi 操作系统尚未发布 ARM 64 位。
安装 RTL8811AU 驱动程序
github 上的 Realtek 802.11ac (rtl8812au)。更新时间为 2022 年。还有一个适用于 Raspi(ARM64)的选项。
我编译并安装了这个软件,它可以正常工作。
github:https://github.com/gnab/rtl8812au
首先,更新 apt 并安装必要的模块。
sudo apt update
sudo apt install raspberrypi-kernel-headers build-essential bc dkms git
编译所需的build-essential
和bc
已经是 Raspberry Pi 操作系统的最新版本。(撰写本文时)
工作目录中的 git clone
这次,我创建了一个 lm808 目录,并在其中进行了 git 克隆。
mkdir lm808
cd lm808
git clone https://github.com/gnab/rtl8812au.git
cd rtl8812au
为 Raspi 修改
在为 Raspi 修改了 git 克隆目录内容中的 Makefile 之后,就会生成该版本库。
Kconfig core hal install.sh project runwpa
Makefile debian ifcfg-wlan0 module.clean repoTest1.js wlan0dhcp
README.md dkms.conf include os_dep repoTest2.htm
这次是 64 位版本,因此编辑的部分是 Makefile 的第 57 和 64 行。32 位版本是 ARM_RPI,编辑部分是第 63 行。
将 I386_PC 改为 n,将 ARM_RPI_64 改为 y。
Linux 指的是普通 Linux,因此设置为 i386 PC。因为它被配置为 i386 PC。
MakeFile 的内容
CONFIG_PLATFORM_I386_PC = n
CONFIG_PLATFORM_ARM_RPI_64 = y
它可以用sudo nano Makefile
命令打开和编辑,也可以用 sed 命令改写。
要使用 sed 命令重写相关部分,请执行以下操作
sed -i 's/CONFIG_PLATFORM_I386_PC = y/CONFIG_PLATFORM_I386_PC = n/g' Makefile
sed -i 's/CONFIG_PLATFORM_ARM_RPI_64 = n/CONFIG_PLATFORM_ARM_RPI_64 = y/g' Makefile
驱动程序安装
修改完成后,请安装软件;安装时不要使用 make 命令,而是使用一个脚本文件。您可以原样运行脚本,因为您已经获得了执行权限。
sudo ./install.sh
最后会要求你输入Do you wish to activate the module now? (y/n)
,你可以用 “y “激活或直接重启。
重启后,你将看到 wlan0(Wi-Fi/无线)。
安装 dkms
当我运行 dkms 时,我收到了警告,可能是因为我没有原始模块。(警告!已构建模块与已安装模块之间存在差异!)。
在 github 克隆的目录下运行。
sudo make dkms_install
状态检查命令
sudo dkms status
驱动程序移除命令
sudo make dkms_remove
现在看起来还不错,所以我就保持原样,但我不知道内核升级后会不会这样。
使用 dkms 安装可让驱动程序管理更轻松。即使你不使用它,它也能正常工作。
驱动程序安装到此为止。
新的连接类型和连接设置
目前,连接类型中没有 Wi-Fi 条目。只有有线连接。
要将 LM808 连接为 Wi-Fi 网络,必须创建一个新的连接类型目标。
在创建新连接目标的同时,您还将设置 Wi-Fi 连接。
命令如下
这三个位置是可选的,应根据环境进行更改。
- con-name “LM808”
- wifi.ssid “您要连接的 SSID”。
- 802-11-wireless-security.psk “SSID 连接密码”
当前的 Raspberry Pi 操作系统使用 NetworkManager,可通过 nmcli 命令进行配置。
nmcli 命令示例
sudo nmcli connection add con-name "LM808" \
type wifi \
ifname wlan0 \
connection.autoconnect yes \
wifi.mode infrastructure \
wifi.ssid "SSID to connect" \
802-11-wireless-security.auth-alg open \
802-11-wireless-security.key-mgmt wpa-psk \
802-11-wireless-security.psk "SSID connection password" \
ipv4.method auto \
ipv4.never-default no \
ipv6.method disabled
如果你的 Raspberry Pi 有桌面环境,你也可以从菜单栏的网络图标中创建一个额外的桌面环境。
(高级选项 –> 编辑连接 –> 从 “加号 “图标中选择 Wi-Fi)


不过,这个命令似乎更容易些,因为要知道在哪里填什么,出乎意料地困难。
确认
如果查看 nmcli device 命令,会发现它正在获取设备,然后将其连接。现在你可以看到 IP 地址已通过 ip 命令分配。
nmcli 设备命令
DEVICE TYPE STATE CONNECTION
wlan0 wifi Connecting (getting IP configuration) LM808
↓
wlan0 wifi connected LM808
IP a 命令
4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 34:c9:f0:90:6f:90 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.73/24 brd 192.168.0.255 scope global dynamic noprefixroute wlan0
valid_lft 86157sec preferred_lft 86157sec
这样就完成了 LM808 的所有 Wi-Fi 连接设置。
,我认为您已经连接到 Wi-Fi。
用于 LM842
我用 lsusb 查了一下,并查找了事实和供应商 ID(0bda:c82c),显然是 RTL8821cu。
由于芯片不同,驱动程序不方便相同。
Bus 001 Device 004: ID 0bda:c82c Realtek Semiconductor Corp. 802.11ac NIC
我检查了制造商提供的驱动程序,它们来自 2020 年;如果您想在安卓系统中使用 LM842,应该安装制造商提供的驱动程序。
在这种情况下,它是一个特殊的 Raspberry Pi,尽管它是 Linux 系统,所以我必须找到另一个驱动程序。(我们没有尝试过制造商提供的 LM842 驱动程序)
以下是我们在安装某些驱动程序时没有遇到问题的几个软件源。
我使用了以下 github 仓库:
github:https://github.com/morrownr/8821cu-20210916
git clone https://github.com/morrownr/8821cu-20210916.git
这个版本库与前一个版本库不同,而且这里的 install-driver.sh 也被赋予了执行权限,因此可以按原样运行。
Makefile 中有 AUTO_DETECT=y,而且 github 还指出它已被确认可在 Raspberry Pi OS 64 位 bookworm 上运行,因此按原样运行是安全的。
与 LM808 一样,如果先安装了必要的模块,那么仅安装 sh 文件就不会有问题。
安装必要的模块
sudo apt update
sudo apt install raspberrypi-kernel-headers build-essential bc dkms git
继续执行 sh 文件就可以了。
sudo ./install-driver.sh
该安装脚本最后会问你:”是否要编辑驱动程序选项?脚本最后会问你:”是否要编辑驱动程序选项?Do you want to edit the driver options file now? (recommended) [Y/n]
您可以用 “y “打开/etc/modprobe.d/8821cu.conf
并进行编辑,也可以用 “n “跳过。
然后,系统会询问您是否要重启。然后会问你是否要重启。 Do you want to apply the new options by rebooting now? (recommended) [Y/n]
重新启动后就可以使用了。
请注意,作为预防措施,它指出如果操作系统或内核(内核)升级,请使用 git pull 并重新安装。这真是太好了。
Update this driver with the following commands as needed:
$ git pull
$ sudo sh install-driver.sh
它将顺利结束。
由于在安装 LM842 驱动程序时使用了 dkms,因此在使用状态命令进行检查时,dkms 会清晰地显示出来。
sudo dkms status
rtl8821cu/5.12.0.4, 6.6.62+rpt-rpi-v8, aarch64: installed
这样,就可以使用 dkms 命令删除驱动程序。
LM842 蓝牙通信
与 Wi-Fi 不同,LM842 的蓝牙功能要复杂一些。
我试着用蓝牙连接了几次。
蓝牙是否锁定?
首先,如果蓝牙被锁定,就无法使用。
让我们用 rfkill list 命令来检查一下。
rfkill list
0: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
1: hci1: Bluetooth
Soft blocked: yes
Hard blocked: no
2: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
hci1 中的蓝牙被软禁。这次 LM842 是 hci1。
我必须解除阻止。
否则,您将会在sudo bluetoothctl
获得org.bluez.Error.Failed
,而且什么都不能用。
使用以下命令解除屏蔽
rfkill unblock bluetooth
没关系。
尝试蓝牙连接 (1) – 鼠标
第一种方法是用老鼠进行测试。
罗技 “Pebble “鼠标可通过 Wi-Fi 加密狗连接,但也有蓝牙功能。
在这种情况下,我使用了蓝牙连接。这样就不需要 USB 接收器,从而腾出了一个 USB 端口。


由于图形用户界面屏幕效果不佳,我们仍按命令进行操作。
使用 bluetoothctl 命令配对。
sudo bluetoothctl
当命令提示符变为[bluetooth]#
时,按从上往下的顺序运行命令。
power on
discoverable on
scan on
trust MAC address of the mouse
扫描检测到罗技鼠标。
您会在动物园列表中发现 Pebble 标记。复制这个 MAC 地址。
这里的 MAC 地址是ED:53:18:B3:42:B4
。
接下来,将它与鼠标连接并配对,然后信任(Trust)它,这样就不必每次都配对了。
connect ED:53:18:B3:42:B4
pair ED:53:18:B3:42:B4
trust ED:53:18:B3:42:B4
现在,它已经可以作为蓝牙连接鼠标使用。
让我们来查看信息。
连接后,提示会变为[Logi Pebble]#
,如果点击 info,就能看到 Pebble 的信息并查看详情。
[Logi Pebble]# info
Device ED:53:18:B3:42:B4 (random)
Name: Logi Pebble
Alias: Logi Pebble
Appearance: 0x03c2
Icon: input-mouse
Paired: yes
Bonded: yes
Trusted: yes
Blocked: no
Connected: yes
LegacyPairing: no
UUID: Generic Access Profile (00001800-0000-1000-8000-00805f9b34fb)
UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
UUID: Device Information (0000180a-0000-1000-8000-00805f9b34fb)
UUID: Battery Service (0000180f-0000-1000-8000-00805f9b34fb)
UUID: Human Interface Device (00001812-0000-1000-8000-00805f9b34fb)
UUID: Vendor specific (00010000-0000-1000-8000-011f2000046d)
Modalias: usb:v046DpB021d0007
RSSI: -41
TxPower: 4
Battery Percentage: 0x64 (100)
因为有鼠标连接,所以这很容易。
尝试蓝牙连接 (2) – 与 iPhone 连接
接下来我尝试了网络共享。
如果你的 iPhone 允许互联网共享,你就可以通过蓝牙与 Raspberry Pi 配对,通过 iPhone 的线路连接互联网。安卓系统的工作方式相同。请将其作为替代品阅读。
配置流程
如文章前半部分所示,LM842 驱动程序安装完成后将进行讨论。
此外,假定蓝牙连接可用,这是在鼠标连接到前面提到的蓝牙连接之前完成的。
- 在 Raspberry Pi 端配对(bluetoothctl 命令)
- 断开 Wi-Fi 连接
- 使用 nmcli 命令连接 iPhone
XX:XX:XX:XX:XX:XX:XX:XX:XX:XX 是 iPhone 的 MAC 地址,但只是隐藏的。
iPhone 的 MAC 地址可以在设置–> 常规–> 信息中找到。

虽然没有公开,但蓝牙 MAC 地址是必需的。
配对
像使用鼠标一样,使用sudo bluetoothctl
进行scan on
。如果做不到,那就像以前一样,从power on
开始。
[bluetooth]# pair XX:XX:XX:XX:XX:XX
Attempting to pair with XX:XX:XX:XX:XX:XX
[CHG] Device XX:XX:XX:XX:XX:XX Connected: yes
Request confirmation
[agent] Confirm passkey 214271 (yes/no): yes
在终端显示确认密码的同时,iPhone 端也会显示一个屏幕,询问您是否要批准。
在 iPhone 端按下配对键后,在终端 yes/no 中键入 yes/no,并用回车键确认。 Pairing successful
将出现在终端中。
配对现已完成。

断开 Wi-Fi 连接
由于它仍与 LM842 的 Wi-Fi 连接相连,因此 Wi-Fi 连接暂时断开。
这是因为如果蓝牙连接是单独进行的,则很容易分辨。
命令,也可以使用 nmcli 的无线电选项断开连接。
sudo nmcli radio wifi off
3. 使用 nmcli 命令连接
请先打开 iPhone 上的网络共享。

接下来,在 Raspberry Pi 端通过命令指定 iPhone 的 MAC 地址进行连接。
sudo nmcli dev connect XX:XX:XX:XX:XX:XX
如果成功,会出现”~ 成功激活 “的信息。
,你还会在 Raspberry Pi 的桌面屏幕上看到连接完成的对话框。
,只需点击桌面屏幕顶部菜单栏中的蓝牙图标并选择 iPhone 的名称,也可以进行连接。
检查状态。
可以看到 iPhone 的 MAC 地址 TYPE 已经与 bt 连接。
sudo nmcli dev status
DEVICE TYPE STATE CONNECTION
XX:XX:XX:XX:XX:XX bt 接続済み XX:XX:XX:XX:XX:XX
你可以看到,iPhone 的一侧还显示了一个互联网共享图标,这意味着连接是绑定的。顶部还有一个颜色条。

Wi-Fi 连接也已断开,表明可以使用网络连接。
Wi-Fi 符号已被手机图标取代!

绿色复选标记表示鼠标和 iPhone 已连接到蓝牙设备。
我试着从雅虎
上显示一个页面,发现通过蓝牙进行网络连接并不适合常规的网页浏览,但对于轻量级的文本连接,它是稳定的,没有问题。
现在,我们可以通过蓝牙连接实现网络共享。
感受 LM808 和 LM842
因为我对网络领域感兴趣,所以我设法理解了它。这有点困难。
这里写的并不是全部内容,根据您的环境,可能还会有部分遗漏。一般来说,我认为您可以按照这里的描述进行连接。
如果不能,则可能是 Wi-Fi 适配器驱动程序未安装,并伴有错误。
所以 Raspberry Pi 是通过 iPhone 的功能连接到互联网的。
这是一个有点复杂的领域。
LM808 是添加 Wi-Fi 功能的便捷方法,如果您对 ac/a/b/g/n 规格感到满意,建议使用 LM808。
由于这两款产品都已获得许多国家和地区的设备认证,您可能会觉得它们太好,只适合在日本使用。不过,既然是有良好记录的制造商的产品,从安全的角度来说,它们应该是企业使用的候选产品。
我发现 Wi-Fi 适配器对于没有 Wi-Fi 功能的 CM4/5 来说非常方便。
产品页面
LM808:https://www.lm-technologies.com/product/wifi-usb-adapter-433mbps-lm808/
LM842:https://www.lm-technologies.com/product/wifi-802-11ac-bluetooth-5-0-2t2r-usb-combi-adapter-lm842/
NetworkManager
Official:https://networkmanager.dev/
参考资料:https://wiki.archlinux.jp/index.php/NetworkManager
文章由拉斯必达提供
非工程师也能愉快使用的 Raspberry Pi 信息网站 raspida.com一个非工程师也能享受和使用的 Raspberry Pi 信息网站。他还为 PiLink 网站提供有关工业用 Raspberry Pi 的技术博客文章。