USB3.0 SuperSpeed (以下 SS) を使用していると, 表面上いままでの USB2.0 HS, FS となにも変わらず使用できますが, 消費電力削減の観点から SS が使える active 状態の U0 と SS もしくは device が suspend 状態の U1, U2, U3 があり, 通常 OS として SS の転送 rate が低い場合は suspend 状態に遷移する様にしているが, video など頻繁な転送を行なう場合は, suspend に入ってしまうと, active 状態の U0 に入るのに時間がかかり転送が drop してしまう.
そこで,
1. host 側の OS で suspend に移行しない様にする
2. target 側で suspend を reject する
事で, active 状態の U0 のままにする事ができる.
|
USB 3.2 Spec page 190 より |
linux では
echo -1 > /sys/module/usbcore/parameters/autosuspend
とする事で上記 1を実現できる.