M. Takeyamaです。 #自己フォローモード #(自分の中では、Hotplugのユニーク問題は解決したかなモード) On Wed, 19 Jan 2005 13:04:01 +0900 "M. Takeyama(takezou)" <takezou040728@yahoo.co.jp> wrote: [...]
(Hotplugは、USBデバイスを認識したとき「SerialNumber が存在した場合」は、その番号をデフォルトのマウントポイ ントに組み込もうとし、それが存在しない場合はManufacturer およびProductの値を使おうとする?(で、その2つの値が まったく同一の場合は、連番も付かずユニークにならない 構造となっているということでしょうか)。 Hotplugの名前命名ロジックがSerialを前提としているような... #USBデバイスって、SerialNumber が 必須なのかな(?) USBデバイスにSerialNumber(の情報)が必須かどうかは別として。
<今後の注意点まとめモード(hotplugのモードでの利用の観点から)> ・SerialNumberのついているデバイスを購入すること。 (購入時に確認すること --- 現実的に難しいそう) ・複数のデバイスを同時使用するような場合は、同じメーカのモノ で統一するのは避ける。同じメーカならプロダクトIDが違う ものにする。 (Vendor、ProdIDの組み合わせでユニークなるようにするということです。) #SerialNumberのついているデバイスは問題なし。 ・バグfixしたudevにする その後、”udev.get_unique_hardware_path.sh”が hotplugのマウント ポイントの命名ロジックをやっているということがわかりました。 私や齊藤さんなどのいままでの調査結果を検討したところ USBのBus情報とDevice情報を付加してあげればユニーク なるのではないかと思います。 #簡単に各デバイスのBus情報とDevice情報がすぐにとって #来れるか? (んーん。わからない。) identifier="${manufacturer}-${product}-${usbbus}-${usbdevice}" or identifier="0x${idvendor}-0x${idproduct}-${usbbus}-${usbdevice}" 試しに、明示的にusbbus、usbdeviceという変数(勝手に作って)に ダミーデータをセットしてやってみました。 /media/usb-storage-odd-IODATADEVICEINC-USB27inRW:0:0:3p1 |(こんな風になりました。) V /media/usb-storage-odd-IODATADEVICEINC-USB27inRW-000-001:0:0:3p1 -----(その時の変更点)------ diff udev.get_unique_hardware_path.sh udev.get_unique_hardware_path.sh.org 227,231c227 < # identifier="0x${idvendor}-0x${idproduct}" < < usbbus="000" < usbdevice="001" < identifier="0x${idvendor}-0x${idproduct}-${usbbus}-${usbdevice}" ---
identifier="0x${idvendor}-0x${idproduct}"
233,237c229 < # identifier="${manufacturer}-${product}" < < usbbus="000" < usbdevice="001" < identifier="${manufacturer}-${product}-${usbbus}-${usbdevice}" ---
identifier="${manufacturer}-${product}"
---------------------------- P.S. "cat /proc/bus/usb/devices" の情報ですけど。 "lsusb -v "でも同じ情報が取れることがわかりました。 #lsusbのコマンドの存在を知りませんでした。 ----- M. Takeyama __________________________________ Do You Yahoo!? Upgrade Your Life http://bb.yahoo.co.jp/