Armadilloフォーラム

Armadillo-640のUSBマウントについて

wataru_oba

2020年11月11日 21時10分

大場と申します。

以前の投稿記事を参考にArmadillo-640ボードに
・マウント時コマンド:「mount -t vfat /dev/$1 /mnt/usb」
・アンマウント時コマンド:「umount -l /mnt/usb」
にてUSBメモリの自動マウントを設定したのですが、
USBメモリをポートに差し込んだ後、
同USBメモリをWindows10で開くと、
「このドライバで問題が見つかりました。今すぐドライブをスキャンして修復して下さい。」
というメッセージが表示されます。

ファイルの読み書き等での実質的な問題は見当たらないのですが、
量産製品にて提供予定であるため、問題が無い事を説明する必要があり、
原因等をインターネット等でも調べたのですが、
特定の原因が掴めず当フォーラムに投稿させて頂きました。

この原因と解消する手段等ご存知でしたら、
ご教授頂けると幸いです。

よろしくお願い致します。

コメント

入江です。

以前の記事とは下記のフォーラムでしょうか?
https://armadillo.atmark-techno.com/forum/armadillo/3521

上記フォーラムである前提でお話ししますと、まず
> 「このドライバで問題が見つかりました。今すぐドライブをスキャンして修復して下さい。」
が表示される原因は、USBメモリを抜く前にumountが完了しなかったためです。

前述のフォーラムでは、udevでUSBメモリが抜かれた後にusb_auto_umount.sh
が実行されているため、USBメモリはumountされずに抜かれたことになります。

対策としては、udevでなくお客様のソフトウェア上で、USBメモリに書き込む
前にmountし、書き込みが完了したら必ずumountしてumount完了まで待つ、と
いった実装が単純で良いのではないでしょうか。

その際のumountには"-l"オプションはつけないで実行してください。

入江様

ご回答いただきありがとうございます。

以前のフォーラムとは、上記の通りでございます。

手動でumountを実行するとWindows側でエラー表示がでなくなる事を確認しました。
上記アドバイス頂いた方法にソフトウェアの変更を検討したいと思います。

> 入江です。
>
> 以前の記事とは下記のフォーラムでしょうか?
> https://armadillo.atmark-techno.com/forum/armadillo/3521
>
> 上記フォーラムである前提でお話ししますと、まず
> > 「このドライバで問題が見つかりました。今すぐドライブをスキャンして修復して下さい。」
> が表示される原因は、USBメモリを抜く前にumountが完了しなかったためです。
>
> 前述のフォーラムでは、udevでUSBメモリが抜かれた後にusb_auto_umount.sh
> が実行されているため、USBメモリはumountされずに抜かれたことになります。
>
> 対策としては、udevでなくお客様のソフトウェア上で、USBメモリに書き込む
> 前にmountし、書き込みが完了したら必ずumountしてumount完了まで待つ、と
> いった実装が単純で良いのではないでしょうか。
>
> その際のumountには"-l"オプションはつけないで実行してください。
>