SD 读卡器仅在引导期间插入卡时才有效

s3l*_*lph 6 realtek sd-card drivers

我正在尝试让 Realtek RTS5229 SD 读卡器在我新安装的系统上运行。

linux-firmware-nonfree根据我关于此主题的其他问题,我安装了 RTS5229 SD 卡读卡器的驱动程序。

但是,读卡器只有在引导过程中插入 SD 卡时才能工作。当我启动插入它时,没有任何设备文件,并且在(取消)插入卡时 udev 监视器不显示任何内容。此外,lshw显示UNCLAIMED在设备的入口处。我已经尝试了以下方法:

  • 清除并重新安装 linux-firmware-nonfree
  • 插入mmc_blockrtsx_pcirtsx_pci_sdmmc进入/etc/modules就跑update-initramfs -u
  • 搜索了另一个解决方案 -> Gentoo 论坛,但建议的内核配置已经设置
  • dmesg | tail开机后插入卡后读取->[ 626.100472] pciehp 0000:00:05.0:pcie04: Card present on Slot(0-2)
  • 读取udevadm monitor-> 添加/删除在启动时插入时触发的事件,不插入时不触发事件。

有什么问题,我该如何解决?如果需要,请询问更多信息。

编辑:是否至少有可能在echo "1" > /sys/bus/pci/reload插入卡时运行(当内核将“卡存在”消息发布到 /var/log/kern.log 时)

小智 1

似乎有些人使用Realtek的旧驱动程序取得了更好的成功。

然而,这些在较新的内核上存在编译问题。有些人已经能够通过删除源文件中的违规符号然后安装模块(删除/将内核安装的模块列入黑名单)来解决这个问题。看看这个这个显然,这里提到的驱动程序还有一个更新的源,尽管它具有相同的编译问题,可以如上所述修复。

这维护起来会有些痛苦,因为每次内核升级都必须重新编译它。有人在这里创建了一个 dkms 包,虽然它是针对较旧的 12.04 版本的,但应该可以获取它的源 deb 并将上面提到的补丁集成到其中。

不过我还是建议首先尝试让它与内核驱动程序一起工作。我之前有两个建议:a)它是否显示在 gnome-disks 中,b)它是否在 BIOS 中启用。无论如何,我认为这应该在内核上游报告,因为内核驱动程序应该是从 GPLed Realtek 驱动程序创建的。也许它与 rtsx.c 中的“rts5229_ids”列表有关?