我的笔记本电脑内置有 debian 11 和 MicroSD 读卡器。设备:Realtek Semiconductor RTS5129 读卡器控制器。问题是,插卡多次后,卡突然莫名其妙地脱落。日志中没有错误。
我尝试过这样的命令:
modprobe -r rtsx_usb_sdmmc rtsx_usb_ms rtsx_usb
modprobe rtsx_usb_sdmmc rtsx_usb_ms rtsx_usb
之后我在日志中看到它:
Mar 07 21:42:20 linux kernel: usbcore: registered new interface driver rtsx_usb
Mar 07 21:42:20 linux kernel: rtsx_usb_sdmmc: unknown parameter 'rtsx_usb_ms' ignored
Mar 07 21:42:20 linux kernel: rtsx_usb_sdmmc: unknown parameter 'rtsx_usb' ignored
我插入存储卡,但 Linux 在 fdisk -l 中看不到它。
重新启动计算机后,我可以再次使用该卡,帮助别人尽其所能
答案1
无法帮助您使用读卡器。听起来像是固件故障,Windows 驱动程序可能通过秘密重置设备固件来默默地解决这个问题。
我可以帮助您解决modprobe
错误:
modprobe -r rtsx_usb_sdmmc rtsx_usb_ms rtsx_usb
有效,因为modprobe -r
可以在一个命令行上使用多个模块名称。看着man modprobe
:
modprobe [-r] [-v] [-n] [-i] [modulename...]
但
modprobe rtsx_usb_sdmmc rtsx_usb_ms rtsx_usb
失败,因为 modprobe 语法是(再次来自man modprobe
):
modprobe [modulename] [module parameters...]
“rtsx_usb_ms”和“rtsx_usb”被解释为参数到rtsx_usb_sdmmc
。
相反,做
modules="rtsx_usb_sdmmc rtsx_usb_ms rtsx_usb"
modprobe -r $modules
for mod in $modules ; do modprobe $mod ; done