Windows 7 でUSB Composite Deviceが認識されないときの対処法

某Androidスマホを購入して早速PCにUSBで接続したところ、どうやってもドライバが入ってくれなくなった。
デバイスマネージャーには一応不明なデバイスとして出ているので、HTCのドライバを無理やり警告を無視して適用してやるとADBでの通信はできるようになった。
けれども、mass storageモードにしても認識してくれないという問題があった。

そこで、他のPCに接続してみると、普通にドライバ入れなくてもmass storageは認識するので、このPCだけの問題だということがわかった。他のPCで確認すると、不明なデバイスとして認識されているところは本来は「USB Composite Device」として認識されるはずなのだ。これはWindows標準のドライバだ。

過去に接続したスマートフォンは正しくUSB Composite Deviceとして認識されているが、今回購入したのは認識してくれない。つまり、過去に認識したデバイスはそのまま使えるが、新規に認識することが出来ないという状態だ。

これはおかしいぞとC:\Windows\infフォルダを見てみると、そこにあるはずの、usb.infとusb.PNFが無くなっていた。何か行儀の悪いアンインストーラーが道連れに消していってしまったのだろう。ではどこからそれを復旧するか。

答えはこれである。

C:\Windows\System32\DriverStore\FileRepository\usb.inf_XXXXXXXXX

(環境によってXXXXXXXXXの部分は異なる)

フォルダが複数ある場合は、更新日時が最新のほうを選ぼう。

このフォルダの中にusb.infusb.PNFがあるので、この二つをC:\Windows\infフォルダにコピーすれば良い。

これで無事認識できるようになった。

おそらく、ここのブログで取り上げられている不具合なんかも同じ系統ではないかと。

「Windows 7 でUSB Composite Deviceが認識されないときの対処法」への18件のフィードバック

  1. こんにちは、初めまして。

    私は今、IO-DATAのHDL-CE 3TBモデルUSB HDD(LAN接続機能付)が
    急にデバイスマネージャ上ではUnkown Device、エクスプローラでも中身を呼び出せなくなった為、
    あれこれと切り分けをしています。

    今回はWindows側のドライバとinfファイルの異常の有無を判断するにあたり、
    参考にさせて頂きました。

    「USB大容量記憶装置」が「Unkown device」とかになってしまったとしても、
    infファイルに異常があれば、同じ方法で同様に解決出来るはずですよね…。
    或いは古いほうのファイルを貼り付けてロールバック的な方法でも…。

    参考までにご意見を頂けると有難いのですが、
    こちらの、
    infファイルを「C:\Windows\System32\DriverStore\FileRepository内からコピーする」方法でも
    認識が改善されない場合、
    『LAN接続で内部のHDD(内部HDDの残要量・型式など)は正しく認識出来る』のであれば、
    『「USB外付けHDD機器」の中でも「USBポート辺り」に異常がある』
    と考えるのがやはり自然ですよね。

    もしもinfファイルを利用した解決方法で何か見落とし、
    或いはUSB接続でもHDDを接続する場合ならばまた別のファイルで操作する必要がある、
    などございましたら、お手数ながらもご意見を伺えると幸いです。

    かなりの長文で申し訳ありません。
    拙いながらも実例として後学の礎として頂ければ幸いです。

    1. はじめまして、コメントありがとうございます。
      同様の原因であれば同様の方法で解決できると思います。
      確か「USB大容量記憶装置」に直接関係するのはusb.infではなくusbstor.infだったような気がします。(usb.infも間接的に関係している場合はあります。)ですので、一度usbstor.infで同様の手順を試していただければと思います。

      ちなみに、Unknown Device(不明なデバイス)として認識される原因としては、(1)ドライバが不足している (2)デバイスから識別情報(VIDやPIDなど)を正常に取得できない の二つが考えられます。この記事で扱ったのは(1)の場合です。

      (2)に該当するかどうかは、デバイスマネージャから当該デバイスのプロパティを開き、「詳細」タブから「ハードウェアID」を調べることで分かります。もし、ここでVIDやPIDの記述がなく「USB\Unknown」などと表示されている場合は(2)に該当します。この場合、USBカード、USBポート、ケーブル、USB機器のいずれかのハードウェア的な異常であることが考えられます。その場合は少し厄介ですが……。

      1. お返事有難うございます。

        コメントを頂きました通り、
        「usbstor.inf」をINFフォルダへ貼り付け、再起動で様子を伺ってみましたが、
        やはりと申しますか、依然として認識はUnknown Deviceの表示と変わらず、
        デバイスのプロパティのハードウェアIDも依然として「USB\Unknown」でした。

        いやはや、なんとも…やはりもやはりか、と。
        これが最後の切り分けでしたので、正味少々複雑です(笑)
        でも救いなのは、LAN接続ではHDDをしっかり認識してくれているので
        筐体からHDDを取出して、基盤とeSATA接続することにしました。

        実はIO-DATAさんへ、
        「HDD以外に問題がある場合どんな対応でどの位の日数で返って来ますか?」
        と問い合わせましたら、
        「HDDを預かった際は返送前に中身を全部消去して2週間以内の返送になります」
        『HDDに問題が無く、外装や他の機器部分を交換するだけだったとしてもですか?』
        「そうなんです…。」
        というやり取りがありまして(怖)

        とても早い回答で切り分けにお付き合いを頂き、
        本当に有難うございます。

        microsoftのフォーラムなんかよりも心強かったので、お返事をとても有難く思いました。
        それでは。

  2. 大変助かりました!!
    いろいろと探し、試してきたのですが、全く巧くいかずに悩んでいました。
    —————————————————————————————————————————–
    (2)に該当するかどうかは、デバイスマネージャから当該デバイスのプロパティを開き、「詳細」タブから「ハードウェアID」を調べることで分かります。もし、ここでVIDやPIDの記述がなく「USB\Unknown」などと表示されている場合は(2)に該当します。この場合、USBカード、USBポート、ケーブル、USB機器のいずれかのハードウェア的な異常であることが考えられます。その場合は少し厄介ですが……。
    —————————————————————————————————————————–
    この記述を見て、「家電製品の取り説にある『コンセントはささっていますか?』のような話だな」と半信半疑でした。
    ポートを替えてUSBケーブルを換えて…

    あれまっ、今までの悩みが嘘のように解消してしまいました。
    分かりやすい記述で、的確なアドバイス、ありがとうございました!!
    多謝。

  3. 私もたった今この症状になり悩まされています

    usb.infとusb.PNFは発見しコピーできましたC:\Windows\inf

  4. 私もたった今この症状になり悩まされています

    usb.infとusb.PNFは発見しコピーできました

    C:\Windows\infフォルダにコピーとあるのですが

    そのC:\Windows\infフォルダがどこにあるのかがわかりません!

    隠しフォルダ?を表示するに設定したのですが結局場所がわからず、、、

    どこにあるのでしょうか?

  5. いつもなら端末をデバイスに接続出来ていたんですが、昨日もいつものようにPCに端末をデバイス接続させようとしたら、端末の画面の上に時間とか、バッテリー残量を示す部分に、デバイス接続しましたみたいな表示が出なくなりました。
    私のお父さんにやってはもらったんですが、いくら能力の高いお父さんでも改善出来ませんでした。
    どうしたら改善出来るのか教えてください。

  6. 返信が遅くなり申し訳ありません。

    本当に何もしていないのであれば、おそらくUSBケーブルが痛んでいるか、コネクタ部分が接触不良を起こしているのではないかと思います。ケーブルを変えてみる、PCを変えてみるなどを行って、故障箇所を特定していくのがトラブルシューティングの基本です。

    仮に端末側のハードウェア的な問題であれば最悪基板交換が必要になり、ソフトウェア的な問題であれば設定が間違っていないかの確認、及び、最悪の場合は工場出荷状態にリセットするという手順が必要になります。

  7. 大変助かりました。
    手元のAndroid機器が軒並み ドライバ(ハードウェア)として認識できるがadb devicesコマンドでリストアップされない。
    ということで1か月以上困っておりました。
    現象:
    デバイスマネージャ上で、
    AndroidのComposite ADB Interface として認識されず、Android ADB Interfaceとして認識。
    ドライバのプロパティ->詳細->ハードウェアIDが
     USB\VID_XXXX&PID_XXXX にしかならず、 USB\VID_XXXX&PID_XXXX&MI01にならない
    コマンドプロンプトから
    adb devicesコマンドでデバイスがリストアップされない。

    解決策:
    ・usb.inf usb.pnfをwindows/infにコピーした後に該当デバイスを削除
    ・デバイスを再接続 → 不明なデバイスとして認識 USB\VID_XXXX&PID_XXXX&MI01 として認識!! お?!
    ・googleのandroid用のinfを指定してデバイスの更新を実施
     →めでたく Android Composite ADB device として認識
    ・ADB devices でリストに出てくる ばんざーーい

    ブタマンさんの記事で、すっきり解決いたしました。 ありがとうございます。
    (usb.inf削除の犯人は誰だったんだろう・・)

  8. 新しいAndroid端末を購入したのですが、adbで認識せず途方にくれていました。
    inf.*をコピーしたところ無事認識しました。
    あとはinf.*が消えたトリガーが分かればいいのですが、ひとまず認識したのでよしとします。

  9. 大変助かりました。
    本当にありがとうございました。
    NETGEAR製USBwifiアダプタが使えず半年以上困っていました。
    これでやっと20mLANケーブルとお別れできます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です