USBマスストレージモードでSDカードにアクセスすると、携帯電話からSDカードに新しく追加された画像がPCに表示されません。ただし、カードを携帯電話から取り外して再度挿入すると、画像はPC(USBマスストレージとして接続されたSDカード)に表示されます。
次に、PCで画像が表示されない場合、カードリーダーから同じカードにアクセスすると、欠落している画像がSDカードに表示されます。
これは、電話のUSBマスストレージの問題であることを意味しますか?
最後に、この問題の根本的な原因が解明されました。問題は、電話がマスストレージモード(MSM)のときにLinuxがキャッシュを維持することでした。電話機がMSMに接続されるたびに、挿入時にドライバが挿入され、取り外し時にrmmodが挿入されます。ただし、Linuxは、ドライバーがrmmodされた後、キャッシュをドロップしません。したがって、次の修正で問題が解決しました。
sync;
echo 3 > /proc/sys/vm/drop_caches;
insmod driver.ko;
2番目のコマンドは、ドライバーが挿入される前にキャッシュを削除します。