未检测到内部 SD 卡读卡器 HP realtek RTS5227

未检测到内部 SD 卡读卡器 HP realtek RTS5227

我最近在 HP Envy m7-j020dx 上安装了 Ubuntu 14.04。目前我遇到的唯一问题是似乎根本无法检测到内置 SD 卡读卡器。我曾尝试使用 Google 寻找解决方案,但几乎找不到如何解决此问题的方法,而且我尝试过的解决方案均无效。不存在外部问题,因为 Windows 8 中一切运行正常。

有趣的事实:在 14.04 Live CD 上可以检测到 SD 卡,但在其他地方则不能。

插入和不插入 SD 卡时,df -h结果如下:

Filesystem             Size  Used Avail Use% Mounted on
/dev/sda5              154G   35G  112G  24% /
none                   4,0K     0  4,0K   0% /sys/fs/cgroup
udev                   3,9G  4,0K  3,9G   1% /dev
tmpfs                  792M  1,4M  791M   1% /run
none                   5,0M     0  5,0M   0% /run/lock
none                   3,9G   28M  3,9G   1% /run/shm
none                   100M   32K  100M   1% /run/user
/dev/sda2              256M  102M  155M  40% /boot/efi
/home/ramzes/.Private  154G   35G  112G  24% /home/ramzes

无效的方法:

  • 将 SD 卡插入读卡器后重新启动
  • sudo modprobe rts5139
  • sudo modprobe rts5229(严重错误:未找到模块)
  • 这让我在接下来的 4 个小时里一直在修复分区类型
  • 谷歌首页上讨论这个话题的任何内容

一些信息

  • 核心: Linux envy 3.13.0-30-generic #55-Ubuntu SMP Fri Jul 4 21:40:53 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
  • lspci -v带卡输出:http://pastebin.com/VEHik10j- 相关位(可能):

    03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5227 PCI Express Card Reader (rev 01)
        Subsystem: Hewlett-Packard Company Device 1965
        Flags: fast devsel, IRQ 19
        Memory at b1000000 (32-bit, non-prefetchable) [size=4K]
        Capabilities: [40] Power Management version 3
        Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [70] Express Endpoint, MSI 00
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [140] Device Serial Number 00-00-00-01-00-4c-e0-00
        Capabilities: [150] Latency Tolerance Reporting
        Capabilities: [158] L1 PM Substates
    
  • dmesg输出:http://pastebin.com/daVuzg2g

答案1

我的天,我终于让它工作了。

好的,这就是我所做的。

从最后一行lspci可以清楚看出我需要 RTS5227 驱动程序。但是,我在网上找不到这个驱动程序。

相反,我采用了 RTS5229 驱动程序来自 Realtek 网站并执行以下操作。

我上传了这些文件,以便作为 RTS5227 驱动程序供有需要的人使用。

下载

下载链接已过期,因此源代码已被放入 GitHub 仓库,其中包含这些更改以及一些其他更改,以使其在 20.04 内核 5.4.0 上运行。

来源

对于那些不信任该链接或想手动执行此操作的人,我做了以下事情:

进入rtsx.c文件并从中删除以下代码片段:

  • __devinit
  • __devexit
  • __devexit_p
  • .proc_info = proc_info通过在行前添加 // 来注释掉第 266 行。

然后,在 中rtsx.h,更改
#define CR_DRIVER_NAME "rts5229"
#define CR_DRIVER_NAME "rts5227"

然后,在 Makefile 中,更改TARGET_MODULE := rts5229TARGET_MODULE := rts5227

完成这些之后,您应该能够正常安装驱动程序,如下所示:

  1. make
  2. sudo make install
  3. sudo depmod
  4. sudo modprobe rts5227

现在您应该可以在 nautilus 和启动器(在 Ubuntu 上)中看到 SD 插槽。

希望对您有所帮助,感谢大家的支持!!!

答案2

正如我今天所报道的Ubuntu 14.04 Realtek Semiconductor Co., Ltd. RTS5227 PCI Express 读卡器无法正常工作

# modprobe -r rtsx_pci
# modprobe rtsx_pci

使用 3.9 以上的内核就可以了。需要调查一下为什么它会被禁用。

相关内容