fxloadがlibusbに対応している

 最近工作に沢山USB-UARTアダプタを使っています。
 不足しているというか、つなぎ直すのが面倒です。
 ということで元祖EzUSBのan2131/an2135を持ち出しました。mini EZ-USBです。EzARM-7で使ってたやつですね。
 といってもfirmwareは毎回手動でloadですね。これが面倒だけど、これが柔軟性にもつながっているので、我慢します。
 serial通信のfirmwareはこちらにありました。
(といいますか、リンク切れを回復頂きました。ありがとうございます。m(_ _)m)
https://kiidax.wordpress.com/2011/12/11/ezusb/

 しかし、fxloadの-Dの後に記述するデバイスパスが分かりません。
どうだっけ?と調べるうちにlibusbに対応したfxloadを発見しました。
こちらです。
https://github.com/wkoszek/fxload
 早速ビルドしまして、./fxload -B -D vid=0x03fd,pid=0x000d ...で使うんだよ。って書いてあるんですが、動きません。またまた悩みまして、
fxload -Blibusb -D vid=0xaaaa,pid=0xbbbb -I hogehoge.hexであることが分かりました。
 操作手順をまとめます。
 mini EzUSBをつなぐと認識されて

$ dmesg | tail
[  618.133823] usb 3-5.4.2: new full-speed USB device number 7 using xhci_hcd
[  618.234619] usb 3-5.4.2: New USB device found, idVendor=0547, idProduct=2131
[  618.234624] usb 3-5.4.2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
$ lsusb
Bus 003 Device 007: ID 0547:2131 Anchor Chips, Inc. AN2131 EZUSB Microcontroller

 これを確認して、

$ fxload -Blibusb -D vid=0x0547,pid=0x2131 -I serial.hex
problem with usb_control_msg(), returned -32, errno=32
ctrl_msg returned an error=-32, errno=32
can't modify CPUCS: Broken pipe

 エラーを気にせずに、

sudo modprobe usbserial vendor=0x547 product=0x2131

 そして、結果を確認!

[ 1119.632802] usbcore: registered new interface driver usbserial
[ 1119.632810] usbcore: registered new interface driver usbserial_generic
[ 1119.632816] usbserial: USB Serial support registered for generic
[ 1119.632828] usbserial_generic 3-5.4.2:1.0: The "generic" usb-serial driver is only for testing and one-off prototypes.
[ 1119.632828] usbserial_generic 3-5.4.2:1.0: Tell linux-usb@vger.kernel.org to add your device to a proper driver.
[ 1119.632829] usbserial_generic 3-5.4.2:1.0: generic converter detected
[ 1119.632891] usb 3-5.4.2: generic converter now attached to ttyUSB0

 メデタシ、目出度し!
(最初の日、上手く行かなかったけど大丈夫みたいだ〜)ヽ(^。^)ノ