嵌入式 Linux 中缺少 /dev/input/event0

嵌入式 Linux 中缺少 /dev/input/event0

我正在开发一个项目,我们正在尝试使用 Qt 和 Tslib 来制作触摸屏。我们之前已经制作了一些原型,并设法使它们功能齐全。但是,当创建新的第四个原型时,我们在运行主应用程序时收到以下消息:

# QWSTslibMouseHandlerPrivate: ts_open() failed with error: 'No such file or directory'

就好像缺少了一些与 Tslib 相关的东西。现在这很奇怪:第四个原型在 Linux 内核版本、主要应用程序、带有用于 Qt 应用程序的库的 SD 卡等方面与前一个原型完全相同。试图找到差异,我终于注意到在原型中问题,文件/dev/input/event0丢失;事实上,该input文件夹甚至没有创建,而在工作原型中,input文件夹和event0文件都存在(以及指向名称下最后一个的链接touchscreen)。

由于该文件夹和文件应该由 Linux 内核在启动期间创建,因此看起来触摸屏设备没有被识别,因此 Linux 在启动期间不会创建与输入相关的任何内容(我们检查了 Linux 内核)并验证是否包含我们硬件的触摸屏驱动程序)。

经过大量的网络研究后我发现这个帖子用户提到的 amdev -s似乎负责检测触摸屏。我找不到它来运行它,但最重要的是,为什么会出现在某些系统中创建而不是在其他系统中mdev -s创建的情况?event0

event0欢迎任何关于如何解决失踪问题的提示和建议。

答案1

于是经过一番尝试,我们成功解决了这个问题。

首先,有趣的是,我们注意到在 Linux 启动过程中出现了两条错误消息:

tps6507x 1-0048: Read from reg 0xd failed
(...)
tps6507x 1-0048: failed to register tps6507x-pmic regulator

tps6507x是所使用的触摸屏驱动程序。所以我们注意到,即使是驱动程序也无法启动,这绝对不是 Qt 的错。因此,我们的一位技术人员最终检测到工作硬件和有问题的硬件之间存在一些硬件差异:需要移除关键位置的一些电阻。他们似乎正在阻止系统检测触摸屏硬件。之后,它就开始工作了。

相关内容