TechTalkz.com Logo

Go Back   TechTalkz.com Technology & Computer Troubleshooting Forums > Tech Support Archives > Microsoft > Microsoft Device Drivers

Notices

RNDIS Composite Device

Microsoft Device Drivers


Reply
 
Thread Tools Display Modes
Old 04-12-2007, 06:55 AM   #1
Guenter
Guest
 
Posts: n/a
RNDIS Composite Device

Hi,

we have build a composite device with a RNDIS interface and a CDC ACM
interface.
If RNDIS uses the usb interfaces 0 and 1 evrything works fine. If I use the
USB interfaces 2/3 for RNDIS I get a blue screen in usb8023.sys. The blue
screen appears after the configuration descriptor was requested from the MI
driver.

OS: Windows XP SP2 without hot fixes.

Has anybody a running solution where RNDIS works on a USB interface grater
than 0/1 ?

Thanks Guenter
  Reply With Quote
Old 04-12-2007, 06:59 AM   #2
chris.aseltine@gmail.com
Guest
 
Posts: n/a
Re: RNDIS Composite Device

On Jul 4, 4:14 am, Guenter <> wrote:

> If RNDIS uses the usb interfaces 0 and 1 evrything works fine. If I use the
> USB interfaces 2/3 for RNDIS I get a blue screen in usb8023.sys. The blue
> screen appears after the configuration descriptor was requested from the MI
> driver.


Well, sounds like usb8023.sys doesn't like that, right? (Other MS
drivers have similar restrictions: for example, usbser.sys will only
load on interfaces 0/1).

You might make a lower filter to usb8023.sys that tweaks the interface
numbers back to 0/1 if you really need them on 2/3.

  Reply With Quote
Old 28-07-2008, 01:08 PM   #3
Newbie
 
Join Date: Jul 2008
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
Rep Power: 0 rajeev is an unknown quantity at this point
Re: RNDIS Composite Device

Problem Description
--------------------
I have a USB composite device (2 devices). One of the subdevice is USB RNDIS ethernet and the other is printer.
The USB configuration descriptors use IAD (Interface Association Descriptor) to indicate the group of interfaces by each device.
I am speculating the existing RNDIS drivers could not deal with IAD correctly. This is because I am able to get it work properly when used alone (not a part of composite device) but it fails when I try to for a composite device.
Anyone in MS can confirm this ?
If this is the case, how to approach MS to fix this problem to make it support USB composite device and IAD correctly ?
The Descriptors we are using are
DEVICE DESCRIPTOR
==================
.bLength = 18,
.bDescriptorType = 0x01,
.bcdUSB = 2.00,
.bDeviceClass = 0xef, //(Misc class)
.bDeviceSubClass = 0x02,
.bDeviceProtocol = 0x01,
.idVendor = 0x525,
.idProduct = 0xa4a2,
.iManufacturer = 1,
.iProduct = 2,
.iSerialNumber = 3,
.bNumConfigurations = 1,

CONFIGURATION DESCRIPTOR
=========================
.bLength = 0x9,
.bDescriptorType = 0x02,
/* .wTotalLength computed dynamically */
.bNumInterfaces = 3, /* Toatl No. of interfaces in all devices (we have 2 interface in RNDIS + 1 in printer */
.bConfigurationValue = 3,
.iConfiguration = 0,
.bmAttributes = 0xc0,
.bMaxPower = 1,
DEVICE QUALIFIER
======================
.bLength = sizeof dev_qualifier,
.bDescriptorType = 0x06,
.bcdUSB = 2.00,
.bDeviceClass = USB_CLASS_MISC, //(The value is same as bDeviceClass)
.bNumConfigurations = 1,
Interface Association Descriptor for RNDIS ============================================
.bLength = sizeof(struct usb_interface_assoc_descriptor),
.bDescriptorType = USB_DT_INTERFACE_ASSOCIATION,
.bFirstInterface = G_ETHER_CTRL_INTF,
.bInterfaceCount = 2,
.bFunctionClass = USB_CLASS_COMM,
.bFunctionClass = 0,
.bFunctionSubClass = 0x02,
.bFunctionProtocol = 0xff,
.iFunction = 0 ,
Using this configuration it doesnot work properly.
With the above descriptors , Only one device is detected at a time.
If we use bDeviceclass as 0x02(as communication class)then rndis ethernet is detected at host side and when we use bDeviceClass 0x00 (as per interface) then either printer or rndis ethernet is detected.In the later case (when bDeviceClass is 0x00, as per interface) if rndis ethernet is detected then also we are not able to install it properly.
The Error message appears on host side is "The driver is not installed properly" with error code 10.

Note : We have checked with .bDeviceClass as
1) 0x02 (as communication Class) ,
2) 0x00 (per interface class)

B Regards
Rajeev
rajeev is offline   Reply With Quote
Reply

Thread Tools
Display Modes



< Windows Help - MS Office Help - Hardware Support >


New To Site? Need Help?

All times are GMT +5.5. The time now is 01:45 AM.


vBulletin, Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO
Copyright © 2005-2009, TechTalkz.com. All Rights Reserved - Privacy Policy
Valid XHTML 1.0 Transitional