この章では、Oracle Solaris OS で USB デバイスを使用する手順について説明します。
USB デバイスの使用手順については、次の節を参照してください。
USB デバイスに関する最新の情報については、次の Web サイトを参照してください。
http://www.sun.com/io_technologies/usb/USB-Faq.html
USB デバイスの使用に関する概要については、第 7 章USB デバイスの使用 (概要)を参照してください。
Oracle Solaris OS でのすべての USB デバイス管理作業を次の作業マップに一覧表示します。作業ごとにいくつかの詳細タスク (USB デバイスの使用、USB デバイスのホットプラグ、USB オーディオデバイスの追加など) を説明しています。
Oracle Solaris OS で USB コンポーネントを使用する方法については、「Oracle Solaris OS における USB について」を参照してください。
作業 |
説明 |
参照先 |
---|---|---|
USB 大容量ストレージデバイスを使用します。 |
USB 大容量ストレージデバイスにデータを追加する前に、USB デバイスにファイルシステムが作成されている必要があります。また、ファイルシステムを作成およびマウントする前に、USB フロッピーディスクをフォーマットする必要があります。 この節では、USB デバイスをシステムに物理的に取り付け、システムから物理的に取り外す方法についても説明します。 | |
USB オーディオデバイスを追加します。 |
この作業マップを使用して、USB オーディオデバイスの追加に関連する作業を特定します。 | |
cfgadm コマンドを使用して、USB デバイスをシステムに追加したり、システムから取り外したりします。 |
cfgadm コマンドを使用して、USB デバイスをシステムに論理的に追加したり、システムから論理的に取り外したりします。 |
作業 |
説明 |
参照先 |
---|---|---|
USB 大容量ストレージデバイスの取り付けまたは取り外しを行います。 |
次のいずれかの方法を選択して、USB 大容量ストレージデバイスを取り付けます。 |
|
USB 大容量ストレージデバイスを追加します。 | ||
|
USB カメラを追加して、デジタル画像にアクセスします。 | |
vold を使用しないで USB 大容量ストレージデバイスを取り外します。 | ||
非準拠 USB 大容量ストレージデバイスを追加します。 |
scsa2usb.conf にエントリを追加する方法で、非準拠 USB 大容量ストレージデバイスを追加します。 | |
USB 大容量ストレージデバイスを使用できるように準備します。 |
vold を使用して USB 大容量ストレージデバイスを使用できるように準備します。 | |
USB デバイス情報を表示します。 |
USB デバイス情報を表示します。 | |
USB 大容量ストレージデバイス上にファイルシステムを作成します。 |
デバイスにデータを格納する前に、デバイス上にファイルシステムを作成する必要があります。 | |
USB 大容量ストレージデバイス上で、パーティションを変更してファイルシステムを作成します。 |
USB 大容量ストレージデバイス上にファイルシステムを作成する前に、既存のパーティションの変更が必要な場合があります。 |
「vold を使用しないで USB 大容量ファイルシステム上でパーティションを変更し、PCFS ファイルシステムを作成する方法」 |
USB 大容量ストレージデバイス上に Solaris パーティションを作成してスライスを変更します。 |
rmformat を使用してスライス情報を変更する前に、スライス情報を持つファイルを作成する必要があります。 |
「USB 大容量ストレージデバイス上で vold を使用しないで Solaris パーティションの作成およびスライスの変更を行う方法」 |
vold を使用しないで USB 大容量ストレージデバイスをマウントします。 |
vold を使用しないで USB 大容量ストレージデバイスをマウントします。 | |
(省略可能) USB デバイスドライバを無効にします。 |
システムで USB サポートを必要としない場合は、USB デバイスドライバを無効にします。 | |
(省略可能) 未使用の USB デバイスリンクを削除します。 |
devfsadm コマンドを使って、USB デバイスのリンクを削除します。 |
Solaris 9 リリースから、次の USB リムーバブル大容量ストレージデバイスがサポートされるようになりました。
CD-RW
ハードディスク
DVD
デジタルカメラ
フロッピーディスクデバイス
SmartMedia および CompactFlash デバイス
Oracle Solaris ZFS ファイルシステムで USB 大容量ストレージデバイスを使用する方法については、「USB デバイスの新機能」を参照してください。
Oracle Solaris OS でサポートされるすべての USB デバイスを確認するには、次の Web サイトを参照してください。
http://www.sun.com/io_technologies/USB.html
以前の Solaris リリースでは、すべての USB ストレージデバイスはリムーバブルメディアとして識別されていました。これにより、自動マウントをはじめ、次に示す利点の大部分が実現されていました。Solaris 10 6/06 リリースでは、USB 大容量ストレージデバイスがホットプラグ対応デバイスとして認識されますが、次に示すような USB リムーバブルメディアの利点も得られます。ホットプラグの動作の詳細は、「USB と 1394 (FireWire) サポートの機能拡張」を参照してください。
Solaris 10 1/06 リリース以降、ホットプラグ対応デバイスは自動的にマウントされます。詳細は、「vold によるホットプラグ対応 USB デバイスの認識」 を参照してください。
標準の MS-DOS または Windows (FAT) ファイルシステムを使用する USB ストレージデバイスがサポートされます。
使いやすい rmformat コマンドを使用して、スライスを作成できます。fdisk コマンドを使用して USB デバイスのパーティションを作成できますが、format ユーティリティーまたは rmformat -F コマンドを使用して USB デバイスを物理的にフォーマットしないでください。
rmformat コマンドを使用して、メディアが挿入されているすべての USB デバイスを表示します。例については、「USB デバイス情報を表示する方法」を参照してください。
mount コマンドが必要なくなったため、ルート以外のユーザーでも USB ストレージデバイスにアクセスできます。デバイスは自動的にマウントされ、/rmdisk ディレクトリの下で利用できます。システムの停止中に新しいデバイスを接続した場合は、boot -r コマンドを使用して再構成ブートを実行し、そのデバイスを認識させます。
これらのデバイスは、リムーバブルメディアサービスを実行している場合でも実行していない場合でも管理できます。
FAT ファイルシステムを持つディスクをマウントし、アクセスできるようになりました。次に例を示します。
mount -F pcfs /dev/dsk/c2t0d0s0:c /mnt |
LOG SENSE ページをサポートするデバイスを除き、すべての USB ストレージデバイスの電源管理が行われます。LOG SENSE ページを使用するデバイスは通常、USB-SCSI ブリッジデバイスを介して接続する SCSI デバイスです。
USB 大容量ストレージデバイスでは、アプリケーションの動作が異なる場合があります。USB ストレージデバイスでアプリケーションを使用するときには、次の点に考慮してください。
以前のリリースではフロッピーディスクなどの小容量のデバイスだけがリムーバブルメディアとして認識されていたため、アプリケーションがメディアのサイズを正しく認識しないことがあります。
メディアを取り出すことができないデバイス (ハードディスクドライブなど) に対して、メディアを取り出す要求を行うと、要求は成功しますが、何も実行されません。
以前の Solaris リリースの動作が必要な場合、つまり、すべての USB 大容量ストレージがリムーバブルメディアデバイスとして認識されるようにするには、/kernel/drv/scsa2usb.conf ファイルを更新すれば、以前の動作を強制的に適用できます。
USB 大容量ストレージデバイスの詳しい使用方法については、scsa2usb(7D) のマニュアルページを参照してください。
USB フロッピーディスクはリムーバブルメディアデバイスとして表示されます。USB フロッピーディスクデバイスは、fd (フロッピー) ドライバでは管理されません。アプリケーションから fd (ネイティブフロッピー) ドライバに対する ioctl(2) 呼び出しを実行すると、そのアプリケーションは失敗します。read(2) および write(2) 呼び出しのみを実行するアプリケーションは成功します。SunPCI や rmformat などのほかのアプリケーションも成功します。
USB フロッピーディスクデバイスは SCSI リムーバブルメディアデバイスとして認識されます。デバイスは /rmdisk ディレクトリの下で利用できます。
USB フロッピーディスクデバイスの使用方法の詳細は、第 1 章リムーバブルメディアの管理 (概要)を参照してください。
デバイスの識別が間違っていたり、USB 大容量ストレージクラスと互換性がないとされているドライバでも、USB 大容量ストレージドライバをサポートする場合があります。scsa2usb.conf ファイルには、大容量デバイスに対応するかどうかを示す、ベンダー ID、製品 ID、およびバージョンを一覧表示した属性オーバーライドリストが含まれています。またデフォルトのデバイス属性をオーバーライドするフィールドも含まれています。このリストのエントリは、デフォルトでコメントアウトされています。これらのエントリをコピーしてコメントを解除すれば、特定のデバイスのサポートを有効にできます。
この Solaris リリースで動作するシステムに USB 大容量ストレージデバイスを接続したが、システムでそのデバイスを使用できない場合、/kernel/drv/scsa2usb.conf ファイルでこのデバイスに一致するコメントエントリがあるかどうか確認できます。scsa2usb.conf ファイルの指示に従って、オーバーライド情報を使用して、特定のデバイスをサポートできるかどうか確認してください。
推奨される USB 大容量ストレージデバイスについては、次の Web サイトを参照してください。
http://www.sun.com/io_technologies/USB.html
詳細は、scsa2usb(7D) のマニュアルページを参照してください。
スーパーユーザーになります。
/kernel/drv/scsa2usb.conf ファイルにエントリを追加します。
次のエントリは、USB メモリースティック用です。
attribute-override-list = "vid=* reduced-cmd-support=true"; |
システムをリブートするか、次の操作を実行します。
デバイスのホットプラグとは、オペレーティングシステムをシャットダウンすることなくあるいはシステムの電源を切ることなく、デバイスを追加したり取り外したりすることを指します。USB デバイスはすべてホットプラグ対応です。
リムーバブルメディアマネージャーがホットプラグ対応のデバイスを認識するようになりました。デバイスをプラグインするだけで、数秒でマウントされます。何も起こらない場合はデバイスがマウントされているどうかを確認してください。
リムーバブルメディアサービスが動作していることを確認します。
# svcs volfs STATE STIME FMRI online 10:39:12 svc:/system/filesystem/volfs:default |
# svcs hal dbus rmvolmgr STATE STIME FMRI online May_03 svc:/system/dbus:default online May_03 svc:/system/hal:default online May_03 svc:/system/filesystem/rmvolmgr:default |
デバイスが有効で認識されている場合は、デバイスからファイルシステムをマウントできます。
マウントに失敗した場合は、vold を停止します。
# svcadm disable volfs |
デバイス上のファイルシステムが自動的にマウントされない場合は、手動によるマウントを試みます。
デバイスをホットリムーブする前に、eject -l コマンドの別名からそのデバイスの名前を探します。次に、デバイスのメディアを取り出します。この処理を行わない場合でも、デバイスが解放されてポートが使用できる状態に戻りますが、デバイス上のファイルシステムが破損する場合があります。
USB デバイスは、ホットプラグを実行するとすぐにシステムのデバイス階層に表示されます (prtconf コマンドで確認可能)。USB デバイスを使用していないときにそのデバイスを取り外すと、システムのデバイス階層からそのデバイスが削除されます。
デバイスを取り外したときにそのデバイスを使用していた場合、デバイスノードは残りますが、このデバイスを制御しているドライバはデバイス上のすべての動作を停止します。このデバイスに発行されるすべての新しい入出力動作はエラーを返します。
このような状況で、 システムは元のデバイスを差し込むように要求します。デバイスが使用できない場合は、アプリケーションを停止してください。数秒後に、ポートが再び使用できるようになります。
動作中の、つまり開いているデバイスを削除すると、データの整合性が損なわれる可能性があります。デバイスを取り外す前には、必ずデバイスを閉じるようにしてください。ただし、接続されているキーボードとマウスは例外で、動作中でも移動することができます。
リムーバブルメディア管理を無効にする方法については、「リムーバブルメディアサービスを無効または有効にする方法」を参照してください。
vold が動作していないことを確認します。
# svcs volfs STATE STIME FMRI disabled 10:39:12 svc:/system/filesystem/volfs:default |
USB 大容量ストレージデバイスを接続します。
USB デバイスが追加されたことを確認します。
非 USB ストレージデバイスのデバイスリンクの間にあるかもしれない USB ディスクのデバイスリンクを、次のようにして確認します。
$ rmformat Looking for devices... 1. Logical Node: /dev/rdsk/c3t0d0p0 Physical Node: /pci@0,0/pci108e,4131@2,1/storage@4/disk@0,0 Connected Device: USB2.0 Flash Disk 2.00 Device Type: Removable |
カメラのメディアが PCFS ファイルシステムを使用している場合は、自動的にマウントされます。デバイスが scsa2usb ドライバにバインドされない場合は、libusb アプリケーションを使用して写真を転送します。詳細は、/usr/sfw/share/doc/libusb/libusb.txt を参照してください。
スーパーユーザーになります。
システムによって、カメラ用の論理デバイスが作成されます。カメラが差し込まれると、/var/adm/messages ファイルにメッセージが出力され、デバイスの接続が確認されます。システムでは、カメラはストレージデバイスとして扱われます。
/var/adm/messages ファイルの出力を確認します。
# more /var/adm/messages |
出力表示を確認すると、どの論理デバイスが作成されたかを確認でき、そのデバイスを使用してイメージにアクセスできます。出力表示は次のようになります。
Jul 15 09:53:35 buffy usba: [ID 349649 kern.info] OLYMPUS, C-3040ZOOM, 000153719068 Jul 15 09:53:35 buffy genunix: [ID 936769 kern.info] scsa2usb1 is /pci@0,0/pci925,1234@7,2/storage@2 Jul 15 09:53:36 buffy scsi: [ID 193665 kern.info] sd3 at scsa2usb1: target 0 lun 0 |
次のコマンドを実行して、デバイスをマウント可能な /dev/dsk リンクエントリに関連付けます。
# ls -l /dev/dsk/c*0 | grep /pci@0,0/pci925,1234@7,2/storage@2 lrwxrwxrwx 1 root root 58 Jun 14 2010 c3t0d0p0 -> ../../devices/pci@0,0/pci925,1234@7,2/storage@2/disk@0,0:a |
USB カメラファイルシステムをマウントします。
ほとんどの場合、カメラのファイルシステムは PCFS ファイルシステムです。ファイルシステムが PCFS の場合は、自動的にマウントされます。
x86 システム上でファイルシステムを手動でマウントするには、次のような構文を使用します。
# mount -F pcfs /dev/dsk/c3t0d0p0:c /mnt |
SPARC システム上でファイルシステムを手動でマウントするには、次のような構文を使用します。
# mount -F pcfs /dev/dsk/c3t0d0s0:c /mnt |
ファイルシステムのマウント方法については、第 18 章ファイルシステムのマウントとマウント解除 (手順)を参照してください。
さまざまな PCFS ファイルシステムのマウント方法については、mount_pcfs(1M) のマニュアルページを参照してください。
イメージファイルが使用可能であることを確認します。
次に例を示します。
# ls /mnt/DCIM/100OLYMP/ P7220001.JPG* P7220003.JPG* P7220005.JPG* P7220002.JPG* P7220004.JPG* P7220006.JPG* |
USB カメラが作成したイメージファイルを表示します。
次に例を示します。
# /usr/dt/bin/sdtimage P7220001.JPG & |
カメラを切り離す前に、ファイルシステムをマウント解除します。
次に例を示します。
# umount /mnt |
(省略可能) カメラの電源をオフにし、切り離します。
この手順は、リムーバブルメディアサービスが無効になっている状態で実行します。
スーパーユーザーになります。
リムーバブルメディアサービスを無効にする方法については、「リムーバブルメディアサービスを無効または有効にする方法」を参照してください。
リムーバブルメディアサービスが動作していないことを確認します。
# svcs volfs STATE STIME FMRI disabled Sep_29 svc:/system/filesystem/volfs:default |
そのデバイスを使用しているアプリケーションを実行中の場合は、そのアプリケーションを停止します。
デバイスをマウント解除します。
デバイスを取り外します。
リムーバブルメディア上の情報にアクセスするには、リムーバブルメディアサービスを使用する方法と使用しない方法があります。GNOME のファイルマネージャーを使用してリムーバブルメディア上の情報にアクセスする方法については、GNOME デスクトップのマニュアルを参照してください。
USB デバイスのフォーマットが終了すると、通常は /rmdisk/label ディレクトリの下にマウントされます。
デバイスノードは /vol/dev ディレクトリの下に作成されます。リムーバブルストレージデバイスの構成の詳細は、rmmount.conf(4) または vold.conf(4) のマニュアルページを参照してください。
次の手順は、vold を使用しないで USB 大容量ストレージデバイスを管理する方法を示しています。デバイスノードは、文字型デバイスについては /dev/rdsk ディレクトリ、ブロック型デバイスについては /dev/dsk ディレクトリの下に作成されます。デバイスリンクは、デバイスのホットプラグを実行したときに作成されます。詳細は、scsa2usb(7D) のマニュアルページを参照してください。
リムーバブルメディアサービスでデバイスを認識できない場合は、デバイスを手動でマウントしてみます。まず rmformat コマンドを使用してデバイスのパスを特定し、次にスーパーユーザーとして mount コマンドを使用してデバイスを手動でマウントします。
デバイスを手動でマウントした場合は、umount コマンドをスーパーユーザーとして使ってマウントを解除します。
USB デバイスのマウントおよびマウント解除の方法については、「vold を使用しないで USB 大容量ストレージデバイスをマウントまたはマウント解除する方法」を参照してください。
たとえば、prtconf コマンドを使用して USB デバイス情報を表示します。この例の prtconf の出力は、USB デバイス情報のみを表示するように省略されています。
$ prtconf usb, instance #0 hub, instance #2 device, instance #8 interface (driver not attached) printer (driver not attached) mouse, instance #14 device, instance #9 keyboard, instance #15 mouse, instance #16 storage, instance #7 disk (driver not attached) communications, instance #10 modem (driver not attached) data (driver not attached) storage, instance #0 disk (driver not attached) storage, instance #1 disk (driver not attached) |
たとえば、rmformat コマンドを使用して USB デバイス情報を表示します。
$ rmformat Looking for devices... 1. Volmgt Node: /vol/dev/aliases/cdrom0 Logical Node: /dev/rdsk/c0t2d0s2 Physical Node: /pci@1f,0/pci@1,1/ide@3/sd@2,0 Connected Device: LG CD-ROM CRD-8322B 1.03 Device Type: CD Reader |
USB フロッピーディスクは、ファイルシステムを追加する前にフォーマットする必要があります。その他のすべての USB 大容量ストレージデバイスを使用するには、PCFS または UFS ファイルシステムが必要です。USB デバイスをフォーマットするときには、次の点に注意してください。
USB フロッピーディスク以外で rmformat -F を使用しないでください。
デフォルトのスライスを使用しない場合は、rmformat -s コマンドを使用してスライスを作成します。必要に応じて、fdisk ユーティリティーを使用して USB デバイスにパーティションを作成します。手順については、次を参照してください。
「vold を使用しないで USB 大容量ファイルシステム上でパーティションを変更し、PCFS ファイルシステムを作成する方法」
「USB 大容量ストレージデバイス上で vold を使用しないで Solaris パーティションの作成およびスライスの変更を行う方法」
USB デバイスが自動的にマウントされている場合は、USB デバイス上にファイルシステムを作成する前に、マウント解除する必要があります。
手順 4 と 5 は、USB フロッピーディスクをフォーマットする必要がある場合にのみ実行してください。
スーパーユーザーになります。
USB デバイスをシステムに追加します。 USB デバイスのホットプラグを実行する方法については、次の節を参照してください。
(省略可能) USB デバイスを特定します。
次に例を示します。
# cd /dev/rdsk # ls -l c*0 | grep usb lrwxrwxrwx 1 root root 55 Mar 5 10:35 c2t0d0s0 -> ../../devices/pci@1f,0/usb@c,3/storage@3/disk@0,0:a,raw |
この例では、フロッピーディスクデバイスは c2t0d0s0 です。
必要に応じて、フロッピーディスクをフロッピーディスクドライブに挿入します。
必要に応じて、フロッピーディスクをフォーマットします。
% rmformat -F long raw-device |
SPARC システムの場合、たとえば次のようになります。
% rmformat -F long /dev/rdsk/c2t0d0s2 |
x86 システムの場合、たとえば次のようになります。
% rmformat -F long /dev/rdsk/c3t0d0p0 |
ファイルシステムのタイプを判別し、デバイスがマウント解除されていることを確認します。次のいずれかの手順に従います。
USB デバイスのマウント解除の方法については、「vold を使用しないで USB 大容量ストレージデバイスをマウントまたはマウント解除する方法」を参照してください。
PCFS ファイルシステムを作成します。
# mkfs -F pcfs -o nofdisk,size=size raw-device |
-size オプションを 512 バイトブロック単位で指定します。
次の例は、SPARC システムにおいて 1.4M バイトのフロッピーディスクに PCFS ファイルシステムを作成する方法を示しています。
# mkfs -F pcfs /dev/rdsk/c2t0d0p0 Construct a new FAT file system on /dev/rdsk/c2t0d0p0: (y/n)? y |
次の例は、x86 システムにおいて 1.4M バイトのフロッピーディスクに PCFS ファイルシステムを作成する方法を示しています。
# mkfs -F pcfs /dev/rdsk/c2t0d0s2 Construct a new FAT file system on /dev/rdsk/c2t0d0s2: (y/n)? y |
次の例は、SPARC システムにおいて 100M バイトの USB メモリースティックに PCFS ファイルシステムを作成する方法を示しています。
# mkfs -F pcfs /dev/rdsk/c5t0d0s2:c |
次の例は、x86 システムにおいて 100M バイトの USB メモリースティックに PCFS ファイルシステムを作成する方法を示しています。
# mkfs -F pcfs /dev/rdsk/c5t0d0p0:c |
このコマンドの実行には、数分かかることがあります。
UFS ファイルシステムを作成します。
# newfs raw-device |
次に例を示します。
# newfs /dev/rdsk/c4t0d0s7 |
大容量の USB ハードディスクの場合は、newfs -f 4096 オプションまたは newfs -T オプションの使用を検討してください。
フロッピーディスクの記憶容量は少ないので、UFS ファイルシステムのためにフロッピーディスクのかなりの容量が消費されます。
USB 大容量ストレージデバイス上での PCFS ファイルシステムの作成とスライスの変更の詳しい例については、次の 2 つの手順を参照してください。
リムーバブルメディアサービスが無効になっている状態で USB 大容量ストレージデバイスにファイルシステムを追加するには、次の手順を実行します。
USB フロッピーディスクは、ファイルシステムを追加する前にフォーマットする必要があります。その他のすべての USB 大容量ストレージデバイスを使用するには、PCFS または UFS ファイルシステムが必要です。USB フロッピーディスクをフォーマットするときには、次の点に注意してください。
USB フロッピーディスク以外で rmformat -F を使用しないでください。
デフォルトのスライスを使用しない場合は、rmformat -s コマンドを使用してスライスを作成します。必要に応じて、fdisk ユーティリティーを使用して USB デバイスにパーティションを作成します。手順については、次を参照してください。
手順 7 と 8 は、USB フロッピーディスクをフォーマットする必要がある場合にのみ実行してください。
スーパーユーザーになります。
リムーバブルメディアサービスを無効にする方法については、「リムーバブルメディアサービスを無効または有効にする方法」を参照してください。
リムーバブルメディアサービスが動作していないことを確認します。
# svcs volfs STATE STIME FMRI disable 10:39:12 svc:/system/filesystem/volfs:default |
USB デバイスをシステムに追加します。
USB デバイスのホットプラグを実行する方法については、次を参照してください。
(省略可能) USB デバイスを特定します。
次の例では、USB フロッピーディスクデバイスを特定します。
# cd /dev/rdsk # ls -l c*0 | grep usb lrwxrwxrwx 1 root root 55 Mar 5 10:35 c2t0d0s0 -> ../../devices/pci@1f,0/usb@c,3/storage@3/disk@0,0:a,raw |
この例では、フロッピーディスクデバイスは c2t0d0s0 です。
必要に応じて、フロッピーディスクをフロッピーディスクドライブに挿入します。
必要に応じて、フロッピーディスクをフォーマットします。
% rmformat -F long raw-device |
SPARC システムの場合、たとえば次のようになります。
% rmformat -F long /dev/rdsk/c2t0d0s2 |
x86 システムの場合、たとえば次のようになります。
% rmformat -F long /dev/rdsk/c3t0d0p0 |
ファイルシステムの種類を決定し、次のいずれかの作業を選択します。
PCFS ファイルシステムを作成します。
# mkfs -F pcfs -o nofdisk,size=size raw-device |
-size オプションを 512 バイトブロック単位で指定します。
次の例は、SPARC システムにおいて 1.4M バイトのフロッピーディスクに PCFS ファイルシステムを作成する方法を示しています。
# mkfs -F pcfs -o nofdisk,size=2880 /dev/rdsk/c4t0d0s2 |
次の例は、x86 システムにおいて 1.4M バイトのフロッピーディスクに PCFS ファイルシステムを作成する方法を示しています。
# mkfs -F pcfs -o nofdisk,size=2880 /dev/rdsk/c4t0d0p0 |
次の例は、SPARC システムにおいて 100M バイトの USB メモリースティックに PCFS ファイルシステムを作成する方法を示しています。
# mkfs -F pcfs /dev/rdsk/c5t0d0s2:c |
次の例は、x86 システムにおいて 100M バイトの USB メモリースティックに PCFS ファイルシステムを作成する方法を示しています。
# mkfs -F pcfs /dev/rdsk/c5t0d0p0:c |
このコマンドの実行には、数分かかることがあります。
UFS ファイルシステムを作成します。
# newfs raw-device |
次に例を示します。
# newfs /dev/rdsk/c4t0d0s7 |
大容量の USB ハードディスクの場合は、newfs -f 4096 オプションまたは newfs -T オプションの使用を検討してください。
フロッピーディスクの記憶容量は少ないので、UFS ファイルシステムのためにフロッピーディスクのかなりの容量が消費されます。
USB 大容量ストレージデバイス上での PCFS ファイルシステムの作成とスライスの変更の詳しい例については、次の 2 つの手順を参照してください。
次の手順では、リムーバブルメディアサービスが無効になっている状態で、USB デバイス上で既存のパーティションを削除し、新しいパーティションを作成してから PCFS ファイルシステムを作成する方法を説明します。この作業を実行する前にデータをバックアップしてください。
スーパーユーザーになります。
リムーバブルメディアサービスを無効にする方法については、「リムーバブルメディアサービスを無効または有効にする方法」を参照してください。
fdisk ユーティリティーを起動します。
次に例を示します。
# fdisk /dev/rdsk/c3t0d0p0 |
オプション 3 を選択してパーティションを削除します。
次に例を示します。
Total disk size is 29 cylinders Cylinder size is 2048 (512 byte) blocks Cylinders Partition Status Type Start End Length % ========= ====== ============ ===== === ====== === 1 Active Solaris2 1 28 28 97 SELECT ONE OF THE FOLLOWING: 1. Create a partition 2. Specify the active partition 3. Delete a partition 4. Change between Solaris and Solaris2 Partition IDs 5. Exit (update disk configuration and exit) 6. Cancel (exit without updating disk configuration) Enter Selection: 3 |
削除するパーティションの番号を選択します。
次に例を示します。
Total disk size is 29 cylinders Cylinder size is 2048 (512 byte) blocks Cylinders Partition Status Type Start End Length % ========= ====== ============ ===== === ====== === 1 Active Solaris2 1 28 28 97 SELECT ONE OF THE FOLLOWING: 1. Create a partition 2. Specify the active partition 3. Delete a partition 4. Change between Solaris and Solaris2 Partition IDs 5. Exit (update disk configuration and exit) 6. Cancel (exit without updating disk configuration) Specify the partition number to delete (or enter 0 to exit): 1 Partition deleted. |
パーティションを作成します。
次に例を示します。
Total disk size is 29 cylinders Cylinder size is 2048 (512 byte) blocks Cylinders Partition Status Type Start End Length % ========= ====== ============ ===== === ====== === WARNING: no partitions are defined! SELECT ONE OF THE FOLLOWING: 1. Create a partition 2. Specify the active partition 3. Delete a partition 4. Change between Solaris and Solaris2 Partition IDs 5. Exit (update disk configuration and exit) 6. Cancel (exit without updating disk configuration) Enter Selection: 1 |
パーティションタイプとして FAT32 を選択します。
Total disk size is 29 cylinders Cylinder size is 2048 (512 byte) blocks Cylinders Partition Status Type Start End Length % ========= ====== ============ ===== === ====== === WARNING: no partitions are defined! SELECT ONE OF THE FOLLOWING: 1. Create a partition 2. Specify the active partition 3. Delete a partition 4. Change between Solaris and Solaris2 Partition IDs 5. Exit (update disk configuration and exit) 6. Cancel (exit without updating disk configuration) Select the partition type to create: 1=SOLARIS2 2=UNIX 3=PCIXOS 4=Other 5=DOS12 6=DOS16 7=DOSEXT 8=DOSBIG 9=DOS16LBA A=x86 Boot B=Diagnostic C=FAT32 D=FAT32LBA E=DOSEXTLBA F=EFI 0=Exit? c |
このパーティションに使用するディスクの割合を指定します。
Total disk size is 29 cylinders Cylinder size is 2048 (512 byte) blocks Cylinders Partition Status Type Start End Length % ========= ====== ============ ===== === ====== === WARNING: no partitions are defined! SELECT ONE OF THE FOLLOWING: 1. Create a partition 2. Specify the active partition 3. Delete a partition 4. Change between Solaris and Solaris2 Partition IDs 5. Exit (update disk configuration and exit) 6. Cancel (exit without updating disk configuration) Select the partition type to create: Specify the percentage of disk to use for this partition (or type "c" to specify the size in cylinders). 100 |
新しいパーティションをアクティブなパーティションにするか非アクティブなパーティションにするかを選択します。
Total disk size is 29 cylinders Cylinder size is 2048 (512 byte) blocks Cylinders Partition Status Type Start End Length % ========= ====== ============ ===== === ====== === WARNING: no partitions are defined! SELECT ONE OF THE FOLLOWING: 1. Create a partition 2. Specify the active partition 3. Delete a partition 4. Change between Solaris and Solaris2 Partition IDs 5. Exit (update disk configuration and exit) 6. Cancel (exit without updating disk configuration) Select the partition type to create: Should this become the active partition? If yes, it will be activated each time the computer is reset or turned on. Please type "y" or "n". n |
ディスク構成を更新して終了します。
Total disk size is 29 cylinders Cylinder size is 2048 (512 byte) blocks Cylinders Partition Status Type Start End Length % ========= ====== ============ ===== === ====== === 1 Win95 FAT32 1 28 28 97 SELECT ONE OF THE FOLLOWING: 1. Create a partition 2. Specify the active partition 3. Delete a partition 4. Change between Solaris and Solaris2 Partition IDs 5. Exit (update disk configuration and exit) 6. Cancel (exit without updating disk configuration) Enter Selection: 5 |
このパーティション上に PCFS ファイルシステムを作成します。
次に例を示します。
# mkfs -F pcfs -o fat=32 /dev/rdsk/c3t0d0p0:c Construct a new FAT file system on /dev/rdsk/c3t0d0p0:c: (y/n)? y |
次の手順では、リムーバブルメディアサービスが無効になっている状態で、Solaris パーティションを作成してスライスを変更する方法を説明します。
この作業を実行する前にデータをバックアップしてください。
スーパーユーザーになります。
リムーバブルメディアサービスを無効にする方法については、「リムーバブルメディアサービスを無効または有効にする方法」を参照してください。
fdisk ユーティリティーを起動します。
次に例を示します。
# fdisk /dev/rdsk/c5t0d0s2 No fdisk table exists. The default partition for the disk is: a 100% "SOLARIS System" partition Type "y" to accept the default partition, otherwise type "n" to edit the partition table. y |
現在のスライスを表示します。
次に例を示します。
# prtvtoc /dev/rdsk/c5t0d0s2 * /dev/rdsk/c5t0d0s2 partition map * * Dimensions: * 512 bytes/sector * 63 sectors/track * 255 tracks/cylinder * 16065 sectors/cylinder * 5836 cylinders * 5836 accessible cylinders * * Flags: * 1: unmountable * 10: read-only * * First Sector Last * Partition Tag Flags Sector Count Sector Mount Directory 0 0 00 0 93755340 93755339 2 0 00 0 93755340 93755339 |
スライスの情報を含むテキストファイルを作成します。
次に例を示します。
slices: 0 = 0, 5GB, "wm", "home" : 1 = 8225280000, 6GB : 2 = 0, 44GB, "wm", "backup" : 6 = 16450560000, 15GB |
各スライスがシリンダ境界から始まっていることを確認します。たとえば、スライス 1 は 822280000 バイトから始まっています。この数は、シリンダサイズ (バイト数) の 1000 倍になります。
詳細は、rmformat(1) の -s オプションの説明を参照してください。
上記の手順で作成したスライスファイルを含むスライスを作成します。
次に例を示します。
# rmformat -s slice_file /dev/rdsk/c5t0d0s2 |
新しいスライスの情報を表示します。
次に例を示します。
# prtvtoc /dev/rdsk/c5t0d0s2 * /dev/rdsk/c5t0d0s2 partition map * * Dimensions: * 512 bytes/sector * 63 sectors/track * 255 tracks/cylinder * 16065 sectors/cylinder * 5836 cylinders * 5836 accessible cylinders * * Flags: * 1: unmountable * 10: read-only * * Unallocated space: * First Sector Last * Sector Count Sector * 10485760 5579240 16064999 * 28647912 3482088 32129999 * 63587280 30168060 93755339 * * First Sector Last * Partition Tag Flags Sector Count Sector Mount Directory 0 8 00 0 10485760 10485759 1 3 01 16065000 12582912 28647911 2 5 00 0 92274688 92274687 6 4 00 32130000 31457280 63587279 |
次の手順では、リムーバブルメディアサービスが無効になっている状態で、USB 大容量ストレージデバイスをマウントまたはマウント解除する方法を説明します。
スーパーユーザーになります。
リムーバブルメディアサービスを無効にする方法については、「リムーバブルメディアサービスを無効または有効にする方法」を参照してください。
リムーバブルメディアサービスが動作していないことを確認します。
# svcs volfs STATE STIME FMRI disabled 10:39:12 svc:/system/filesystem/volfs:default |
(省略可能) デバイスを特定します。
次に例を示します。
# cd /dev/rdsk # ls -l c*0 | grep usb lrwxrwxrwx 1 root root 55 Mar 5 10:35 c2t0d0s0 -> ../../devices/pci@1f,0/usb@c,3/storage@3/disk@0,0:a,raw |
この例では、フロッピーディスクデバイスは c2t0d0s0 です。
次のいずれかの方法を選択して、USB 大容量ストレージデバイスをマウントまたはマウント解除します。
USB 大容量ストレージデバイスをマウントします。
# mount [ -F fstype ] block-device mount-point |
次の例は、UFS ファイルシステムを使用しているデバイスのマウント方法を示しています。
# mount /dev/dsk/c1t0d0s2 /mnt |
次の例は、SPARC システムにおいて、PCFS ファイルシステムを使用しているデバイスをマウントする方法を示しています。
# mount -F pcfs /dev/dsk/c3t0d0s2:c /mnt |
次の例は、x86 システムにおいて、PCFS ファイルシステムを使用しているデバイスをマウントする方法を示しています。
# mount -F pcfs /dev/dsk/c3t0d0p0:c /mnt |
次の例は、読み取り専用の HSFS ファイルシステムを使用している CD のマウント方法を示しています。
# mount -F hsfs -o ro /dev/dsk/c1t0d0s2 /mnt |
USB 大容量ストレージデバイスをマウント解除します。
デバイス上のファイルシステムを使用しているユーザーがいないことを最初に確認してください。
次に例を示します。
# fuser -c -u /mnt # umount /mnt |
CD またはフロッピーディスクデバイスの場合には、デバイスを取り出します。
# eject /dev/[r]dsk/cntndnsn |
次に例を示します。
# eject /dev/rdsk/c1t0d0s2 |
USB 大容量ストレージデバイスの追加または取り外しで問題が発生した場合には、次のヒントを参考にしてください。
/var/adm/messages ファイルでデバイスの列挙の失敗を確認します。列挙の失敗の場合は、USB ハブを挿入するか、ハブを取り外してルート USB ハブに直接接続します。
システムの停止中に USB デバイスを追加または削除した場合は、再構成ブートを実行する必要があります。
ok boot -r |
システムの稼働中に接続したデバイスにアクセスするときに、問題が発生した場合は、次のコマンドを実行してください。
# devfsadm |
保存停止モードでシステムの電力消費を抑えている場合は、デバイスを移動しないでください。詳細は、「SPARC: USB 電源管理」を参照してください。
アプリケーションがデバイスを使用しているときに、そのデバイスが取り外されて使用できなくなっている場合は、アプリケーションを停止してください。そのデバイスノードが削除されているかどうかを確認するには、 prtconf コマンドを使用します。
特定の種類の USB デバイスを無効にするには、対応するクライアントドライバを無効にします。たとえば、USB プリンタを無効にするには、そのプリンタを使用している usbprn ドライバを無効にします。usbprn を無効にしても、USB ストレージデバイスなどのほかのデバイスには影響しません。
次の表に、USB デバイスの種類の一部とそれらに対応するドライバを示します。
デバイスの種類 |
無効にするドライバ |
---|---|
Audio Device |
usb_ac および usb_as |
HID (通常はキーボードとマウス) |
hid |
ストレージ |
scsa2usb |
プリンタ |
usbprn |
シリアル |
usbser_edge |
システムに接続されている USB デバイスのドライバを無効にすると、次のようなコンソールメッセージが表示されます。
usba10: WARNING: usba: no driver found for device name |
スーパーユーザーになります。
ドライバの別名エントリを /etc/system ファイルから除外します。
たとえば、次の exclude 文を追加して usbprn ドライバを除外します。
exclude: usbprn |
システムを再起動します。
# init 6 |
システムの電源がオフのときに USB デバイスを取り外した場合には、次の手順を実行します。システムの電源が切断されているときに USB デバイスを取り外すと、存在しないデバイスへのリンクが残る場合があります。
スーパーユーザーになります。
そのデバイスにアクセスする可能性のあるアプリケーションをすべて閉じます。
特定の USB クラスの未使用のリンクを削除します。
次に例を示します。
# devfsadm -C -c audio |
または、関連するリンクをすべて削除します。
# devfsadm -C |
作業 |
説明 |
参照先 |
---|---|---|
USB オーディオデバイスを追加します。 |
USB マイクおよびスピーカを追加します。 | |
システムの主オーディオデバイスを特定します。 |
システムの主オーディオデバイスを特定します。 | |
主 USB オーディオデバイスを変更します。 |
USB オーディオデバイスを取り外したり変更したりする場合、1 つのオーディオデバイスを主オーディオデバイスにすることがあります。 | |
使用していない USB デバイスリンクを削除します。 |
システムの電源がオフのときに USB オーディオデバイスを取り外すと、/dev/audio デバイスが、存在しない /dev/sound/* デバイスを指したままになることがあります。 | |
USB オーディオに関する問題の障害追跡を行います。 |
USB スピーカからサウンドが出力されない場合は、この節を参照します。 |
特定の Solaris リリースでの USB オーディオサポートについては、「USB デバイスの Solaris サポート」を参照してください。
この Solaris リリースでは、2 つの連携するドライバ、usb_ac および usb_as の実装によって、USB オーディオサポートを提供しています。オーディオコントロールドライバである usb_ac は Solaris USB Architecture 準拠のクライアントドライバで、ユーザーアプリケーションのインタフェースを制御します。オーディオストリーミングドライバである usb_as は、再生中および録音中にオーディオデータメッセージを処理します。また、サンプル周波数と精度を設定し、usb_ac ドライバからの要求を符号化します。どちらのドライバも、USB オーディオクラス 1.0 仕様に準拠しています。
一部のオーディオデバイスでは、ソフトウェアが制御している音量を設定できます。この機能を管理するために、STREAMS モジュールの usb_ah が HID ドライバの先頭に置かれます。
Solaris では、再生専用、録音専用、録音および再生用の USB オーディオデバイスをサポートします。USB オーディオデバイスのホットプラグがサポートされます。
USB オーディオデバイスは、USB コネクタを備えた SPARC Ultra および x86 プラットフォームでサポートされます。
Solaris 8 10/01、Solaris 8 2/02、Solaris 9 のいずれかのリリース上で再生または録音するには、USB オーディオデバイスが 44100 Hz または 48000 Hz の固定サンプリングレートをサポートしている必要があります。Solaris 10 リリースでは、44100 Hz または 48000 Hz のサンプリングレートは必要ではなくなりました。
完全にサポートされているオーディオデータ形式を確認するには、usb_ac(7D) のマニュアルページを参照してください。
主オーディオデバイスは、/dev/audio です。次のコマンドを使用して、/dev/audio が USB オーディオを指しているかを確認できます。
% mixerctl Device /dev/audioctl: Name = USB Audio Version = 1.0 Config = external Audio mixer for /dev/audioctl is enabled |
USB オーディオデバイスを接続した後、audioplay コマンドおよび audiorecord コマンドを使用し、/dev/sound/N デバイスリンクを介してデバイスにアクセスします。
/dev/audio および /dev/sound/N デバイスは、スピーカ、マイク、またはコンボデバイスを参照できます。不正なデバイスタイプを参照すると、そのコマンドは失敗します。たとえば、マイクに対して audioplay を使用しようとすると、そのコマンドは失敗します。
ほとんどの Sun オーディオアプリケーションでは、特定のデフォルトオーディオデバイスを選択できます。たとえば、audioplay や audiorecord の場合には、AUDIODEV シェル変数を設定するか、-d オプションを指定します。ただし、/dev/audio をオーディオファイルとしてハードコードしている他社製のアプリケーションでは AUDIODEV は動作しません。
USB オーディオデバイスを差し込むと、/dev/audio が使用中でない限り、自動的にそれが主オーディオデバイス /dev/audio になります。オンボードのオーディオから USB オーディオへ、および USB オーディオからオンボードのオーディオへ /dev/audio を変更する方法については、「主 USB オーディオデバイスを変更する方法」および usb_ac(7D) のマニュアルページを参照してください。
USB オーディオデバイスがシステムに差し込まれると、それが主オーディオデバイス /dev/audio になります。そのデバイスは、システムをリブートした後でも、主オーディオデバイスのままです。USB オーディオデバイスが追加で差し込まれた場合、最後に差し込まれたデバイスが主オーディオデバイスになります。
USB オーディオデバイスに関する問題の障害追跡について、さらに詳しい情報を得るには、usb_ac(7D) のマニュアルページを参照してください。
主オーディオデバイス /dev/audio は、USB スピーカを指します。
% ls -l /dev/audio lrwxrwxrwx 1 root root 10 Feb 13 08:46 /dev/audio -> usb/audio0 |
(省略可能) スピーカを取り外します。その後、再度差し込みます。
スピーカを取り外すと、/dev/audio デバイスがオンボードのオーディオに戻ります。
% ls -l /dev/audio lrwxrwxrwx 1 root root 7 Feb 13 08:47 /dev/audio -> sound/0 |
USB マイクを追加します。
% ls -l /dev/audio lrwxrwxrwx 1 root root 10 Feb 13 08:54 /dev/audio -> usb/audio1 |
この手順は、すでに USB オーディオデバイスが接続されていることを前提としています。
ls コマンドを使用して、システムの新しいオーディオリンクを表示します。
次に例を示します。
% ls -lt /dev/audio* lrwxrwxrwx 1 root root 7 Jul 23 15:46 /dev/audio -> usb/audio0 lrwxrwxrwx 1 root root 10 Jul 23 15:46 /dev/audioctl -> usb/audioctl0/ % ls -lt /dev/sound/* lrwxrwxrwx 1 root root 74 Jul 23 15:46 /dev/sound/1 -> ../../devices/pci@1f,4000/usb@5/hub@1/device@3/sound-control@0:... lrwxrwxrwx 1 root root 77 Jul 23 15:46 /dev/sound/1ctl -> ../../devices/pci@1f,4000/usb@5/hub@1/device@3/sound-control@0:... lrwxrwxrwx 1 root other 66 Jul 23 14:21 /dev/sound/0 -> ../../devices/pci@1f,4000/ebus@1/SUNW,CS4231@14,200000:sound,audio lrwxrwxrwx 1 root other 69 Jul 23 14:21 /dev/sound/0ctl -> ../../devices/pci@1f,4000/ebus@1/SUNW,CS4231@14,200000:sound,audioctl % |
主オーディオデバイス /dev/audio が、新しく差し込まれた USB オーディオデバイスの /dev/usb/audio0 を指していることがわかります。
prtconf コマンドを使用して USB デバイス情報を参照して、システム上の USB オーディオデバイスを調べることもできます。
% prtconf . . . usb, instance #0 hub, instance #0 mouse, instance #0 keyboard, instance #1 device, instance #0 sound-control, instance #0 sound, instance #0 input, instance #0 . . . |
ドライバを適用し、音量も上げているのに、USB スピーカから音が出ないことがあります。デバイスのホットプラグを実行してもこの動作が変わらないことがあります。
この問題を解決するには、USB スピーカの電源を再投入します。
オーディオデバイスを操作するときは、オーディオデバイスの所有権に関する、次に挙げる点に注意してください。
USB オーディオデバイスを差し込む時にコンソールからログインしていると、コンソールが /dev/* エントリの所有者になります。つまり、コンソールでログインしている限り、オーディオデバイスを使用できることになります。
USB オーディオデバイスを差し込むときにコンソールにログインしていない場合、root がそのデバイスの所有者になります。ただし、その後にコンソールにログインして USB オーディオデバイスにアクセスしようとすると、デバイスの所有権はコンソールに変更されます。詳細は、logindevperm(4) のマニュアルページを参照してください。
リモートから rlogin コマンドでログインして USB オーディオデバイスにアクセスしようとした場合は、所有権は変更されません。たとえば、権限のないユーザーが、ほかの人の所有するマイクを通して行われる会話を聞くことはできません。
作業 |
説明 |
参照先 |
---|---|---|
USB バス情報を表示します。 |
USB デバイスおよびバスについての情報を表示します。 | |
USB デバイスの構成を解除します。 |
システムに物理的に接続されている USB デバイスを論理的に構成解除します。 | |
USB デバイスを構成します。 |
以前に構成を解除した USB デバイスを構成します。 | |
論理的に USB デバイスの接続を解除します。 |
物理的にシステムの近くにいないときには、USB デバイスを論理的に切り離すことができます。 | |
論理的に USB デバイスに接続します。 |
以前に論理的に接続解除または構成解除した USB デバイスを論理的に接続します。 | |
USB デバイスのサブツリーの接続を解除します。 |
ハブの下位階層 (または下位のツリー) である USB デバイスサブツリーの接続を解除します。 | |
USB デバイスをリセットします。 |
USB デバイスをリセットして、デバイスを論理的に削除し、再作成します。 | |
複数の構成を持つ USB デバイスのデフォルト構成を変更します。 |
複数の構成を持つ USB デバイスのデフォルト構成を変更します。 |
cfgadm コマンドを使用せずに稼働中のシステムから USB デバイスを追加または削除できます。ただし、USB デバイスは、デバイスを物理的に削除しなくても「論理的に」ホットプラグを実行できます。この方法は、リモートで作業中に機能していない USB デバイスを無効にしたりリセットしたりする必要がある場合に便利です。cfgadm コマンドを使うと、製造元や製品情報を含む USB デバイスツリーを表示することもできます。
cfgadm コマンドは接続点についての情報を表示します。「接続点」とは、動的再構成を行うことができるシステム内の特定の場所のことです。接続点は、次の要素から構成されています。
占有装置 (occupant)。USB デバイスなどの、システムに構成可能なハードウェアリソースのことです
受容体 (receptacle)。USB ポートなどの、占有装置を受け入れる場所のことです
接続点は、論理と物理の両方の接続点 ID (Ap_Id) で表現されます。物理 Ap_Id は接続点の物理的なパス名です。論理 Ap_Id は物理 Ap_Id に代わるユーザーに理解しやすい ID です。Ap_Id の詳細は、cfgadm_usb(1M) のマニュアルページを参照してください。
cfgadm コマンドを使用すると、USB デバイスステータス情報を取得できます。
受容体の状態 |
説明 |
---|---|
empty/unconfigured |
デバイスが物理的に接続されていません。 |
disconnected/unconfigured |
デバイスは物理的に接続されているかもしれませんが、論理的に接続解除されており利用できません。 |
connected/unconfigured |
デバイスは論理的に接続されていますが利用できません。このデバイスは、prtconf の出力に表示されます。 |
connected/configured |
デバイスは接続されており利用可能です。 |
次の節では、ソフトウェアから cfgadm コマンドを使用して USB デバイスのホットプラグを実行する方法について説明します。次のすべてのサンプル USB デバイス情報は、関連した情報に焦点を合わせるために一部省略されています。
prtconf コマンドを使用して USB 構成情報を表示する例については、「USB デバイス情報を表示する方法」を参照してください。
次に例を示します。
% cfgadm Ap_Id Type Receptacle Occupant Condition usb0/4.5 usb-hub connected configured ok usb0/4.5.1 usb-device connected configured ok usb0/4.5.2 usb-printer connected configured ok usb0/4.5.3 usb-mouse connected configured ok usb0/4.5.4 usb-device connected configured ok usb0/4.5.5 usb-storage connected configured ok usb0/4.5.6 usb-communi connected configured ok usb0/4.5.7 unknown empty unconfigured ok |
前の例で usb0/4.5.1 は、第 2 レベルの外部ハブのポート 1 に接続されているデバイスを識別します。この第 2 レベルハブは第 1 レベルの外部ハブのポート 5 に接続されており、また第 1 レベルのハブは最初の USB コントローラのルートハブであるポート 4 に接続されています。
特定のUSB デバイス情報を表示します。
次に例を示します。
% cfgadm -l -s "cols=ap_id:info" Ap_Id Information usb0/4.5.1 Mfg: Inside Out Networks Product: Edgeport/421 NConfigs: 1 Config: 0 : ... usb0/4.5.2 Mfg: <undef> Product: <undef> NConfigs: 1 Config: 0 ... usb0/4.5.3 Mfg: Mitsumi Product: Apple USB Mouse NConfigs: 1 Config: 0 ... usb0/4.5.4 Mfg: NMB Product: NMB USB KB/PS2 M NConfigs: 1 Config: 0 usb0/4.5.5 Mfg: Hagiwara Sys-Com Product: SmartMedia R/W NConfigs: 1 Config: 0 : ... usb0/4.5.6 Mfg: 3Com Inc. Product: U.S.Robotics 56000 Voice USB Modem NConfigs: 2 ... usb0/4.5.7 |
システムに物理的に接続されている USB デバイスの構成を解除することはできます。しかし、そのデバイスにドライバを適用することはできません。USB デバイスの構成を解除しても、そのデバイスは prtconf 出力に表示されることに注意してください。
スーパーユーザーになります。
次に例を示します。
# cfgadm -c unconfigure usb0/4.7 Unconfigure the device: /devices/pci@8,700000/usb@5,3/hub@4:4.7 This operation will suspend activity on the USB device Continue (yes/no)? y |
デバイスの構成が解除されていることを確認します。
次に例を示します。
# cfgadm Ap_Id Type Receptacle Occupant Condition usb0/4.5 usb-hub connected configured ok usb0/4.5.1 usb-device connected configured ok usb0/4.5.2 usb-printer connected configured ok usb0/4.5.3 usb-mouse connected configured ok usb0/4.5.4 usb-device connected configured ok usb0/4.5.5 usb-storage connected configured ok usb0/4.5.6 usb-communi connected configured ok usb0/4.5.7 unknown empty unconfigured ok usb0/4.6 usb-storage connected configured ok usb0/4.7 usb-storage connected unconfigured ok |
スーパーユーザーになります。
次に例を示します。
# cfgadm -c configure usb0/4.7 |
USB デバイスが構成されていることを確認します。
次に例を示します。
# cfgadm usb0/4.7 Ap_Id Type Receptacle Occupant Condition usb0/4.7 usb-storage connected configured ok |
物理的にシステムの近くにいないときに、システムから USB デバイスを取り外し、prtconf 出力を削除する場合、USB デバイスの接続を論理的に解除できます。デバイスは物理的に接続されたままです。しかし、論理的に接続解除され、使用できなくなり、システムにも表示されません。
スーパーユーザーになります。
次に例を示します。
# cfgadm -c disconnect -y usb0/4.7 |
デバイスが接続解除されていることを確認します。
次に例を示します。
# cfgadm usb0/4.7 Ap_Id Type Receptacle Occupant Condition usb0/4.7 unknown disconnected unconfigured ok |
次の手順を使用して、以前に論理的に接続解除または構成解除された USB デバイスを論理的に接続します。
スーパーユーザーになります。
次に例を示します。
# cfgadm -c configure usb0/4.7 |
デバイスが接続されていることを確認します。
次に例を示します。
# cfgadm usb0/4.7 Ap_Id Type Receptacle Occupant Condition usb0/4.7 usb-storage connected configured ok |
デバイスを利用できるようになり、システムにも表示されるようになります。
次の手順を使用して、USB デバイスのサブツリーを接続解除します。サブツリーは、ハブの下位デバイスの階層 (ツリー) です。
スーパーユーザーになります。
次に例を示します。
# cfgadm -c disconnect -y usb0/4 |
USB デバイスサブツリーの接続解除を確認します。
次に例を示します。
# cfgadm usb0/4 Ap_Id Type Receptacle Occupant Condition usb0/4 unknown disconnected unconfigured ok |
USB デバイスでエラーが発生した場合は、cfgadm コマンドを使ってデバイスをリセットします。このコマンドを使うと、デバイスを論理的に削除し、再作成できます。
スーパーユーザーになります。
デバイスをリセットします。
次に例を示します。
# cfgadm -x usb_reset -y usb0/4.7 |
デバイスが接続されていることを確認します。
次に例を示します。
# cfgadm usb0/4.7 Ap_Id Type Receptacle Occupant Condition usb0/4.7 usb-storage connected configured ok |
複数の構成を持つ USB デバイスを操作するときには、次の点を考慮してください。
USB デバイスの構成には、デバイス自体がどのようにオペレーティングシステムに表示されるかを定義します。この構成方法は、前の節で cfgadm について説明したシステムデバイスの構成方法とは異なります。
一部の USB デバイスでは、複数の構成がサポートされますが、一度に有効にできる構成は 1 つだけです。
複数の構成を持つデバイスを特定するには、cfgadm -lv の出力を確認します。Nconfigs は、1 より大きい値になります。
デフォルトの USB 構成は configuration 1 です。現在の構成は、cfgadm -lv の出力に Config として反映されます。
デフォルトの構成を変更しても、デバイスを同じポートに再接続している間は、デバイスのリブート、ホットリムーブ、および再構成を行なっても、構成の変更は適用されません。
デバイスが使用中でないことを確認します。
デフォルトの USB 構成を変更します。
次に例を示します。
# cfgadm -x usb_config -o config=2 usb0/4 Setting the device: /devices/pci@1f,0/usb@c,3:4 to USB configuration 2 This operation will suspend activity on the USB device Continue (yes/no)? yes |
デバイスの変更を確認します。
次に例を示します。
# cfgadm -lv usb0/4 Ap_Id Receptacle Occupant Condition Information When Type Busy Phys_Id usb0/4 connected unconfigured ok Mfg: Sun 2000 Product: USB-B0B0 aka Robotech With 6 EPPS High Clk Mode NConfigs: 7 Config: 2 : EVAL Board Setup unavailable usb-device n /devices/pci@1f,0/usb@c,3:4 |
Config が「2」になっていることに注目してください。