我有一个android设备充当usb主机的覆盆子指数零,这将作为一个从设备的行为。我绝对没有问题使用android与usb从设备交互。
显然,我需要像小工具串行驱动程序这样的驱动程序,在启动时使用raspberry pi上的以下命令加载它。
sudo modprobe g_serial
显然,系统应该为驱动程序创建设备节点/dev/ttyGS0
,但这种情况没有发生。这是什么原因?
如果成功加载了驱动程序,我如何使用它来编写程序并将其作为节点呢?这可能吗?还是我需要自己写驱动程序?有没有其他的方法来解决这个问题?我对linux相当陌生,所以使用终端命令的回答将非常有帮助。提前谢谢。
发布于 2018-03-02 18:14:21
我不能告诉你你的Raspberry Pi出了什么问题(因为我没有),但我可以告诉你如何测试和使用串行小工具驱动程序。先在你的主电脑上试试下面的内容。
为USB设备加载虚拟(模拟)主机控制器驱动程序:
sudo modprobe dummy_hcd
这将同时作为一个框架的小工具驱动程序,并给你一个新的“正常”USB总线(检查与lsusb
)可见的计算机,并在这些之间回环。
现在加载串行小工具驱动程序:
sudo modprobe g_serial
您应该在总线上看到一个新设备,也可以看到来自小工具驱动程序的/dev/ttyGS0
。同时,新设备会导致加载串行客户端的内核驱动程序,因此您还将得到一个/dev/ttyACM0
设备。
你只需从这些设备上写和读,看看它们是否通信。例如,在一个窗口执行cat /dev/ttyACM0
,在另一个窗口执行echo foo > /dev/ttyGS0
。
我怀疑您将不得不将Raspberry Pi放入USB客户端模式,并加载正确的HCD驱动程序,以便小工具驱动程序可以附加,如果您没有这样做,那么小工具驱动程序将什么也不做,正如您所观察到的。但我不知道哪一个适合做树莓派。
https://unix.stackexchange.com/questions/427450
复制相似问题