运行 QubesOS 的 MacbookPro 上的 BCM4360 - 内核未绑定模块

运行 QubesOS 的 MacbookPro 上的 BCM4360 - 内核未绑定模块

帮助!

我已在 MacbookPro 上运行的 Qubes Standalone Debian-11 VM 上安装了 Broadcom-sta-dkms 软件包。
安装没有指示任何错误。

lsmod 显示模块:
用户@sys-wifi:~$ sudo lsmod|grep wl
wl 6471680 0
cfg80211 983040 1 wl

wl.ko模块存在:
用户@sys-wifi:~$sudo find / -name wl.ko -print
/var/lib/dkms/broadcom-sta/6.30.223.271/5.10.0-21-amd64/x86_64/module/wl.ko
查找:'/run/user/1000/doc':权限被拒绝
/usr/lib/模块/5.10.0-21-amd64/updates/dkms/wl.ko

我已将模块添加到 /etc/modules
user@sys-wifi:~$ cat /etc/modules
# /etc/modules: 启动时加载的内核模块。
# # 该文件包含应该 在引导时
加载的内核模块的名称,每行一个。
以“#”开头的行将被忽略。

rfkill 没有显示任何内容!
用户@sys-wifi:~$sudo rfkill list all

inxi -n 显示没有驱动程序:
用户@sys-wifi:~$须藤因西 -n
网络:设备 1:Intel 82371AB/EB/MB PIIX4 ACPI 类型:网桥驱动程序:不适用
设备 2:Broadcom BCM4360 802.11ac 无线网络适配器驱动程序:不适用
IF-ID-1: eth0 状态: 上行速度: N/A 双工: N/A mac: 00:16:3e:5e:6c:00

nmcli 不显示任何无线接口:
user@sys-wifi:~$ sudo nmcli
eth0: 连接到虚拟机上行链路 eth0
"eth0"
以太网 (vif)、00:16:3E:5E:6C:00、hw、mtu 1500
ip4 默认
inet4 10.137.0.21/32
Route4 10.138。 8.117/32
路线4 0.0.0.0/0
inet6 fe80::216:3eff:fe5e:6c00/64
路线6 fe80::/64

lo:非托管
“lo”
环回(未知),00:00:00:00:00:00,sw,mtu 65536

DNS配置:
服务器:10.139.1.1 10.139.1.2
接口:eth0

使用“nmcli device show”获取有关已知设备的完整信息,使用
“nmcli connection show”获取活动连接配置文件的概述。

有关完整的使用详细信息,请参阅 nmcli(1) 和 nmcli-examples(7) 手册页。

dmesg 显示没有错误:
用户@sys-wifi:~$sudo dmesg|grep wl

lshw的输出
user@sys-wifi:~$ sudo lshw -C network
*-network 未声明
描述:网络控制器
产品:BCM4360 802.11ac 无线网络适配器
供应商:Broadcom Inc. 及其子公司
物理 ID:6
总线信息:pci@0000:00:06.0
版本:03
宽度:64 位
时钟:33MHz
功能:pm msi pciexpress bus_master cap_list
配置:延迟 = 0
资源:内存:f2210000-f2217fff 内存:f2000000-f21fffff
*-网络
描述:以太网接口
物理 id:1
逻辑名称:eth0
串行:00:16 :3e:5e:6c:00
功能:以太网物理
配置:广播=是 驱动程序=vif 驱动程序版本=5.10.0-21-amd64 ip=10.137.0.21 链接=是 多播=是

lspci 显示了 wifi 适配器和分配的模块但没有内核模块正在使用
user@sys-wifi:~$ sudo lspci -k
00:00.0 主机桥:Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
子系统:Red Hat, Inc. Qemu 虚拟机
00:01.0 ISA 桥:Intel Corporation 82371SB PIIX3 ISA [Natoma] /Triton II]
子系统:Red Hat, Inc. Qemu 虚拟机
00:01.1 IDE 接口:Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
子系统:Red Hat, Inc. Qemu 虚拟机
使用的内核驱动程序:ata_piix
内核模块: ata_piix, ata_generic
00:01.3 桥:Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
子系统:Red Hat, Inc. Qemu 虚拟机
内核模块:i2c_piix4
00:02.0 未分配的类 [ff80]:XenSource, Inc. Xen 平台设备 (rev 01)
子系统:XenSource, Inc.
使用的 Xen 平台设备内核驱动程序:xen-platform-pci
00:03.0 VGA 兼容控制器:Device 1234:1111 (rev 02)
子系统:Red Hat, Inc. 设备 1100
内核驱动程序使用中:bochs-drm
内核模块:bochs_drm
00:04.0 USB 控制器:Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI 控制器 (rev 10)
子系统:Red Hat, Inc. 使用中的 QEMU 虚拟机
内核驱动程序: ehci-pci
内核模块:ehci_pci
00:06.0 网络控制器:Broadcom Inc. 及其子公司 BCM4360 802.11ac 无线网络适配器 (rev 03)
子系统:Apple Inc. BCM4360 802.11ac 无线网络适配器
内核模块:bcma、
用户@sys-wifi:~$

谁能对这个谜题说点什么?
请帮忙!
谢谢!

答案1

我终于想出了解决方案。

即:


假设:使用适配器 (sys-usb) 进行某种互联网连接,有线或无线

脚步:

  1. 基于fedora-36模板创建新的qube
  • 打开 Qube 管理器 → 新建 qube
[Basic] Name and label: sys-wl
[Basic] Type: StandaloneVM (fully persistent)
[Basic] Template: fedora-36 (default)
[Basic] Networking: sys-net (you need somebody to connect you)
[Basic] Enable “Launch settings after creation”
[Advanced] Enable "Provides network access to other qubes"
[Advanced] Leave everything else as it is preconfigured
  • 创建后,会弹出 sys-wl 的 [Dom0] 设置窗口
[Basic] Leave everything else as it is preconfigured
[Advanced] Disable “Include in memory balancing”
[Advanced] Kernel->Kernel: (provided by qube) → alternatively: (dom0): qvm-prefs sys-wl kernel ‘’
[Advanced] Virtualization->Mode: HVM
  1. 安装 Broadcom-wl
Open a terminal
sys-wl: Terminal
Based on the information by balko here
[user@sys-wl ~]$ sudo dnf config-manager --set-enabled rpmfusion-free
[user@sys-wl ~]$ sudo dnf config-manager --set-enabled rpmfusion-free-updates
[user@sys-wl ~]$ sudo dnf config-manager --set-enabled rpmfusion-nonfree
[user@sys-wl ~]$ sudo dnf config-manager --set-enabled rpmfusion-nonfree-updates
[user@sys-wl ~]$ sudo dnf upgrade --refresh
[user@sys-wl ~]$ sudo dnf install broadcom-wl
  1. 将不需要的模块列入黑名单
[user@sys-wl ~]$ sudo vi /etc/modprobe.d/blacklist.conf
blacklist b43
blacklist bcma
  1. 重新启动之前准备 sys-wl 的设置
Open Qube Manager
sys-wl->Settings
[Basic] Net qube: (none)(current)
[Basic] Leave everything else as it is already configured
  1. 分离 BCM4350,以防它连接到任何虚拟机(在我的例子中,它默认连接到 sys-net)
  • 关闭已分配bcm4360卡的VM(我的情况:sys-net)。
  • 打开 Qube Manager → sys-net → 设置 → 设备 → 单击右侧窗口框中的“Broadcom Inc. and子公司 BCM4360 802.11ac 无线网络适配器”,并将其移至左侧(<)→ 确定
  1. 使用“magic”选项将 BCM4360 连接到新创建的 sys-wl
  • 关闭新创建的sys-wl

  • 找出您设备的 BDF

(dom0) qvm-pci
BACKEND:DEVID DESCRIPTION USED BY
dom0:02_00.0 Network controller: Broadcom Inc. and subsidiaries BCM4360 802.11ac Wireless Network Adapter
  • 现在:神奇的一步。根据此描述(如何使用 PCI 设备 | Qubes OS)充分了解侧通道攻击,将设备附加到 sys-wl:
(dom0) sudo qvm-pci a sys-bcm4360 dom0:02_00.0 --persistent -o no-strict-reset=true -o permissive=true

Show the changes:
(dom0) qvm-pci
BACKEND:DEVID DESCRIPTION USED BY
dom0:02_00.0 Network controller: Broadcom Inc. and subsidiaries BCM4360 802.11ac Wireless Network Adapter sys-bcm4360 (no-strict-reset=true, permissive=true)
  1. 重新启动整个系统
  • 系统重新启动并运行后,任务栏右侧将显示网络管理器图标,并显示可用网络,您将能够建立无线连接。

相关内容