JP2010267129A - ターゲット機器識別装置及びターゲット機器識別方法 - Google Patents

ターゲット機器識別装置及びターゲット機器識別方法 Download PDF

Info

Publication number
JP2010267129A
JP2010267129A JP2009118795A JP2009118795A JP2010267129A JP 2010267129 A JP2010267129 A JP 2010267129A JP 2009118795 A JP2009118795 A JP 2009118795A JP 2009118795 A JP2009118795 A JP 2009118795A JP 2010267129 A JP2010267129 A JP 2010267129A
Authority
JP
Japan
Prior art keywords
state
target device
target
log information
system log
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009118795A
Other languages
English (en)
Other versions
JP2010267129A5 (ja
Inventor
Masanori Yugawa
真紀 湯川
Kiyoyasu Maruyama
清泰 丸山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2009118795A priority Critical patent/JP2010267129A/ja
Publication of JP2010267129A publication Critical patent/JP2010267129A/ja
Publication of JP2010267129A5 publication Critical patent/JP2010267129A5/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】ターゲット機器に割り当てられたデバイス識別子をターゲット機器にアクセスするためのプログラムが自動認識できるようにする。
【解決手段】インタフェース部120とホスト部110と調査対象のターゲット機器130をリセット状態又はリセット解除状態のいずれかに切り替えるリセット手段133aとを有する装置100又はこれが実行する方法であって、リセット状態においてシステムログ情報を記録し、リセット状態からリセット解除状態に切り替え、リセット解除状態においてシステムログ情報を記録し、リセット状態におけるシステムログ情報とリセット解除状態におけるシステムログ情報とが異なるか否かを判定し、異なると判定されたときにリセット解除状態におけるシステムログ情報において直近に認識されたデバイス識別子を調査対象のターゲット機器のデバイス識別子として取得する。
【選択図】図1

Description

本発明は、ホスト機器で動作するシステムソフトウェア(「システム」又は「OS」とも言う。)がホスト機器のインタフェース部に接続されたターゲット機器に割り当てたデバイス識別子を、ターゲット機器にアクセスするためのプログラムが自動認識できるようにするターゲット機器識別装置及びターゲット機器識別方法に関するものである。
図9は、従来のUSB(Universal Serial Bus)ホスト機器500とUSBターゲット機器530との接続状態を概略的に示すブロック図である。USBホスト機器500とUSBターゲット機器530とは、IC521に接続された2本のデータ信号ラインD+,D−と、電源ライン(図示せず)と、グランドライン(図示せず)とによって接続される。USB信号の通信は、データ信号ラインD+,D−を互いに逆の位相で動作させる差動データ信号によって行われる。USBホスト機器500において、データ信号ラインD+,D−は、プルダウン抵抗522,523によりグランドライン(GND)にプルダウンされている。データ信号ラインD+,D−が共にLow(ロー)レベルであれば、USBバスリセット状態になる。USBコネクタ524に何も接続されていない状態では、データ信号ラインD+,D−は共にLowレベルになり、USBバスリセット状態になる。
USBターゲット機器530は、電圧源531と、プルアップ抵抗532と、USBデバイスコントローラ533と、CPU534とを有している。USBターゲット機器530では、ロースピード、又は、フルスピード(若しくはハイスピード)のいずれの転送スピードで通信を行うかを定義するために、データ信号ラインD+,D−のいずれかを、プルダウン抵抗522,523より十分小さな抵抗値のプルアップ抵抗(データ信号ラインD+に接続されたプルアップ抵抗532又はデータ信号ラインD−に接続されたプルアップ抵抗(図示せず))によって電圧源531にプルアップする。したがって、USBホスト機器500とUSBターゲット機器530とがUSBケーブルによって接続されると、データ信号ラインD+,D−のいずれかがプルアップ抵抗によって、High(ハイ)状態にプルアップされる。USBホスト機器500は、データ信号ラインD+,D−のいずれかがHigh状態になることによってUSBターゲット機器530が接続されたことを検出し、その状態から通信が開始される。
ユーザーがUSBホスト機器500からUSBターゲット機器530を切り離すと、データ信号ラインD+,D−は共にLowレベルになってUSBバスリセット状態が発生する。その後、ユーザーがUSBターゲット機器530をUSBホスト機器500に接続すると、USBホスト機器500は、USBターゲット機器530を新たに接続されたターゲット機器として認識する。
一方、USBホスト機器500から取り外しができないUSBターゲット機器(例えば、内蔵USBターゲット機器)の場合には、USBホスト機器500を動作させるOS(オペレーションシステム)の起動時にターゲット機器として認識される。
また、USBホスト機器においてシステムを再起動したり、USBケーブルを抜き差ししたりしなくても、USBターゲット機器をリセットすることができる装置の提案がある(例えば、特許文献1参照)。
特開2001−75713号公報(段落0035)
しかしながら、上記従来の装置では、USBホスト機器に複数のUSBターゲット機器が接続されている場合には、システム再起動によってUSBターゲット機器を識別するためのデバイス識別子の割り当てが変更されることがあった。このようなデバイス識別子の割り当ての変更が発生すると、デバイス識別子を利用してターゲット機器を制御するためのプログラムは、システム再起動後におけるUSBターゲット機器とデバイス識別子の対応関係を正確に把握できず、USBターゲット機器にアクセスできなくなるという問題があった。
そこで、本発明は、上記従来技術の課題を解決するためになされたものであり、その目的は、システムがターゲット機器に割り当てたデバイス識別子を、ターゲット機器にアクセスするためのプログラムが自動認識できるようにするターゲット機器識別装置及びターゲット機器識別方法を提供することにある。
本発明に係るターゲット機器識別装置は、複数のターゲット機器が接続可能なインタフェース部と、前記インタフェース部を経由してターゲット機器に接続され、ターゲット機器を制御するホスト部とを有するターゲット機器識別装置であって、前記ホスト部からの制御信号に基づいて、前記ホスト部が前記インタフェース部を経由して調査対象のターゲット機器を認識できない第1の状態又は前記ホスト部が前記インタフェース部を経由して前記調査対象のターゲット機器を認識できる第2の状態のいずれかに切り替える切り替え手段を有し、前記ホスト部は、前記インタフェース部に接続されているターゲット機器の認識結果情報を含むシステムログ情報を記録するログ手段と、前記システムログ情報からターゲット機器のデバイス識別子を取得するデバイス識別子取得手段と、前記第1の状態における前記システムログ情報と前記第2の状態における前記システムログ情報とが異なるときに、前記デバイス識別子取得手段に、前記第2の状態における前記システムログ情報において直近に認識されたデバイス識別子を前記調査対象のターゲット機器のデバイス識別子として取得させる制御手段とを有することを特徴としている。
また、本発明に係るターゲット機器識別方法は、複数のターゲット機器が接続可能なインタフェース部と、前記インタフェース部を経由してターゲット機器に接続され、ターゲット機器を制御するホスト部と、前記ホスト部からの制御信号に基づいて、前記ホスト部が前記インタフェース部を経由して調査対象のターゲット機器を認識できない第1の状態又は前記ホスト部が前記インタフェース部を経由して前記調査対象のターゲット機器を認識できる第2の状態のいずれかに切り替える切り替え手段とを有する装置において実行されるターゲット機器識別方法であって、前記第1の状態において、前記インタフェース部に接続されているターゲット機器の認識結果情報を含むシステムログ情報を記録するステップと、前記1の状態から前記第2の状態へ切り替えるステップと、前記第2の状態への切り替え後において、前記インタフェース部に接続されているターゲット機器の認識結果情報を含むシステムログ情報を記録するステップと、前記第1の状態における前記システムログ情報と前記第2の状態における前記システムログ情報とが異なるか否かを判定するステップと、前記第1の状態における前記システムログ情報と前記第2の状態における前記システムログ情報とが異なると判定されたときに、前記第2の状態における前記システムログ情報において直近に認識されたデバイス識別子を前記調査対象のターゲット機器のデバイス識別子として取得するステップとを有することを特徴としている。
本発明によれば、システムがターゲット機器に割り当てたデバイス識別子を、ターゲット機器にアクセスするためのプログラムが自動認識できるので、ホスト機器で動作するプログラムがUSBターゲット機器にアクセスできず、正常に動作しない事態を回避できるという効果を得ることができる。
本発明の実施の形態1に係るターゲット機器識別装置としてのUSBホスト機器とその周辺機器の構成を概略的に示すブロック図である。 実施の形態1に係るUSBホスト機器におけるインタフェース部とホスト部と内蔵USBターゲット機器との接続状態を概略的に示すブロック図である。 実施の形態1に係るUSBホスト機器のシステムログ情報から調査対象のUSBターゲット機器のデバイス識別子を取得する方法を概略的に示すフローチャートである。 本発明の実施の形態2に係るターゲット機器識別装置としてのUSBホスト機器とその周辺機器の構成を概略的に示すブロック図である。 実施の形態2に係るUSBホスト機器におけるインタフェース部とホスト部と内蔵USBターゲット機器とスイッチとの接続状態を概略的に示すブロック図である。 実施の形態2に係るUSBホスト機器のシステムログ情報から調査対象のUSBターゲット機器のデバイス識別子を取得する方法を概略的に示すフローチャートである。 本発明の実施の形態3に係るターゲット機器識別装置としてのUSBホスト機器とその周辺機器の構成を概略的に示すブロック図である。 実施の形態3に係るUSBホスト機器のdmsgコマンド実行により得られたメッセージ情報から調査対象のUSBターゲット機器のデバイス識別子を取得する方法を概略的に示すフローチャートである。 従来のUSBホスト機器とUSBターゲット機器との接続状態を概略的に示すブロック図である。
実施の形態1.
図1は、本発明の実施の形態1に係るターゲット機器識別装置(すなわち、実施の形態1に係るターゲット機器識別方法を実施する装置)としてのUSBホスト機器100とその周辺機器の構成を概略的に示すブロック図である。図1に示されるように、USBホスト機器100は、複数のUSBターゲット機器が接続可能なインタフェース部120と、インタフェース部120に接続されたUSBターゲット機器を制御するホスト部110と、インタフェース部120とUSB接続され且つホスト部110からの制御信号を受信する内蔵USBターゲット機器130とを有している。図1には、USBホスト機器100の周辺機器の一例として、インタフェース部120にUSBケーブルなどによって接続された外付けUSBターゲット機器401,…,404と、ハブ411とが示されている。ただし、周辺機器の構成は図示の例に限定されない。
また、図1において、内蔵USBターゲット機器130は、システムによって割り当てられたデバイス識別子を調査する調査対象のUSBターゲット機器である。図1に示されるように、内蔵USBターゲット機器130は、USBデバイスコントローラ133を有している。USBデバイスコントローラ133は、内蔵USBターゲット機器130をリセット状態(第1の状態)又はリセット状態が解除されたリセット解除状態(第2の状態)のいずれかに切り替える切り替え手段としてのリセット手段133aを有している。リセット状態(第1の状態)は、ホスト部110が内蔵USBターゲット機器130の存在を認識できない状態であり、リセット解除状態(第2の状態)は、ホスト部110がインタフェース部120を経由して内蔵USBターゲット機器130を認識できる状態である。
また、ホスト部110は、インタフェース部120に接続されているUSBターゲット機器の認識結果情報を含むシステムログ情報を記録するログ手段と、このシステムログ情報からターゲット機器のデバイス識別子を取得するデバイス識別子取得手段と、内蔵USBターゲット機器130がリセット状態であるときのシステムログ情報と内蔵USBターゲット機器130がリセット解除状態であるときのシステムログ情報とが異なるときに、デバイス識別子取得手段に、リセット解除状態におけるシステムログ情報において直近に認識されたデバイス識別子を調査対象のUSBターゲット機器のデバイス識別子として取得させる制御手段とを有している。図1のホスト部110におけるログ手段、デバイス識別子取得手段、及び制御手段が実行する各動作は、後述する図2におけるCPU111とROM112とRAM113とによって実行される。
図2は、実施の形態1に係るUSBホスト機器100におけるインタフェース部120とホスト部110と内蔵USBターゲット機器130との接続状態を概略的に示すブロック図である。図2に示されるように、インタフェース部120は、IC121と、IC121からの信号が出力されるデータ信号ラインD+,D−と、データ信号ラインD+,D−をグランドライン(GND)にプルダウンするプルダウン抵抗122,123とを有している。インタフェース部120の構成及び動作は、図9に示される従来のインタフェース部520の構成及び動作と同様である。
内蔵USBターゲット機器130は、電圧源131と、プルアップ抵抗132と、USBデバイスコントローラ133と、CPU134とを有している。USBターゲット機器130では、ロースピード、又は、フルスピード(若しくはハイスピード)のいずれの転送スピードで通信を行うかを定義するために、データ信号ラインD+,D−のいずれかを、プルダウン抵抗122,123より十分小さな抵抗値のプルアップ抵抗(図2においては、抵抗132)を用いて電圧源131にプルアップする。USBデバイスコントローラ133は、IC121からの信号が出力されるデータ信号ラインD+,D−に接続されている。内蔵USBターゲット機器130内のCPU134は、USBデバイスコントローラ133を制御する。
図2に示されるように、ホスト部110は、CPU111と、ROM112と、RAM113と、これらを接続するバス114とを有している。システム起動のためのプログラムは、ROM112に格納されている。また、ホスト部110内のCPU111は、USBホスト機器100内の各構成の動作を制御すると共に、調査対象の内蔵USBターゲット機器130のUSBデバイスコントローラ133におけるリセット手段133aに制御信号を与える。
USBホスト機器100のホスト部110によるシステム起動時(システム再起動時を含む)には、内蔵USBターゲット機器及び外付けUSBターゲット機器の区別無く、システムによって認識されたターゲット機器の順番に、デバイス識別子が割り当てられる。例えば、フラッシュメモリ型の内蔵USBターゲット機器130が、Linux(Linuxは商標)のOSによって認識される場合には、“sda”、“sdb”、“sdc”などのような名前のデバイス識別子が、各USBターゲット機器に割り当てられる。各ターゲット機器は、OSに認識される順番に名前が割り当てられるため、接続されているターゲット機器が1つだけのときには“sda”が割り当てられるが、複数のターゲット機器が接続されているときには、いずれのデバイス識別子が割り当てられるか決まっていない。
また、内蔵USBターゲット機器130以外にシリアルATA(SATA)規格に準拠した機器(例えば、ハードディスクや、SCSI規格のストレージ機器など)にも、同じ系列のデバイス識別子が割り当てられる。そのため、動的に変化するデバイス識別子を、ターゲット機器にアクセスするためのプログラムが正しく指定できるようにする仕組みを提供することが必要である。デバイス識別子は、例えば、システム起動時の情報を表示するコマンドであるdmesgコマンドを使って、システムが認識しているターゲット機器情報を調べることによって知ることができる。このターゲット機器情報には、デバイス識別子、Vendor(メーカー名)、Model(型名)、及び、情報記録ディスクの場合にはディスク容量などが含まれる。これらの情報から、デバイス識別子と内蔵USBターゲット機器130との組み合わせを知ることは可能であるが、同じメーカーの、同じ型名(製品名)の、同じ容量のUSBターゲット機器を複数接続している場合には、それらの区別がつかない場合がある。以下に説明する本発明の方法によれば、同一種類の複数のUSBターゲット機器のデバイス識別子を区別することができる。
図3は、実施の形態1に係るUSBホスト機器100におけるデバイス識別子の取得方法(すなわち、実施の形態1に係るターゲット機器識別方法)を概略的に示すフローチャートである。ホスト機器100におけるシステム起動時には、デバイス識別子と内蔵USBターゲット機器130の対応関係は不明である。このため、USBホスト機器100のホスト部110は、対応関係を調べたい調査対象のターゲット機器(実施の形態1においては、内蔵USBターゲット機器130)のUSBデバイスコントローラ133のリセット手段133aに制御信号を出力して、内蔵USBターゲット機器130をリセット状態にする(ステップS11)。リセット状態が保持されている間は、内蔵USBターゲット機器130のデータ信号ラインD+,D−が共にLowレベルとなるので、USBホスト機器100のホスト部110は、内蔵USBターゲット機器130が接続されていない状態と認識する。このときに、ホスト部110は、インタフェース部120に接続されている内蔵及び外付けのUSBターゲット機器の接続個数(第1の個数)を調べる(ステップS12)。例えば、OSがLinuxである場合には、「/proc/scsi/USB−storageディレクトリ」に含まれるファイルの数から、システムによって認識されているターゲット機器の数を調べれば、インタフェース部120に接続されているUSBターゲット機器の接続個数を知ることができる。例えば、現在認識されているUSBターゲット機器が1つだけである場合には、「/proc/scsi/USB−storageディレクトリ」に1つのファイルが存在する。
次に、ホスト部110内のCPU111から、内蔵USBターゲット機器130内のUSBデバイスコントローラ133のリセット手段133aに制御信号を出力して、内蔵USBターゲット機器130をリセット状態からリセット解除状態に切り替え(ステップS13)、その後、リセット解除状態においてインタフェース部120に接続されている内蔵及び外付けのUSBターゲット機器の接続個数(第2の個数)を調べる(ステップS14)。システムによって調査対象の内蔵USBターゲット機器130が正常に接続されたと認識されると、接続個数は変更される(リセット状態のときよりも1つ増える)。もしも、内蔵USBターゲット機器130をリセット状態にし、その後リセット解除状態にする処理(リセット処理)を数回リトライしても、リセット状態のときの接続個数とリセット解除状態のときの接続個数とが同じである場合には(ステップS15でNO)、調査対象の内蔵USBターゲット機器130が装着されていないか、又は、内蔵USBターゲット機器130が正常に動作していない(故障など)と判断することができる。
リセット状態のときの接続個数とリセット解除状態のときの接続個数とが異なる場合(1つ接続個数が増えている場合)には(ステップS15でYES)、ホスト部110のCPU111は、システムログ情報から直近に認識されたデバイス識別子を取得する(ステップS16)。例えば、システムログ情報が記録されている「/var/log/messagesファイル」を参照することによって、調査対象のUSBターゲット機器が認識された時刻とデバイス識別子を取得することができる。
以上に説明したように、実施の形態1に係るターゲット機器認識装置及び方法によれば、システムがUSBターゲット機器に割り当てたデバイス識別子を、USBターゲット機器にアクセスするためのプログラムが自動認識できるので、USBホスト機器100のホスト部110で動作するプログラムがUSBターゲット機器にアクセスできず、正常に動作しない事態を回避することができる。このように、注目する内蔵USBターゲット機器130のデバイス識別子は、ホスト部110が実行するプログラムによって自動認識されるので、ユーザーがデバイス識別子を意識しなくても、プログラムは注目するターゲット機器に対するデータの読み出し及び書き込みを確実に行うことができる。
また、実施の形態1に係るターゲット機器認識装置及び方法においては、調査対象の内蔵USBターゲット機器がリセット状態のときのUSBターゲット機器の接続個数と調査対象の内蔵USBターゲット機器がリセット解除状態のときのUSBターゲット機器の接続個数とを比較して、接続個数に変化があったときの、システムログ情報から直近に追加されたデバイス識別子を調査対象のUSBターゲット機器130のデバイス識別子と判定しているので、デバイス識別子の誤認識を防ぐことができる。
さらに、実施の形態1に係るターゲット機器認識装置及び方法は、ハードウェアの面では、USBホスト機器100のホスト部110内のCPU111から内蔵USBターゲット機器130内のUSBデバイスコントローラ133のリセット手段133aを制御するように構成するだけで、実現できるので、追加の部品コストがほとんど必要ないという利点がある。
実施の形態2.
図4は、本発明の実施の形態2に係るターゲット機器識別装置(すなわち、実施の形態2に係るターゲット機器識別方法を実施する装置)としてのUSBホスト機器200とその周辺機器の構成を概略的に示すブロック図である。図4に示されるように、USBホスト機器200は、複数のUSBターゲット機器が接続可能なインタフェース部220と、インタフェース部220に接続されたUSBターゲット機器を制御するホスト部210と、インタフェース部220にUSB接続される内蔵USBターゲット機器230と、インタフェース部220と内蔵USBターゲット機器230との接続ラインをオン/オフするスイッチ240とを有している。スイッチ240は、ホスト部210からの制御信号を受信し、制御信号に基づいてオン/オフする。図4には、USBホスト機器100の周辺機器の一例として、インタフェース部220のポートにUSBケーブルなどによって接続された外付けUSBターゲット機器401,…,404と、ハブ411とが示されている。ただし、周辺機器の構成は図示の例に限定されない。
また、図4において、内蔵USBターゲット機器230は、システムによって割り当てられたデバイス識別子を調査する調査対象のUSBターゲット機器である。スイッチ240は、内蔵USBターゲット機器230をホスト部210がインタフェース部220を経由して調査対象の内蔵USBターゲット機器230を認識できない第1の状態(オフ状態)又はホスト部210がインタフェース部220を経由して調査対象のターゲット機器230を認識できる第2の状態(オン状態)いずれかに切り替える切り替え手段である。ホスト部210は、実施の形態1のホスト部110と同様に、インタフェース部220に接続されているUSBターゲット機器の認識結果情報を含むシステムログ情報を記録するログ手段と、このシステムログ情報からターゲット機器のデバイス識別子を取得するデバイス識別子取得手段と、内蔵USBターゲット機器230がリセット状態であるときのシステムログ情報と内蔵USBターゲット機器230がリセット解除状態であるときのシステムログ情報とが異なるときに、デバイス識別子取得手段に、リセット解除状態におけるシステムログ情報において直近に認識されたデバイス識別子を調査対象のUSBターゲット機器のデバイス識別子として取得させる制御手段とを有している。図4のホスト部210におけるログ手段、デバイス識別子取得手段、及び制御手段が実行する各動作は、後述する図5におけるCPU211とROM212とRAM213とによって実行される。
図5は、実施の形態2に係るUSBホスト機器200におけるインタフェース部220とホスト部210と内蔵USBターゲット機器230とスイッチ240との接続状態を概略的に示すブロック図である。図5に示されるように、インタフェース部220は、IC221と、データ信号ラインD+,D−と、プルダウン抵抗222,223とを有している。インタフェース部220の構成及び動作は、図9に示される従来のインタフェース部520の構成及び動作と同様である。
内蔵USBターゲット機器230は、電圧源231と、プルアップ抵抗232と、USBデバイスコントローラ233と、CPU234とを有している。IC221とUSBデバイスコントローラ233との間にスイッチ240を配置し、2つのデータ信号ラインD+,D−の接続及び切断をCPU211が制御する。内蔵USBターゲット機器230の構成及び動作は、図9に示される従来のUSBターゲット機器530の構成及び動作と同様である。
また、図5に示されるように、ホスト部210は、CPU211と、ROM212と、RAM213と、これらを接続するバス214とを有している。システム起動のためのプログラムは、ROM212に格納されており、CPU211により実行される。
また、ホスト部210内のCPU211は、USBホスト機器200内の各構成の動作を制御すると共に、スイッチ240にオン/オフ制御のための制御信号を与える。なお、図5には、1つのUSBターゲット機器のみを示しているが、内蔵USBターゲット機器が複数存在してもよく、また、外付けの取り外し可能なUSBターゲット機器が複数接続されていてもよい。
図6は、実施の形態2に係るUSBホスト機器200におけるデバイス識別子の取得方法(すなわち、実施の形態2に係るターゲット機器識別方法)を概略的に示すフローチャートである。ホスト機器200におけるシステム起動時には、デバイス識別子と内蔵USBターゲット機器230の対応関係は不明である。このため、USBホスト機器200のホスト部210は、対応関係を調べたい調査対象のターゲット機器(実施の形態2においては、内蔵USBターゲット機器230)用のスイッチ240を切断状態にしておく。このときに、ホスト部210は、インタフェース部220に接続されている内蔵及び外付けのUSBターゲット機器の接続個数(第1の個数)を調べる(ステップS21)。次に、調査対象の内蔵USBターゲット機器230用のスイッチ240をオンにすることによって、内蔵USBターゲット機器230をホスト部210に接続する(ステップS22)。次に、ホスト部210は、インタフェース部220に接続されている内蔵及び外付けのUSBターゲット機器の接続個数(第2の個数)を調べる(ステップS23)。内蔵USBターゲット機器230の接続個数に変化があったかを調べ、変化が無かった場合には内蔵USBターゲット機器230の接続に失敗しているので(ステップS24でNO)、スイッチ240を切断することにより、デバイス識別子調査対象の内蔵USBターゲット機器230を切断状態にし(ステップS26)、ステップS21からの処理を再度実行する。内蔵USBターゲット機器230が正しくシステムに認識された場合には(ステップS24でYES)、システムログ情報から直近に認識されたデバイス識別子を取得する(ステップS25)。
以上に説明したように、実施の形態2に係るターゲット機器認識装置及び方法によれば、システムがUSBターゲット機器に割り当てたデバイス識別子を、USBターゲット機器にアクセスするためのプログラムが自動認識できるので、USBホスト機器200のホスト部210で動作するプログラムがUSBターゲット機器にアクセスできず、正常に動作しない事態を回避することができる。このように、注目する内蔵USBターゲット機器230のデバイス識別子は、ホスト部210が実行するプログラムによって自動認識されるので、ユーザーがデバイス識別子を意識しなくても、プログラムは注目するターゲット機器に対するデータの読み出し及び書き込みを確実に行うことができる。
また、実施の形態2に係るターゲット機器認識装置及び方法においては、スイッチ240が切断状態のときのUSBターゲット機器の接続個数と接続状態のときのUSBターゲット機器の接続個数とを比較して、接続個数に変化があったときの、システムログ情報から直近に追加されたデバイス識別子を調査対象のUSBターゲット機器230のデバイス識別子と判定しているので、デバイス識別子の誤認識を防ぐことができる。
また、実施の形態2に係るターゲット機器認識装置及び方法においては、スイッチ240を用いているので、システム起動時(再起動時を含む)にシステムが他のUSBターゲット機器の接続を認識し、デバイス識別子を割り当てたあとに、調査対象の内蔵USBターゲット機器230の接続を行うことができ、システム起動後にスイッチ240を1回の接続状態に切り替えるという処理によって調査対象の内蔵USBターゲット機器230のデバイス識別子を特定できる。
実施の形態3.
図7は、本発明の実施の形態3に係るターゲット機器識別装置(すなわち、実施の形態3に係るターゲット機器識別方法を実施する装置)としてのUSBホスト機器300とその周辺機器の構成を概略的に示すブロック図である。図7に示されるように、USBホスト機器300は、複数のUSBターゲット機器が接続可能なインタフェース部320と、インタフェース部320に接続されたUSBターゲット機器を制御するホスト部310と、インタフェース部320にUSB接続される内蔵USBターゲット機器330と、インタフェース部320と内蔵USBターゲット機器330との接続ラインをオン(接続)/オフ(切断)するスイッチ340とを有している。実施の形態3に係るUSBホスト機器300は、ホスト部310の動作を除き、実施の形態2に係るUSBホスト機器200と同じである。
図8は、実施の形態3に係るUSBホスト機器300におけるデバイス識別子の取得方法(すなわち、実施の形態3に係るターゲット機器識別方法)を概略的に示すフローチャートである。USBホスト機器300におけるシステム起動時には、デバイス識別子と内蔵USBターゲット機器330の対応関係は不明である。このため、USBホスト機器300のホスト部310は、システム起動時には、対応関係を調べたい調査対象のターゲット機器(図7においては、内蔵USBターゲット機器330)用のスイッチ340を切断状態にしておく。このときに、USBホスト機器300のホスト部310は、システムバッファ(図示せず)が保持するシステムログ情報を示すメッセージを表示させるコマンド、例えば、dmesgコマンドを発行し、出力されるメッセージをホスト部310内のRAMに保存する(ステップS31)。次に、スイッチ340をオンにすることによって、調査対象の内蔵USBターゲット機器330をホスト部310に接続させる(ステップS32)。次に、ホスト部310は、システムバッファ(図示せず)が保持するシステムログ情報を示すメッセージを表示させるdmesgコマンドを再度発行し、出力されるメッセージと、RAMに保存されているメッセージとの差分を抽出する(ステップS33)。ステップS31とステップS33で得られた情報に差分が無い場合(ステップS34においてNOの場合)には、スイッチ340を切断した後(ステップS36)、ステップS31から始まるデバイス識別子取得処理を再度実行する。また、ステップS31とステップS33で得られた情報に差分がある場合(ステップS34においてYESの場合)には、差分の情報の中にデバイス識別子が記述されているので、差分から新たに接続された内蔵USBターゲット機器330のデバイス識別子を取得する。
以上に説明したように、実施の形態3に係るターゲット機器認識装置及び方法によれば、システムがUSBターゲット機器に割り当てたデバイス識別子を、USBターゲット機器にアクセスするためのプログラムが自動認識できるので、USBホスト機器300のホスト部310で動作するプログラムがUSBターゲット機器にアクセスできず、正常に動作しない事態を回避することができる。このように、注目する内蔵USBターゲット機器330のデバイス識別子は、ホスト部310が実行するプログラムによって自動認識されるので、ユーザーがデバイス識別子を意識しなくても、プログラムは注目するターゲット機器に対するデータの読み出し及び書き込みを確実に行うことができる。
また、実施の形態3に係るターゲット機器認識装置及び方法においては、内蔵USBターゲット機器330の接続前後のdmesgコマンドに対するメッセージの差分からデバイス識別子を取得するようにしたのでUSBターゲット機器330のデバイス識別子に加えて、例えば、プリンター、スキャナー、カメラなどのようなUSBターゲット機器330の種類情報や装置名称などの機器固有の情報をも取得することができる。
なお、実施の形態3は、実施の形態2と同様のハードウェア構成を有する装置を前提に説明したが、実施の形態1と同様のハードウェア構成を有する装置にも適用可能である。
100,200,300 USBホスト機器、 110,210,310 ホスト部、 111,211 ホスト部内のCPU、 112,212 ROM、 113,213 RAM、 114,214 バス、 120,220,320 インタフェース部、 121,221 IC、 122,123,222,223 プルダウン抵抗、 130,230,330 内蔵USBターゲット機器、 131,231 電圧源、 132,232 プルアップ抵抗、 133,233 USBデバイスコントローラ、 133a リセット手段、 134,234 内蔵USBターゲット機器内のCPU、 240 スイッチ、 401,…,404 外付けUSBターゲット機器、 411 ハブ。

Claims (12)

  1. 複数のターゲット機器が接続可能なインタフェース部と、
    前記インタフェース部を経由してターゲット機器に接続され、ターゲット機器を制御するホスト部と
    を有するターゲット機器識別装置であって、
    前記ホスト部からの制御信号に基づいて、前記ホスト部が前記インタフェース部を経由して調査対象のターゲット機器を認識できない第1の状態又は前記ホスト部が前記インタフェース部を経由して前記調査対象のターゲット機器を認識できる第2の状態のいずれかに切り替える切り替え手段を有し、
    前記ホスト部は、
    前記インタフェース部に接続されているターゲット機器の認識結果情報を含むシステムログ情報を記録するログ手段と、
    前記システムログ情報からターゲット機器のデバイス識別子を取得するデバイス識別子取得手段と、
    前記第1の状態における前記システムログ情報と前記第2の状態における前記システムログ情報とが異なるときに、前記デバイス識別子取得手段に、前記第2の状態における前記システムログ情報において直近に認識されたデバイス識別子を前記調査対象のターゲット機器のデバイス識別子として取得させる制御手段とを有する
    ことを特徴とするターゲット機器識別装置。
  2. 前記切り替え手段は、前記調査対象のターゲット機器内に備えられたリセット手段であり、
    前記第1の状態は、前記調査対象のターゲット機器のリセット状態であり、
    前記第2の状態は、前記調査対象のターゲット機器のリセット状態を解除したリセット解除状態である
    ことを特徴とする請求項1に記載のターゲット機器識別装置。
  3. 前記切り替え手段は、前記インタフェース部と前記調査対象のターゲット機器との間の接続ラインに備えられたスイッチであり、
    前記第1の状態は、前記スイッチが前記接続ラインを切断したオフ状態であり、
    前記第2の状態は、前記スイッチが前記接続ラインを接続したオン状態である
    ことを特徴とする請求項1に記載のターゲット機器識別装置。
  4. 前記システムログ情報は、前記第1の状態において前記インタフェース部に接続されているターゲット機器の第1の個数と、前記第2の状態において前記インタフェース部に接続されているターゲット機器の第2の個数とを含み、
    前記第1の状態における前記システムログ情報と前記第2の状態における前記システムログ情報とが異なるときは、前記第1の個数と前記第2の個数とが異なるときである
    ことを特徴とする請求項1乃至3のいずれか1項に記載のターゲット機器識別装置。
  5. 前記システムログ情報は、前記インタフェース部に接続されているターゲット機器のデバイス識別子を含み、
    前記調査対象のターゲット機器のデバイス識別子の取得は、前記第1の状態における前記システムログ情報と前記第2の状態における前記システムログ情報との差分の中に含まれるデバイス識別子を前記調査対象のターゲット機器のデバイス識別子として取得することによって実行される
    ことを特徴とする請求項1乃至3のいずれか1項に記載のターゲット機器識別装置。
  6. 前記調査対象のターゲット機器は、ターゲット機器識別装置の一部を構成する内蔵ターゲット機器であることを特徴とする請求項1乃至5のいずれか1項に記載のターゲット機器識別装置。
  7. 複数のターゲット機器が接続可能なインタフェース部と、前記インタフェース部を経由してターゲット機器に接続され、ターゲット機器を制御するホスト部と、前記ホスト部からの制御信号に基づいて、前記ホスト部が前記インタフェース部を経由して調査対象のターゲット機器を認識できない第1の状態又は前記ホスト部が前記インタフェース部を経由して前記調査対象のターゲット機器を認識できる第2の状態のいずれかに切り替える切り替え手段とを有する装置において実行されるターゲット機器識別方法であって、
    前記第1の状態において、前記インタフェース部に接続されているターゲット機器の認識結果情報を含むシステムログ情報を記録するステップと、
    前記1の状態から前記第2の状態へ切り替えるステップと、
    前記第2の状態への切り替え後において、前記インタフェース部に接続されているターゲット機器の認識結果情報を含むシステムログ情報を記録するステップと、
    前記第1の状態における前記システムログ情報と前記第2の状態における前記システムログ情報とが異なるか否かを判定するステップと、
    前記第1の状態における前記システムログ情報と前記第2の状態における前記システムログ情報とが異なると判定されたときに、前記第2の状態における前記システムログ情報において直近に認識されたデバイス識別子を前記調査対象のターゲット機器のデバイス識別子として取得するステップと
    を有することを特徴とするターゲット機器識別方法。
  8. 前記切り替え手段は、前記調査対象のターゲット機器内に備えられたリセット手段であり、
    前記第1の状態は、前記調査対象のターゲット機器のリセット状態であり、
    前記第2の状態は、前記調査対象のターゲット機器のリセット状態を解除したリセット解除状態である
    ことを特徴とする請求項7に記載のターゲット機器識別方法。
  9. 前記切り替え手段は、前記インタフェース部と前記調査対象のターゲット機器との間の接続ラインに備えられたスイッチであり、
    前記第1の状態は、前記スイッチが前記接続ラインを切断したオフ状態であり、
    前記第2の状態は、前記スイッチが前記接続ラインを接続したオン状態である
    ことを特徴とする請求項7に記載のターゲット機器識別方法。
  10. 前記システムログ情報は、前記第1の状態において前記インタフェース部に接続されているターゲット機器の第1の個数と、前記第2の状態において前記インタフェース部に接続されているターゲット機器の第2の個数とを含み、
    前記第1の状態における前記システムログ情報と前記第2の状態における前記システムログ情報とが異なるときは、前記第1の個数と前記第2の個数とが異なるときである
    ことを特徴とする請求項7乃至9のいずれか1項に記載のターゲット機器識別方法。
  11. 前記システムログ情報は、前記インタフェース部に接続されているターゲット機器のデバイス識別子を含み、
    前記調査対象のターゲット機器のデバイス識別子の取得は、前記第1の状態における前記システムログ情報と前記第2の状態における前記システムログ情報との差分の中に含まれるデバイス識別子を前記調査対象のターゲット機器のデバイス識別子として取得することによって実行される
    ことを特徴とする請求項7乃至9のいずれか1項に記載のターゲット機器識別方法。
  12. 前記調査対象のターゲット機器は、ターゲット機器識別装置の一部を構成する内蔵ターゲット機器であることを特徴とする請求項7乃至11のいずれか1項に記載のターゲット機器識別方法。
JP2009118795A 2009-05-15 2009-05-15 ターゲット機器識別装置及びターゲット機器識別方法 Pending JP2010267129A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009118795A JP2010267129A (ja) 2009-05-15 2009-05-15 ターゲット機器識別装置及びターゲット機器識別方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009118795A JP2010267129A (ja) 2009-05-15 2009-05-15 ターゲット機器識別装置及びターゲット機器識別方法

Publications (2)

Publication Number Publication Date
JP2010267129A true JP2010267129A (ja) 2010-11-25
JP2010267129A5 JP2010267129A5 (ja) 2012-06-28

Family

ID=43364038

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009118795A Pending JP2010267129A (ja) 2009-05-15 2009-05-15 ターゲット機器識別装置及びターゲット機器識別方法

Country Status (1)

Country Link
JP (1) JP2010267129A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1115771A (ja) * 1997-06-23 1999-01-22 Canon Inc データ転送装置、データ転送システムおよびその方法、画像処理装置、並びに、記録媒体
JP2003281072A (ja) * 2002-03-26 2003-10-03 Fuji Photo Film Co Ltd デバイス制御方法および装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1115771A (ja) * 1997-06-23 1999-01-22 Canon Inc データ転送装置、データ転送システムおよびその方法、画像処理装置、並びに、記録媒体
JP2003281072A (ja) * 2002-03-26 2003-10-03 Fuji Photo Film Co Ltd デバイス制御方法および装置

Similar Documents

Publication Publication Date Title
US8458524B2 (en) Firmware recovery system and method
US8185673B2 (en) Information processing apparatus, and method for controlling the same
TWI578233B (zh) 統一韌體管理系統、非揮發電腦可讀取媒體以及統一韌體管理方法
US20090024757A1 (en) Automatic Protocol Determination For Portable Devices Supporting Multiple Protocols
US20060174049A1 (en) USB to SATA bridge system
JP5328511B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
EP2821882B1 (en) Computer device and method for converting working mode of universal serial bus connector of the computer device
JP5821393B2 (ja) 情報処理装置、起動方法、プログラム
US20140122753A1 (en) Electronic Device, Management Method Thereof, and Rack Serving System
JP2009512033A (ja) データ・バックアップ・アプリケーションのエミュレーションコンポーネント
WO2011130975A1 (zh) 一种linux系统数据卡设备端口识别的方法及装置
US7921230B2 (en) USB devices pre-configuration for KVM switch
US20090283600A1 (en) Automatic detection of an enabled interface of a card reader
US11151065B2 (en) Method for performing detection control of write protection function of memory device, associated control chip and associated electronic device
WO2009125586A1 (ja) デバイス制御方法、デバイス制御プログラムおよびデバイス選択装置
JP2010267129A (ja) ターゲット機器識別装置及びターゲット機器識別方法
US7853830B2 (en) Apparatus and method for providing error notification in a wireless virtual file system
EP2477120B1 (en) Method for processing device connection, combination device and host device
JP2011107944A (ja) ストレージ機器
JP7319951B2 (ja) 消去方法及び消去システム
JP4952710B2 (ja) コンピュータシステム
KR20080073552A (ko) 데이터 재생방법 및 장치
TW201715394A (zh) 判斷是否發生熱插拔的方法
CN101246428A (zh) 启动装置的重枚举的方法
KR20140125008A (ko) 디바이스 및 디바이스 드라이버의 설치 여부 판단 방법

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120514

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130319

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130716