ところが、ノートPCの電源動作を電池に切り替えたあとに、USBメモリのreadが失敗するエラーがでていた。
[問題]Linuxの電源切り替え時に、USBが再認識されていない(USBのデバイスへのIOが失敗する)
[解決]
Linuxでは、USB は電源の切り替えやサスペンドでAutosuspend(自動停止)するらしい。
一部ハードウェアはこの復帰動作が失敗するので、自動停止を解除しておく必要がある。
今回のusbメモリもこの例にもれなかったということになる。
このためusbcoreというモジュールのパラメータであるautosuspendを-1に変更すべきである。
しかし、Ubuntuは少し変であり、/etc/modprobe.dの直下を変更しても反映されない。
そこで、/etc/default/grubに一部変更を加えることで、このモジュールパラメータが自動的に変更されるようにできる。
http://unix.stackexchange.com/questions/91027/how-to-disable-usb-autosuspend-on-kernel-3-7-10-or-above
[*蛇足]
USBメモリをメインHDD化して下記を実現したかった。
- Ubuntu+Android Studio開発環境を手軽に2つのPC間で持ち運びたい(しかもファイルサーバは使わない)
- そしてホームディレクトリ等も含めてまるごと持ち運びたい