USB RNDIS/CDC White Paper

by January 15, 2003
Original PDF Bruce Balden, CTO

1 Introduction
Many of today's and almost all of tomorrow's smart peripherals (PDAs, cell phones, pagers, GPS, etc.) have adopted the USB device port for communications with host systems. While many first generation units use USB for a minimal serial link (using proprietary protocols in many cases), the USB link is more and more being construed to be a tiny Ethernet segment, bringing higher speeds and greater flexibility. We suggest strongly that a smart peripheral, of whatever kind, should therefore adhere to popular protocols for Ethernet-like networking over USB.

1.1 USB and Ethernet
When initially considered, Ethernet over USB was aimed at the replacement of standard Ethernet cards or peripheral chips attached to the ISA (and later PCI) bus of the host system. In most host systems, especially today's desktop OS based systems, the addition of an actual Ethernet port connector via USB turns out to be one of the last uses of Ethernet over USB. Instead, the Ethernet protocol has been called upon to directly connect peripherals which don't have a hardware Ethernet port on them at all, to PC systems which already have a hardware Ethernet port in use for other things (typically LAN/WAN connection.) This “native” Ethernet is hardwired on the mother board or still on an add-on card – but is now shipped almost by default as the Internet and Ethernet have become the de facto standards for LAN connections in the time since USB was first proposed in the mid ‘90s.

The fact that Ethernet (and most often TCP/IP as well) is being used in this fashion brings complications to its use as the protocol for additional peripherals. As noted below, Belcarra, with our extended background in TCP/IP, has identified a number of areas where not only basic USB problems exist, but also TCP/IP problem areas; and we offer a number of unique solutions to these problem areas such as local DHCP service and 802.1 bridging.

1.2 Two “Standards”
There are two standards for Ethernet over USB, one de facto, and the other issued by the USB Forum.

The de facto and preferred standard, because it is officially supported by Microsoft, is Remote NDIS (RNDIS). Any modern smart peripheral should offer this protocol to host PC's whenever possible.

The de jure standard, issued by the USB Forum, is known as CDC Ethernet.

Each of these standards imposes requirements on the UDC . A particular UDC may meet the requirements of: 

 both RNDIS and CDC Ethernet
 
 RNDIS only
 
 CDC Ethernet only
 
 neither RNDIS nor CDC Ethernet

For more limited UDCs a variant of CDC Ethernet known as SAFE can be used.

This white paper introduces Belcarra Technologies' RNDIS/CDC software. This software package is an add-on to the Linux USB Device Framework. This product provides a USB device-side implementation (specifically a function module) of the full range of these protocols: 

 RNDIS
 
 CDC Ethernet
 
 SAFE.

...

转自,  http://www.cnblogs.com/nasiry/archive/2006/05/12/397889.html





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值