FTDIデバイスがlsusbだと見えるんだけど、/dev/ttyUSB0にマウントされない
カーネルモジュールを入れる必要がある(usbserial.koとftdi_sio.ko)
クロスコンパイル環境のUbuntuでカーネルモジュールをビルドする
この記事を参考:PYNQでデバイスドライバを開発する(http://d.hatena.ne.jp/seinzumtode/20180614/1528958862)
以下、カーネルソースのlinux-xlnxフォルダで作業する(v2017.4ブランチ)
https://github.com/Xilinx/PYNQ/blob/master/sdbuild/boot_configs/Pynq-Z1-defconfig/kernel.config を落としてきて.configにリネームし、以下を追加する
https://forums.xilinx.com/t5/Embedded-Linux/Missing-FTDI-driver/td-p/797436
CONFIG_USB_SERIAL=m CONFIG_USB_SERIAL_FTDI_SIO=m
ビルドする
(一気にドライバをビルドする方法は、以下のエントリで知った:
z-turn/linux kernel のビルド http://dora.bk.tsukuba.ac.jp/~takeuchi/?%E9%9B%BB%E6%B0%97%E5%9B%9E%E8%B7%AF%2Fz-turn%2Flinux%20kernel%20%E3%81%AE%E3%83%93%E3%83%AB%E3%83%89)
$ make ARCH=arm CROSS_COMPILE:=arm-xilinx-linux-gnueabi- menuconfig $ make ARCH=arm CROSS_COMPILE:=arm-xilinx-linux-gnueabi- prepare $ make ARCH=arm CROSS_COMPILE:=arm-xilinx-linux-gnueabi- modules_prepare $ make ARCH=arm CROSS_COMPILE:=arm-xilinx-linux-gnueabi- modules $ ls drivers/usb/serial/*.ko drivers/usb/serial/ftdi_sio.ko drivers/usb/serial/usbserial.ko
上で作ったftdi_sio.koとusbserial.koをPYNQに移してロードする
$ sudo insmod usbserial.ko $ sudo insmod ftdi_sio.ko
確認
xilinx@pynq2:~$ ls /dev/kobuki /dev/kobuki xilinx@pynq2:~$ ls /dev/ttyUSB0 /dev/ttyUSB0
ドライバはここにおいておいた
https://github.com/shohei/pynq-ftdi-drivers