百均SD/MSカードリーダ (14cd:125c)

ID が 14cd:125c の SD/MicroSD/MS/M2 を読み書きできると称する廉価のマルチカードリーダライタがある。

これはさいきん100均であがなったのだが、 Linux カーネル 3.14.16 以降で、 VFAT フォーマットの SD カードをマウントして、 たとえば df コマンドを実行したりなんかすると、

sd 3:0:0:0: [sdb] Unhandled sense code
sd 3:0:0:0: [sdb]  
Result: hostbyte=0x00 driverbyte=0x08
sd 3:0:0:0: [sdb]  
Sense Key : 0x3 [current] 
sd 3:0:0:0: [sdb]  
ASC=0x11 ASCQ=0x0
sd 3:0:0:0: [sdb] CDB: 
cdb[0]=0x28: 28 00 00 00 08 01 00 00 01 00
end_request: critical medium error, dev sdb, sector 2049

のようなエラーが出て、もうSDメディアの寿命かとビビる。

これもカーネル 3.8 のときには発生しなかった SCSI エラーなので、 usb-storage ドライバの quirks パラメータ設定すれば解決する。 Myson USB/IDE ブリッジ (04cf:8818) の場合とは違って、ここは n を指定しなければならない。 つまり

modprobe usb-storage quirks=0x14cd:0x125c:n

とやってモジュールを読み込めばよい。 他の quirks とあわせて modprobe.conf などにまとめて設定を記述するには、例によって

options usb-storage quirks=0x04cf:0x8818:w,0x0411:0x001d:w,0x14cd:0x125c:n

のようにコンマで区切って書く。

同じ 14cd:125c 素子を使って組み立てられたカードリーダは他にも色々ある。

with_flex_plug

これは狭いUSB挿し込み口でも使えるフレキプラグ仕様。

with_led

こちらは通電確認LED付き。

粗製濫造ゆえの一種のハズレ籤引きゲームの様相を呈すると言われるが、 耐久性や信頼性は程度問題にすぎないという意見もあるそうな。

2014年8月の SCSI lib の変更