Linux 6.6.52-loong64 #1 SMP Loongnix 6.6.52-1.11 (2026-07-23) loongarch64 GNU/Linux
ai编译的deb包,本地电脑试了,装完能使用wifi了,分析一下
https://wp.6589jk.cn/s/J8PuW 下载链接,我设置了500次下载之后失效,如果失效了留个言我再续一下,防止我的流量直接爆炸….
SCM2625 Wi-Fi 驱动安装记录
1. 操作概览
本次通过 SSH 连接到目标电脑,为其安装 Senscomm SCM2625 PCIe Wi-Fi 网卡驱动。
| 项目 | 结果 |
|---|---|
| SSH 主机 | 已隐去 |
| 操作系统 | Loongnix GNU/Linux 25 |
| 架构 | loongarch64 |
| 内核 | 6.6.52-loong64 |
| 无线网卡 | Senscomm SCM2625 Wi-Fi6 Network Adapter |
| PCI ID | 1eb9:2020 |
| 驱动包 | scm2625-pcie-dkms 2.1.2-V17 |
| 最终无线接口 | wlp2s0 |
2. 初始检查
首先检查系统信息、PCI 设备、USB 设备和网络接口:
ssh <用户名>@<目标地址> \
"uname -a; lspci -nn; lsusb; ip -br link"
检查结果显示:
- 系统为 Loongnix 25,运行在 LoongArch 架构上。
- PCI 总线上检测到
Senscomm Semiconductor SCM2625。 - 系统当时只有有线网卡,没有可用的 Wi-Fi 网络接口。
- 已加载的
mwifiex模块并不匹配 SCM2625 设备。
随后查看驱动、固件和内核日志:
lspci -k -s 02:00.0
lsmod
find /lib/firmware -iname '*scm*' -o -iname '*senscomm*'
dmesg | grep -iE 'scm2625|senscomm|firmware|wifi|wlan'
确认系统中已有 Senscomm 固件文件:
/lib/firmware/senscomm/wise-pcie.bin
/lib/firmware/senscomm/scm2020.bin
3. 查找并安装发行版驱动包
通过 Loongnix 软件仓库查询匹配的驱动包:
apt-cache search -n 'senscomm|scm2625|wifi.*firmware|firmware.*wifi'
查询结果包含:
scm2625-pcie-dkms - scm2625-pcie driver in DKMS format
然后更新软件包索引并安装驱动:
sudo apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y scm2625-pcie-dkms
初次安装时,DKMS 编译失败。失败原因不是缺少固件,而是驱动源码与当前 6.6 内核的 mac80211 API 条件判断不兼容:
error: initialization of ‘void (*)(struct ieee80211_hw *,
struct ieee80211_vif *)’ from incompatible pointer type
‘void (*)(struct ieee80211_hw *, struct ieee80211_vif *, unsigned int)’
4. 修复内核 API 兼容性
检查驱动源码后发现,源码根据 MAC80211_BASE 判断mgd_protect_tdls_discover 回调的参数形式,但当前内核头文件使用的是不带link_id 参数的形式,而驱动源码错误地选择了带该参数的实现。
涉及源码目录:
/usr/src/scm2625-pcie-2.1.2-V17/
修复内容仅限于回调函数的兼容性条件,使当前内核使用无 link_id 参数的实现:
chan.c:选择无link_id参数的scm80211_mgd_tdls_discovercore.h:同步更新函数声明条件
之后删除旧的 DKMS 构建结果并重新安装模块:
sudo dkms remove -m scm2625-pcie -v 2.1.2-V17 --all
sudo dkms install -m scm2625-pcie -v 2.1.2-V17 -k "$(uname -r)"
sudo depmod -a
sudo modprobe scm2625-pcie
重新编译成功,生成并安装了:
/lib/modules/6.6.52-loong64/updates/scm2625-pcie.ko
/lib/modules/6.6.52-loong64/updates/scm-btusb.ko
5. 验证驱动加载
检查 DKMS 状态和内核模块:
sudo dkms status
lsmod | grep -E 'scm|cfg80211'
结果显示:
scm2625-pcie/2.1.2-V17, 6.6.52-loong64, loongarch64: installed
scm2625_pcie
scm_btusb
mac80211
cfg80211
查看 NetworkManager 设备:
nmcli device status
已识别到:
wlp2s0 wifi 已断开
p2p-dev-wlp2s0 wifi-p2p 已断开
查看内核日志可以确认固件下载和设备初始化成功:
downloading wise senscomm/wise-pcie.bin
wise boot success!
successfully attached RF scm2020.0
wlp2s0: renamed from wlan0
6. Wi-Fi 扫描验证
使用 NetworkManager 扫描附近无线网络:
nmcli device wifi rescan ifname wlp2s0
nmcli device wifi list ifname wlp2s0
扫描成功,发现了多个无线网络,例如:
misaka20001
misaka20001_5G
misaka20001_IoT
Office1_2.4GHz
这证明驱动、固件、无线射频和 NetworkManager 均已正常工作。
7. 最终状态
驱动安装已完成,当前状态如下:
- DKMS 驱动已成功编译并安装。
- 驱动模块已加载到当前内核。
- 固件
wise-pcie.bin已成功下载到网卡。 - 无线接口
wlp2s0已出现。 - Wi-Fi 扫描功能正常。
- 当前尚未连接到具体的 Wi-Fi 网络。
连接 Wi-Fi 的示例命令(请在本机替换网络名称和密码):
nmcli device wifi connect "WiFi名称" password "WiFi密码" ifname wlp2s0
连接后可使用以下命令确认状态:
nmcli device status
ip -br address show wlp2s0
ping -c 4 192.168.31.1
8. 注意事项
- 本次修复针对 Loongnix 25 的
6.6.52-loong64内核和scm2625-pcie-dkms 2.1.2-V17驱动包。 - 如果内核升级,DKMS 会尝试自动重新编译;若再次遇到同一个回调类型错误,
需要确认驱动包是否保留了上述兼容性修复。 - 本次操作没有记录或写入任何 Wi-Fi 密码。
apt-get update期间出现了软件源组件拼写警告non-free-firemware,但不影响本次驱动安装和使用。
9. 分享用 DEB 安装包
已另行生成分享用安装包:
scm2625-pcie-dkms-fixed_2.1.2-1_loong64.deb
该文件已复制到本地工作目录,可直接分享:
../scm2625-pcie-dkms-fixed_2.1.2-1_loong64.deb
安装包包含:
- SCM2625 PCIe DKMS 驱动源码
wise-pcie.bin和scm2020.bin固件- 针对 6.6 系列内核 mac80211 回调兼容性的修复
- DKMS 自动编译、安装和模块加载脚本
安装示例:
sudo apt install ./scm2625-pcie-dkms-fixed_2.1.2-1_loong64.deb
安装完成后检查:
dkms status
nmcli device status
注意:该包面向 Loongnix/Debian 系列的 loong64/loongarch64 系统,
并要求目标机器安装了与当前运行内核匹配的内核头文件、DKMS 和编译工具。
该 DEB 是针对 loong64 架构构建的,不能直接安装在 amd64、arm64
等其他架构上。
0 条评论