Armadilloフォーラム

USBメモリへのデータ出力時のエラーについて

kyas-t5

2022年4月26日 13時51分

ご担当様

お世話になります。
Armadillo-x1でUSBメモリ関連の異常が発生しておりましてご助力頂きたです。

動作状況:USBメモリに他プロセスで用意したデータをファイルからreadしてCSVにコピーします。
     タイミングは20秒に1度程度。
     連続動作確認で4日間程度はエラーはログにでることなく動作しています。
     5日目に急に以下のログが出力されました。
     その後、USBメモリを抜いてPC(windows)に接続すると認識しなくなっていました。
     USBメモリのマウントはfstabにより自動でマウントするようにしています。記載内容は以下です。
     /dev/disk/by-path/platform-ci_hdrc.0-usb-0:1:1.0-scsi-0:0:0:0-part1 /media/usbmemory vfat auto,user,rw,nofail 0 0

USBメモリ:ELECOM MF-MSU2B08GBK

以下、エラーと思われる箇所のログです。
Apr 25 13:09:04 armadillo kernel: usb 1-1: reset high-speed USB device number 2 using ci_hdrc
Apr 25 13:09:36 armadillo kernel: usb 1-1: reset high-speed USB device number 2 using ci_hdrc
Apr 25 13:10:08 armadillo kernel: usb 1-1: reset high-speed USB device number 2 using ci_hdrc
Apr 25 13:10:40 armadillo kernel: usb 1-1: reset high-speed USB device number 2 using ci_hdrc
Apr 25 13:10:51 armadillo kernel: usb 1-1: reset high-speed USB device number 2 using ci_hdrc
Apr 25 13:11:07 armadillo kernel: usb 1-1: reset high-speed USB device number 2 using ci_hdrc
Apr 25 13:11:08 armadillo kernel: usb 1-1: reset high-speed USB device number 2 using ci_hdrc
Apr 25 13:11:18 armadillo kernel: usb 1-1: reset high-speed USB device number 2 using ci_hdrc
Apr 25 13:11:18 armadillo kernel: sd 0:0:0:0: Device offlined - not ready after error recovery
Apr 25 13:11:18 armadillo kernel: sd 0:0:0:0: [sda] tag#0 FAILED Result: hostbyte=DID_ABORT driverbyte=DRIVER_OK
Apr 25 13:11:18 armadillo kernel: sd 0:0:0:0: [sda] tag#0 CDB: Write(10) 2a 00 00 00 2a 20 00 00 02 00
Apr 25 13:11:18 armadillo kernel: blk_update_request: I/O error, dev sda, sector 10784
Apr 25 13:11:18 armadillo kernel: Buffer I/O error on dev sda1, logical block 10728, lost async page write
Apr 25 13:11:18 armadillo kernel: Buffer I/O error on dev sda1, logical block 10729, lost async page write
Apr 25 13:11:18 armadillo kernel: sd 0:0:0:0: rejecting I/O to offline device
Apr 25 13:11:18 armadillo kernel: sd 0:0:0:0: killing request
Apr 25 13:11:18 armadillo kernel: sd 0:0:0:0: rejecting I/O to offline device
Apr 25 13:11:18 armadillo kernel: sd 0:0:0:0: [sda] killing request
Apr 25 13:11:18 armadillo kernel: sd 0:0:0:0: rejecting I/O to offline device
Apr 25 13:11:18 armadillo kernel: sd 0:0:0:0: rejecting I/O to offline device
Apr 25 13:11:18 armadillo kernel: sd 0:0:0:0: rejecting I/O to offline device
Apr 25 13:11:18 armadillo kernel: sd 0:0:0:0: [sda] FAILED Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK
Apr 25 13:11:18 armadillo kernel: sd 0:0:0:0: [sda] CDB: Write(10) 2a 00 00 00 00 39 00 00 01 00
Apr 25 13:11:18 armadillo kernel: blk_update_request: I/O error, dev sda, sector 57
Apr 25 13:11:18 armadillo kernel: Buffer I/O error on dev sda1, logical block 1, lost async page write
Apr 25 13:11:19 armadillo kernel: sd 0:0:0:0: rejecting I/O to offline device
Apr 25 13:11:19 armadillo kernel: FAT-fs (sda1): unable to read inode block for updating (i_pos 524323)

コメント

このログですと単にUSBメモリが故障や寿命等の要因で読み書きできない状態に
なっているように見えます。USBメモリは新品でしょうか。

データは消えますが、一旦fdisk してパーティションテーブルを削除、再度作成し、
mkfs.vfatでファイルシステムを作り直した後に、しばらく同じように読み書き
しても同じように発生しますか?

特定のアドレスに書き込めないような故障であれば、少しずつ書く意味は無いので、
一度ファイルシステムを作り直した後に、一旦ディスクいっぱいまで
dd if=/dev/urandom of=/media/usbmemory/testdata
のように書き潰してみるといいかもしれません。