linux上启用comfast无线网卡

背景

用u盘给电脑装上debian12后发现之前的comfast无线网卡无法正常工作,之后查看商品页面发现确实没写支持linux设备,所以只能试试自己收集驱动启动

环境

  • 系统: debian12
  • 无线网卡型号:comfast 926AC

步骤

1. 收集固件

这里建议先跟随这篇文章查询一下自己的网卡信息,如果有具体信息则可以不用往下看,直接按文章操作即可。

但我的ID是0e8d:2870,在网站上只有一行描述:”This is the emulated CD-ROM driver storage device that comes with some WiFi adapters.”

CD-ROM一般自动挂载在/media下,我检查后发现里面是.exe后缀的驱动安装程序,那就只能自行寻找驱动了。

通过谷歌获取到0e8d:2870对应的芯片是Mediatek MT7612U,通常应该加载的是mt76系列模块

随后通过命令安装对应模块

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 安装通用模块,这里如果找不到包需要额外添加non-free软件源
sudo apt install firmware-misc-nonfree

# 加载我需要的mt76模块 MT7612U 属于 MT76x2 系列设备。
sudo modprobe mt76x2u

# 查看模块是否成功加载
lsmod | grep mt76

# 查看设备识别信息
sudo dmesg | grep mt76

# 最关键的查看是否出现无线网卡
ip link show

我运行ip link show后并没有看到对应网卡出现,通过lsusb发现网卡还是被识别为”Bus 001 Device 011: ID 0e8d:2870 MediaTek Inc. Љ” 和之前看到的一样,还是只是一个CD-ROM设备,也就是说可能光有驱动还不行,还要从软件层面开启

2. 转换网卡形态

目前虽然有了对应驱动,但是网卡还是被识别为CD-ROM,通过CHATGPT了解到应该是因为作为免驱无线网卡,默认以CD-ROM模式启动,我们需要将其转换为网卡形态

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 安装对应工具
sudo apt install usb-modeswitch

# 切换形态,以我为例,我的设备ID为0e8d:2870,那么我的切换命令为
sudo usb_modeswitch -v 0e8d -p 2870 -R

# 查看网卡信息,这时应该有一个新网卡出现
ip link show

# 再运行lsusb应该就会看到设备名称变更了 我的从"MediaTek Inc. Љ"变为"MediaTek Inc. MT7612U 802.11a/b/g/n/ac Wireless Adapter"
lsusb

# 也可以查看下设备识别日志里的相关信息
sudo dmesg | tail -n 50

3. 激活并连接wifi

网卡转换后可以插拔后运行”ip link show”来检查识别是否正常,正常的话就可以激活并连接wifi了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 激活对应网卡,这里的wln0是你运行ip link show对应的无线网卡名称
sudo ip link set wln0 up

# 安装网络管理工具,方便连接wifi
sudo apt install network-manager

# 查看可连接wifi列表
sudo nmcli dev wifi list

# 连接
sudo nmcli dev wifi connect "wifi名称" password "密码"

# 查看连接状态和网络接口信息:
nmcli connection show
nmcli dev status