我的 SD 读卡器无法工作

我的 SD 读卡器无法工作

将 SD 卡插入笔记本电脑的内置读卡器时,我的系统无法识别它。我已经尝试了 2 个带有适配器的 micro-SD 卡和 1 个 SD 卡,它们在 Windows 上都工作得很好,这意味着我可以排除读卡器或 SD 卡的问题。 SD 卡可以由外部 SD 卡读卡器通过 USB 进行访问,因此 SD 在 Linux 上并非无法访问。

我有一台 HP Pavilion 游戏笔记本电脑-dk1xxx,运行 Fedora Linux 39 工作站,内核版本为 6.7.9-200.fc39x86_64。我的笔记本电脑确实可以识别我的读卡器:

tygoe@fedora:~$ lspci --nnvv
...
08:00.0 Unassigned class [ff00]: Alcor Micro AU6625 PCI-E Flash card reader controller [1aea:6625]
    Subsystem: Hewlett-Packard Company Device [103c:8742]
    Control: I/O- Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 64 bytes
    Interrupt: pin A routed to IRQ 18
    Region 0: Memory at a5300000 (64-bit, non-prefetchable) [disabled] [size=4K]
    Capabilities: <access denied>
    Kernel driver in use: alcor_pci
    Kernel modules: alcor_pci
...

运行时lsusb,无法识别,并且在lsblk或中sudo fdisk -l,找不到SD卡:

tygoe@fedora:~$ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda           8:0    0 465.8G  0 disk 
├─sda1        8:1    0   600M  0 part /boot/efi
├─sda2        8:2    0     1G  0 part /boot
└─sda3        8:3    0 464.2G  0 part /home
                                      /
zram0       252:0    0     8G  0 disk [SWAP]
nvme0n1     259:0    0 476.9G  0 disk 
├─nvme0n1p1 259:1    0   100M  0 part 
├─nvme0n1p2 259:2    0    16M  0 part 
├─nvme0n1p3 259:3    0 475.7G  0 part 
├─nvme0n1p4 259:4    0   582M  0 part 
└─nvme0n1p5 259:5    0   530M  0 part 
tygoe@fedora:~$ sudo fdisk -l
Disk /dev/sda: 465.76 GiB, 500107862016 bytes, 976773168 sectors
...

Disk /dev/nvme0n1: 476.94 GiB, 512110190592 bytes, 1000215216 sectors
...

Disk /dev/zram0: 8 GiB, 8589934592 bytes, 2097152 sectors
...

插入后,也没有文件,/media并且/dev没有任何 mmcblk 设备。

在检查时dmesg,我看到一个错误:首先初始化 SD 卡时失败,然后大约每 10 秒,它会说“超时等待硬件中断”,这与这个探针:

[ 4446.354315] mmc0: error -110 whilst initialising SD card
[ 4456.593240] alcor_sdmmc alcor_sdmmc.0: Timeout waiting for hardware interrupt.
[ 4466.833227] alcor_sdmmc alcor_sdmmc.0: Timeout waiting for hardware interrupt.
[ 4477.074294] alcor_sdmmc alcor_sdmmc.0: Timeout waiting for hardware interrupt.
[ 4487.313135] alcor_sdmmc alcor_sdmmc.0: Timeout waiting for hardware interrupt.
[ 4497.553234] alcor_sdmmc alcor_sdmmc.0: Timeout waiting for hardware interrupt.
[ 4507.793392] alcor_sdmmc alcor_sdmmc.0: Timeout waiting for hardware interrupt.
[ 4518.033422] alcor_sdmmc alcor_sdmmc.0: Timeout waiting for hardware interrupt.
[ 4528.273424] alcor_sdmmc alcor_sdmmc.0: Timeout waiting for hardware interrupt.

向后滚动时,我也看到了这一点(我真的不知道它是否与此有关,但可能是这样):

[ 1141.382030] alcor_sdmmc alcor_sdmmc.0: Timeout waiting for hardware interrupt.
[ 1181.255355] pcieport 0000:00:1d.6: AER: Corrected error message received from 0000:00:1d.6
[ 1181.255368] pcieport 0000:00:1d.6: PCIe Bus Error: severity=Corrected, type=Data Link Layer, (Transmitter ID)
[ 1181.255370] pcieport 0000:00:1d.6:   device [8086:06b6] error status/mask=00001000/00002000
[ 1181.255371] pcieport 0000:00:1d.6:    [12] Timeout               
[ 1232.518117] alcor_sdmmc alcor_sdmmc.0: Timeout waiting for hardware interrupt.

有人可以帮助我吗?是驱动程序的源代码(包含在内核中)(如果有人能够用它做某事)。

相关内容