【问题标题】:Can`t find ttyUSB[id]找不到 ttyUSB[id]
【发布时间】:2014-11-15 01:37:36
【问题描述】:

我刚开始使用我的 Raspberry Pi,我有一个项目想从 USB 端口读取数据。我已经安装了 Java JDK8 并编写了可以编译和运行的程序。但我收到 /dev/ttyUSB1 不存在的消息。

我只有一根电缆从 Arduino 上的 USB 端口连接到 RPi 上的 USB 端口,我正在使用 Raspbian Debian Wheezy

当我转到 DIR /dev/ 并使用 $ ls 时,我只能找到 tty0 到 tty63。我在互联网上搜索过,有人说可以使用 ttyAMA0,但这不起作用。我也搜索过同样的问题,但没有找到我的问题的答案。

我在 Bus 001 上使用了 $ lsusb,它为我提供了 4 个设备 (001-004)。例如,我可以看到我的 USB 键盘被列为 Bus 001 Device 004: ID 1532:010b Razer USA, Ltd. 如果我运行 $ dmesg | grep 制造商 我明白了: [xxxxxxxxx] USB 1-1.2:制造商:雷蛇

所以我的问题是为什么我的 USB 设备没有被列为 ttyUSB[id]?我必须手动附加它吗?

对于 Linux,我有点菜鸟。

希望有人可以帮助我!

【问题讨论】:

  • 这完全取决于 USB 设备。通常,当您插入一个 作用 类似于调制解调器或终端设备(并且受内核支持)的 USB 设备时,/dev/tty 条目会出现。您要添加哪种类型的 USB 设备并希望与之通信?特别是 ttyAMA[n] 通常分配给设备(RPi 板)本身的串行端口。
  • 键盘或鼠标等 USB HID 设备没有tty* 设备。只有“串行端口”可以。
  • 我明白了,我正在将 Arduino 连接到通过串行发送数据的 RPi。
  • 对不起,我猜您正试图将 USB 从 Arduino(充当串行端口接口)连接到 RPi。
  • 我只有一根电缆从 Arduino 上的 USB 端口连接到 RPi 上的 USB 端口,我正在使用 Raspbian Debian Wheezy。

标签: linux raspberry-pi


【解决方案1】:

我有一些坏消息要告诉你。 RPi 上没有 /dev/ttyUSB[n] 设备的原因(当您连接 Arduino 时)是因为您需要 Arduino 驱动程序(尤其是 FTDI 驱动程序)。不幸的是,ARM 平台(包括 RPi)尚不存在这些驱动程序。这是根据 FTDI web page 显示的支持。请注意,Arm 缺少 Linux 驱动程序支持。

显然,在运行 Linux 的 Arm 上,对 Arduino 进行编程的唯一方法是直接通过 GPIO 引脚通过串行端口接口。可以在here 找到有关执行此操作的信息。您还必须在 Arduino 方面做类似的事情,请参阅information

一旦您通过直接串行连接了两个设备,那么您可能会遇到另一个 SNAFU。默认情况下,RPi Linux 显然将使用串行端口发送调试/控制台输出。为了将串行接口用于必须修改行为的东西。这个article 讨论了这一点。特别是禁用内核使用串行端口进行终端使用,这似乎适用:

以下步骤(基于干净的 2012-07-15-wheezy-raspbian 安装

  1. 在 Raspberry 上打开一个终端,或通过 SSH 连接到 Raspberry Pi。

  2. 备份 /boot/cmdline.txt 文件。 sudo cp /boot/cmdline.txt /boot/cmdline_backup.txt

  3. 编辑 /boot/cmdline.txt 文件: sudo vi /boot/cmdline.txt

此文件包含: dwc_otg.lpm_enable=0 控制台=ttyAMA0,115200 kgdboc=ttyAMA0,115200 控制台=tty1 $

去掉引用UART串口(ttyAMA0)的参数: dwc_otg.lpm_enable=0 控制台=tty1 $

  1. 注释 /etc/inittab 中的下一行: T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

  2. 重启树莓派 须藤重启

如果您使用与 Debian 不同的 Linux 发行版,情况会有所不同,但基础仍然适用(修改内核命令行)

【讨论】:

  • 感谢您提供这些信息并指导我朝着正确的方向前进!我会调查它,看看我是否可以让它与你的方法一起工作。再次感谢您!
猜你喜欢
  • 2016-11-21
  • 2014-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-13
  • 1970-01-01
  • 2020-11-04
  • 2012-07-28
相关资源
最近更新 更多