首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >linux cdc_ecm驱动程序与rndis驱动程序

linux cdc_ecm驱动程序与rndis驱动程序
EN

Stack Overflow用户
提问于 2020-12-16 10:24:11
回答 1查看 3.9K关注 0票数 2

linux驱动程序与rndis协议有什么关系?cdc_ecm是否以任何方式基于微软的rndis规范?

从这个wiki页面https://en.wikipedia.org/wiki/RNDIS

Implementers (USB )定义了至少三个具有类似“虚拟以太网”功能的非专有USB通信设备类( used )协议;其中一个协议( CDC)早于RNDIS,广泛用于与非微软操作系统的互操作性,但不适用于。

cdc_ecm似乎是基于microsoft的。

EN

Stack Overflow用户

回答已采纳

发布于 2020-12-16 20:07:16

CDC-ECM是由USB创建的标准.这和RNDIS一点关系都没有。正如你说的,它早于RNDIS。这意味着它是在RNDIS存在之前创建的,因此它不能基于RNDIS,除非时间机器进入图片。如果你看一下协议,很明显是不同的。

CDC在Linux主机、MacOS、ChromeOS和某些(主要是三星) Android手机上开箱即用。

微软决定在USB协议上创建一个新的以太网,而不是使用已经存在的标准(CDC-ECM)。微软就是这样的。因此,他们创建了RNDIS,这不是一个标准,也没有发布。这是一个基于NDIS的黑客攻击,NDIS是微软以前的DOS和Windows3.11时代的网络协议。这也正是微软的现状。他们喜欢把东西建立在老的MS软件之上,这是基于更老的MS软件,一直追溯到DOS。这使得它真的很复杂,也很难与其他人兼容。

微软不包括Windows中的CDC-ECM驱动程序,但确实有RNDIS驱动程序。

如果没有INF文件,就无法让Windows加载所包含的RNDIS驱动程序,只使用供应商和产品ID、设备类等。微软创建了一个非标准的USB设备标识描述符(请参见此处的模式),该描述符必须用于将RNDIS设备标识到Windows,以便加载通用驱动程序。

Linux有一个CDC-ECM / RNDIS组合小工具,对于更广泛的兼容性非常有用。这似乎是一个两个功能的USB设备。一个函数是RNDIS,Windows将使用这个函数。另一个功能是CDC-ECM,其他人都会使用它。这不是“有RNDIS支持的ECM”。这是两个不同的函数,只有一个可以同时使用,这两个函数都是由同一个小工具创建的。

票数 10
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65321405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档