1

RAMIPS SoC とPWM IR TX カーネル モジュールを使用して、pwm 出力ピンを IR トランスミッタとして使用しようとしています。Linux 4.14.37 を実行しており、次のエントリを dts ファイルに追加しました。

   pwm_ir_tx1: pwm-ir-transmitter1 {
    compatible = "pwm-ir-tx";
    pwms = <&pwm 1 100>;
  };

rc-core および pwm-ir-tx カーネル モジュールをロードしています。

lsmod | grep pwm
pwm_ir_tx               2032  0 
pwm_mediatek_ramips     1744  1 
rc_core                19348  2 pwm_ir_tx

pwm-ir-tx モジュールが読み込まれると、カーネルは次のログを記録します。

[ 3754.108259] rc rc0: PWM IR Transmitter as /devices/platform/pwm-ir-transmitter1/rc/rc0

sysfs ノードは正しくロードされているようです。

ls -la /sys/class/rc/
drwxr-xr-x    2 root     root             0 May 29 00:18 .
drwxr-xr-x   23 root     root             0 Jan  1  1970 ..
lrwxrwxrwx    1 root     root             0 May 29 01:16 rc0 -> ../../devices/platform/pwm-ir-transmitter1/rc/rc0

しかし、ユーザー空間 (chardev) の lirc デバイスが /dev にリストされていないため、デバイスとどのようにやり取りすればよいかわかりません。理想的にはリモート コントローラー APIを使用したいのですが、これには chardev が /dev に存在する必要があります。

ls /dev
autofs              mtd2ro              network_throughput
console             mtd3                null
cpu_dma_latency     mtd3ro              port
full                mtd4                ptmx
gpiochip0           mtd4ro              pts
gpiochip1           mtd5                random
gpiochip2           mtd5ro              shm
gpiochip3           mtd6                tty
i2c-0               mtd6ro              ttyS0
kmsg                mtdblock0           ttyS1
log                 mtdblock1           ttyS2
memory_bandwidth    mtdblock2           urandom
mtd0                mtdblock3           watchdog
mtd0ro              mtdblock4           watchdog0
mtd1                mtdblock5           zero
mtd1ro              mtdblock6
mtd2                network_latency

pwm-ir-tx モジュールの前後に lirc_dev モジュールをロードしようとしましたが、まだ /dev には何も表示されません。lirc_dev モジュールをロードすると、次の出力が表示されます。

[ 4775.367966] lirc_dev: IR Remote Control driver registered, major 251

しかし、まだ /dev に lirc ユーザー空間デバイスがありません... lirc ユーザー空間 API を提供するので、lirc_dev モジュールが必要だと思いますが、それと pwm-ir-tx モジュールの間に接続がないように見えます。 /devにlirc chardevを作成していません。

4

2 に答える 2