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

2010-10-01 Thread Hans Petter Selasky
On Monday 27 September 2010 13:36:42 Anil Gulati wrote:
> >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 r...@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:  at usbus4, cfg=0 md=HOST
> spd=HIGH (480Mbps) pwr=ON bLength = 0x0012
> bDescriptorType = 0x0001
> bcdUSB = 0x0200
> bDeviceClass = 0x
> bDeviceSubClass = 0x
> bDeviceProtocol = 0x
> bMaxPacketSize0 = 0x0040
> idVendor = 0x0846
> idProduct = 0x4240
> bcdDevice = 0x1020
> iManufacturer = 0x0001  
> iProduct = 0x0002  
> iSerialNumber = 0x0003  <3887->
> 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.0 +1000
> +++ /sys/dev/usb/wlan/if_upgt.c   2010-09-22 00:00:00.0 +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:

See USB P4 change #184338.

--HPS
___
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"


Re: usb/151043: Please add USB device MELCO WLR-UC-G

2010-10-01 Thread Hans Petter Selasky
> 
> diff -urN ./usb.orig/usbdevs ./usb/usbdevs
> --- ./usb.orig/usbdevs2010-09-29 10:07:46.0 +0900
> +++ ./usb/usbdevs 2010-09-29 02:35:38.0 +0900
> @@ -2096,6 +2096,8 @@
>  product MELCO KG54L  0x00da  WLI-U2-KG54L
>  product MELCO WLIUCG300N 0x00e8  WLI-UC-G300N
>  product MELCO SG54HG 0x00f4  WLI-U2-SG54HG
> +product MELCO WLRUCG 0x0116  WLR-UC-G
> +product MELCO WLRUCGAOSS 0x0119  WLR-UC-G-AOSS
>  product MELCO WLIUCAG300N0x012e  WLI-UC-AG300N
>  product MELCO RT2870_1   0x0148  RT2870
>  product MELCO RT2870_2   0x0150  RT2870
> diff -urN ./usb.orig/wlan/if_rum.c ./usb/wlan/if_rum.c
> --- ./usb.orig/wlan/if_rum.c  2010-09-01 10:41:33.0 +0900
> +++ ./usb/wlan/if_rum.c   2010-09-29 02:39:28.0 +0900
> @@ -118,6 +118,8 @@
>  RUM_DEV(HUAWEI3COM, WUB320G),
>  RUM_DEV(MELCO, G54HP),
>  RUM_DEV(MELCO, SG54HP),
> +RUM_DEV(MELCO, WLRUCG),
> +RUM_DEV(MELCO, WLRUCGAOSS),
>  RUM_DEV(MSI, RT2573_1),
>  RUM_DEV(MSI, RT2573_2),
>  RUM_DEV(MSI, RT2573_3),
> 
> >Release-Note:
> >Audit-Trail:
> 
> >Unformatted:

See USB P4 change #184339.

--HPS
___
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"


Re: usb/151043: Please add USB device MELCO WLR-UC-G

2010-10-01 Thread Hans Petter Selasky
The following reply was made to PR usb/151043; it has been noted by GNATS.

From: Hans Petter Selasky 
To: freebsd-usb@freebsd.org
Cc: TAKANO Yuji ,
 freebsd-gnats-sub...@freebsd.org
Subject: Re: usb/151043: Please add USB device MELCO WLR-UC-G
Date: Fri, 1 Oct 2010 15:10:21 +0200

 > 
 > diff -urN ./usb.orig/usbdevs ./usb/usbdevs
 > --- ./usb.orig/usbdevs   2010-09-29 10:07:46.0 +0900
 > +++ ./usb/usbdevs2010-09-29 02:35:38.0 +0900
 > @@ -2096,6 +2096,8 @@
 >  product MELCO KG54L 0x00da  WLI-U2-KG54L
 >  product MELCO WLIUCG300N0x00e8  WLI-UC-G300N
 >  product MELCO SG54HG0x00f4  WLI-U2-SG54HG
 > +product MELCO WLRUCG0x0116  WLR-UC-G
 > +product MELCO WLRUCGAOSS0x0119  WLR-UC-G-AOSS
 >  product MELCO WLIUCAG300N   0x012e  WLI-UC-AG300N
 >  product MELCO RT2870_1  0x0148  RT2870
 >  product MELCO RT2870_2  0x0150  RT2870
 > diff -urN ./usb.orig/wlan/if_rum.c ./usb/wlan/if_rum.c
 > --- ./usb.orig/wlan/if_rum.c 2010-09-01 10:41:33.0 +0900
 > +++ ./usb/wlan/if_rum.c  2010-09-29 02:39:28.0 +0900
 > @@ -118,6 +118,8 @@
 >  RUM_DEV(HUAWEI3COM, WUB320G),
 >  RUM_DEV(MELCO, G54HP),
 >  RUM_DEV(MELCO, SG54HP),
 > +RUM_DEV(MELCO, WLRUCG),
 > +RUM_DEV(MELCO, WLRUCGAOSS),
 >  RUM_DEV(MSI, RT2573_1),
 >  RUM_DEV(MSI, RT2573_2),
 >  RUM_DEV(MSI, RT2573_3),
 > 
 > >Release-Note:
 > >Audit-Trail:
 > 
 > >Unformatted:
 
 See USB P4 change #184339.
 
 --HPS
___
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"


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

2010-10-01 Thread Hans Petter Selasky
The following reply was made to PR usb/150989; it has been noted by GNATS.

From: Hans Petter Selasky 
To: freebsd-usb@freebsd.org
Cc: Anil Gulati ,
 freebsd-gnats-sub...@freebsd.org
Subject: Re: usb/150989: [patch] Add Netgear WG111V2_2 support to upgt(4)
Date: Fri, 1 Oct 2010 15:03:42 +0200

 On Monday 27 September 2010 13:36:42 Anil Gulati wrote:
 > >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 r...@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:  at usbus4, cfg=0 md=HOST
 > spd=HIGH (480Mbps) pwr=ON bLength = 0x0012
 > bDescriptorType = 0x0001
 > bcdUSB = 0x0200
 > bDeviceClass = 0x
 > bDeviceSubClass = 0x
 > bDeviceProtocol = 0x
 > bMaxPacketSize0 = 0x0040
 > idVendor = 0x0846
 > idProduct = 0x4240
 > bcdDevice = 0x1020
 > iManufacturer = 0x0001  
 > iProduct = 0x0002  
 > iSerialNumber = 0x0003  <3887->
 > 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.0 +1000
 > +++ /sys/dev/usb/wlan/if_upgt.c  2010-09-22 00:00:00.0 +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:
 
 See USB P4 change #184338.
 
 --HPS
___
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"


Network TX/RX fairness is not honored by USB stack

2010-10-01 Thread Pyun YongHyeon

Hi,

I don't know how long it had been there but it seems current USB
stack does not honor fairness of TX/RX on USB ethernet controller.
Unidirectional performance test(UDP) or most-unidirectional
performance(TCP) test works well without problems. However if heavy
TX/RX traffic hits controller at the same time either TX or RX is
not served at all. I'm under the impression that whenever TX work
is done it seems USB reschedules next pending TX again instead of
processing RX such that RX is starved to death. This can be easily
reproduced on two hosts with the netperf performance test.
Whenever both hosts send tiny UDP datagrams to the other host
either TX or RX packet counters are not increasing until the end
of the UDP torture test. The number of EHCI interrupt is about 8K/s
while test is in progress so I think it reached its maximum
processing limit. After netperf testing, it can still process TX/RX
packets even though it dropped too many RX packets. But these
dropped packets are not counted so netstat(1) shows 0 dropped
frames even though it lost millions of packets.

Hans, do you have any idea what's going on here?
You can use the following netperf command on both hosts after
running netserver.
%netperf -c -H ip_addr_of_other_host -tUDP_STREAM -l 300 -- -m 1

Another odd thing I noticed is number of interrupts does not go
down to 0 after the testing. It constantly generates 1k/s
interrupts after that. The only way I stop that interrupts was to
down the ue0 interface with "ifconfig ue0 down" command.
___
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"


Re: Network TX/RX fairness is not honored by USB stack

2010-10-01 Thread Hans Petter Selasky
On Saturday 02 October 2010 02:11:00 Pyun YongHyeon wrote:
> Hi,
> 
> I don't know how long it had been there but it seems current USB
> stack does not honor fairness of TX/RX on USB ethernet controller.
> Unidirectional performance test(UDP) or most-unidirectional
> performance(TCP) test works well without problems. However if heavy
> TX/RX traffic hits controller at the same time either TX or RX is
> not served at all. I'm under the impression that whenever TX work
> is done it seems USB reschedules next pending TX again instead of
> processing RX such that RX is starved to death. This can be easily
> reproduced on two hosts with the netperf performance test.
> Whenever both hosts send tiny UDP datagrams to the other host
> either TX or RX packet counters are not increasing until the end
> of the UDP torture test. The number of EHCI interrupt is about 8K/s
> while test is in progress so I think it reached its maximum
> processing limit. After netperf testing, it can still process TX/RX
> packets even though it dropped too many RX packets. But these
> dropped packets are not counted so netstat(1) shows 0 dropped
> frames even though it lost millions of packets.
> 
> Hans, do you have any idea what's going on here?
> You can use the following netperf command on both hosts after
> running netserver.
> %netperf -c -H ip_addr_of_other_host -tUDP_STREAM -l 300 -- -m 1
> 
> Another odd thing I noticed is number of interrupts does not go
> down to 0 after the testing. It constantly generates 1k/s
> interrupts after that.

Maybe we are triggering a bug. Can you enable USB debugging to figure out what 
data lengths are transmitted or received.

USB EHCI uses round robin, so this is either USB device problem or a test-
program software failure.

Check the CPU usage of the host computer during the test. Do you see anything?

> The only way I stop that interrupts was to
> down the ue0 interface with "ifconfig ue0 down" command.

--HPS
___
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"