On Sun, 28 May 2006, Giridhar Pemmasani wrote:

> 
> Since 2.6.16-rc1, when RNDIS devices are not configured; when a device
> is attached, following messages are logged by kernel:
> 
>  usb 1-1: new full speed USB device using uhci_hcd and address 2
>  usb 1-1: default language 0x0409
>  usb 1-1: new device strings: Mfr=1, Product=2, SerialNumber=3
>  usb 1-1: Product: Remote NDIS 802.11 Wireless Adapter
>  usb 1-1: Manufacturer: Broadcom
>  usb 1-1: SerialNumber: 000000000001
>  usb 1-1: uevent
>  usb 1-1: device is bus-powered
>  usb 1-1: no configuration chosen from 1 choice
> 
> It seems to be due to a typo in a conditional (patch against 2.6.17-rc5):
> 
> diff -Naur linux-2.6.17-rc5.orig/drivers/usb/core/hub.c 
> linux-2.6.17-rc5/drivers/usb/core/hub.c
> --- linux-2.6.17-rc5.orig/drivers/usb/core/hub.c      2006-05-28 
> 23:00:42.000000000 +0000
> +++ linux-2.6.17-rc5/drivers/usb/core/hub.c   2006-05-28 23:00:29.000000000 
> +0000
> @@ -1231,7 +1231,7 @@
>                               && desc->bInterfaceClass == USB_CLASS_COMM
>                               && desc->bInterfaceSubClass == 2
>                               && desc->bInterfaceProtocol == 0xff) {
> -#ifndef CONFIG_USB_NET_RNDIS
> +#ifndef CONFIG_USB_NET_RNDIS_HOST
>                       continue;
>  #else
>                       best = c;

Yes, this is a typo.  Thanks for spotting it.

> This requires RNDIS host to be compiled into kernel itself - it won't
> work if RNDIS is compiled as module.

Why do you say that?  CONFIG_USB_NET_RNDIS_HOST will be set if RNDIS is 
configured as a module.

>  However, I have been using RNDIS
> devices with ndiswrapper without RNDIS host; for this, following patch
> works:
> 
> diff -Naur linux-2.6.17-rc5.orig/drivers/usb/core/hub.c 
> linux-2.6.17-rc5/drivers/usb/core/hub.c
> --- linux-2.6.17-rc5.orig/drivers/usb/core/hub.c      2006-05-28 
> 23:00:42.000000000 +0000
> +++ linux-2.6.17-rc5/drivers/usb/core/hub.c   2006-05-28 23:02:12.000000000 
> +0000
> @@ -1231,11 +1231,7 @@
>                               && desc->bInterfaceClass == USB_CLASS_COMM
>                               && desc->bInterfaceSubClass == 2
>                               && desc->bInterfaceProtocol == 0xff) {
> -#ifndef CONFIG_USB_NET_RNDIS
> -                     continue;
> -#else
>                       best = c;
> -#endif
>               }
>  
>               /* From the remaining configs, choose the first one whose

This change isn't needed.  If you are using an out-of-tree driver like 
ndiswrapper then you can just as easily set up a udev script to install 
the configuration you want when the device is probed.

Alan Stern



-------------------------------------------------------
All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat certifications in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to