Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Linksys WUSB600N V2

29 views
Skip to first unread message

Andreas

unread,
Sep 17, 2010, 6:59:40 AM9/17/10
to
Hallo zusammen,

falls jemand nach einem USB-WLAN-Stick für Linux sucht: der WUSB600N V2
läuft hier unter 2.6.34.12 mit dem Ralink-Treiber
2010_0709_RT3572_Linux_STA_v2.4.0.1 (gibts hier:
http://www.ralinktech.com/support.php?s=2) und heißt RT3572USB.

Damit der Stick erkannt wird, muß folgender Patch angewandt werden:

--- common/rtusb_dev_id.c.orig 2010-09-04 18:20:18.249901256 +0200
+++ common/rtusb_dev_id.c 2010-09-04 15:58:02.839900754 +0200
@@ -117,6 +117,7 @@
{USB_DEVICE(0x5A57,0x0284)}, /* Zinwell 3572 */
{USB_DEVICE(0x167B,0x4001)}, /* 3572 */
{USB_DEVICE(0x0930,0x0A07)}, /* TOSHIBA */
+ {USB_DEVICE(0x1737,0x0079)}, /* Linksys WUSB600N */
#endif // RT35xx //
{ }/* Terminating entry */
};
--- os/linux/config.mk.orig 2010-09-04 18:16:25.939900652 +0200
+++ os/linux/config.mk 2010-09-04 15:54:30.186900280 +0200
@@ -8,10 +8,10 @@
HAS_XLINK=n

# Support Wpa_Supplicant
-HAS_WPA_SUPPLICANT=n
+HAS_WPA_SUPPLICANT=y

# Support Native WpaSupplicant for Network Maganger
-HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n
+HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y

#Support Net interface block while Tx-Sw queue full
HAS_BLOCK_NET_IF=n

lsusb -v
Bus 001 Device 004: ID 1737:0079 Linksys
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1737 Linksys
idProduct 0x0079
bcdDevice 1.01
iManufacturer 1 Linksys
iProduct 2 Linksys WUSB600N Wireless-N USB Network
Adapter with Dual-Band ver. 2
iSerial 3
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 67
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 450mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 7
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 5
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x05 EP 5 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x06 EP 6 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0000
(Bus Powered)


ps -ef | grep rt
root 6601 2 0 04:59 ? 00:00:01 [RtmpTimerTask]
root 6602 2 0 04:59 ? 00:00:00 [RtmpMlmeTask]
root 6603 2 0 04:59 ? 00:00:00 [RtmpCmdQTask]


Connect Mode:
WPA2 / Enterprise

1283629780.764902: Trying to associate with ... (SSID='...' freq=2412 MHz)
1283629780.765063: Association request to the driver failed
1283629780.833853: Associated with ....
1283629781.839745: CTRL-EVENT-EAP-STARTED EAP authentication started
1283629781.858915: CTRL-EVENT-EAP-METHOD EAP vendor 0 method 13 (TLS)
selected
1283629782.015717: CTRL-EVENT-EAP-SUCCESS EAP authentication completed
successfully
1283629782.036661: WPA: Key negotiation completed with ... [PTK=CCMP
GTK=CCMP]
1283629782.036686: CTRL-EVENT-CONNECTED - Connection to ... completed
(auth) [id=0 id_str=]

einige Messwerte (USB-Stick waagerecht am Laptop angeschlossen), Modus
Draft N

durch 1 Stahlbetondecke und 1 Wand:

netperf -t TCP_STREAM -H srv
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to srv () port 0
AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec

87380 16384 16384 10.04 52.29

netperf -t TCP_MAERTS -H srv
TCP MAERTS TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to srv () port 0
AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec

87380 16384 16384 10.24 50.70


durch 1 Wand


netperf -t TCP_MAERTS -H srv
TCP MAERTS TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to srv () port 0
AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec

87380 16384 16384 10.17 69.25


netperf -t TCP_STREAM -H srv
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to srv () port 0
AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec

87380 16384 16384 10.05 54.41


ohne Wand / Decke dazwischen

ra0 Ralink STA ESSID:"...." Nickname:"RT3572STA"
Mode:Managed Frequency=2.412 GHz Access Point: ....
Bit Rate=130 Mb/s
RTS thr:off Fragment thr:off
Link Quality=100/100 Signal level:-53 dBm Noise level:-73 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

netperf -t TCP_STREAM -H srv
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to srv () port 0
AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec

87380 16384 16384 10.07 86.49

netperf -t TCP_MAERTS -H srv
TCP MAERTS TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to srv () port 0
AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec

87380 16384 16384 10.14 63.22


Viel Spaß,
Andreas

Clemens Schueller

unread,
Sep 17, 2010, 9:50:23 AM9/17/10
to c.sch...@gmx.at
Fürs Archiv

Thus spake Andreas (andiha...@01019freenet.de):

Andreas Hartmann

unread,
Feb 22, 2011, 12:15:27 PM2/22/11
to
Hallo,

die derzeitige Version 2.5.0.0 (RT3572USB) macht bei mir Probleme mit
dem initialen Connect (da sind dann zig association-Versuche möglich,
bis mal einer klappt. Das kann sich ziehen).

Die Version 2.4.0.2 dagegen kann den initialen Connect auf Anhieb.


Gruß,
Andreas

Andreas Hartmann

unread,
Aug 30, 2011, 2:08:40 AM8/30/11
to
Andreas Hartmann schrieb:

Die Lösung besteht darin, statt des wext drivers den ralink driver zu
verwenden. Der funktioniert gut. Hierzu nehme man wpa_supplicant 0.6.10.
Damit das funktioniert, muss beim Übersetzen des drivers die config.mk
entsprechend konfiguriert sein (siehe hierzu README_STA).

Eine andere Lösung könnte auch sein, wpa_supplicant nicht zu verwenden,
sondern nur die Lösung, welche ralink selbst mitbringt. Das geht z.B.
für WPA(2) / PSK. Diese Lösung hat den Vorteil, daß es beim 4 way
handshake im Rahmen der reauthentication oder des PTK-rekeying und
gleichzeitiger Netzwerklast nicht zu Abbrüchen kommt.

Das alles trifft zumindest auf meine Umgebung (2.6.37er Kernel) zu.
Andere mögen zu anderen Ergebnissen kommen.

In compat-wireless-3.1-rc1-1 ist mittlerweile auch support (nl80211
driver) für den rt3572 chip enthalten (und auch konkret für den im
Subject genannten WLAN USB stick). Bisherige Tests haben bei mir jedoch
gezeigt, daß die derzeit vorhandene Implementierung produktiv nicht
einsetzbar ist, da im höchsten Maße instabil bzw. sogar Auswirkungen auf
das Gesamtsystem bis zum Crash / Hängen eintreten können (letzteres war
bei mir so). Die Performance (throughput mit netperf gemessen) ist
schlecht (Ziel für dieses Device sollte um die 10 MByte/s sein).

Des weiteren ist mir im air dump aufgefallen, daß im AP mode
zusätzliche, sinnlose frames verschickt werden, welche irgendwelche
"Daten" (welche? Speicherdump?) transportieren. In wie weit dies auch
für den STA-Betrieb gilt, habe ich nicht verifiziert.
Vertrauenserweckend ist die ganze Nummer nicht für mich.

Die Probleme sind adressiert - allerdings ist für mich noch keine Lösung
in Sicht. Ich werde weiter berichten, sobald ich Fortschritte erkennen
konnte.

Andreas

Andreas Hartmann

unread,
Dec 5, 2011, 10:31:56 AM12/5/11
to
Hallo zusammen,

mal wieder ein Status zur Unterstützung des rt3572-Chip von Ralink unter
Linux / mac80211:

Es wurde mittlerweile anerkannt, daß der USB-Treiber so seine Probleme hat:

http://www.spinics.net/lists/linux-wireless/msg81252.html



Ralink selbst ist glücklicherweise weiterhin aktiv (hoffentlich bleibt
das so) und hat eine neue Version seiner eigenen Treiber herausgebracht:

DPO_GPL_RT5572_LinuxSTA_V2.5.0.0_20111019

mittlerweile zu finden unter:
http://www.ralinktech.com/en/04_support/support.php?sn=501

Ich habe festgestellt, daß diese Version auch den rt3572-chip unterstützt.

Getestet habe ich mit Kernel 2.6.37.

Leider muß man auch da wieder eine kleine Änderung in
(os/linux/usb_main_dev.c) anbringen (diesmal wg. etwas anderem :-) -
zumindest für Kernel 2.6.37 - mag bei anderen Kernelversionen anders sein):

--------------------------------------------------------------------
--- usb_main_dev.c.orig 2011-10-19 06:11:41.000000000 +0200
+++ usb_main_dev.c 2011-12-03 14:49:10.217797540 +0100
@@ -52,7 +52,7 @@
MODULE_VERSION(STA_DRIVER_VERSION);
#endif
#endif /* CONFIG_STA_SUPPORT */
-
+MODULE_LICENSE("GPL");

extern USB_DEVICE_ID rtusb_dev_id[];
extern INT const rtusb_usb_id_len;
---------------------------------------------------------------------

Getestet habe ich mit dem Ralink-Treiber und wpa_supplicant 0.6.10.
Hierzu muß die os/linux/config.mk aus den Treibersourcen wie folgt
konfiguriert sein:

---------------------------------------------------------------------
--- config.mk.orig 2011-10-19 06:11:41.000000000 +0200
+++ config.mk 2011-12-03 14:55:39.477102288 +0100
@@ -23,7 +23,7 @@

# Support Wpa_Supplicant
# i.e. wpa_supplicant -Dralink
-HAS_WPA_SUPPLICANT=n
+HAS_WPA_SUPPLICANT=y


# Support Native WpaSupplicant for Network Maganger
----------------------------------------------------------------------

Die Treiberschnittstelle wext wollte zumindest bei mir nicht sauber
connecten zum AP (wie schon beim bisherigen rt3572-Treiber). Daher
verwende ich die nicht. Mag aber bei anderen anders sein.


Die Performance ist wie bisher auch:

Sa 3. Dez 15:41:01 CET 2011
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to srv (1.1.1.1)
port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec

87380 16384 16384 10.08 77.10
TCP MAERTS TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to srv (1.1.1.1)
port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec

87380 16384 16384 10.10 137.97
TCP SENDFILE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to srv (1.1.1.1)
port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec

87380 16384 16384 10.09 77.93


Bei diesem Treiber wurde jetzt ein Trace-Eintrag in messages beseitigt,
welcher bisher beim Laden des Modules (-> device ist schon eingesteckt)
immer auftrat:

...
kernel: [451376.199673] netif_stop_queue() cannot be called before
register_netdev()

=> Lohnt sich also doch, upzudaten, wenn man auf diesen Trace nicht
steht (funktional hatte das bei mir nie Auswirkungen).


Gruß,
Andreas

PS: Ich habe keinerlei Verbindungen zu Ralink und natürlich sind alle
Aussagen hier ohne Gewähr :-).

frank paulsen

unread,
Dec 5, 2011, 11:48:06 AM12/5/11
to
wer macht denn bitte sowas?

--
frobnicate foo

Andreas Hartmann

unread,
Dec 5, 2011, 1:27:08 PM12/5/11
to
Am Mon, 05 Dec 2011 17:48:06 +0100
schrieb frank paulsen <frank....@gmx.net>:

> Andreas Hartmann <andiha...@01019freenet.de> writes:
[...]
> > --------------------------------------------------------------------
> > --- usb_main_dev.c.orig 2011-10-19 06:11:41.000000000 +0200
> > +++ usb_main_dev.c 2011-12-03 14:49:10.217797540 +0100
> > @@ -52,7 +52,7 @@
> > MODULE_VERSION(STA_DRIVER_VERSION);
> > #endif
> > #endif /* CONFIG_STA_SUPPORT */
> > -
> > +MODULE_LICENSE("GPL");
>
> wer macht denn bitte sowas?

Der Header der
DPO_GPL_RT5572_LinuxSTA_V2.5.0.0_20111019/os/linux/usb_main_dev.c:

---------------------------------------------------------------------------
/*
*************************************************************************
* Ralink Tech Inc.
* 5F., No.36, Taiyuan St., Jhubei City,
* Hsinchu County 302,
* Taiwan, R.O.C.
*
* (c) Copyright 2002-2010, Ralink Technology, Inc.
*
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* *
*************************************************************************/
-----------------------------------------------------------------------------

Für mich ist das Fehlen des programmatischen Lizenz-Eintrags (es ist ja
gar keiner da) ein Bug (bei der alten Version 2010_1215_RT3572_Linux_STA_v2.5.0.0.DPO
war er noch da.).


Gruß,
Andreas

Markus Koßmann

unread,
Dec 5, 2011, 2:32:40 PM12/5/11
to
Andreas Hartmann wrote:

> Hallo zusammen,
>
> mal wieder ein Status zur Unterstützung des rt3572-Chip von Ralink unter
> Linux / mac80211:
>
> Es wurde mittlerweile anerkannt, daß der USB-Treiber so seine Probleme
> hat:
>
> http://www.spinics.net/lists/linux-wireless/msg81252.html
>
>
>
> Ralink selbst ist glücklicherweise weiterhin aktiv (hoffentlich bleibt
> das so) und hat eine neue Version seiner eigenen Treiber herausgebracht:
>
> DPO_GPL_RT5572_LinuxSTA_V2.5.0.0_20111019
>
> mittlerweile zu finden unter:
> http://www.ralinktech.com/en/04_support/support.php?sn=501
>
> Ich habe festgestellt, daß diese Version auch den rt3572-chip unterstützt.
>
Das ist eine etwas seltsame Unterstützungspolitik von Ralink. Auch der
RT3572 Treiber funktioniert mit dem WUSB600N V2, wenn die USB-ID des
WUSB600N V2 (1737:0079) reinpatcht. Wieso diese dann bei einem Treiber für
den RT5572 in die Sourcen mit rein kommt, ist mit schleierhaft

Andreas Hartmann

unread,
Dec 6, 2011, 12:59:59 PM12/6/11
to
Markus Koßmann schrieb:
> Andreas Hartmann wrote:
[...]
>> Ich habe festgestellt, daß diese Version auch den rt3572-chip unterstützt.
>>
> Das ist eine etwas seltsame Unterstützungspolitik von Ralink. Auch der
> RT3572 Treiber funktioniert mit dem WUSB600N V2, wenn die USB-ID des
> WUSB600N V2 (1737:0079) reinpatcht. Wieso diese dann bei einem Treiber für
> den RT5572 in die Sourcen mit rein kommt, ist mit schleierhaft

Nö. Beide Typen bauen auf der selben Firmware (rt2870 - natürlich
unterschiedliche Versionen) auf. Offensichtlich sind sie sie sich in
gewisser Weise ähnlich.

Aus Firmensicht ist dann klar, daß man eben einen bestehenden Treiber
erweitert und nicht für ähnliche Hardware einen komplett neuen Treiber
baut (hätte ich jedenfalls auch so gemacht).

Der alte Treiber bleibt solange bestehen, bis sicher ist, daß der neue
auch mit den "alten" Chips genauso klarkommt (sprich, sich keine Bugs
eingeschlichen haben).

Mittelfristig gehe ich daher davon aus, daß der alte, reine
rt3572-Treiber verschwindet und der neue eben auch noch den passenden
Namenszusatz bekommt (zumindest auf der Website).

Die Unterstützung ist ja auch nicht offiziell, sondern nur von mir
bemerkt worden (weil ich eben in den Code geschaut habe).

Vielleicht stehen noch Tests aus für die alten Chips - trotzdem hat man
ihn für die anderen schon mal freigegeben. Vielleicht auch ein anderer
Grund.


Gruß,
Andreas

Markus Koßmann

unread,
Dec 7, 2011, 12:09:40 AM12/7/11
to
Das es technisch sinnvoll ist, bezweifle ich ja nicht. Nur gibt es
schon sein zwei Jahren einen "RT3572 Treiber" von Ralink, dem nur die
USB-ID in der Liste gefehlt hat um auch den WUSB600N V2 zu
unterstützen. Und von diesem Treiber gab es auch meherere Versionen, si
daß es problemlos möglich gewesen wäre, diese Ergänzung in der Zwischen
zeit vorzunehmen. Warum dieses Hinzufügen der USB-ID erst bei einem "RT
5572 Treiber" geschieht ist doch etwas seltsam.

Andreas Hartmann

unread,
May 10, 2012, 3:06:15 AM5/10/12
to
Hallo zusammen,

es gibt eine weitere Version des Ralink-Treibers:

2012_0321_DPO_RT5572_LinuxSTA_V2.6.0.0.bz2


Der Eintrag der Lizenz im USB-Module muß wie beim letzten Mal auch,
manuell vorgenommen werden.

Der Treiber wurde stark überarbeitet (zumindest wenn man die beiden
Versionen miteinander vergleicht).

Ein sehr großer Unterschied ist für mich sichtbar: die
wext-Schnittstelle funktioniert wieder ordentlich (getestet
mit wpa_supplicant 0.7.3).

Die Performance hat sich nicht groß verändert:

Do 10. Mai 08:56:49 CEST 2012
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.18.16 (192.168.18.16) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec

87380 16384 16384 10.10 80.91
TCP MAERTS TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.18.16 (192.168.18.16) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec

87380 16384 16384 10.06 158.72
TCP SENDFILE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.18.16 (192.168.18.16) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec

87380 16384 16384 10.09 81.31



Gruß,
Andreas



Andreas Hartmann schrieb:
[...]
0 new messages