通过 SSH 连接到 USB

通过 SSH 连接到 USB

我有一个小型物联网设备,我正在尝试对其进行编程。当我将其插入 Mac 时,ifconfig 下会弹出一个界面,我可以通过 ssh 连接到地址 192.168.225.1。不幸的是,我需要重新刷新其上的固件,并且固件更新只能在 Linux 上运行。

我在 Linux 上为其他 IoT 设备启用的过程如下:

  1. 在“设备”->“USB”->“USB 设置”下启用 USB 设备
  2. 连接设备
  3. 查看设备->USB 和 lsusb 下弹出的设备
  4. ifconfig 上出现一个界面,我可以 ssh 进入设备

这个过程适用于我的类似物联网设备,并允许我通过 ssh 进入该设备。对于这个设备,除了没有出现可供我通过 ssh 连接到主板的界面之外,每一步都有效。我对串行通信不太熟悉,所以我的问题是:

  • 研究解决这个问题有什么好处?
  • 为了建立此数据连接,操作系统实际上需要做什么?
  • 我可以尝试什么解决方案来解决这个问题?

E:添加更多信息!

我正在使用 Sierra 的 Mangoh Red WP76。我可以通过 ssh 访问 WP75 和 WP85 型号,但不能访问 WP76,除了我的 mac 端。 @Mark,我正在使用 Ubuntu 16.04 运行 VirtualBox

答案1

连接 USB 设备时的一般过程: 设备获取列举的,这意味着主机了解有关设备的信息,特别是供应商和设备 ID,以及设备的类别。根据这些信息,内核会搜索匹配的驱动程序,加载这些驱动程序并使用它们来初始化设备。对于类似网络的 USB 设备,相应的驱动程序会生成网络接口。然后操作系统根据内核外部的管理员策略初始化网络接口。

在此过程中,内核会产生输出,可以通过dmesg终端访问该输出。可以在那里看到供应商和设备 ID,以及当您使用 列出所有 USB 设备时也可以看到lsusb

因此,对于 Linux 上任何与硬件或内核相关的模糊问题,第一步是查看dmesg.将有问题的设备的输出与其他设备的输出进行比较。如果您不理解输出,请使用插入有问题的设备后出现的附加行来编辑您的问题。

这也许已经解决了问题所在。

并非所有物联网设备都是相似的;并且并非所有 IoT 设备都会显示为 USB 网络设备。另一种流行的选择是显示为串行设备。在 Linux 下,它们的tty名称中通常带有(电传打字机)。这意味着您无法ssh进入它,但您必须使用一些串行通信程序,例如minicompicocom

解决 USB 相关问题的另一个重要步骤是用 google 搜索供应商和设备 ID(每个 4 个十六进制数字),格式0123:4567lsusb.通常,您会发现其他人在使用特定设备时遇到了类似的问题。

通常,固件更新问题是相反的:USB 设备使用某种专有协议来更新固件,并且仅适用于 Windows 的驱动程序/工具可用......

相关内容