O2 MicroのSDカードリーダーをLinuxで使う

O2 MicroのSDカードリーダーをLinuxで使う

持ち歩き用のLinux端末として、FUJITSUのシンクライアント端末、FUTRO MS936のM2 SSDを500GBに載せ替えたものを愛用していますが、32GB以上のSDHC/SDXCカードを使おうとしたところ、謎のI/Oエラーを吐いてマウントに失敗する現象が起きていました。

カーネルパラメータで解決したので覚書として

ハードウェア

この端末のlspciを取ってみるとこんな感じに

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# lspci
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers (rev 08)
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 510 (rev 07)
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)
00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI #1 (rev 21)
00:17.0 SATA controller: Intel Corporation Sunrise Point-LP SATA Controller [AHCI mode] (rev 21)
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #1 (rev f1)
00:1c.3 PCI bridge: Intel Corporation Device 9d13 (rev f1)
00:1c.4 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #5 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-LP LPC Controller (rev 21)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21)
00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21)
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection I219-LM (rev 21)
02:00.0 Network controller: Intel Corporation Wireless 8260 (rev 3a)
03:00.0 SD Host controller: O2 Micro, Inc. SD/MMC Card Reader Controller (rev 01)

O2 Microというところのカードリーダーのようです

原因

O2 Micro sdhciでぐぐってみるとこんなページが

https://bugzilla.kernel.org/show_bug.cgi?id=109231

どうもsdhciドライバにO2 MicroのSDIO DMAモードバグがあるらしく、カーネルパラメータにdebug_quirksを与えてDMAモードを指定してあげる必要があるようです

対策

というわけでYaST>ブートローダーでカーネルパラメータに

1
debug_quirks2="0x4"

を追加することに(カーネルのバージョンとハードウェアによって与えるべきパラメータは変わるようです。MS936ではこの値でOKでした)

shot1

再起動して確認したところ。無事マウントできるようになりました

O2 MicroのSDカードリーダーを搭載したノートPCでSDHC/SDXCカードが読めないという方は試してみてはいかがでしょうか

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×