USB 型 Wi-Fi 适配器(加密狗)LM808 和 LM842 的设置以及为何敢于选择它们

除了内置的 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 具有蓝牙功能。
,其工作温度可安全用于工业用途,而且支持的操作系统范围也很广。

详情请查看制造商页面。
以下是规格简介。

LM808LM842
无线方式ac/a/b/g/nac/b/g/n
蓝牙5.0/4.2/4.1/4.0/3.0/2.1
频段2.4GHz/5GHz2.4GHz/5GHz
工作温度0°C 至 70°C-20°C至85°C
支持的操作系统Linux
OSX
Win10
Win7
Win8
WinVista
WinXP
Android
Linux
Win10
Win7
一致性兼容性1兼容性1


我看到日本的技术认证标志也赫然在列。

获得合格认证的国家和地区

*请直接与制造商联系,了解每个国家的认证申请和更新情况。

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-essentialbc已经是 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 端口。

罗技 Pebble 鼠标
闪烁绿色表示 Wi-Fi,闪烁蓝色表示蓝牙

由于图形用户界面屏幕效果不佳,我们仍按命令进行操作。

使用 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 驱动程序安装完成后将进行讨论。
此外,假定蓝牙连接可用,这是在鼠标连接到前面提到的蓝牙连接之前完成的。

  1. 在 Raspberry Pi 端配对(bluetoothctl 命令)
  2. 断开 Wi-Fi 连接
  3. 使用 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 的技术博客文章