usb/150989: [patch] Add Netgear WG111V2_2 support to upgt(4)

Anil Gulati anilg at users.sourceforge.net
Mon Sep 27 11:40:01 UTC 2010


>Number:         150989
>Category:       usb
>Synopsis:       [patch] Add Netgear WG111V2_2 support to upgt(4)
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-usb
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Mon Sep 27 11:40:00 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Anil Gulati
>Release:        FreeBSD 8.1 CURRENT
>Organization:
Anil Gulati
>Environment:
FreeBSD engine.local 8.1-BETA1 FreeBSD 8.1-BETA1 #0: Thu Aug 26 22:45:23 EST 2010     root at engine.local:/usr/obj/usr/src/sys/VESAKERN  i386

>Description:
Some Netgear USB wireless adapter devices are labelled WG111V2 externally but are actually WG111V2_2 devices as listed in /sys/dev/usb/usbdevs.

These devices are not recognised by FreeBSD 8.1 since they are not listed as supported.

Booting with this USB device inserted will result in the device being recognised as a default USB device, not an actual wireless adapter.




>How-To-Repeat:
Plug in a Netgear WG111V2_2 USB wireless adapter and boot.
Not all devices labelled WG111V2 are actually WG111V2_2.
WG111V2_2 devices will not be recognised as a network device but will use the default USB device.
My device of this type is externally labelled WG111V2 but is revealed as WG111V2_2 by the usbconfig output:

$ usbconfig -u 4 -a 2 dump_device_desc 
ugen4.2: <Cohiba 3887 rev0 GlobespanVirata> at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
bLength = 0x0012 
bDescriptorType = 0x0001 
bcdUSB = 0x0200 
bDeviceClass = 0x0000 
bDeviceSubClass = 0x0000 
bDeviceProtocol = 0x0000 
bMaxPacketSize0 = 0x0040 
idVendor = 0x0846 
idProduct = 0x4240 
bcdDevice = 0x1020 
iManufacturer = 0x0001  <GlobespanVirata>
iProduct = 0x0002  <Cohiba 3887 rev0>
iSerialNumber = 0x0003  <3887-0000>
bNumConfigurations = 0x0001
>Fix:
WG111V2_2 devices use the GW3887 chipset and therefore need the PrismGT driver upgt rather than the urtw driver used for all other Netgear WG111 devices:
> cat /sys/dev/usb/usbdevs | grep WG111V2_2
 product NETGEAR WG111V2_2   0x4240  PrismGT USB 2.0 WLAN

WG111V2_2 is not listed as a device supported by upgt in /sys/dev/usb/wlan/if_upgt.c, so it needs to be added:
 UPGT_DEV(NETGEAR, WG111V2_2),

Attached patch provides this update.

Thread demonstrating this as it was worked out: http://www.daemonforums.org/showthread.php?t=5108

Patch attached with submission follows:

--- /sys/dev/usb/wlan/if_upgt.c.orig	2009-08-03 00:00:00.000000000 +1000
+++ /sys/dev/usb/wlan/if_upgt.c	2010-09-22 00:00:00.000000000 +1000
@@ -182,6 +182,7 @@
 	UPGT_DEV(FSC,		E5400),
 	UPGT_DEV(GLOBESPAN,	PRISM_GT_1),
 	UPGT_DEV(GLOBESPAN,	PRISM_GT_2),
+	UPGT_DEV(NETGEAR,	WG111V2_2),
 	UPGT_DEV(INTERSIL,	PRISM_GT),
 	UPGT_DEV(SMC,		2862WG),
 	UPGT_DEV(WISTRONNEWEB,	UR045G),


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-usb mailing list