[software development] Realtek"免驱型"USB无线网卡芯片,被识别成U盘的处理方案讨论
Tofloor
poster avatar
字甲达宾
deepin
2024-03-12 22:15
Author

关于Realtek"免驱型"USB无线网卡芯片,被识别成U盘,需要用命令 eject 弹出才能识别成无线网卡的问题讨论

2024.3.12

lsusb 命令, 显示的如果类似这样 (ID 0bda:1a2b), 即代表被识别成 U盘,而不是 无线网卡

Bus 001 Device 008: ID 0bda:1a2b Realtek Semiconductor Corp.

技术解决方案:

以 root 用户身份 (或者 sudo),手动编写一个 udev 的 rules 文件。文件位置示例:
/etc/udev/rules.d/realtek.rules

文件内容示例:
KERNEL=="sd*", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="1a2b", SYMLINK+="realtek_udisk", RUN+="/usr/bin/eject /dev/%k"

为了方便使用 Realtek USB 免驱型 无线网卡 的用户,把上面的 realtek.rules 配置文件,打了一个简单的 DEB 包。


realtek-udev-rules_0.1-kba1_all.deb

WiFi_deb_2023:
https://url48.ctfile.com/d/30646948-59081734-841e9a?p=6859
(访问密码: 6859)


适用群体:

  • 使用 Realtek USB "免驱型" 无线网卡 的用户;
  • 无线网卡驱动,需要从源码手动编译的。
  • 安装了新版本内核(或者不同系列的内核,如 rt Realtime 实时内核),且 旧的驱动无法正常使用,需要重新编译内核的)。

说明1:

如果某款 Realtek USB "免驱型" 无线网卡,已经安装过了驱动(或者内核本身就自带驱动),则不需要这个 DEB 包。

说明2:

正规说来,deb 软件包里,是避免直接在 /etc/udev/rules.d/ 目录下,安装 *.rules 文件的。

现在这个软件包,是有点“取巧”的作法,仅用于方便 Linux 新手。

Reply Favorite View the author
All Replies
阿尼樱奈奈
Moderator
2024-03-12 22:17
#1

like

Reply View the author
神末shenmo
deepin
Spark-App
2024-03-12 22:25
#2

这个免驱的鬼东西水星也有

醉了

Reply View the author
neko
deepin
Ecological co-builder
2024-03-13 08:06
#3

还能这样,收藏了

Reply View the author
dgmenghuan
deepin
2024-03-28 08:24
#4

真的太麻烦了

Reply View the author
jjcui8595
deepin
2024-03-28 08:50
#5

大赞like

建议大家把楼主的分享作为一种解决此类问题的思路,而不能完全照抄。比如,ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="1a2b"可能不适合你的无线网卡,需要根据实际修改

Reply View the author
173******40
deepin
2024-03-29 01:58
#6

下次分享可以用百度网盘或阿里/夸克网盘吗?

Reply View the author
owen_337
deepin testing team
2024-03-29 11:38
#7

楼主, 你好,周五将推送usb-modeswitch-data,麻烦更新后帮忙试下哈,如有问题,可以到深度之家进行反馈或者邮件给我哈 [email protected]

Reply View the author
字甲达宾
deepin
2024-03-29 23:13
#8
173******40

下次分享可以用百度网盘或阿里/夸克网盘吗?

这个城通网盘,优点是:不需要注册,每个人就能直接下载。

(另外,发布方可以很方便地查看每日的下载次数,用于决定有没有持续/长期维护的必要。)

缺点:可能会弹广告。

一个小程序,维护多处资源,会比较烦。特别是在没有收益、用爱发电的前提下。

如果你愿意,欢迎二次转发资源!

Reply View the author
owen_337
deepin testing team
2024-04-01 10:29
#9

@字甲达宾 哈喽,麻烦有空的时候,更新内测到最新后尝试下哈,就是正常插入USB,看看还有没有问题哈

Reply View the author
字甲达宾
deepin
2024-04-01 21:30
#10
owen_337

@字甲达宾 哈喽,麻烦有空的时候,更新内测到最新后尝试下哈,就是正常插入USB,看看还有没有问题哈

首先,感谢关注!

其次,我用的 Debian 11.9 amd64 (老旧笔记本,配置偏低,只有 4G 内存,一般用 LXDE 桌面,或者 XFCE4 桌面。跑 deepin + DDE 桌面环境,有点吃力)。


如果方便,烦请提供 测试 DEB 包的下载链接。如果我这边时间、精力允许,可以代为测试、验证、反馈。

谢谢!

Reply View the author
owen_337
deepin testing team
2024-04-02 10:50
#11
字甲达宾

首先,感谢关注!

其次,我用的 Debian 11.9 amd64 (老旧笔记本,配置偏低,只有 4G 内存,一般用 LXDE 桌面,或者 XFCE4 桌面。跑 deepin + DDE 桌面环境,有点吃力)。


如果方便,烦请提供 测试 DEB 包的下载链接。如果我这边时间、精力允许,可以代为测试、验证、反馈。

谢谢!

好的,软件usb-modeswitch-data已经私信发给你了哈,麻烦抽空帮忙看下哈

Reply View the author
字甲达宾
deepin
2024-04-02 23:31
#12
owen_337

好的,软件usb-modeswitch-data已经私信发给你了哈,麻烦抽空帮忙看下哈

deb 已阅。提示几点:

  1. 0bda:1a2b 是 Realtek 品牌的 免驱型无线网卡的通用 USB 分区,不只针对 Realtek 8821c 型号;
  2. 建议顺便把 AIC8800 芯片的 USB 分区信息,也一并写入 ID a69c:5721 aicsemi Aic MSC

这个系列的 Wi-Fi 6, AX300 无线网卡 芯片(300M),对 Linux 支持较好(目前已知支持 到 6.2 或 6.3 内核)。

Reply View the author
173******40
deepin
2024-04-03 01:09
#13
字甲达宾

这个城通网盘,优点是:不需要注册,每个人就能直接下载。

(另外,发布方可以很方便地查看每日的下载次数,用于决定有没有持续/长期维护的必要。)

缺点:可能会弹广告。

一个小程序,维护多处资源,会比较烦。特别是在没有收益、用爱发电的前提下。

如果你愿意,欢迎二次转发资源!

不是,因为城通网盘限速,几百个MB的下载需要几分钟呢

Reply View the author
字甲达宾
deepin
2024-04-03 07:07
#14
173******40

不是,因为城通网盘限速,几百个MB的下载需要几分钟呢

这个 DEB 包,没有 几十 M 这么夸张吧?

realtek-udev-rules_0.2-kba2_all.deb 3.85 KB
Reply View the author
owen_337
deepin testing team
2024-04-03 09:49
#15
字甲达宾

deb 已阅。提示几点:

  1. 0bda:1a2b 是 Realtek 品牌的 免驱型无线网卡的通用 USB 分区,不只针对 Realtek 8821c 型号;
  2. 建议顺便把 AIC8800 芯片的 USB 分区信息,也一并写入 ID a69c:5721 aicsemi Aic MSC

这个系列的 Wi-Fi 6, AX300 无线网卡 芯片(300M),对 Linux 支持较好(目前已知支持 到 6.2 或 6.3 内核)。

感谢反馈,麻烦帮忙提个pr到下面哈

https://github.com/deepin-community/usb-modeswitch-data

Reply View the author
字甲达宾
deepin
2024-04-03 22:53
#16
owen_337

感谢反馈,麻烦帮忙提个pr到下面哈

https://github.com/deepin-community/usb-modeswitch-data

抱歉,我这边 GitHub 经常上不去。可能无法帮这个忙了。

另外,我在 Debian 12.5 amd64, 看了下 debian 12 源里 自带的 usb-modeswitch-data 包 (版本 20191128-5)

grep -n 0bda -B1 /lib/udev/rules.d/40-usb_modeswitch.rules 

416-# D-Link DWA-171 Wifi Dongle
417:ATTR{idVendor}=="0bda", ATTR{idProduct}=="1a2b", RUN+="usb_modeswitch '/%k'"

RUN 后面的指令,与现在要增补的指令,可能冲突。请自行判断风险。

Reply View the author