| | 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 | |