笔记本电脑上的 Manjaro Linux 看不到 SD 卡

kyb*_*kyb 2 linux sd-card partitioning fdisk manjaro

dmesg输出:

[ 9376.684650] mmc0: card 59b4 removed
[ 9378.738987] mmc0: cannot verify signal voltage switch
[ 9378.859232] mmc0: new ultra high speed SDR104 SDHC card at address 59b4
Run Code Online (Sandbox Code Playgroud)

lsblk并且fdisk -l不显示任何磁盘。
KDE 分区管理器也看不到它。

我试图找到它,/dev但没有成功:

/dev/sda
/dev/sda1
/dev/sda2
/dev/sdb
/dev/sdb1
/dev/sdb2
/dev/sdb4
/dev/sg0
/dev/sg1
/dev/snapshot
/dev/stderr
/dev/stdin
/dev/stdout
Run Code Online (Sandbox Code Playgroud)

它们都不是 SD 卡。SD卡插入和弹出时列表相同。

更新

lspci 输出(缩短):

$ lspci
05:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTL8411B PCI Express Card Reader (rev 01)
Run Code Online (Sandbox Code Playgroud)

未分配的班级。这是否意味着系统需要RTL8411B 的驱动程序?

更新2.半偶然地解决了。

几个小时以来,我一直在搜索互联网并找到应该安装的软件包

Realtek 读卡器 RTL8402/8411/8411B 设备的内核模块

它被命名为 rts_bpp-dkms-git

~ ??? yaourt rts_bpp-dkms-git
1 aur/rts_bpp-dkms-git 6-1 [installed: 7-1] (1) (0,00)
    A kernel module for Realtek Card Reader RTL8402/8411/8411B Device
==> Enter n° of packages to be installed (e.g., 1 2 3 or 1-3)
==> ---------------------------------------------------------
==> 
Run Code Online (Sandbox Code Playgroud)

我尝试安装它并遇到了另一个问题:

:: Running post-transaction hooks...
(1/1) Install DKMS modules
==> No kernel 4.9.52-lts headers. You must install them to use DKMS!
Run Code Online (Sandbox Code Playgroud)

似乎包已安装但失败。需要安装linux49-headers

$ pacman -Ss linux headers
# pacman -S linux49-headers
Run Code Online (Sandbox Code Playgroud)

注意:用于uname -a了解系统名称和 Linux 内核版本。

比我还有一件事是关于dkms cannot find linux headers fot 4.9.52。我检查了指向文件夹

$ ls /usr/lib/modules/
4.9.53-1-MANJARO  extramodules-4.9-MANJARO
Run Code Online (Sandbox Code Playgroud)

并在那里找到了 linux headers 版本 4.9.53-1。我认为这是因为系统已更新为octopi( pacman -Suy) 并且未重新启动。

哦,魔术师。系统重启后(一直插入 SD 卡) Dolphin 可以看到 SD 卡的分区。我有mmcblk0设备。检查它 lsblk

kyb*_*kyb 5

问题:没有 RTL8411B 的驱动程序

$ lspci
05:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTL8411B PCI Express Card Reader (rev 01)
Run Code Online (Sandbox Code Playgroud)

解决办法找到并安装驱动

但首先我们需要知道:通过安装的驱动程序dkms通常需要 Linux 头文件。

首先了解内核版本

$ uname -a  
Linux kyb-manjaro-laptop 4.9.53-1-MANJARO #1 SMP PREEMPT Thu Oct 5 15:11:15 UTC 2017 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

这是 4.9.53-1-MANJARO

第二个安装 Linux 头文件。

$ pacman -Ss linux headers
Run Code Online (Sandbox Code Playgroud)

选择你的一个并安装它

# pacman -S linux49-headers
Run Code Online (Sandbox Code Playgroud)

第三次安装驱动程序本身

$ yaourt -S rts_bpp-dkms-git
Run Code Online (Sandbox Code Playgroud)

最后一步 - 重新启动系统。可选,可能是您的系统无需重新启动即可工作。


PS 要搜索另一个硬件芯片的驱动程序,请尝试:

基于Arch Linux

yaourt DRIVER_NAME
Run Code Online (Sandbox Code Playgroud)

对于Debian、Ubuntu

apt search DRIVER_NAME
Run Code Online (Sandbox Code Playgroud)