M. Takeyamaです。 On Wed, 19 Jan 2005 00:10:21 +0900 SAITO TAKAYOSHI <mail@mirai-city.org> wrote:
こんばんは、齊藤です。
色々な情報を頂きましてありがとうございます。 いえいえ。(こだわりモードに突入中 かな。)
[...]
・他にUSBメモリも差してみました。その結果、および M. Takeyamaさんのログと、USB HDDの相違点は、 USB HDDにはSerialNumberの項目がないことです。
(Hotplugは、USBデバイスを認識したとき「SerialNumber が存在した場合」は、その番号をデフォルトのマウントポイ ントに組み込もうとし、それが存在しない場合はManufacturer およびProductの値を使おうとする?(で、その2つの値が まったく同一の場合は、連番も付かずユニークにならない 構造となっているということでしょうか)。 Hotplugの名前命名ロジックがSerialを前提としているような... #USBデバイスって、SerialNumber が 必須なのかな(?)
大まかな命名ロジック --- 多分。 シリアルがあるとき 1)"usb-storage-$serial" シリアルがないとき 2)identifier="${manufacturer}-${product}" シリアルがなくて、manufacturer, productのどちらかが ないときは、Vendor、 ProdIDをつかう。 (Vendor、ProdIDは、USBデバイスなら絶対についていたと思う) 3)identifier="0x${idvendor}-0x${idproduct}" ちなみに、命名ロジックは、udevがやっているような感じが... #(udev.get_unique_hardware_path.sh) #このファイルの中にも、シリアルないものは、badデバイス #みたいなコメントみかけましたけど...
シリアルナンバーが存在しないことが、このデバイスの認識と して正常な状態なのかは分からなかったですが・・・。 シリアルナンバーが必須かもと思う理由は、
uhci_hcd(USB HUB(?))のところにも、"Vendor=0000 ProdID=0000 Rev= 2.06" などともに、"Manufacturer=Linux 2.6.5-7.111.19-default uhci_hcd" "Product=UHCI Host Controller","SerialNumber=0000:00:1d.0" SerialNumberがついています。 また、別のIO-DATAのカードリーダをつけたところ... ”SerialNumber=000000000000”の時も /media/usb-storage-odd-IODATADEVICEINC-USB27inRW:0:0:3p1 というように、 manufacturer名+product名 というディレクトリ名になるデバイスに遭遇できました。 -----(cat /proc/bus/usb/devices からの抜粋)----- T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2 B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0000 ProdID=0000 Rev= 2.06 S: Manufacturer=Linux 2.6.5-7.111.19-default uhci_hcd S: Product=UHCI Host Controller S: SerialNumber=0000:00:1d.0 C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=04bb ProdID=0338 Rev= 2.20 S: Manufacturer=I-O DATA DEVICE,INC. S: Product=USB2-7inRW S: SerialNumber=000000000000 C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms --------------------------------------------- ----- M. Takeyama __________________________________ Do You Yahoo!? Upgrade Your Life http://bb.yahoo.co.jp/