如何填充 /dev/input?

如何填充 /dev/input?

我有一个功能齐全的(就这部分而言)嵌入式系统,它基于一个相当古老的、供应商修改过的 Linux v3.18.29。

为了解决其他问题,我正在将所有内容升级到当前的 u-boot/kernel/Buildroot。

一切似乎都正常,但我遇到了热插拔设备的问题。

我记得在旧系统上设置输入处理时遇到了一些问题,但我记不清具体是什么问题了(几年后)。

我有完整的源代码,并且可以成功重建新旧系统,但我无法发现相关的差异(_defconfig 发生了足够大的改变,简单的差异不会给出可理解的结果)。

旧系统完全依赖于 devtmpfs,我尝试过它,并且在新系统上也尝试过 mdev,但显然 mdev 从未被调用过(至少它没有记录在 /dev/mdev.log 中)

我有 UEVENT_HELPER=y、UEVENT_HELPER_PATH=/sbin/hotplug、EVENTFD=y、HAVE_PERF_EVENTS=y、INPUT=y、INPUT_EVDEV=y。

其主要用途是将“键盘模拟”中的 USB 条码扫描器连接到系统。

特别是我需要创建字符设备 /dev/input/event0

有人可以建议我应该检查/启用/做什么吗?

更新:一些细节:

  • 硬件基于微型 SoM“Vocore2”,具有以下特点:
    • mips32 CPU (MT7628)
    • 128M内存
    • 集成 WiFi b/g/n
    • 100baseT 以太网 MAC
    • 集成 5 端口以太网
    • 16M SPI NOR
    • SD卡(目前8G)
    • USB2 主控
    • 3 x 串行(3 线)
  • 软件是:
    • U-Boot(来自 git 的 mips-next)
    • Linux v5.5(只需一个补丁即可使 SD 完全正常工作)
    • Buldroot 2020.02(以及一些自定义软件包)
    • 应用程序(用python3编写)
    • Busybox 提供了大多数基本的 Unix 实用程序,特别是:
      • 没有udevd,替代的是Busybox mdev

相关内容