| 243 | |
| 244 | == 複数デバイス接続 == |
| 245 | |
| 246 | FT260開発ボードをUSBハブで複数繋いでみると、当たり前だが普通に認識して/dev/hidraw*が生成される。[[br]] |
| 247 | FT232RやFT230Xには、デフォルトでチップ毎にシリアル番号が設定されていて、それを使えばデバイス名の固定が可能だが、FT260にはそれがない。 |
| 248 | |
| 249 | {{{ |
| 250 | debian@beaglebone:~$ udevadm info -a -p $(udevadm info -q path -n /dev/hidraw0) |
| 251 | |
| 252 | : |
| 253 | looking at parent device '/devices/platform/ocp/47400000.usb/47401c00.usb/musb-hdrc.1.auto/usb1/1-1/1-1.2': |
| 254 | KERNELS=="1-1.2" |
| 255 | SUBSYSTEMS=="usb" |
| 256 | DRIVERS=="usb" |
| 257 | ATTRS{authorized}=="1" |
| 258 | ATTRS{avoid_reset_quirk}=="0" |
| 259 | ATTRS{bConfigurationValue}=="1" |
| 260 | ATTRS{bDeviceClass}=="00" |
| 261 | ATTRS{bDeviceProtocol}=="00" |
| 262 | ATTRS{bDeviceSubClass}=="00" |
| 263 | ATTRS{bMaxPacketSize0}=="64" |
| 264 | ATTRS{bMaxPower}=="100mA" |
| 265 | ATTRS{bNumConfigurations}=="1" |
| 266 | ATTRS{bNumInterfaces}==" 1" |
| 267 | ATTRS{bcdDevice}=="2200" |
| 268 | ATTRS{bmAttributes}=="a0" |
| 269 | ATTRS{busnum}=="1" |
| 270 | ATTRS{configuration}=="" |
| 271 | ATTRS{devnum}=="118" |
| 272 | ATTRS{devpath}=="1.2" |
| 273 | ATTRS{idProduct}=="6030" |
| 274 | ATTRS{idVendor}=="0403" |
| 275 | ATTRS{ltm_capable}=="no" |
| 276 | ATTRS{manufacturer}=="FTDI" |
| 277 | ATTRS{maxchild}=="0" |
| 278 | ATTRS{product}=="FT260" |
| 279 | ATTRS{quirks}=="0x0" |
| 280 | ATTRS{removable}=="unknown" |
| 281 | ATTRS{speed}=="12" |
| 282 | ATTRS{urbnum}=="16" |
| 283 | ATTRS{version}==" 2.00" |
| 284 | : |
| 285 | |
| 286 | }}} |
| 287 | |
| 288 | FT232R等の他のチップでは、{{{ATTRS{SerialNumber}==xxxx}}}のような表示が入る。(詳細な属性名は不明)[[br]] |
| 289 | データシートを見ると、I2C接続した外付けEEPROMに書き込むと、表示されるようになるらしい。[[br]] |
| 290 | 実験の初めにEEPROMを外して実験していたが、接続しなおしてから、シリアル番号を書き込んでみる。[[br]] |
| 291 | 設定の変更はI2Cコマンドでできるようだが、[http://www.ftdichip.com/Support/Utilities.htm#FT_Prog FT_Prog]というユティリティをFTDIが用意してくれているので、今回はそれを使う。[[br]] |
| 292 | |
| 293 | [[Image(FT_Prog.png,300)]] |
| 294 | |
| 295 | {{{USB String Descriptors -> Serial Number Enabled}}}と{{{Auto Generate Serial No}}}にチェックを入れて、メインメニューの{{{DEVICES -> Program}}}を選択すると、 |
| 296 | |
| 297 | [[Image(FT_Prog_Write.png)]] |
| 298 | |
| 299 | のダイアログボックスで{{{Program}}}すれば自動的にシリアル番号が生成されてEEPROMに書き込まれる。[[br]] |
| 300 | 書き込み実行後に再度デバイス情報を見てみると、今度は{{{ATTRS{serial}==}}}が設定されている。[[br]] |
| 301 | |
| 302 | {{{ |
| 303 | debian@beaglebone:~$ udevadm info -a -p $(udevadm info -q path -n /dev/hidraw0) |
| 304 | |
| 305 | : |
| 306 | looking at parent device '/devices/platform/ocp/47400000.usb/47401c00.usb/musb-hdrc.1.auto/usb1/1-1/1-1.1': |
| 307 | KERNELS=="1-1.1" |
| 308 | SUBSYSTEMS=="usb" |
| 309 | DRIVERS=="usb" |
| 310 | ATTRS{authorized}=="1" |
| 311 | ATTRS{avoid_reset_quirk}=="0" |
| 312 | ATTRS{bConfigurationValue}=="1" |
| 313 | ATTRS{bDeviceClass}=="00" |
| 314 | ATTRS{bDeviceProtocol}=="00" |
| 315 | ATTRS{bDeviceSubClass}=="00" |
| 316 | ATTRS{bMaxPacketSize0}=="64" |
| 317 | ATTRS{bMaxPower}=="128mA" |
| 318 | ATTRS{bNumConfigurations}=="1" |
| 319 | ATTRS{bNumInterfaces}==" 1" |
| 320 | ATTRS{bcdDevice}=="2200" |
| 321 | ATTRS{bmAttributes}=="a0" |
| 322 | ATTRS{busnum}=="1" |
| 323 | ATTRS{configuration}=="" |
| 324 | ATTRS{devnum}=="124" |
| 325 | ATTRS{devpath}=="1.1" |
| 326 | ATTRS{idProduct}=="6030" |
| 327 | ATTRS{idVendor}=="0403" |
| 328 | ATTRS{ltm_capable}=="no" |
| 329 | ATTRS{manufacturer}=="FTDI" |
| 330 | ATTRS{maxchild}=="0" |
| 331 | ATTRS{product}=="FT260" |
| 332 | ATTRS{quirks}=="0x0" |
| 333 | ATTRS{removable}=="unknown" |
| 334 | ATTRS{serial}=="FT27KQDF" |
| 335 | ATTRS{speed}=="12" |
| 336 | ATTRS{urbnum}=="18" |
| 337 | ATTRS{version}==" 2.00" |
| 338 | : |
| 339 | }}} |
| 340 | |