USB 2.0 ホストコントローラを持つシステムは、このリリースの Solaris を実行していると、頻繁にハングアップまたはパニックを起こすことがあります。これらの問題は、NEC 製チップセットを搭載していない USB 2.0 デバイスに原因があります。これらの問題が発生した場合、Enhanced Host Controller Interface (EHCI) に関する次のエラーメッセージが表示されます。
WARNING: /pci@0,0/pci8086,244e@1e/pci925,1234@2,2 (ehci1): This controller is not supported. Please refer to www.sun.com/io for Solaris Ready products and to www.sun.com/bidadmin/hcl for additional compatible USB products |
回避方法: システムのハードウェア構成によって、次のいずれかを実行してください。
USB 2.0 ホストコントローラハードウェアを NEC 製チップセットを搭載したハードウェアと交換します。NEC 製チップセットを搭載した USB 2.0 ハードウェアは Solaris OS で正しく動作することが確認されています。
USB 2.0 ホストコントローラがマザーボード上に組み込まれているシステムでは、空いている PCI スロットを利用して、次の手順を実行します。
NEC 製チップセットを搭載した USB 2.0 PCI カードを追加します。
スーパーユーザーになります。
マザーボード上の USB 2.0 サポートを無効にして、PCI カード上の USB 2.0 サポートだけを有効にします。次のコマンドを実行します。
# update_drv -d -i '"pciclass,0c0320"' usba10_ehci # update_drv -a -i '"pci1033,e0"' usba10_ehci # reboot |
速度が求められる USB 2.0 デバイスについては、マザーボード上の USB ポートではなく、PCI カード上の USB ポートに接続します。
新規に USB ハードウェアをシステムに追加できない場合でも、システムの EHCI を無効にできます。この場合は、次の手順を実行します。
スーパーユーザーになります。
次のコマンドを実行します。
# update_drv -d -i '"pciclass,0c0320"' usba10_ehci # reboot |
USB 2.0 ポートは 2 つのハードウェア構成要素で動作します。
高速の場合は EHCI
低速と全速の場合は Open Host Controller Interface (OHCI) または Universal Host Controller Interface (UHCI)
x86 ベースのシステムには、OHCI 用のドライバと UHCI 用のドライバが存在します。SPARC ベースのシステムには、OHCI 用のドライバが存在します。したがって、SPARC ベースのシステムの場合、EHCI を無効にしても、OHCI を持つ USB PCI カードは動作します。また、x86 ベースのシステムの場合、EHCI を無効にしても、OHCI または UHCI を持つ USB PCI カードは動作します。どちらの場合も、EHCI を無効にしたポートに接続されている USB 2.0 デバイスは、USB 1.1 デバイスの速度で動作します。
自分の SPARC ベースのシステムで EHCI と OHCI が存在するかどうかを確認するには、次のコマンドを入力します。
# prtconf -D
次の例のように、EHCI エントリは 1 つまたは複数の OHCI エントリのあとに出力されます。
pci, instance #0 (driver name: pci_pci) usb, instance #0 (driver name: usba10_ohci) usb, instance #1 (driver name: usba10_ohci) usb, instance #0 (driver name: usba10_ehci) |