大量の[uhci_hcd: Controller not stopped yet!]がmessagesに出力する

/var/log/messages に「kernel: uhci_hcd xxxx:yy:zz.w: Controller not stopped yet!」が記録されます。 原因 RHEL6で #lsusb -vを実行時、あるいは SPP 2013.02以降で提供される hp-snmp-agents v9.30をインストールしている場合に発生する。
■#lsusb -v を実行時
 この現象は、#lsusb -v を実行時、uhci_hcdドライバーを使用する iLO USBコントローラーのサスペンド処理が旨く行われていない為に発生します。

■hp-snmp-agents v9.30をインストールしている場合
 hp-snmp-agents v9.30をインストールしている場合は、hp-snmp-agentsで提供される cmastdeqdデーモンから30秒周期で実行される usb-device.shスクリプト中で #lsusb -vが実行される為、  約30秒周期でこのメッセージが記録されます。

 iLOのリモートコンソールを開いている場合には、iLO USBコントローラーに仮想キーボードデバイスが接続され、iLO USBコントローラー自体のサスペンド処理が無効となるので、このメッセージは発生しません。また、RHEL5ではiLO USBコントローラーのサスペンド機能が実装されていないため、当現象は発生しません。  この現象は、iLO4(ProLiant Gen8)および iLO3(ProLiant G7)の環境で発生することが確認されています。


[uhci_hcd: Controller not stopped yet!]の回避策

以下のいずれかの方法にて、メッセージの抑制が可能です。

iLOの設定で、"マウス、キーボードの持続接続"を有効にする

iLO UHCI USBコントローラーに、常時 iLO仮想キーボードが接続された状態となり、iLO USBコントローラーのサスペンド処理が無効となる為、メッセージの抑制が可能です。 設定の詳細はHP iLO4ユーザーガイド、及びHP iLO3ユーザーガイドを参照してください。


RHEL6で iLO USBコントローラーの autosuspend設定を無効にする

以下、メッセージが ” kernel: uhci_hcd 0000:01:00.4: Controller not stopped yet!” の場合の設定手順例です。

1) /sys/bus/usb/devices下から iLO USBコントローラーのデバイスを検索
# ls -l /sys/bus/usb/devices/usb* |grep "0000:01:00.4"
usb3 -> ../../../devices/pci0000:00/0000:00:1c.7/0000:01:00.4/usb3
b) /iLO USBコントローラーの自動サスペンドを無効に設定
# echo "-1" > /sys/bus/usb/devices/usb3/power/autosuspend


Google+