netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/14][v3]: Driver for Wireless RNDIS USB devices.
@ 2008-01-25 22:50 Jussi Kivilinna
       [not found] ` <20080125225032.11716.77713.stgit-q/85JClnwdg@public.gmane.org>
                   ` (7 more replies)
  0 siblings, 8 replies; 27+ messages in thread
From: Jussi Kivilinna @ 2008-01-25 22:50 UTC (permalink / raw)
  To: linux-wireless-u79uwXL29TY76Z2rM5mHXA
  Cc: netdev-u79uwXL29TY76Z2rM5mHXA, bjd-a1rhEgazXTw,
	david-b-yBeKhBN/0LDR7s880joybQ

Hello,

Here is the third try on wireless RNDIS patchset.

Patches 1-9 are from second patchset (with name change rndis_wext -> rndis_wlan
in comments where needed):
 1. Fix sparse warning: returning void valued expression
 2. [cdc_ether] Hardwire CDC descriptors when missing
 3. [rndis_host] Use 1KB buffer in rndis_unbind
 4. [rndis_host] Halt device if rndis_bind fails
 5. [rndis_host] Fix rndis packet filter flags
 6. [usbnet] Use wlan device name for RNDIS wireless devices
 7. [rndis_host] Split up rndis_host.c
 8. [rndis_host] export functions
 9. [usbnet] add driver_priv pointer to 'struct usbnet'

Changed patches 10-14:
10. [rndis_host] Add early_init function pointer to 'struct rndis_data'.
11. [rndis_host] Add link_change function pointer to 'struct rndis_data'.
12. [rndis_host] Add RNDIS physical medium checking into generic_rndis_bind()
13. Move usbnet.h and rndis_host.h to include/linux/usb
14. Add new driver 'rndis_wlan' for wireless RNDIS devices.

Devices are now detected by RNDIS physical medium type instead of
vendor/product ids. Driver has new infrastucture/authentication/encryption 
setup code (from ndiswrapper) which fixes issued with WEP and AdHoc. 
List of modes I've tested and work:
 - WEP
 - WPA2 PSK (with CCMP)
 - unencrypted
 - unencrypted ad-hoc
 - hidden unencrypted
 - ad-hoc WEP
 - hidden WEP
That do not work:
 - WPA PSK (with TKIP), I couldn't get this work with Windows driver using
   ndiswrapper and driver from previous patchset and no call were made
   to driver with SIOCSIWENCODEEXT so I'm starting to think problem is with
   the version of wpa_supplicant I have.
 - Hidden WPA, didn't work with earlier driver and as far as I know ndiswrapper
   has the same problem.
Untested:
 - WPA PSK with CCMP
 - WPA2 PSK with TKIP
 - WPA/WPA2 Enterprise

Patches should be applied in order, series apply cleanly to 2.6.24-git1.

 - Jussi Kivilinna

^ permalink raw reply	[flat|nested] 27+ messages in thread
* [PATCH 02/14] [cdc_ether] Hardwire CDC descriptors when missing
@ 2008-01-20  0:13 Jussi Kivilinna
  2008-01-25  0:55 ` David Brownell
  0 siblings, 1 reply; 27+ messages in thread
From: Jussi Kivilinna @ 2008-01-20  0:13 UTC (permalink / raw)
  To: linux-wireless-u79uwXL29TY76Z2rM5mHXA
  Cc: bjd-a1rhEgazXTw, dbrownell-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f,
	netdev-u79uwXL29TY76Z2rM5mHXA

From: Bjorge Dijkstra <bjd-a1rhEgazXTw@public.gmane.org>

Just as ActiveSync devices, some regular RNDIS devices also lack
the CDC descriptors (e.g. devices based on BCM4320 WLAN chip).
This patch hardwires the CDC descriptors for all RNDIS style devices
when they are missing.

Signed-off-by: Bjorge Dijkstra <bjd-a1rhEgazXTw@public.gmane.org>
Signed-off-by: Jussi Kivilinna <jussi.kivilinna-E01nCVcF24I@public.gmane.org>
---

 drivers/net/usb/cdc_ether.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/net/usb/cdc_ether.c b/drivers/net/usb/cdc_ether.c
index a42acc3..97c17bb 100644
--- a/drivers/net/usb/cdc_ether.c
+++ b/drivers/net/usb/cdc_ether.c
@@ -228,15 +228,16 @@ next_desc:
 		buf += buf [0];
 	}
 
-	/* Microsoft ActiveSync based RNDIS devices lack the CDC descriptors,
-	 * so we'll hard-wire the interfaces and not check for descriptors.
+	/* Microsoft ActiveSync based and some regular RNDIS devices lack the
+	 * CDC descriptors, so we'll hard-wire the interfaces and not check
+	 * for descriptors.
 	 */
-	if (is_activesync(&intf->cur_altsetting->desc) && !info->u) {
+	if (rndis && !info->u) {
 		info->control = usb_ifnum_to_if(dev->udev, 0);
 		info->data = usb_ifnum_to_if(dev->udev, 1);
 		if (!info->control || !info->data) {
 			dev_dbg(&intf->dev,
-				"activesync: master #0/%p slave #1/%p\n",
+				"rndis: master #0/%p slave #1/%p\n",
 				info->control,
 				info->data);
 			goto bad_desc;
@@ -316,7 +317,6 @@ void usbnet_cdc_unbind(struct usbnet *dev, struct usb_interface *intf)
 }
 EXPORT_SYMBOL_GPL(usbnet_cdc_unbind);
 
-\f
 /*-------------------------------------------------------------------------
  *
  * Communications Device Class, Ethernet Control model

^ permalink raw reply related	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2008-01-27 19:51 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-25 22:50 [PATCH 00/14][v3]: Driver for Wireless RNDIS USB devices Jussi Kivilinna
     [not found] ` <20080125225032.11716.77713.stgit-q/85JClnwdg@public.gmane.org>
2008-01-25 22:50   ` [PATCH 01/14] Fix sparse warning: returning void-valued expression Jussi Kivilinna
2008-01-25 22:50   ` [PATCH 02/14] [cdc_ether] Hardwire CDC descriptors when missing Jussi Kivilinna
2008-01-25 22:50   ` [PATCH 04/14] [rndis_host] Halt device if rndis_bind fails Jussi Kivilinna
2008-01-25 22:51   ` [PATCH 06/14] [usbnet] Use wlan device name for RNDIS wireless devices Jussi Kivilinna
2008-01-25 22:51   ` [PATCH 07/14] [rndis_host] Split up rndis_host.c Jussi Kivilinna
2008-01-25 22:51   ` [PATCH 10/14] [rndis_host] Add early_init function pointer to 'struct rndis_data' Jussi Kivilinna
2008-01-27 16:14     ` David Brownell
     [not found]       ` <200801270814.43760.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2008-01-27 19:11         ` Jussi Kivilinna
2008-01-25 22:51   ` [PATCH 12/14] [rndis_host] Add RNDIS physical medium checking into generic_rndis_bind() Jussi Kivilinna
     [not found]     ` <20080125225139.11716.91641.stgit-q/85JClnwdg@public.gmane.org>
2008-01-27 16:29       ` David Brownell
2008-01-27 19:05         ` Jussi Kivilinna
2008-01-27 19:51           ` David Brownell
2008-01-25 23:09   ` [PATCH 00/14][v3]: Driver for Wireless RNDIS USB devices David Brownell
     [not found]     ` <200801251509.24377.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2008-01-26 12:21       ` Jussi Kivilinna
2008-01-25 22:50 ` [PATCH 03/14] [rndis_host] Use 1KB buffer in rndis_unbind Jussi Kivilinna
2008-01-25 22:51 ` [PATCH 05/14] [rndis_host] Fix rndis packet filter flags Jussi Kivilinna
2008-01-25 22:51 ` [PATCH 08/14] [rndis_host] export functions Jussi Kivilinna
2008-01-25 22:51 ` [PATCH 09/14] [usbnet] add driver_priv pointer to 'struct usbnet' Jussi Kivilinna
2008-01-25 22:51 ` [PATCH 11/14] [rndis_host] Add link_change function pointer to 'struct rndis_data' Jussi Kivilinna
     [not found]   ` <20080125225134.11716.2264.stgit-q/85JClnwdg@public.gmane.org>
2008-01-27 16:15     ` David Brownell
2008-01-25 22:51 ` [PATCH 13/14] Move usbnet.h and rndis_host.h to include/linux/usb Jussi Kivilinna
2008-01-27 16:36   ` David Brownell
2008-01-25 22:51 ` [PATCH 14/14] Add new driver 'rndis_wlan' for wireless RNDIS devices Jussi Kivilinna
2008-01-27 16:43   ` David Brownell
  -- strict thread matches above, loose matches on Subject: below --
2008-01-20  0:13 [PATCH 02/14] [cdc_ether] Hardwire CDC descriptors when missing Jussi Kivilinna
2008-01-25  0:55 ` David Brownell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).