【问题标题】:How to write to `/dev/ttyUSB?` in kernel space?如何在内核空间写入`/dev/ttyUSB?`?
【发布时间】:2022-03-16 08:05:45
【问题描述】:

我想从/从内核模块连接到 /dev/ttyUSB 端口(串行)的 arduino 发送和接收数据。我已经看到了足够多的方法来在用户空间中做到这一点,但这不是我的问题。

如果我不想在内核模块中使用文件 io,那么能够通过主要和次要数字(188,0 表示 /dev/ttyUSB0)访问 tty 真的很有帮助

相关但没有回答我的问题:

How to write to a tty from kernel space with only major and minor device numbers available?(1 个回答,但使用用户空间)

Access /dev/ttyACM0 from kernel(还没有答案)

How can I write to TTY from a kernel module?(1 个回答,但如何从串口获取struct tty_struct?)

Read and write to Arduino serial using a kernel module(1 个回答,但使用文件 io,替代方案太模糊)

https://unix.stackexchange.com/questions/585573/how-does-serial-driver-get-attached-to-a-tty-port(还没有答案)

【问题讨论】:

  • 你需要使用内核API,否则为什么不在用户空间做呢?
  • “我已经看到了足够多的方法来在用户空间中做到这一点,但这不是我的问题。”
  • 我想 100% 在内核空间中完成
  • 编写驱动并绑定到对应的serdev。如果没有 serdev,尝试查找 ACM 是否有内核 API,如果没有,则需要开发它们。打开文件,尤其是。热插拔设备是完全错误的方法。

标签: linux-kernel usb tty


【解决方案1】:

Linuxquestions 上的 SappyInsane 遇到了同样的问题,并给了我他的解决方案 https://www.linuxquestions.org/questions/linux-kernel-70/reading-from-arduino-serial-in-a-kernel-module-4175704822/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-25
    • 2011-09-20
    • 1970-01-01
    相关资源
    最近更新 更多