LinuxはSDカードを読むことができません

LinuxはSDカードを読むことができません

LinuxでSDカードを読み込めません。私は別のコンピュータ(WindowsとLinux)で両方のSDカードを試してみました。また、ライブUSB(私がインストールしたのと同じカーネルとディストリビューションを使用)から起動し、やはり動作するので、何かが必要です。現在、Kali Linuxのインストールでこの問題が発生しています。

まず、SDカードを挿入したときに受信されるログは次のとおりです。

Jan  4 22:41:42 matrix kernel: [ 2028.923668] mmc0: card lacks mandatory switch function, performance might suffer
Jan  4 22:41:42 matrix kernel: [ 2028.923685] mmc0: new SD card at address aaaa
Jan  4 22:41:42 matrix kernel: [ 2028.924358] mmcblk0: mmc0:aaaa DSC16 256 MiB (ro)
Jan  4 22:41:42 matrix kernel: [ 2029.006966]  mmcblk0: p1
Jan  4 22:41:42 matrix kernel: [ 2029.006980] mmcblk0: p1 size 31108096 extends beyond EOD, truncated
Jan  4 22:41:43 matrix kernel: [ 2029.611115] print_req_error: I/O error, dev mmcblk0, sector 524672
Jan  4 22:41:43 matrix kernel: [ 2029.746877] print_req_error: I/O error, dev mmcblk0, sector 524673
Jan  4 22:41:43 matrix kernel: [ 2029.882571] print_req_error: I/O error, dev mmcblk0, sector 524674
Jan  4 22:41:43 matrix kernel: [ 2030.017980] print_req_error: I/O error, dev mmcblk0, sector 524675
Jan  4 22:41:43 matrix kernel: [ 2030.153261] print_req_error: I/O error, dev mmcblk0, sector 524676
Jan  4 22:41:44 matrix kernel: [ 2030.288366] print_req_error: I/O error, dev mmcblk0, sector 524677
Jan  4 22:41:44 matrix kernel: [ 2030.424021] print_req_error: I/O error, dev mmcblk0, sector 524678
Jan  4 22:41:44 matrix kernel: [ 2030.559682] print_req_error: I/O error, dev mmcblk0, sector 524679
Jan  4 22:41:44 matrix kernel: [ 2030.966821] print_req_error: I/O error, dev mmcblk0, sector 524672
Jan  4 22:41:44 matrix kernel: [ 2031.101915] print_req_error: I/O error, dev mmcblk0, sector 524673
Jan  4 22:41:45 matrix kernel: [ 2031.913602] Buffer I/O error on dev mmcblk0, logical block 65584, async page read
Jan  4 22:41:48 matrix kernel: [ 2034.631681] print_req_error: 21 callbacks suppressed
Jan  4 22:41:48 matrix kernel: [ 2034.631686] print_req_error: I/O error, dev mmcblk0, sector 524679
Jan  4 22:41:48 matrix kernel: [ 2034.631701] Buffer I/O error on dev mmcblk0p1, logical block 64560, async page read

これは lspci -v の出力、より具体的には SD カードリーダーの出力です。

02:00.0 SD Host controller: O2 Micro, Inc. SD/MMC Card Reader Controller (rev 01) (prog-if 01)
    Subsystem: Lenovo SD/MMC Card Reader Controller
    Flags: bus master, fast devsel, latency 0, IRQ 16
    Memory at e1301000 (32-bit, non-prefetchable) [size=4K]
    Memory at e1300000 (32-bit, non-prefetchable) [size=2K]
    Capabilities: <access denied>
    Kernel driver in use: sdhci-pci
    Kernel modules: sdhci_pci

lsmod grep MMCの出力|

mmc_block              45056  0
mmc_core              172032  4 sdhci,cqhci,mmc_block,sdhci_pci

mmcに関連するDmesg開始出力:

[    1.271406] mmc0: Unknown controller version (3). You may experience problems.
[    1.271639] mmc0: SDHCI controller on PCI [0000:02:00.0] using ADMA

これは私のカーネルです。

Linux matrix 4.18.0-kali2-amd64 #1 SMP Debian 4.18.10-2kali1 (2018-10-09) x86_64 GNU/Linux

私が試したこと:

  • modprobe を使用して sdhci を無効にして有効にします。
  • shdci_pciのdebug_quirk値を変更します(オプションsdhci debug_quirks = 0x40)。

ベストアンサー1

おすすめ記事