×

一、无线网卡为免驱版,插上网卡为DISK模式,需要安装usb_modeswitch:

apt install usb_modeswitch 或apt install usb-modeswitch

通过命令切换为无线网卡:usb_modeswitch -v (vid) -p(pid) -K。但是重启失效。

按照以下步骤配置,实现开机或插拔自动切换:

1. 创建自定义的 udev 规则文件
在系统的 udev 规则目录下新建一个配置文件:
nano /etc/udev/rules.d/99-usb-modeswitch-custom.rules
在文件中粘贴以下内容(这行代码的意思是:只要系统发现供应商 ID 是 0bda,产品 ID 是 a192 的设备,就自动执行你之前的切换命令):
text
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="a192", RUN+="/usr/sbin/usb_modeswitch -v 0x0bda -p 0xa192 -K"
请谨慎使用此类代码。
:如果系统提示找不到 /usr/sbin/usb_modeswitch,你可以先运行 which usb_modeswitch 查看其实际绝对路径,并替换上面命令中的路径。
保存并退出(在 nano 中按 Ctrl+O 回车保存,Ctrl+X 退出)。
2. 让 udev 规则立即生效
无需重启,运行以下命令让系统重新加载刚才写好的规则:
bash
sudo udevadm control --reload-rules
sudo udevadm trigger

二、获取驱动源码

git clone https://github.com/a5a5aa555oo/rtl8xxxu.git

按照源码说明安装。

注意:安装步骤中需要安装linux headers,此物版本必须与系统内核版本(uname -r)一致,老版本armbian已经找不到对应版本的headers了

三、安装完驱动之后连接无线网:

根据 Cubieboard2 常见的系统镜像(如 ArmbianDebianUbuntu Minimal),后台最有可能运行的是 NetworkManagersystemd-networkd
你可以通过以下两个步骤来定位并解决无线网卡无法获取 IP 的问题:
第一步:排查后台究竟是哪个网络服务
请在命令行运行以下命令,看哪一个有输出:
    1. 检查是否是 NetworkManager
      bash
      systemctl is-active NetworkManager
      

        • 如果显示 active:说明你的系统其实是有 nmcli 工具的!只是之前可能是输错了或者在非 root 账户下。请尝试直接运行:
          nmcli device wifi connect "WiFi名称" password "密码"
          

          通过系统自带的 nmcli 连 Wi-Fi,它会自动触发系统内置的 DHCP,完美解决你的问题。

    2. 检查是否是 systemd-networkd
      systemctl is-active systemd-networkd
      

        • 如果显示 active:这是现代 Debian/Ubuntu 常用的轻量网络管理服务,它通过配置文件来管理有线和无线网卡。

第二步:如果是 systemd-networkd 的解决办法
如果确认后台是 systemd-networkd,你需要让系统网络服务知道这个新网卡,并允许它使用 DHCP

  1. 创建无线网卡的网络配置文件
    使用文本编辑器(如 nano)新建一个配置文件:
    nano /etc/systemd/network/25-wireless.network
    

    在文件中粘贴以下内容(开启该网卡的 DHCP 客户端):

    ini
    [Match]
    Name=wlxd4840990232b
    
    [Network]
    DHCP=ipv4
    

    保存并退出(nano 编辑器按 Ctrl+O 回车保存,Ctrl+X 退出)。

  2. 创建 Wi-Fi 密码配置文件
    systemd-networkd 本身不处理无线认证,需要通过 wpa_supplicant 作为其后端服务。我们需要使用系统自带的服务来启动它:
    # 生成标准的 wpa_supplicant 配置
    wpa_passphrase "你的WiFi名称" "你的密码" > /etc/wpa_supplicant/wpa_supplicant-wlxd4840990232b.conf
    

  3. 启动并开机自启系统自带的无线服务
    bash
    systemctl enable --now wpa_supplicant@wlxd4840990232b.service
    systemctl restart systemd-networkd
    

  4. 验证状态
    你可以运行以下命令查看 systemd-networkd 是否已经成功给无线网卡分配了 IP:
    bash
    networkctl status wlxd4840990232b

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

作者

yesli2011@gmail.com

相关文章

嵌入式Linux系统u-boot移植

我们都知道,PC在启动的时候,首先是进入BI...

读出全部