Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何编程USB RNDIS?_Usb_Embedded Linux - Fatal编程技术网

如何编程USB RNDIS?

如何编程USB RNDIS?,usb,embedded-linux,Usb,Embedded Linux,我使用的是一个运行Linux的控制器板。我想通过USB将我的设备连接到主机(Windows操作系统) 我已经决定使用RNDIS类在主机和设备之间进行通信。我已经在设备端(linux)准备好了驱动程序。当我将设备连接到Windows主机时,它会将硬件检测为RNDIS/CDC未知设备。现在,对于windows的驱动程序开发,我使用了“Jungo windriver 10.10”。它生成了INF文件,并在系统上成功检测到我的设备 现在如何启动主机和设备之间的通信?我想说的是,我是编程新手,没有Wind

我使用的是一个运行Linux的控制器板。我想通过USB将我的设备连接到主机(Windows操作系统)

我已经决定使用RNDIS类在主机和设备之间进行通信。我已经在设备端(linux)准备好了驱动程序。当我将设备连接到Windows主机时,它会将硬件检测为RNDIS/CDC未知设备。现在,对于windows的驱动程序开发,我使用了“Jungo windriver 10.10”。它生成了INF文件,并在系统上成功检测到我的设备

现在如何启动主机和设备之间的通信?我想说的是,我是编程新手,没有Windows端编程经验

可以肯定的是,我必须在这两方面(设备Linux和主机windows)开发应用程序驱动程序

有人能指导我怎么做吗


提前感谢….

据我所知,Windows上载通用USB客户端驱动程序(Jungo驱动程序)用于连接linux设备。因此,接下来您需要打开端点上的连接(可能是批量端点内外),以RNDIS协议的格式格式化此端点上的数据(您发送的数据)。您需要确定您的linux设备是否真的公开了RNDIS接口。如需帮助,我可以建议使用usb记录器。尝试将您的linux设备连接到Windows或linux,您知道该设备已被某个驱动程序识别,然后在该连接中记录usb上发生的情况。似乎你们开始研究usb接口和它的不同协议,我认为最好从一些现成的东西开始,尝试搜索和学习人们如何解析、理解和编写usb协议,例如kinect设备

首先,RNDIS是windows xp以后的标准版本,不是Jungo的主机堆栈,而是MS的

其次,你知道你在设备端准备了什么驱动程序吗?是Jungo RNDIS目标侧堆栈吗

要在RNDIS设备的主机和目标之间进行通信,请尝试MS的以下两个链接,以帮助您了解控制和数据通道以及EP设置:

http://download.microsoft.com/download/B/0/B/B0B199DB-41E6-400F-90CD-C350D0C14A53/%5BMS-RNDIS%5D.pdf

RNDIS使用两个通道,一个控制通道和一个数据通道。初始通信从控制通道开始,然后数据开始在数据通道上流动,该通道使用两个批量端点,输入和输出

但是,您应该注意一个事实,RNDIS规范要求在
将RNDIS控制消息提交到控制通道端点,即使在中断端点上,主机也将侦听该端点

在将linux mc连接到win pc时,已经有一些模块可以帮助您。请尝试查找g_file_存储模块,例如,它可以让您将linux mc中的文件系统映像装载到win pc,作为一个磁盘,您可以在其上进行格式化、文件输入输出等。希望您能在google上找到更多…) 谢谢 AJ