Solaris のシステム管理 (デバイスとファイルシステム)

第 8 章 USB デバイスの使用 (手順)

この章では、Oracle Solaris OS で USB デバイスを使用する手順について説明します。

USB デバイスの使用手順については、次の節を参照してください。

USB デバイスに関する最新の情報については、次の Web サイトを参照してください。

http://www.sun.com/io_technologies/usb/USB-Faq.html

USB デバイスの使用に関する概要については、第 7 章USB デバイスの使用 (概要)を参照してください。

Oracle Solaris OS での USB デバイスの管理 (作業マップ)

Oracle Solaris OS でのすべての USB デバイス管理作業を次の作業マップに一覧表示します。作業ごとにいくつかの詳細タスク (USB デバイスの使用、USB デバイスのホットプラグ、USB オーディオデバイスの追加など) を説明しています。

Oracle Solaris OS で USB コンポーネントを使用する方法については、「Oracle Solaris OS における USB について」を参照してください。

作業 

説明 

参照先 

USB 大容量ストレージデバイスを使用します。 

USB 大容量ストレージデバイスにデータを追加する前に、USB デバイスにファイルシステムが作成されている必要があります。また、ファイルシステムを作成およびマウントする前に、USB フロッピーディスクをフォーマットする必要があります。 

この節では、USB デバイスをシステムに物理的に取り付け、システムから物理的に取り外す方法についても説明します。 

「USB 大容量ストレージデバイスの使用 (作業マップ)」

USB オーディオデバイスを追加します。 

この作業マップを使用して、USB オーディオデバイスの追加に関連する作業を特定します。 

「USB オーディオデバイスの使用 (作業マップ)」

cfgadm コマンドを使用して、USB デバイスをシステムに追加したり、システムから取り外したりします。

cfgadm コマンドを使用して、USB デバイスをシステムに論理的に追加したり、システムから論理的に取り外したりします。

cfgadm コマンドを使用した USB デバイスのホットプラグ (作業マップ)」

USB 大容量ストレージデバイスの使用 (作業マップ)

作業 

説明 

参照先 

USB 大容量ストレージデバイスの取り付けまたは取り外しを行います。 

次のいずれかの方法を選択して、USB 大容量ストレージデバイスを取り付けます。 

 

 

USB 大容量ストレージデバイスを追加します。 

vold を使用しないで USB 大容量ストレージデバイスを追加する方法」

 

USB カメラを追加して、デジタル画像にアクセスします。 

「USB カメラを追加する方法」

 

vold を使用しないで USB 大容量ストレージデバイスを取り外します。

vold を使用しないで USB 大容量ストレージデバイスを取り外す方法」

非準拠 USB 大容量ストレージデバイスを追加します。 

scsa2usb.conf にエントリを追加する方法で、非準拠 USB 大容量ストレージデバイスを追加します。

「互換性のない USB 大容量ストレージデバイスの使用方法」

USB 大容量ストレージデバイスを使用できるように準備します。 

vold を使用して USB 大容量ストレージデバイスを使用できるように準備します。

vold を使用した USB 大容量ストレージデバイスの使用の準備」

USB デバイス情報を表示します。 

USB デバイス情報を表示します。 

「USB デバイス情報を表示する方法」

USB 大容量ストレージデバイス上にファイルシステムを作成します。 

デバイスにデータを格納する前に、デバイス上にファイルシステムを作成する必要があります。 

「USB 大容量ストレージデバイス上にファイルシステムを作成する方法 」

vold を使用しないで USB 大容量ストレージデバイス上にファイルシステムを作成する方法」

USB 大容量ストレージデバイス上で、パーティションを変更してファイルシステムを作成します。 

USB 大容量ストレージデバイス上にファイルシステムを作成する前に、既存のパーティションの変更が必要な場合があります。 

vold を使用しないで USB 大容量ファイルシステム上でパーティションを変更し、PCFS ファイルシステムを作成する方法」

USB 大容量ストレージデバイス上に Solaris パーティションを作成してスライスを変更します。 

rmformat を使用してスライス情報を変更する前に、スライス情報を持つファイルを作成する必要があります。

「USB 大容量ストレージデバイス上で vold を使用しないで Solaris パーティションの作成およびスライスの変更を行う方法」

vold を使用しないで USB 大容量ストレージデバイスをマウントします。

vold を使用しないで USB 大容量ストレージデバイスをマウントします。

vold を使用しないで USB 大容量ストレージデバイスをマウントまたはマウント解除する方法」

(省略可能) USB デバイスドライバを無効にします。 

システムで USB サポートを必要としない場合は、USB デバイスドライバを無効にします。 

「特定の USB ドライバを無効にする方法」

(省略可能) 未使用の USB デバイスリンクを削除します。 

devfsadm コマンドを使って、USB デバイスのリンクを削除します。

「使用されていない USB デバイスのリンクを削除する方法」

USB 大容量ストレージデバイスの使用

Solaris 9 リリースから、次の USB リムーバブル大容量ストレージデバイスがサポートされるようになりました。

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) サポートの機能拡張」を参照してください。

USB 大容量ストレージデバイスの詳しい使用方法については、scsa2usb(7D) のマニュアルページを参照してください。

USB フロッピーディスクデバイスの使用

USB フロッピーディスクはリムーバブルメディアデバイスとして表示されます。USB フロッピーディスクデバイスは、fd (フロッピー) ドライバでは管理されません。アプリケーションから fd (ネイティブフロッピー) ドライバに対する ioctl(2) 呼び出しを実行すると、そのアプリケーションは失敗します。read(2) および write(2) 呼び出しのみを実行するアプリケーションは成功します。SunPCI や rmformat などのほかのアプリケーションも成功します。

USB フロッピーディスクデバイスは SCSI リムーバブルメディアデバイスとして認識されます。デバイスは /rmdisk ディレクトリの下で利用できます。

USB フロッピーディスクデバイスの使用方法の詳細は、第 1 章リムーバブルメディアの管理 (概要)を参照してください。

非準拠 USB 大容量ストレージデバイスの使用

デバイスの識別が間違っていたり、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) のマニュアルページを参照してください。

Procedure互換性のない USB 大容量ストレージデバイスの使用方法

  1. スーパーユーザーになります。

  2. /kernel/drv/scsa2usb.conf ファイルにエントリを追加します。

    次のエントリは、USB メモリースティック用です。


    attribute-override-list = "vid=* reduced-cmd-support=true";
  3. システムをリブートするか、次の操作を実行します。

    1. デバイスを取り外します。

    2. ドライバを手動で更新します。


      # update_drv -f scsa2usb
      
    3. デバイスを追加します。

USB 大容量ストレージデバイスのホットプラグ

デバイスのホットプラグとは、オペレーティングシステムをシャットダウンすることなくあるいはシステムの電源を切ることなく、デバイスを追加したり取り外したりすることを指します。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 デバイスを使用していないときにそのデバイスを取り外すと、システムのデバイス階層からそのデバイスが削除されます。

デバイスを取り外したときにそのデバイスを使用していた場合、デバイスノードは残りますが、このデバイスを制御しているドライバはデバイス上のすべての動作を停止します。このデバイスに発行されるすべての新しい入出力動作はエラーを返します。

このような状況で、 システムは元のデバイスを差し込むように要求します。デバイスが使用できない場合は、アプリケーションを停止してください。数秒後に、ポートが再び使用できるようになります。


注 –

動作中の、つまり開いているデバイスを削除すると、データの整合性が損なわれる可能性があります。デバイスを取り外す前には、必ずデバイスを閉じるようにしてください。ただし、接続されているキーボードとマウスは例外で、動作中でも移動することができます。


Procedurevold を使用しないで USB 大容量ストレージデバイスを追加する方法

  1. リムーバブルメディア管理を無効にする方法については、「リムーバブルメディアサービスを無効または有効にする方法」を参照してください。

  2. vold が動作していないことを確認します。


    # svcs volfs
    STATE          STIME    FMRI
    disabled       10:39:12 svc:/system/filesystem/volfs:default
  3. USB 大容量ストレージデバイスを接続します。

  4. 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

ProcedureUSB カメラを追加する方法

カメラのメディアが PCFS ファイルシステムを使用している場合は、自動的にマウントされます。デバイスが scsa2usb ドライバにバインドされない場合は、libusb アプリケーションを使用して写真を転送します。詳細は、/usr/sfw/share/doc/libusb/libusb.txt を参照してください。

  1. スーパーユーザーになります。

  2. USB カメラを差し込んで電源を入れます。

    システムによって、カメラ用の論理デバイスが作成されます。カメラが差し込まれると、/var/adm/messages ファイルにメッセージが出力され、デバイスの接続が確認されます。システムでは、カメラはストレージデバイスとして扱われます。

  3. /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
  4. 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) のマニュアルページを参照してください。

  5. イメージファイルが使用可能であることを確認します。

    次に例を示します。


    # ls /mnt/DCIM/100OLYMP/
    P7220001.JPG*  P7220003.JPG*  P7220005.JPG*
    P7220002.JPG*  P7220004.JPG*  P7220006.JPG*
  6. USB カメラが作成したイメージファイルを表示します。

    次に例を示します。


    # /usr/dt/bin/sdtimage P7220001.JPG &
    
  7. カメラを切り離す前に、ファイルシステムをマウント解除します。

    次に例を示します。


    # umount /mnt
    
  8. (省略可能) カメラの電源をオフにし、切り離します。

Procedurevold を使用しないで USB 大容量ストレージデバイスを取り外す方法

この手順は、リムーバブルメディアサービスが無効になっている状態で実行します。

  1. スーパーユーザーになります。

  2. リムーバブルメディアサービスを無効にする方法については、「リムーバブルメディアサービスを無効または有効にする方法」を参照してください。

  3. リムーバブルメディアサービスが動作していないことを確認します。


    # svcs volfs
    STATE          STIME    FMRI
    disabled       Sep_29   svc:/system/filesystem/volfs:default
  4. そのデバイスを使用しているアプリケーションを実行中の場合は、そのアプリケーションを停止します。

  5. デバイスをマウント解除します。

  6. デバイスを取り外します。

vold を使用した USB 大容量ストレージデバイスの使用の準備

リムーバブルメディア上の情報にアクセスするには、リムーバブルメディアサービスを使用する方法と使用しない方法があります。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 大容量ストレージデバイスをマウントまたはマウント解除する方法」を参照してください。

ProcedureUSB デバイス情報を表示する方法

  1. 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

ProcedureUSB 大容量ストレージデバイス上にファイルシステムを作成する方法

USB フロッピーディスクは、ファイルシステムを追加する前にフォーマットする必要があります。その他のすべての USB 大容量ストレージデバイスを使用するには、PCFS または UFS ファイルシステムが必要です。USB デバイスをフォーマットするときには、次の点に注意してください。


注 –

手順 4 と 5 は、USB フロッピーディスクをフォーマットする必要がある場合にのみ実行してください。


  1. スーパーユーザーになります。

  2. USB デバイスをシステムに追加します。 USB デバイスのホットプラグを実行する方法については、次の節を参照してください。

  3. (省略可能) 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 です。

  4. 必要に応じて、フロッピーディスクをフロッピーディスクドライブに挿入します。

  5. 必要に応じて、フロッピーディスクをフォーマットします。


    % rmformat -F long raw-device
    

    SPARC システムの場合、たとえば次のようになります。


    % rmformat -F long /dev/rdsk/c2t0d0s2
    

    x86 システムの場合、たとえば次のようになります。


    % rmformat -F long /dev/rdsk/c3t0d0p0
    
  6. ファイルシステムのタイプを判別し、デバイスがマウント解除されていることを確認します。次のいずれかの手順に従います。

    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 つの手順を参照してください。

Procedurevold を使用しないで USB 大容量ストレージデバイス上にファイルシステムを作成する方法

リムーバブルメディアサービスが無効になっている状態で USB 大容量ストレージデバイスにファイルシステムを追加するには、次の手順を実行します。

USB フロッピーディスクは、ファイルシステムを追加する前にフォーマットする必要があります。その他のすべての USB 大容量ストレージデバイスを使用するには、PCFS または UFS ファイルシステムが必要です。USB フロッピーディスクをフォーマットするときには、次の点に注意してください。


注 –

手順 7 と 8 は、USB フロッピーディスクをフォーマットする必要がある場合にのみ実行してください。


  1. スーパーユーザーになります。

  2. リムーバブルメディアサービスを無効にする方法については、「リムーバブルメディアサービスを無効または有効にする方法」を参照してください。

  3. リムーバブルメディアサービスが動作していないことを確認します。


    # svcs volfs
    STATE          STIME    FMRI
    disable        10:39:12 svc:/system/filesystem/volfs:default
  4. USB デバイスをシステムに追加します。

    USB デバイスのホットプラグを実行する方法については、次を参照してください。

  5. (省略可能) 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 です。

  6. 必要に応じて、フロッピーディスクをフロッピーディスクドライブに挿入します。

  7. 必要に応じて、フロッピーディスクをフォーマットします。


    % rmformat -F long raw-device
    

    SPARC システムの場合、たとえば次のようになります。


    % rmformat -F long /dev/rdsk/c2t0d0s2
    

    x86 システムの場合、たとえば次のようになります。


    % rmformat -F long /dev/rdsk/c3t0d0p0
    
  8. ファイルシステムの種類を決定し、次のいずれかの作業を選択します。

    • 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 つの手順を参照してください。

Procedurevold を使用しないで USB 大容量ファイルシステム上でパーティションを変更し、PCFS ファイルシステムを作成する方法

次の手順では、リムーバブルメディアサービスが無効になっている状態で、USB デバイス上で既存のパーティションを削除し、新しいパーティションを作成してから PCFS ファイルシステムを作成する方法を説明します。この作業を実行する前にデータをバックアップしてください。

  1. スーパーユーザーになります。

  2. リムーバブルメディアサービスを無効にする方法については、「リムーバブルメディアサービスを無効または有効にする方法」を参照してください。

  3. fdisk ユーティリティーを起動します。

    次に例を示します。


    # fdisk /dev/rdsk/c3t0d0p0
    
  4. オプション 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
    
  5. 削除するパーティションの番号を選択します。

    次に例を示します。


          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.
  6. パーティションを作成します。

    次に例を示します。


          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
    
  7. パーティションタイプとして 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
    
  8. このパーティションに使用するディスクの割合を指定します。


           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
    
  9. 新しいパーティションをアクティブなパーティションにするか非アクティブなパーティションにするかを選択します。


                  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
    
  10. ディスク構成を更新して終了します。


          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
    
  11. このパーティション上に 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
    

ProcedureUSB 大容量ストレージデバイス上で vold を使用しないで Solaris パーティションの作成およびスライスの変更を行う方法

次の手順では、リムーバブルメディアサービスが無効になっている状態で、Solaris パーティションを作成してスライスを変更する方法を説明します。

この作業を実行する前にデータをバックアップしてください。

  1. スーパーユーザーになります。

  2. リムーバブルメディアサービスを無効にする方法については、「リムーバブルメディアサービスを無効または有効にする方法」を参照してください。

  3. 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
    
  4. 現在のスライスを表示します。

    次に例を示します。


    # 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
  5. スライスの情報を含むテキストファイルを作成します。

    次に例を示します。


    slices: 0 = 0, 5GB, "wm", "home" :
            1 = 8225280000, 6GB :
            2 = 0, 44GB, "wm", "backup" :
            6 = 16450560000, 15GB

    各スライスがシリンダ境界から始まっていることを確認します。たとえば、スライス 1 は 822280000 バイトから始まっています。この数は、シリンダサイズ (バイト数) の 1000 倍になります。

    詳細は、rmformat(1)-s オプションの説明を参照してください。

  6. 上記の手順で作成したスライスファイルを含むスライスを作成します。

    次に例を示します。


    # rmformat -s slice_file /dev/rdsk/c5t0d0s2
    
  7. 新しいスライスの情報を表示します。

    次に例を示します。


    # 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

Procedurevold を使用しないで USB 大容量ストレージデバイスをマウントまたはマウント解除する方法

次の手順では、リムーバブルメディアサービスが無効になっている状態で、USB 大容量ストレージデバイスをマウントまたはマウント解除する方法を説明します。

  1. スーパーユーザーになります。

  2. リムーバブルメディアサービスを無効にする方法については、「リムーバブルメディアサービスを無効または有効にする方法」を参照してください。

  3. リムーバブルメディアサービスが動作していないことを確認します。


    # svcs volfs
    STATE          STIME    FMRI
    disabled       10:39:12 svc:/system/filesystem/volfs:default
  4. (省略可能) デバイスを特定します。

    次に例を示します。


    # 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 です。

  5. 次のいずれかの方法を選択して、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
      
  6. CD またはフロッピーディスクデバイスの場合には、デバイスを取り出します。


    # eject /dev/[r]dsk/cntndnsn
    

    次に例を示します。


    # eject /dev/rdsk/c1t0d0s2
    

USB 大容量ストレージデバイスの問題の障害追跡

USB 大容量ストレージデバイスの追加または取り外しで問題が発生した場合には、次のヒントを参考にしてください。

/var/adm/messages ファイルでデバイスの列挙の失敗を確認します。列挙の失敗の場合は、USB ハブを挿入するか、ハブを取り外してルート USB ハブに直接接続します。

特定の USB ドライバを無効にする

特定の種類の 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

Procedure特定の USB ドライバを無効にする方法

  1. スーパーユーザーになります。

  2. ドライバの別名エントリを /etc/system ファイルから除外します。

    たとえば、次の exclude 文を追加して usbprn ドライバを除外します。


    exclude: usbprn
  3. システムを再起動します。


    # init 6
    

Procedure使用されていない USB デバイスのリンクを削除する方法

システムの電源がオフのときに USB デバイスを取り外した場合には、次の手順を実行します。システムの電源が切断されているときに USB デバイスを取り外すと、存在しないデバイスへのリンクが残る場合があります。

  1. スーパーユーザーになります。

  2. そのデバイスにアクセスする可能性のあるアプリケーションをすべて閉じます。

  3. 特定の USB クラスの未使用のリンクを削除します。

    次に例を示します。


    # devfsadm -C -c audio
    

    または、関連するリンクをすべて削除します。


    # devfsadm -C
    

USB オーディオデバイスの使用 (作業マップ)

作業 

説明 

参照先 

USB オーディオデバイスを追加します。 

USB マイクおよびスピーカを追加します。 

「USB オーディオデバイスを追加する方法」

システムの主オーディオデバイスを特定します。 

システムの主オーディオデバイスを特定します。 

「システムの主オーディオデバイスを識別する方法」

主 USB オーディオデバイスを変更します。 

USB オーディオデバイスを取り外したり変更したりする場合、1 つのオーディオデバイスを主オーディオデバイスにすることがあります。 

「主 USB オーディオデバイスを変更する方法」

使用していない USB デバイスリンクを削除します。 

システムの電源がオフのときに USB オーディオデバイスを取り外すと、/dev/audio デバイスが、存在しない /dev/sound/* デバイスを指したままになることがあります。

「使用されていない USB デバイスのリンクを削除する方法」

USB オーディオに関する問題の障害追跡を行います。 

USB スピーカからサウンドが出力されない場合は、この節を参照します。 

「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 オーディオデバイスのホットプラグがサポートされます。

主オーディオデバイスは、/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 オーディオアプリケーションでは、特定のデフォルトオーディオデバイスを選択できます。たとえば、audioplayaudiorecord の場合には、AUDIODEV シェル変数を設定するか、-d オプションを指定します。ただし、/dev/audio をオーディオファイルとしてハードコードしている他社製のアプリケーションでは AUDIODEV は動作しません。

USB オーディオデバイスを差し込むと、/dev/audio が使用中でない限り、自動的にそれが主オーディオデバイス /dev/audio になります。オンボードのオーディオから USB オーディオへ、および USB オーディオからオンボードのオーディオへ /dev/audio を変更する方法については、「主 USB オーディオデバイスを変更する方法」および usb_ac(7D) のマニュアルページを参照してください。

複数の USB オーディオデバイスのホットプラグ

USB オーディオデバイスがシステムに差し込まれると、それが主オーディオデバイス /dev/audio になります。そのデバイスは、システムをリブートした後でも、主オーディオデバイスのままです。USB オーディオデバイスが追加で差し込まれた場合、最後に差し込まれたデバイスが主オーディオデバイスになります。

USB オーディオデバイスに関する問題の障害追跡について、さらに詳しい情報を得るには、usb_ac(7D) のマニュアルページを参照してください。

ProcedureUSB オーディオデバイスを追加する方法

  1. USB スピーカを差し込みます。

    主オーディオデバイス /dev/audio は、USB スピーカを指します。


    % ls -l /dev/audio
    lrwxrwxrwx   1 root     root    10 Feb 13 08:46 /dev/audio -> usb/audio0
  2. (省略可能) スピーカを取り外します。その後、再度差し込みます。

    スピーカを取り外すと、/dev/audio デバイスがオンボードのオーディオに戻ります。


    % ls -l /dev/audio
    lrwxrwxrwx   1 root     root   7 Feb 13 08:47 /dev/audio -> sound/0
  3. USB マイクを追加します。


    % ls -l /dev/audio
    lrwxrwxrwx   1 root     root    10 Feb 13 08:54 /dev/audio -> usb/audio1

Procedureシステムの主オーディオデバイスを識別する方法

この手順は、すでに USB オーディオデバイスが接続されていることを前提としています。

  1. システムの新しいオーディオリンクを調べます。

    • 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
      .
      .
      .

Procedure主 USB オーディオデバイスを変更する方法

  1. 主 USB オーディオデバイスを変更するには、次のいずれかの手順を選択します。

    • オンボードのオーディオデバイスを主オーディオデバイスにするには、USB オーディオデバイスを取り外してください。すると、/dev/audio リンクは /dev/sound/0 エントリを指すはずです。/dev/sound/0 エントリが主オーディオデバイスでない場合は、システムをシャットダウンして boot -r コマンドを実行するか、devfsadm -i コマンドをスーパーユーザーとして実行してください。

    • USB オーディオデバイスを主オーディオデバイスにするには、そのデバイスを差し込んでデバイスリンクを確認するだけです。

USB オーディオデバイスに関する問題の障害追跡

ドライバを適用し、音量も上げているのに、USB スピーカから音が出ないことがあります。デバイスのホットプラグを実行してもこの動作が変わらないことがあります。

この問題を解決するには、USB スピーカの電源を再投入します。

オーディオデバイスの所有権に関する注意事項

オーディオデバイスを操作するときは、オーディオデバイスの所有権に関する、次に挙げる点に注意してください。

cfgadm コマンドを使用した USB デバイスのホットプラグ (作業マップ)

作業 

説明 

参照先 

USB バス情報を表示します。 

USB デバイスおよびバスについての情報を表示します。 

「USB バス情報を表示する方法 (cfgadm)」

USB デバイスの構成を解除します。 

システムに物理的に接続されている USB デバイスを論理的に構成解除します。 

「USB デバイスの構成を解除する方法」

USB デバイスを構成します。 

以前に構成を解除した USB デバイスを構成します。 

「USB デバイスの構成方法」

論理的に USB デバイスの接続を解除します。 

物理的にシステムの近くにいないときには、USB デバイスを論理的に切り離すことができます。 

「論理的に USB デバイスを接続解除する方法」

論理的に USB デバイスに接続します。 

以前に論理的に接続解除または構成解除した USB デバイスを論理的に接続します。 

「論理的に USB デバイスを接続する方法」

USB デバイスのサブツリーの接続を解除します。 

ハブの下位階層 (または下位のツリー) である USB デバイスサブツリーの接続を解除します。 

「論理的に USB デバイスのサブツリーを接続解除する方法」

USB デバイスをリセットします。 

USB デバイスをリセットして、デバイスを論理的に削除し、再作成します。 

「USB デバイスのリセット方法」

複数の構成を持つ USB デバイスのデフォルト構成を変更します。 

複数の構成を持つ USB デバイスのデフォルト構成を変更します。 

「複数の構成を持つ USB デバイスのデフォルト構成を変更する方法」

cfgadm コマンドを使った USB デバイスのホットプラグ

cfgadm コマンドを使用せずに稼働中のシステムから USB デバイスを追加または削除できます。ただし、USB デバイスは、デバイスを物理的に削除しなくても「論理的に」ホットプラグを実行できます。この方法は、リモートで作業中に機能していない USB デバイスを無効にしたりリセットしたりする必要がある場合に便利です。cfgadm コマンドを使うと、製造元や製品情報を含む USB デバイスツリーを表示することもできます。

cfgadm コマンドは接続点についての情報を表示します。「接続点」とは、動的再構成を行うことができるシステム内の特定の場所のことです。接続点は、次の要素から構成されています。

接続点は、論理と物理の両方の接続点 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 デバイス情報は、関連した情報に焦点を合わせるために一部省略されています。

ProcedureUSB バス情報を表示する方法 (cfgadm)

prtconf コマンドを使用して USB 構成情報を表示する例については、「USB デバイス情報を表示する方法」を参照してください。

  1. 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 に接続されています。

  2. 特定の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

ProcedureUSB デバイスの構成を解除する方法

システムに物理的に接続されている USB デバイスの構成を解除することはできます。しかし、そのデバイスにドライバを適用することはできません。USB デバイスの構成を解除しても、そのデバイスは prtconf 出力に表示されることに注意してください。

  1. スーパーユーザーになります。

  2. USB デバイスの構成を解除します。

    次に例を示します。


    # 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
    
  3. デバイスの構成が解除されていることを確認します。

    次に例を示します。


    # 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

ProcedureUSB デバイスの構成方法

  1. スーパーユーザーになります。

  2. USB デバイスを構成します。

    次に例を示します。


    # cfgadm -c configure usb0/4.7 
    
  3. USB デバイスが構成されていることを確認します。

    次に例を示します。


    # cfgadm usb0/4.7
    Ap_Id                  Type         Receptacle  Occupant    Condition
    usb0/4.7               usb-storage  connected   configured  ok

Procedure論理的に USB デバイスを接続解除する方法

物理的にシステムの近くにいないときに、システムから USB デバイスを取り外し、prtconf 出力を削除する場合、USB デバイスの接続を論理的に解除できます。デバイスは物理的に接続されたままです。しかし、論理的に接続解除され、使用できなくなり、システムにも表示されません。

  1. スーパーユーザーになります。

  2. USB デバイスを接続解除します。

    次に例を示します。


    # cfgadm -c disconnect -y usb0/4.7
    
  3. デバイスが接続解除されていることを確認します。

    次に例を示します。


    # cfgadm usb0/4.7
    Ap_Id                  Type      Receptacle    Occupant      Condition
    usb0/4.7               unknown   disconnected  unconfigured  ok

Procedure論理的に USB デバイスを接続する方法

次の手順を使用して、以前に論理的に接続解除または構成解除された USB デバイスを論理的に接続します。

  1. スーパーユーザーになります。

  2. USB デバイスを接続します。

    次に例を示します。


    # cfgadm -c configure usb0/4.7
    
  3. デバイスが接続されていることを確認します。

    次に例を示します。


    # cfgadm usb0/4.7
    Ap_Id                  Type         Receptacle  Occupant    Condition
    usb0/4.7               usb-storage  connected   configured  ok

    デバイスを利用できるようになり、システムにも表示されるようになります。

Procedure論理的に USB デバイスのサブツリーを接続解除する方法

次の手順を使用して、USB デバイスのサブツリーを接続解除します。サブツリーは、ハブの下位デバイスの階層 (ツリー) です。

  1. スーパーユーザーになります。

  2. USB デバイスのサブツリーを接続解除します。

    次に例を示します。


    # cfgadm -c disconnect -y usb0/4
    
  3. USB デバイスサブツリーの接続解除を確認します。

    次に例を示します。


    # cfgadm usb0/4
    Ap_Id                  Type       Receptacle   Occupant     Condition
    usb0/4                 unknown    disconnected unconfigured ok

ProcedureUSB デバイスのリセット方法

USB デバイスでエラーが発生した場合は、cfgadm コマンドを使ってデバイスをリセットします。このコマンドを使うと、デバイスを論理的に削除し、再作成できます。

  1. スーパーユーザーになります。

  2. デバイスが使用中でないことを確認します。

  3. デバイスをリセットします。

    次に例を示します。


    # cfgadm -x usb_reset -y usb0/4.7
    
  4. デバイスが接続されていることを確認します。

    次に例を示します。


    # cfgadm usb0/4.7
    Ap_Id                  Type         Receptacle   Occupant     Condition
    usb0/4.7               usb-storage  connected    configured   ok

Procedure複数の構成を持つ USB デバイスのデフォルト構成を変更する方法

複数の構成を持つ USB デバイスを操作するときには、次の点を考慮してください。

  1. デバイスが使用中でないことを確認します。

  2. デフォルトの 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
    
  3. デバイスの変更を確認します。

    次に例を示します。


    # 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」になっていることに注目してください。