<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="http://rt2x00.serialmonkey.com/wiki/skins/common/feed.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>Rt2x00Wiki - New pages [en]</title>
		<link>http://rt2x00.serialmonkey.com/wiki/index.php/Special:Newpages</link>
		<description>From Rt2x00Wiki</description>
		<language>en</language>
		<generator>MediaWiki 1.6.10</generator>
		<lastBuildDate>Mon, 21 May 2012 03:25:14 GMT</lastBuildDate>
		<item>
			<title>AP-mode Howto</title>
			<link>http://rt2x00.serialmonkey.com/wiki/index.php/AP-mode_Howto</link>
			<description>&lt;p&gt;Summary: minor clarifications&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a short guide to setting up AP-mode on rt2x00 chips. Note that this '''will not work with Ralink's USB chips''' because we don't know how to get status messages (ACK/FAIL) for sent packets.&lt;br /&gt;
&lt;br /&gt;
This howto is not aimed for beginners.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installing needed software ==&lt;br /&gt;
First install the stuff you need (may be incomplete, package names are from a debian/ubuntu based system)&lt;br /&gt;
* build-essentials git libnl-dev libssl-dev dhcp3-server&lt;br /&gt;
&lt;br /&gt;
== Hostapd ==&lt;br /&gt;
Hostapd is a userspace daemon that handles the configuration, association etc for WLAN Access Points.&lt;br /&gt;
&lt;br /&gt;
=== Get the latest version of hostapd ===&lt;br /&gt;
* git clone git://w1.fi/srv/git/hostap.git&lt;br /&gt;
* cd hostap/hostapd&lt;br /&gt;
* cp defconfig .config&lt;br /&gt;
* edit .config to CONFIG_DRIVER_NL80211=y and CFLAGS += -I#WHERE YOUR KERNEL HEADERS ARE#&lt;br /&gt;
* make&lt;br /&gt;
&lt;br /&gt;
Check that a hostapd binary was created in that directory. It will be used in the final step.&lt;br /&gt;
&lt;br /&gt;
=== edit hostapd.conf ===&lt;br /&gt;
* change the ssid to something more fun :)&lt;br /&gt;
* set country_code to match your contry&lt;br /&gt;
* change hw_mode=g&lt;br /&gt;
* set channel to something more suitable&lt;br /&gt;
&lt;br /&gt;
For wpa you also need to change some wpa settings. Here are some examples of settings to change/uncomment:&lt;br /&gt;
 * wpa=2&lt;br /&gt;
 * wpa_passphrase=somepassword&lt;br /&gt;
 * wpa_pairwise=TKIP CCMP&lt;br /&gt;
&lt;br /&gt;
== Configure dhcpd to hand out ip addresses ==&lt;br /&gt;
edit /etc/dhcp3/dhcpd.conf to hand out suitable ip addresses. For testing you can for example find the part which corresponds to the one below and uncomment three of the lines.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
subnet 10.254.239.0 netmask 255.255.255.224 {&lt;br /&gt;
  range 10.254.239.10 10.254.239.20;&lt;br /&gt;
#  option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Final steps ==&lt;br /&gt;
* disable wireless in network manager&lt;br /&gt;
* assign wlan0 an ip address: ifconfig wlan0 10.254.239.1&lt;br /&gt;
* run /etc/init.d/dhcp3-server restart&lt;br /&gt;
* start hostapd: ./hostapd -dd hostapd.conf&lt;br /&gt;
&lt;br /&gt;
Note, this will not get your clients (machines connecting to your AP) a connection to the internet. After these steps the ap should be visible, clients should be able to connect to it and once connected clients can ping your AP and ssh in to it. Routing the traffic from the AP to eth0 is not configured by the steps above. Feel free to add it if you want.&lt;/div&gt;</description>
			<pubDate>Sat, 20 Sep 2008 08:32:14 GMT</pubDate>			<dc:creator>Mikko</dc:creator>			<comments>http://rt2x00.serialmonkey.com/wiki/index.php/Talk:AP-mode_Howto</comments>		</item>
		<item>
			<title>Test</title>
			<link>http://rt2x00.serialmonkey.com/wiki/index.php/Test</link>
			<description>&lt;p&gt;Summary: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Test&lt;br /&gt;
2&lt;/div&gt;</description>
			<pubDate>Wed, 20 Aug 2008 16:01:25 GMT</pubDate>			<dc:creator>Serialmonkey</dc:creator>			<comments>http://rt2x00.serialmonkey.com/wiki/index.php/Talk:Test</comments>		</item>
		<item>
			<title>Todo</title>
			<link>http://rt2x00.serialmonkey.com/wiki/index.php/Todo</link>
			<description>&lt;p&gt;Summary: /* rt2x00 bugs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=rt2x00 Master Todo List=&lt;br /&gt;
&lt;br /&gt;
==Support==&lt;br /&gt;
&lt;br /&gt;
* Review contents of wiki (mostly done) (Mikko)&lt;br /&gt;
* Automated testing framework (Mark)&lt;br /&gt;
&lt;br /&gt;
==rt2x00 code checklist==&lt;br /&gt;
* Make sure sparse is completely happy (make -sj4, make C=1 CF=-D__CHECK_ENDIAN__)&lt;br /&gt;
* scripts/checkstack.pl should be happy&lt;br /&gt;
* Follow kernel codingstyle rules (80 character limit etc.)&lt;br /&gt;
&lt;br /&gt;
==rt2x00 features==&lt;br /&gt;
&lt;br /&gt;
* Implement rt61pci/rt73usb/rt2800pci/rt2800usb aggregation support&lt;br /&gt;
* Implement rt61pci/rt73usb pre-n suppport&lt;br /&gt;
* Implement rt61pci HW antenna diversity for RF2529&lt;br /&gt;
* Implement ACK handling for rt2500usb/rt73usb/rt2800usb&lt;br /&gt;
&lt;br /&gt;
==rt2x00 bugs==&lt;br /&gt;
* Fedora bug: [https://bugzilla.redhat.com/show_bug.cgi?id=426777 426777] rt73usb fails within minutes of connecting&lt;br /&gt;
* Fedora bug: [https://bugzilla.redhat.com/show_bug.cgi?id=443203 443203] Fedora rawhide + ralink = slow bit rate&lt;br /&gt;
* Fedora bug: [https://bugzilla.redhat.com/show_bug.cgi?id=457441 457441]  Wifi connection problem with rt2500pci.&lt;br /&gt;
* Kernel bug: [http://bugzilla.kernel.org/show_bug.cgi?id=9273 9273] rt2500pci: low TCP throughput&lt;br /&gt;
* Kernel bug: [http://bugzilla.kernel.org/show_bug.cgi?id=10475 10475] rfkill switch doesn't work for rt2500pci&lt;br /&gt;
* Kernel bug: [http://bugzilla.kernel.org/show_bug.cgi?id=10754 10754] No Driver for Ralink RT2860 Wireless interface, the source is available on their website&lt;br /&gt;
* Kernel bug: [http://bugzilla.kernel.org/show_bug.cgi?id=12006 12006] GN-WMKG PCMCIA card (based on Ralink RT2500) doesn't work&lt;br /&gt;
* Kernel bug: [http://bugzilla.kernel.org/show_bug.cgi?id=13009 13009] Very slow download with Ralink rt2400 card and kernel 2.6.27 or newer&lt;/div&gt;</description>
			<pubDate>Sat, 09 Aug 2008 15:10:39 GMT</pubDate>			<dc:creator>Serialmonkey</dc:creator>			<comments>http://rt2x00.serialmonkey.com/wiki/index.php/Talk:Todo</comments>		</item>
		<item>
			<title>Firmware license</title>
			<link>http://rt2x00.serialmonkey.com/wiki/index.php/Firmware_license</link>
			<description>&lt;p&gt;Summary: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This Firmware LICENSE text applies to the following firmware files, required by their respective drivers:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rt61:&lt;br /&gt;
rt2561.bin&lt;br /&gt;
rt2561s.bin&lt;br /&gt;
rt2661.bin&lt;br /&gt;
&lt;br /&gt;
rt73:&lt;br /&gt;
rt73.bin&lt;br /&gt;
&lt;br /&gt;
future driver rt2800:&lt;br /&gt;
rt2860.bin&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The original &amp;quot;LICENSE.ralink-firmware.txt&amp;quot; can be obtained inside zip files at the following links ([http://www.ralinktech.com.tw/data/RT61_Firmware_V1.2.zip rt61] and [http://www.ralinktech.com.tw/data/RT71W_Firmware_V1.8.zip rt73]).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
LICENSE.ralink-firmware.txt contents:&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Copyright (c) 2007, Ralink Technology Corporation &lt;br /&gt;
All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Redistribution.  Redistribution and use in binary form, without &lt;br /&gt;
modification, are permitted provided that the following conditions are &lt;br /&gt;
met:&lt;br /&gt;
&lt;br /&gt;
* Redistributions must reproduce the above copyright notice and the &lt;br /&gt;
  following disclaimer in the documentation and/or other materials &lt;br /&gt;
  provided with the distribution. &lt;br /&gt;
* Neither the name of Ralink Technology Corporation nor the names of its&lt;br /&gt;
  suppliers may be used to endorse or promote products derived from this&lt;br /&gt;
  software without specific prior written permission. &lt;br /&gt;
* No reverse engineering, decompilation, or disassembly of this software &lt;br /&gt;
  is permitted.&lt;br /&gt;
&lt;br /&gt;
Limited patent license. Ralink Technology Corporation grants a world-wide, &lt;br /&gt;
royalty-free, non-exclusive license under patents it now or hereafter &lt;br /&gt;
owns or controls to make, have made, use, import, offer to sell and &lt;br /&gt;
sell (&amp;quot;Utilize&amp;quot;) this software, but solely to the extent that any &lt;br /&gt;
such patent is necessary to Utilize the software alone, or in &lt;br /&gt;
combination with an operating system licensed under an approved Open &lt;br /&gt;
Source license as listed by the Open Source Initiative at &lt;br /&gt;
http://opensource.org/licenses.  The patent license shall not apply to &lt;br /&gt;
any other combinations which include this software.  No hardware per &lt;br /&gt;
se is licensed hereunder.&lt;br /&gt;
&lt;br /&gt;
DISCLAIMER.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND &lt;br /&gt;
CONTRIBUTORS &amp;quot;AS IS&amp;quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, &lt;br /&gt;
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND &lt;br /&gt;
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE &lt;br /&gt;
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, &lt;br /&gt;
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, &lt;br /&gt;
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS &lt;br /&gt;
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND &lt;br /&gt;
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR &lt;br /&gt;
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE &lt;br /&gt;
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH &lt;br /&gt;
DAMAGE.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;/div&gt;</description>
			<pubDate>Sat, 05 Apr 2008 09:18:26 GMT</pubDate>			<dc:creator>Luis</dc:creator>			<comments>http://rt2x00.serialmonkey.com/wiki/index.php/Talk:Firmware_license</comments>		</item>
		<item>
			<title>Meetings</title>
			<link>http://rt2x00.serialmonkey.com/wiki/index.php/Meetings</link>
			<description>&lt;p&gt;Summary: 2010, december 19 dev meeting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Developer's meeting - December 19, 2010 ==&lt;br /&gt;
&lt;br /&gt;
Topics discussed were about some of the RFC's Helmut sent to the mailing list.&lt;br /&gt;
&lt;br /&gt;
Comments were made about queues, specially the order which seems to be reversed in some devices, subtle changes in register use.&lt;br /&gt;
&lt;br /&gt;
The infamous MCU problem currently present in some rt2800pci devices was again discussed.&lt;br /&gt;
&lt;br /&gt;
Also some discussion about converting irq to tasklets.&lt;br /&gt;
&lt;br /&gt;
it is all here:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;hschaa&amp;gt; JFI: Johannes Stezenbach wrote me a mail yesterday that he cannot participate&lt;br /&gt;
&amp;lt;ivd&amp;gt; ok&lt;br /&gt;
&amp;lt;ivd&amp;gt; So I guess everybody is here?&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; guess so :) the 'usual suspects'&lt;br /&gt;
&amp;lt;hschaa&amp;gt; :)&lt;br /&gt;
&amp;lt;ivd&amp;gt; So with which subject shall we begin?&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; we can start with the first one on the topic list&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; Asynchronous tx status handling in rt2800usb.&lt;br /&gt;
&amp;lt;hschaa&amp;gt; Fine with me. Although Ivo merged that already , right?&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; (I'm just following the list :))&lt;br /&gt;
&amp;lt;ivd&amp;gt; Yeah, I merged it a couple of days ago, I will test it today on my system&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; ok then&lt;br /&gt;
&amp;lt;hschaa&amp;gt; yeah, ok, I guess it is a step in the right direction and I think Johannes will further work on improving the tx status reporting in rt2800usb&lt;br /&gt;
&amp;lt;ivd&amp;gt; Although there are some parts I still would like to change (especially see if we can share more code with rt2800pci)&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; we can move to the next one on the list, TX queue priorization.- Discuss how the hw handles that on USB and PCI -&amp;gt; differences?&lt;br /&gt;
&amp;lt;hschaa&amp;gt; ok, let me quickly summarize what we've got:&lt;br /&gt;
&amp;lt;hschaa&amp;gt; the newer ralink devices have multiple tx queues (one per AC and two more for MGMT and HCCA)&lt;br /&gt;
&amp;lt;hschaa&amp;gt; the channel access parameters (like cwmin, aifs ...) can be configured (only for the AC queues) with specific registers&lt;br /&gt;
&amp;lt;hschaa&amp;gt; WMM_* or something&lt;br /&gt;
&amp;lt;hschaa&amp;gt; however, as we heard (and as far as I understood) from Jay there seems to be a static priorization of the DMA queues&lt;br /&gt;
&amp;lt;hschaa&amp;gt; and that priorization is inverted to how we currently use the queues&lt;br /&gt;
&amp;lt;ivd&amp;gt; But only for USB&lt;br /&gt;
&amp;lt;ivd&amp;gt; Or are also the QUEUE0, QUEUE1 registers inversed?&lt;br /&gt;
&amp;lt;ivd&amp;gt; (As far as I understood, we have only inverted the urbs)&lt;br /&gt;
&amp;lt;hschaa&amp;gt; to be honest, I'm not sure :(&lt;br /&gt;
&amp;lt;ivd&amp;gt; And even then it is still unclear if the same inversion is present in RT73usb&lt;br /&gt;
&amp;lt;hschaa&amp;gt; right&lt;br /&gt;
&amp;lt;hschaa&amp;gt; The info from ralink regarding the PCI devices was a bit less informative then the answer about rt2800usb&lt;br /&gt;
&amp;lt;hschaa&amp;gt; on rt2800usb we know for sure that we have an inversion somehow&lt;br /&gt;
&amp;lt;hschaa&amp;gt; on rt2800pci we are not sure (or are you sure? ;) )&lt;br /&gt;
&amp;lt;ivd&amp;gt; true&lt;br /&gt;
&amp;lt;hschaa&amp;gt; and on older devices we don't know either&lt;br /&gt;
&amp;lt;ivd&amp;gt; Perhaps we should just synchronize the code with the legacy driver, and assume rt73usb and rt2800usb assign the same endpoints to the queues&lt;br /&gt;
&amp;lt;hschaa&amp;gt; does inverting the enpoints mean we will still use the mac80211 queue ids but just send it to a different endpoint?&lt;br /&gt;
&amp;lt;ivd&amp;gt; yes, because the QID from mac80211, is never passed as-value to a register. So we don't need any mapping on that&lt;br /&gt;
&amp;lt;hschaa&amp;gt; let me have a quick look ...&lt;br /&gt;
* Jusic (~email@dslb-088-077-204-064.pools.arcor-ip.net) has joined #rt2x00&lt;br /&gt;
&amp;lt;hschaa&amp;gt; on PCI devices how does the hw know which DMA queue is used for which AC?&lt;br /&gt;
&amp;lt;ivd&amp;gt; Because of the queues with AIFSN configuration?&lt;br /&gt;
&amp;lt;hschaa&amp;gt; if that's the case everything should be fine on rt2800pci&lt;br /&gt;
&amp;lt;ivd&amp;gt; yeah, but what is the assignment in the legacy driver? is QUEUE there BE, BK, or VO?&lt;br /&gt;
&amp;lt;hschaa&amp;gt; Did you mean QUEUE==QSEL?&lt;br /&gt;
&amp;lt;ivd&amp;gt; Is that a register?&lt;br /&gt;
&amp;lt;hschaa&amp;gt; no, part of the TXD&lt;br /&gt;
&amp;lt;hschaa&amp;gt; for the &amp;quot;second stage scheduler&amp;quot;&lt;br /&gt;
&amp;lt;ivd&amp;gt; hmm, and let me guess we are sending the QID to that?&lt;br /&gt;
&amp;lt;ivd&amp;gt; So that means we do need some mapping... :(&lt;br /&gt;
&amp;lt;hschaa&amp;gt; nope, we always use QSEL:2&lt;br /&gt;
&amp;lt;hschaa&amp;gt; and that should be fine (at least for now)&lt;br /&gt;
&amp;lt;ivd&amp;gt; ah right. But QSEL 2 means EDCA.&lt;br /&gt;
&amp;lt;hschaa&amp;gt; yep&lt;br /&gt;
&amp;lt;ivd&amp;gt; So indeed, we don't need anything on that&lt;br /&gt;
&amp;lt;hschaa&amp;gt; ok, only the endpoint inversion on USB&lt;br /&gt;
&amp;lt;hschaa&amp;gt; btw. here's what jay wrote about the DMA queues on rt2800pci:&lt;br /&gt;
&amp;lt;hschaa&amp;gt; &amp;quot;yes, scheduler will refer WMM_&amp;amp;_CFG in SCH/DMA register to decide next frame &amp;quot;&lt;br /&gt;
&amp;lt;hschaa&amp;gt; so, if at least seems to have no static priorization but uses the configured aifsn, cwmin ... values&lt;br /&gt;
&amp;lt;hschaa&amp;gt; Anyone plans to make use of the MGMT queue somewhen?&lt;br /&gt;
&amp;lt;ivd&amp;gt; No we can't make use of the MGMT queue.&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Wouldn't that require support from mac80211?&lt;br /&gt;
&amp;lt;ivd&amp;gt; we shouldn't filter out MGMT frames from mac80211, and neither can we add the queue to mac80211 due to the hardlimit of 4 queues&lt;br /&gt;
&amp;lt;hschaa&amp;gt; Yeah, if would require work in mac80211&lt;br /&gt;
&amp;lt;ivd&amp;gt; and I am not sure if Johannes Berg would agree on such a special queue&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Do we know if other HW has such special MGMT queues as well?&lt;br /&gt;
&amp;lt;hschaa&amp;gt; not sure if other devices have similar queues?&lt;br /&gt;
&amp;lt;hschaa&amp;gt; we could send a mail to linux-wireless and just ask :)&lt;br /&gt;
&amp;lt;ivd&amp;gt; Ok, perhaps he changed his mind, because I asked it a couple of years ago as well :P&lt;br /&gt;
&amp;lt;hschaa&amp;gt; aha, ok&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; I guess the alternative is to check the incoming TX frames to see if they are mgmt frames, and then send them on the MGMT queue.&lt;br /&gt;
&amp;lt;ivd&amp;gt; Anyway, for USB, does it mean that endpoint0, is attached to QUEUE0 registers?&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Not sure if that breaks things, though.&lt;br /&gt;
&amp;lt;hschaa&amp;gt; we've discussed that on the mailing list but that could reorder tx status reports&lt;br /&gt;
&amp;lt;ivd&amp;gt; no that should not be done, we did that in the past, and Johannes requested that to be removed&lt;br /&gt;
&amp;lt;hschaa&amp;gt; (since the MGMT queue has a higher prio)&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; OK. Didn't know the past of this ;-)&lt;br /&gt;
&amp;lt;hschaa&amp;gt; If enpoint0 is attached to QUEUE0 registers, no idea, sorry&lt;br /&gt;
&amp;lt;hschaa&amp;gt; I've just got one possible use case for the MGMT queue:&lt;br /&gt;
&amp;lt;ivd&amp;gt; Well for safety I will just reorder those registers as well to be in sync with legacy&lt;br /&gt;
&amp;lt;hschaa&amp;gt; ok&lt;br /&gt;
&amp;lt;hschaa&amp;gt; on PCI devices we've got a TBTT interrupt that gets issues when the beacon is sent out&lt;br /&gt;
&amp;lt;hschaa&amp;gt; and during TBTT processing we should send out all buffered multi- and broadcast frames (if DTIM == 0)&lt;br /&gt;
&amp;lt;hschaa&amp;gt; and 802.11-2007 tells us that there should be no unicast (data?) frame between the beacon and the buffered frames&lt;br /&gt;
&amp;lt;hschaa&amp;gt; at the moment, that could happen because there might still be some frames in the queue after the beacon was sent out&lt;br /&gt;
&amp;lt;hschaa&amp;gt; but if we put the buffered frames into the MGMT queue they should get sent out before the AC* queues get transmited, right?&lt;br /&gt;
&amp;lt;hschaa&amp;gt; (that's still racy due to the hw design relying on the interrupt processing but it might improve things)&lt;br /&gt;
&amp;lt;ivd&amp;gt; Doesn't mac80211 call flush()?&lt;br /&gt;
&amp;lt;ivd&amp;gt; And does the MGMT queue guarentee the TX status register to be filled?&lt;br /&gt;
&amp;lt;hschaa&amp;gt; nope, mac80211 doesn't interfere with beacon handling at all&lt;br /&gt;
&amp;lt;hschaa&amp;gt; not sure if the MGMT queue will issue proper status reports&lt;br /&gt;
&amp;lt;hschaa&amp;gt; anyway, that was just a quick idea&lt;br /&gt;
&amp;lt;hschaa&amp;gt; (and I'm not even sure if it is really that important)&lt;br /&gt;
&amp;lt;ivd&amp;gt; ok&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; diverting a bit from the current topic&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; phy0 -&amp;gt; rt2800pci_mcu_status: Error - MCU request failed&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; does any of you with rt2800pci devices also get this error while loading the driver?&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; On some of my devices. However, I do believe I know where this one comes from.&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; It is the policy on rt2800pci to always first issue a SLEEP MCU command before sending the WAKEUP command.&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; in rt2800pci_set_state.&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; on recent rt2x00 git kernel, the device seems to work fine, although I think it will never sleep or use otherwise the powersaving functions&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; I had it confirmed a long time ago if that SLEEP was not done than that MCU error doesn't occur.&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; However, I do not know why we are always issueing a SLEEP, so I have refrained from sending in a patch.&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Ivo, do you know why we do wake-up this way?&lt;br /&gt;
&amp;lt;hschaa&amp;gt; hmm, what are the legacy drivers doing?&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; well yes, but this really happens right after the firmware is loaded into the device&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; so, if the MCU is not working, it won't accept any commands IMHO&lt;br /&gt;
&amp;lt;ivd&amp;gt; I think this code is synchronized with the legacy driver, which contains the comment that WAKUP is only valid after the SLEEP command&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Hmmm, I think this was only at start-up, but I'll check that. If I find something then I'll send a patch.&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; The other thing is that we don't wait for the MCU status after the SLEEP command, while we do for the WAKEUP command. Should we also wait for the SLEEP command?&amp;gt;&lt;br /&gt;
&amp;lt;ivd&amp;gt; Not sure, perhaps we should, but I can't recall if legacy driver did it as well&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; OK. I'll check that as well.&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; AFAIR, we replicate all processes from the legacy code&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; And the legacy drivers have changed quite a bit since their first releases, so it doesn't harm to re-check.&lt;br /&gt;
&amp;lt;hschaa&amp;gt; yep, makes sense&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; I specifically analised the first rt2800 legacy code and compared it with ours&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; but that might need to be done again :)&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Yeah, will do that ;-)&lt;br /&gt;
&amp;lt;hschaa&amp;gt; ok, let's move on?&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; sure&lt;br /&gt;
&amp;lt;hschaa&amp;gt; Further optimization of hotpaths (RX/TX)&lt;br /&gt;
&amp;lt;hschaa&amp;gt; I don't know why but rt2x00+mac80211 seems to have quite some more overhead then the legacy drivers&lt;br /&gt;
&amp;lt;hschaa&amp;gt; so, I thought about ways to improve the hotpaths in rt2x00&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Do we know where this overhead is?&lt;br /&gt;
&amp;lt;hschaa&amp;gt; Nope, I was unable to get profiling to work on the ralink soc&lt;br /&gt;
&amp;lt;hschaa&amp;gt; However, we are doing quite some unnecessary work in rt2x00&lt;br /&gt;
&amp;lt;hschaa&amp;gt; for example, the tx descriptor contains values for all ralink devices&lt;br /&gt;
&amp;lt;hschaa&amp;gt; example:&lt;br /&gt;
&amp;lt;hschaa&amp;gt; length_high and length_low are set for every device but only a few need them&lt;br /&gt;
&amp;lt;ivd&amp;gt; But how can we cleanly optimize that?&lt;br /&gt;
&amp;lt;hschaa&amp;gt; hehe, no comes the fun part :)&lt;br /&gt;
&amp;lt;hschaa&amp;gt; I thought about removing the biggest parts of the tx descriptor&lt;br /&gt;
&amp;lt;hschaa&amp;gt; rt2x00queue_create_tx_descriptor_plcp fills in the plcp values into the tx descriptor&lt;br /&gt;
* Ju5ic (~email@dslb-088-077-204-064.pools.arcor-ip.net) has joined #rt2x00&lt;br /&gt;
&amp;lt;hschaa&amp;gt; but when we remove all plcp related values from the descriptor&lt;br /&gt;
&amp;lt;hschaa&amp;gt; we could simply add a call to rt2x00queue_create_tx_descriptor_plcp from the individual drivers write_tx_desc callbacks&lt;br /&gt;
&amp;lt;hschaa&amp;gt; so, in short, remove most values in the tx descriptor and provide the drivers functions to retrieve these values&lt;br /&gt;
&amp;lt;ivd&amp;gt; I think there is an old TODO for mac80211 that this is moved to mac80211&lt;br /&gt;
&amp;lt;hschaa&amp;gt; the plcp stuff&lt;br /&gt;
&amp;lt;ivd&amp;gt; yeah&lt;br /&gt;
&amp;lt;hschaa&amp;gt; but of course, there are other fields like all the ht related stuff that isn't needed on legacy devices&lt;br /&gt;
&amp;lt;hschaa&amp;gt; but if you want to run rt61 and rt2800 with the same kernel the ht fields are also filled in for rt61&lt;br /&gt;
&amp;lt;hschaa&amp;gt; does that approach sound somehow reasonable?&lt;br /&gt;
&amp;lt;ivd&amp;gt; Perhaps we should have the drivers indicate which TX descriptor stuff they want during init. Then we still have a simple write_tx_descriptor function in the drivers&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; From my side it does, in one form or the other, but to be honest, I don't feel that these things are major overhead generators.&lt;br /&gt;
&amp;lt;hschaa&amp;gt; ivd: that would mean introducing quite a number of new flags, don't think I like that ...&lt;br /&gt;
&amp;lt;hschaa&amp;gt; gwingerde: I don't expect to gain much from it but on these slow embedded machines every cycle counts&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; True, I guess I'm quite spoiled running on high-end Intel x86_64 HW :-)&lt;br /&gt;
&amp;lt;hschaa&amp;gt; yep :) a 380Mhz MIPS CPU is really slow&lt;br /&gt;
&amp;lt;hschaa&amp;gt; ivd: if we just replace every (set of) fields in the tx descirptor with a corresponding function that shoul leave the write_tx_desc callback quite simple&lt;br /&gt;
&amp;lt;hschaa&amp;gt; something like&lt;br /&gt;
&amp;lt;hschaa&amp;gt; rt2x00_set_field32(&amp;amp;word, TXWI_W1_BW_WIN_SIZE, txdesc-&amp;gt;ba_size);&lt;br /&gt;
&amp;lt;hschaa&amp;gt; would become&lt;br /&gt;
&amp;lt;hschaa&amp;gt;  rt2x00_set_field32(&amp;amp;word, TXWI_W1_BW_WIN_SIZE, rt2x00_txdesc_get_ba_size(xxx));&lt;br /&gt;
&amp;lt;ivd&amp;gt; That won't work for most fields, since a lot of values can only be determined in groups&lt;br /&gt;
&amp;lt;ivd&amp;gt; e.g. PLCP cannot be done individually&lt;br /&gt;
&amp;lt;hschaa&amp;gt; ok, but that could do something like:&lt;br /&gt;
&amp;lt;ivd&amp;gt; And you can reduce the number of if-statements in other cases by getting the values in a group&lt;br /&gt;
&amp;lt;hschaa&amp;gt; rt2x00_txdesc_get_plcp(plcp_settings)&lt;br /&gt;
&amp;lt;hschaa&amp;gt; rt2x00_set_field32(&amp;amp;word, plcp1, xx)&lt;br /&gt;
&amp;lt;hschaa&amp;gt;  rt2x00_set_field32(&amp;amp;word, plcp2, xx)&lt;br /&gt;
&amp;lt;hschaa&amp;gt; of course we need to review which fields need to be grouped together&lt;br /&gt;
&amp;lt;ivd&amp;gt; I guess most stuff which are currently already in different functions&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; What is your end-goal here? Complete removal of the pre-processing and struct txentry_desc?&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; And only do &amp;quot;on-demand&amp;quot; processing?&lt;br /&gt;
&amp;lt;hschaa&amp;gt; Not the complete removal, but to only keep data in txentry_desc that is used by every driver&lt;br /&gt;
&amp;lt;hschaa&amp;gt; and all the hw specific stuff would be generated  on-demand, yes&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Maybe it would be good if you can provide an overview of what it is that you would keep, and what would go &amp;quot;on-demand&amp;quot;.&lt;br /&gt;
&amp;lt;hschaa&amp;gt; ok, I'm going to do a more deep review and come up with a list of possible changes?&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Sounds good.&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; btw&lt;br /&gt;
&amp;lt;hschaa&amp;gt; ok, and one more thing regarding the rx descriptor&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; trading the large descriptor for functions, won't that be an overhead as well?&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; copy large chunks of memory vs more calls?&lt;br /&gt;
&amp;lt;hschaa&amp;gt; yes, it would but if they are just inlined functions (or maybe macros) that life in rt2x00queue.h&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; ah, ok then&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; I guess we should prefer in-line functions over macros, but yes, making them inline would reduce the overhead of function calls.&lt;br /&gt;
&amp;lt;hschaa&amp;gt; at the moment drivers are calling rt2x00lib_rxdone and that in turn calls back into the drivers with fill_rxdone&lt;br /&gt;
&amp;lt;hschaa&amp;gt; wouldn't it be possible to already pass the rxdesc to rt2x00lib_rxdone?&lt;br /&gt;
&amp;lt;ivd&amp;gt; Don't think so, or at least not without moving a lot of logic back into the drivers again&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Maybe, however, please note that the rxdone functions are currently called from the generic pci and usb code, not from the drivers themselves.&lt;br /&gt;
&amp;lt;hschaa&amp;gt; right&lt;br /&gt;
* yanook (~yanook@58.211.96.179) has joined #rt2x00&lt;br /&gt;
&amp;lt;hschaa&amp;gt; ok, I'll try to first come up with some stuff regarding the tx desc and if we agree on one of the possible alternatives I can look into the tx handling as well :)&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; moving on?&lt;br /&gt;
&amp;lt;hschaa&amp;gt; sure&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; Remaining questions regarding the tasklet conversion of PCI drivers&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Before we go into the details, can someone explain what it is that we are trying to achieve with using tasklets?&lt;br /&gt;
&amp;lt;hschaa&amp;gt; ok&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; (sorry couldn't keep up with all the discussions on the mailing-list).&lt;br /&gt;
&amp;lt;hschaa&amp;gt; before the irq thread conversion rt2x00 handled all interrupts in hard irq context&lt;br /&gt;
&amp;lt;hschaa&amp;gt; I've introduced the irq thread mainly to periodically update the beacon (in AP and mesh mode for example)&lt;br /&gt;
&amp;lt;hschaa&amp;gt; this is required to get the correct DTIM count from mac80211 and to sent out buffered multi-and broadcast traffic after the beacon&lt;br /&gt;
&amp;lt;hschaa&amp;gt; since the beacon update code is/was mutex protected I thought the interrupt thread is a good idea sind it runs in process context&lt;br /&gt;
&amp;lt;hschaa&amp;gt; b43 already handled its interrupts in that way&lt;br /&gt;
&amp;lt;hschaa&amp;gt; the hard irq handler reads which interrupts triggerd and schedules the irq thread but keeps all interrupts masked out&lt;br /&gt;
&amp;lt;hschaa&amp;gt; the interrupt thread processes all interrupts and unmasks the interrupts again&lt;br /&gt;
&amp;lt;hschaa&amp;gt; on reasonable fast machines that works just fine&lt;br /&gt;
&amp;lt;hschaa&amp;gt; but again on the SoC devices&lt;br /&gt;
&amp;lt;hschaa&amp;gt; the rx and tx processing (when pushing a lot of traffic) caused for example a TBTT interrupt to get lost because the rx/tx processing took too long&lt;br /&gt;
&amp;lt;hschaa&amp;gt; the legacy drivers do the following:&lt;br /&gt;
&amp;lt;hschaa&amp;gt; the hard irq handler checks which interrupt triggerd and only masks out exactly these interrupts and schedules a tasklet for the according interrupt&lt;br /&gt;
&amp;lt;hschaa&amp;gt; the tasklet after processing reenabled the irq in the device&lt;br /&gt;
&amp;lt;hschaa&amp;gt; so, for example during rx processing only the rx irq is disabled&lt;br /&gt;
&amp;lt;hschaa&amp;gt; but the others can still happen&lt;br /&gt;
&amp;lt;hschaa&amp;gt; so, the goal is to process each interrupt individually while the other interrupts are still enabled&lt;br /&gt;
&amp;lt;hschaa&amp;gt; such that rx processing cannot block other interrupts&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; OK. And I guess this requires tasklets, as otherwise the other interrupts can happen without being able to handle them as the thread is still busy?&lt;br /&gt;
&amp;lt;hschaa&amp;gt; exactly ;) and there is no way to have multiple irq threads (at least not yet)&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; OK. Got it.&lt;br /&gt;
&amp;lt;hschaa&amp;gt; Any remaining questions :P ?&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Not from my side.&lt;br /&gt;
&amp;lt;ivd&amp;gt; Neither from here&lt;br /&gt;
&amp;lt;hschaa&amp;gt; My current RFC series works quite well for me but I'm unable to test older devices :(&lt;br /&gt;
&amp;lt;hschaa&amp;gt; So, I hope to get the conversion right on these as well&lt;br /&gt;
&amp;lt;hschaa&amp;gt; k, let's move on&lt;br /&gt;
&amp;lt;ivd&amp;gt; btw helmut&lt;br /&gt;
&amp;lt;ivd&amp;gt; when you refactor your patches, yout could perhaps move the patches which you think can be merged early to the start of the series. Then we can review and apply them before the rest of the series (if the rest is not ready yet)&lt;br /&gt;
&amp;lt;hschaa&amp;gt; makes sense, yes, however, Gertjan already obsoleted one of the patches ;)&lt;br /&gt;
&amp;lt;ivd&amp;gt; yeah, I know :P&lt;br /&gt;
&amp;lt;ivd&amp;gt; But that was one of the patches which could have been applied before the rest of the series ;)&lt;br /&gt;
&amp;lt;hschaa&amp;gt; right&lt;br /&gt;
&amp;lt;hschaa&amp;gt; ok, I'll move the patches in a more clever order for the next iteration&lt;br /&gt;
&amp;lt;ivd&amp;gt; ok thanks&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Maybe send the intf locking patches as a separate batch, as they seem to be quite independent.&lt;br /&gt;
&amp;lt;hschaa&amp;gt; yep, they are independent, I just had them pending in my tree on top of the others&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; So, I guess these could even go in right now, as they don't have to depend on the tasklet conversion.&lt;br /&gt;
&amp;lt;hschaa&amp;gt; correct&lt;br /&gt;
&amp;lt;ivd&amp;gt; right&lt;br /&gt;
&amp;lt;hschaa&amp;gt; How to avoid start- and stop queue locking for the beacon queue&lt;br /&gt;
&amp;lt;ivd&amp;gt; What was the exact problem with the locking?&lt;br /&gt;
&amp;lt;hschaa&amp;gt; None yet ;)&lt;br /&gt;
&amp;lt;hschaa&amp;gt; But the beaconing updates I've made for the PCI devices&lt;br /&gt;
&amp;lt;hschaa&amp;gt; update the beacon from within a tasklet&lt;br /&gt;
&amp;lt;hschaa&amp;gt; that's alright since I've made sure that that's the only beacon update point for PCI devices&lt;br /&gt;
&amp;lt;hschaa&amp;gt; =&amp;gt; no locking needed&lt;br /&gt;
&amp;lt;ivd&amp;gt; but they do start_queue and stop_queue in there?&lt;br /&gt;
&amp;lt;hschaa&amp;gt; Nope :)&lt;br /&gt;
&amp;lt;ivd&amp;gt; Then no locking is happening right?&lt;br /&gt;
&amp;lt;hschaa&amp;gt; Yep, but that is fine because stop_queue will wait for the beacon_tasklet to finish&lt;br /&gt;
&amp;lt;hschaa&amp;gt; But ...&lt;br /&gt;
&amp;lt;hschaa&amp;gt; Johannes pointed out that the code in the drivers write_beacon callback could be simplified if rt2x00queue&lt;br /&gt;
&amp;lt;hschaa&amp;gt; if rt2x00queue would stop the beacon queue before the beacon update and start if afterwards again&lt;br /&gt;
&amp;lt;ivd&amp;gt; ok, but what if we make it use pause_queue and unpause queue then?&lt;br /&gt;
&amp;lt;hschaa&amp;gt; and this start and stop is not possible right now from within the periodic beacon update (tasklet -&amp;gt; atomic context)&lt;br /&gt;
&amp;lt;hschaa&amp;gt; hmm&lt;br /&gt;
&amp;lt;hschaa&amp;gt; pause_queue does nothing on the beacon queue right now?&lt;br /&gt;
&amp;lt;ivd&amp;gt; at the moment not&lt;br /&gt;
&amp;lt;ivd&amp;gt; But the entire queue refactoring was never focussed on the Beacon queue ;()&lt;br /&gt;
&amp;lt;ivd&amp;gt; ;)&lt;br /&gt;
&amp;lt;hschaa&amp;gt; might be a good idea&lt;br /&gt;
&amp;lt;hschaa&amp;gt; I'll check that&lt;br /&gt;
&amp;lt;hschaa&amp;gt; but currently the definition of pause/unpause-queue is to stop the queue in mac80211 ;)&lt;br /&gt;
&amp;lt;hschaa&amp;gt; and if it would do something different for the beacon queues that could be confusing&lt;br /&gt;
&amp;lt;ivd&amp;gt; true, or we move the register changes into a function and simply call those from the driver callback function, that way rt2x00lib doesn&lt;br /&gt;
&amp;lt;ivd&amp;gt; 't need to do anything&lt;br /&gt;
&amp;lt;hschaa&amp;gt; yeah, I guess that's ok for now&lt;br /&gt;
&amp;lt;hschaa&amp;gt; I mean, it is really just setting a bit in the beaconing register, updating the beacon and resetting the bit again&lt;br /&gt;
&amp;lt;ivd&amp;gt; right&lt;br /&gt;
&amp;lt;hschaa&amp;gt; ok&lt;br /&gt;
&amp;lt;hschaa&amp;gt; Last topic, from my point of view at least :)&lt;br /&gt;
&amp;lt;hschaa&amp;gt; Pushing functionality down into drivers to allow easier modification&lt;br /&gt;
&amp;lt;hschaa&amp;gt; of newer drivers without affecting older ones?&lt;br /&gt;
&amp;lt;hschaa&amp;gt; We had at least one case where rt2800 behaved differently then older drivers and while fixing the bssid-register setup on rt2800 we broke the older devices&lt;br /&gt;
&amp;lt;hschaa&amp;gt; At the moment, we have to be very careful when changing core code logic&lt;br /&gt;
&amp;lt;hschaa&amp;gt; to not break older known-good devices&lt;br /&gt;
&amp;lt;ivd&amp;gt; True, but we can't really escape that without duplicating code by moving code to the registers&lt;br /&gt;
&amp;lt;hschaa&amp;gt; Yeah, that's why I wanted to discuss what we could do to mitigate these problems&lt;br /&gt;
&amp;lt;hschaa&amp;gt; I mean, most core code is hw independant, and thus fine&lt;br /&gt;
&amp;lt;hschaa&amp;gt; but some parts of the core code seem to depend on device specific behavior&lt;br /&gt;
&amp;lt;hschaa&amp;gt; (as we had with the bssid register setup, and no I don't have another example :P )&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Guys, sorry to break in, but unfortunately I have to go now. I'll check the log later for the remaining discussions.&lt;br /&gt;
&amp;lt;ivd&amp;gt; ok&lt;br /&gt;
&amp;lt;hschaa&amp;gt; ok, have nice day&lt;br /&gt;
* gwingerde has quit (Remote host closed the connection)&lt;br /&gt;
&amp;lt;hschaa&amp;gt; hmm, have _a_ nice day sounds more correct&lt;br /&gt;
&amp;lt;ivd&amp;gt; hehe&lt;br /&gt;
&amp;lt;hschaa&amp;gt; Any good ideas how we can ensure that core code changes don't break older devices?&lt;br /&gt;
&amp;lt;ivd&amp;gt; no, because it is very unclear when some action is device specific or not. I mean the BSSID thing worked for 5 devices, and only in the latest device they changed something quite subtle&lt;br /&gt;
&amp;lt;hschaa&amp;gt; yep, unfortunatley&lt;br /&gt;
&amp;lt;ivd&amp;gt; The code which was in rt2x00lib wasn't even obviously broken, since it was logical to do it that way&lt;br /&gt;
&amp;lt;hschaa&amp;gt; right&lt;br /&gt;
&amp;lt;ivd&amp;gt; SO we can't really resolve the issues in advance I'm afraid&lt;br /&gt;
&amp;lt;ivd&amp;gt; I mean, the next time something in the TX descriptor handling can change... SO how could we anticipate that?&lt;br /&gt;
&amp;lt;hschaa&amp;gt; ok, and I guess nobody has the time to always run regression tests with the older devices&lt;br /&gt;
&amp;lt;hschaa&amp;gt; at least I don't&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; and at the moment, neither can I&lt;br /&gt;
&amp;lt;ivd&amp;gt; nope, I have a setup to test rt61pci and rt2500pci, but I focus so much on rt2800usb nowadays, that the PCI drivers are tested too little&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; maybe at the end of this first semester, some time next February I can do something&lt;br /&gt;
&amp;lt;hschaa&amp;gt; ok, so let's just hope that we've got enough users to notice bugs as soon as possible&lt;br /&gt;
&amp;lt;hschaa&amp;gt; oh, and to report them as well&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; I can always test my rt2800pci, as it sits on my machine&lt;br /&gt;
&amp;lt;hschaa&amp;gt; same for me, rt2800pci is well tested from my side&lt;br /&gt;
&amp;lt;hschaa&amp;gt; ok, do we have anything else to discuss?&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; yes, but my rt2800pci is a true PCI card, not the SoC&lt;br /&gt;
&amp;lt;hschaa&amp;gt; right, that makes a difference sometimes&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; the MCU thing is a good example&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; and btw, as a good joke&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; my last patch sent to the kernel was April first :)&lt;br /&gt;
&amp;lt;ivd&amp;gt; hehe&lt;br /&gt;
&amp;lt;hschaa&amp;gt; hehe&lt;br /&gt;
&amp;lt;hschaa&amp;gt; so, are we done? Anything else?&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; from my side, yes&lt;br /&gt;
&amp;lt;ivd&amp;gt; I don't think so&lt;br /&gt;
&amp;lt;hschaa&amp;gt; Nice, so we can finally have lunch ;)&lt;br /&gt;
&amp;lt;ivd&amp;gt; helmut do you need a review on the RFC you send this week, or did you want to send an updated series today?&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; so, no objections to declare this meeting done?&lt;br /&gt;
&amp;lt;hschaa&amp;gt; I don't have any changes in the series yet, so if you've got some times left a quick review would be nice, ye&lt;br /&gt;
&amp;lt;hschaa&amp;gt; s&lt;br /&gt;
&amp;lt;ivd&amp;gt; ok. :)&lt;br /&gt;
&amp;lt;hschaa&amp;gt; thanks&lt;br /&gt;
&amp;lt;ivd&amp;gt; Well then the meeting is over I guess. :)&lt;br /&gt;
&amp;lt;ivd&amp;gt; Have a nice day guys&lt;br /&gt;
&amp;lt;hschaa&amp;gt; yep, cya in a while&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; have a nice day, guys!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Developer's meeting - August 9, 2008 ==&lt;br /&gt;
&lt;br /&gt;
Topics discussed were mainly about our recent request that Ralink should stop to provide the legacy drivers and work full time on rt2x00.&lt;br /&gt;
&lt;br /&gt;
It then evolved into getting some payment from Ralink for our work in building and supporting the drivers (things we now do for free).&lt;br /&gt;
&lt;br /&gt;
More documentation, better code examples and stop backporting the windows driver to Linux.&lt;br /&gt;
&lt;br /&gt;
A forum overhaul was decided, with mostly some name changes.&lt;br /&gt;
&lt;br /&gt;
Meanwhile, the [[Todo]] page was created, with recent topics, known bugs and such.&lt;br /&gt;
&lt;br /&gt;
The meeting full log follows:&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;ivd&amp;gt; Ok: Is my understanding correct that outgoing frames have both the IV data inside the TXD descriptor as well as inside the frame?&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; hi all, sorry for being late :)&lt;br /&gt;
&amp;lt;ivd&amp;gt; When I follow the TX path, it almost looks like it generates the IV/EIV into the TXD and copies it into the frame as well&lt;br /&gt;
* lfcorreia has changed the topic to: rt2x00 developers meeting, right now :)&lt;br /&gt;
&amp;lt;ivd&amp;gt; lfcorreia: Late? half hour early :P&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Luis, I guess you're early, as 15:00 GMT is not for another 45 minutes&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; (GMT doesn't have summer time)&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; eheh, then it's my timezone misunderstanding&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; as always&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; never mind then&lt;br /&gt;
&amp;lt;ivd&amp;gt; There are a lot of early birds today, Mark made a miscalculation, hence his reason for being an hour early as well. :P&lt;br /&gt;
* lfcorreia has changed the topic to: rt2x00 developers meeting, starting soon&lt;br /&gt;
&amp;lt;ivd&amp;gt; But he is off for coffee to stay awake. ;)&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; ivd, lol, as always, being an aussie has its perks :)=&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Ivo, give me some time to check your question out. Don't know the answer without looking at the code ;-)&lt;br /&gt;
&amp;lt;ivd&amp;gt; :)&lt;br /&gt;
&amp;lt;ivd&amp;gt; Don't worry, even if the IV is copied into the frame, more questions are standing by, since I still can't get HW crypto going on rt2500usb. And I did try the IV included and excluded from the frame. ;)&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; OK. I'll check it out anyway.&lt;br /&gt;
&amp;lt;ivd&amp;gt; thanks&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; ivd: can you summarise a quick order of business for today, or we'll just talk?&lt;br /&gt;
&amp;lt;ivd&amp;gt; lfcorreia did you make those debugfs dumps with encryption enabled in rt2570/rt2500usb?&lt;br /&gt;
&amp;lt;ivd&amp;gt; lfcorreia: Mark had set some points he wanted to discuss. They are mostly summing up what issues there are at the moment, which should get some attention, and where he can start focussing on.&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; actually, no. I was unable to connect with WEP using the legacy driver. it's probably an AP issue, but i was unable to dedicate more time to it&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; ivd, ok, i'll wait for Mark to return &lt;br /&gt;
&amp;lt;ivd&amp;gt; ok, alternatively you could try TKIP, that would normally be step 2 but it could at least uncover some general register problems with HW crypto&lt;br /&gt;
&amp;lt;ivd&amp;gt; (but WEP has preference since it is the most simple form of encryption)&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; let me try that again now&lt;br /&gt;
&amp;lt;ivd&amp;gt; thanks&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; ivd: I think you're right in the legacy rt2570 driver, it is both setting the IV and EIV in the TXD and the output buffer.&lt;br /&gt;
&amp;lt;ivd&amp;gt; Hmm, thats odd, because it seems they are adding the IV length to the TXLength twice&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; yes, and there are comments as well stating that the ASIC adds IV/EIV to the frame as well. Really odd.&lt;br /&gt;
&amp;lt;ivd&amp;gt; Perhaps it is overriding it. That the hardware isn't doing the exact same as rt61pci and rt73usb, and that the data they add to the frame is required to make room for the IV/EIV&lt;br /&gt;
&amp;lt;ivd&amp;gt; Something like: driver makes room for IV/EIV manually to let HW copy it into that room later.&lt;br /&gt;
&amp;lt;ivd&amp;gt; Which is kind of stupid.&lt;br /&gt;
&amp;lt;ivd&amp;gt; But somehow expected from rt2570 which is a slighly buggy chipset&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; That's what I was thinking as well.&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Wrt the TXLength, I don't think there is an issue there, as they seem to recalculate the frame size after they have copied all data.&lt;br /&gt;
&amp;lt;ivd&amp;gt; Yes, but what length to they send to the TX descriptor?&lt;br /&gt;
&amp;lt;ivd&amp;gt; Is that a length which includes the IV length twice?&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Not that I can see. It the size they calculate after all the copying, and only contains the IV/EIV length once.&lt;br /&gt;
&amp;lt;ivd&amp;gt; ALthough I do believe to have tested with a loop adding 0 to 50 bytes to the length to see when it would start out to send out frames.&lt;br /&gt;
&amp;lt;ivd&amp;gt; hmm ok, so they are doing that right.,&lt;br /&gt;
&amp;lt;ivd&amp;gt; I must be missing something else then.. :S&lt;br /&gt;
&amp;lt;ivd&amp;gt; Too bad the USB drivers don't have a true TXdone reporting. That made things so much easier for rt61pci HW crypto :S&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; be back in ten minutes&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Yeah. I guess that also has something to do with USB. It's somewhat harder to have the status returned to the host from the USB device.&lt;br /&gt;
&amp;lt;ivd&amp;gt; All that I am seeing now is a blinking TX activity led that tells the device is apparently trying to transmit something, but nothing appears in wireshark.&lt;br /&gt;
&amp;lt;ivd&amp;gt; yeah, that is definately something the ratecontrol module of mac80211 enjoys. ;)&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Hmmm, and our debugfs queue does show the frame?&lt;br /&gt;
&amp;lt;ivd&amp;gt; Yes, the frames are being uploaded successfully. Hence the reason the TX led blinks as well.&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; True.&lt;br /&gt;
&amp;lt;ivd&amp;gt; But wireshark on another system doesn't detect any of the frames.&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Hmm. One of the problems can be that by default our drivers disable reception of &amp;quot;ToDS&amp;quot; frames. Maybe you can turn that on to see what the rt2570 sends to the AP?&lt;br /&gt;
&amp;lt;ivd&amp;gt; The ToDS filter is automatically enabled by mac80211 when running in monitor mode.&lt;br /&gt;
&amp;lt;ivd&amp;gt; The wireshark + rt61pci interface I use for monitoring is working since I had used it when debugging rt61pci and rt73usb HW crypto.&lt;br /&gt;
&amp;lt;ivd&amp;gt; And I can see Assoc + Auth requests coming from the rt2500usb device.&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Really? I thought I needed to patch that when I was testing the PCI mapping patches I did.&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Guess I was wrong at the time&lt;br /&gt;
* bbatten (n=chatzill@adsl-71-154-211-29.dsl.sndg02.sbcglobal.net) has joined #rt2x00&lt;br /&gt;
&amp;lt;ivd&amp;gt; Well I don't know about all drivers, but at least rt61pci seems to work well in monitor mode.&lt;br /&gt;
&amp;lt;ivd&amp;gt; It previously had some quirks when returning from monitor mode to managed mode, but those have been fixes&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; OK. Maybe I was handling it differently at the time (I wasn't really using wireshark at the time).&lt;br /&gt;
&amp;lt;ivd&amp;gt; ah, that might be it, wiresharks enables promisc mode and mac80211 will convert that into the correct fitlers&lt;br /&gt;
&amp;lt;ivd&amp;gt; \filters&lt;br /&gt;
&amp;lt;ivd&amp;gt; And rt2x00 will listen exactly to those filters&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Yep, i'll remember that for next time.&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; Ugh, I'm regretting suggesting a 1am meeting in winter at the moment :-)&lt;br /&gt;
&amp;lt;ivd&amp;gt; Hehe :P&lt;br /&gt;
&amp;lt;bbatten&amp;gt; You're a brute for punishment, Mark&lt;br /&gt;
&amp;lt;ivd&amp;gt; Shall we trade the Dutch summer for you Winter :P&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; I'm the odd-one-out timezone wise so you think I would be used to it&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; hehe&lt;br /&gt;
&amp;lt;ivd&amp;gt; Not sure where the temperature would be higher :P&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; So, basically, it's been awhile since we all caught up. I thought it would be a good time to discuss where things are at, what the major things on the list are and who we are all currently working on&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; I honestly have not been keeping track of things, and SF seems to be pretty out-of-date as far as 'bugs' and the like&lt;br /&gt;
&amp;lt;ivd&amp;gt; Well Bryan seems to have closed some bugs on sf.net recently&lt;br /&gt;
* sn9 (n=danielg4@gimpelevich.san-francisco.ca.us) has joined #rt2x00&lt;br /&gt;
&amp;lt;ivd&amp;gt; Or at least I saw the counter change a couple of times. ;)&lt;br /&gt;
&amp;lt;bbatten&amp;gt; Who all of us &amp;quot;core&amp;quot; developers are still active? Ibrahim, Robin?&lt;br /&gt;
&amp;lt;ivd&amp;gt; I usually close rt2x00 items or at least marking those bugs as invalid. ;)&lt;br /&gt;
&amp;lt;ivd&amp;gt; Eh, well Ibrahim and Robin are definitely not active.&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; The only people active are those here, minus myself who hasn't been active at all&lt;br /&gt;
&amp;lt;bbatten&amp;gt; I think I've marked one bug as fixed, and another was fixed as a side effect.&lt;br /&gt;
&amp;lt;ivd&amp;gt; Not sure when they send out their last mail to any rt2x00 mailinglist. ;)&lt;br /&gt;
&amp;lt;ivd&amp;gt; Heh, I love bugs that fix themselves ;)&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; To be honest, I'm not that active as well (currently quite busy with my job :-()&lt;br /&gt;
&amp;lt;ivd&amp;gt; Well I am way behind with rt2800 development, and my takslist for rt2x00 is growing fast. :S&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; Any chance of getting that tasklist published ?&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; then we can add to it from there with other items we are aware of&lt;br /&gt;
&amp;lt;ivd&amp;gt; Eh yes that would be a good idea. The list on the wiki is outdated.&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Yes. Maybe we should set up a TODO area on the wiki, so that people can assign themselves to it.&lt;br /&gt;
&amp;lt;ivd&amp;gt; Well for rt2x00 we had such a list&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; Absolutely. Lets not just restrict it to dev tasks other - there are things that need addressing regarding doco, support, etc as well&lt;br /&gt;
&amp;lt;ivd&amp;gt; http://rt2x00.serialmonkey.com/wiki/index.php/Rt2x00_beta&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Yep, it's time to revive it.&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; ... an I'm back&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; Isn't it about time we dropped the 'beta' as well ?&lt;br /&gt;
&amp;lt;bbatten&amp;gt; Speaking of dropping beta, would it be a good idea to add additional nextgen sections to the forum for chip-specific drivers?&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; sorry, doze off five more minutes then it was predicted&lt;br /&gt;
&amp;lt;ivd&amp;gt; It is about time we dropped that entire page :P&lt;br /&gt;
&amp;lt;ivd&amp;gt; As well as the alpha page&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; So, if we had to sum up the rt2x00 drivers in one word, what would it be Ivo ?&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Yep, and in the forum we should rename rt2x00beta to just rt2x00 as well.&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; obviously they are still marked as 'experimental' in the kernel&lt;br /&gt;
&amp;lt;ivd&amp;gt; Well the first request to remove the CONFIG_EXPERIMENTAL dependency has been raised already&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; for all chipsets ?&lt;br /&gt;
&amp;lt;ivd&amp;gt; That has been rejected by me, mostly because of the different opinions on the meaning of CONFIG_EXPERIMENTAL&lt;br /&gt;
&amp;lt;bbatten&amp;gt; I would think dropping &amp;quot;beta&amp;quot; designation and replace testing with per-chpset sections wouild be good.&lt;br /&gt;
&amp;lt;ivd&amp;gt; yes&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; OK, I'm going to start the todo wiki page now, and that can be the first item&lt;br /&gt;
&amp;lt;ivd&amp;gt; rt2x00 support doesn't need to be split up into different sections yet.&lt;br /&gt;
&amp;lt;ivd&amp;gt; But the titles could indeed change&lt;br /&gt;
&amp;lt;bbatten&amp;gt; OK. I raise  it because I seem to notice more postings having to do with chip- specific impementations, but that could just be me.&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; http://rt2x00.serialmonkey.com/wiki/index.php/Todo&lt;br /&gt;
&amp;lt;ivd&amp;gt; yes but the setup of the rt2x00 drivers makes most bugs be common to all chips. ;)&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; OK, I've just listed the item then as rename and re-describe&lt;br /&gt;
&amp;lt;bbatten&amp;gt; Your call, obviously.&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; Anything else forum or website related that people have on their minds while we are there ?&lt;br /&gt;
&amp;lt;bbatten&amp;gt; Just my perennial favoriet - huge font size.&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; we need to do something about the legacy rt2800 driver&lt;br /&gt;
&amp;lt;ivd&amp;gt; Why, we hardly have developers?&lt;br /&gt;
&amp;lt;ivd&amp;gt; And unless Bryan wants to maintain 2 more legacy drivers...&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; we would only go as far as setting up the debugfs patches to compare&lt;br /&gt;
&amp;lt;bbatten&amp;gt; I don't think there's anything there that's remotely functional?&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; the last time I tried it, it did work, but produced a very large kernel driver&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; That would be something worthwhile passing around the developers, but we wouldn't release it I imagine&lt;br /&gt;
&amp;lt;ivd&amp;gt; yes, some patches need to be collected for debugging purposes. But we need to google a bit for patches from other people as well, since there are quite a lot of issues with the driver&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; ivd, at least we would state our position regarding legacy rt2800&lt;br /&gt;
&amp;lt;bbatten&amp;gt; To be honest, folks, I'm trying to constrain my involvement here. Two more drivers doesn't sound good.&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Might be difficult to get to know the rt28xx drivers, as they are completely different from the other drivers (due to the 802.11n support)&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; as i've always said we wouldn't support it&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; How about we just update the wiki to post our official call on rt2800 (no legacy, just rt2x00)&lt;br /&gt;
&amp;lt;ivd&amp;gt; Well I should still add 802.11n support to rt2x00lib, but like I said I am way behind schedule with the drivers.&lt;br /&gt;
&amp;lt;bbatten&amp;gt; Maybe tap Ralink for involvement in the project?&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; as we all know Ralink 'may' be interested in working with us in the future&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Side note: did we get any data sheets of the rt2800 chipsets?&lt;br /&gt;
&amp;lt;ivd&amp;gt; I have problems with the TX power, antenna and queue handling.&lt;br /&gt;
&amp;lt;ivd&amp;gt; Yes, we have the rt2860 sheets&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Could you send that around? I don't think I have it?&lt;br /&gt;
&amp;lt;ivd&amp;gt; but not the rt2870 one, but rt2860==rt2870 without any differences other then different bus&lt;br /&gt;
&amp;lt;bbatten&amp;gt; Oh, and did Ralink ever respond about RT2500 ISR masking?&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; which are mostly useless, when making the register definition setup file, i've already spotted differences...&lt;br /&gt;
&amp;lt;ivd&amp;gt; gwingerde: send&lt;br /&gt;
&amp;lt;ivd&amp;gt; Well I never got the response to that mail (and you were in the CC so you would have gotten it as well)&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; gwingerde, ralink even made some very strange errors in the docs, as usual&lt;br /&gt;
&amp;lt;ivd&amp;gt; lfcorreia: but your register headers were bugged as well&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; things like, stuff that should be PCI only and had USB related strings&lt;br /&gt;
&amp;lt;ivd&amp;gt; I reverted several things to get it back in line with the legacy driver&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; ivd: how much involvement do you want from us in 11n support - aren't you engaged as part of your coursework for that ?&lt;br /&gt;
&amp;lt;ivd&amp;gt; They used the same register file for both drivers :P&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; ivd, sure, it was really my first time at it&lt;br /&gt;
&amp;lt;ivd&amp;gt; The entire rt2800 project including 802.11n is coursework. But also the testing documents.&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; How much 802.11n support do we need in the driver, as mac80211 already contains support for it?&lt;br /&gt;
&amp;lt;ivd&amp;gt; And with current rate I won't be able to finish everything in time I am afraid.&lt;br /&gt;
&amp;lt;ivd&amp;gt; Well I am still collecting the pieces I need to get from mac80211. I can't find the way to detect if BW_20 or BW_40 is enabled for example.&lt;br /&gt;
&amp;lt;ivd&amp;gt; Also the rates to 108Mbs are a bit unclear.&lt;br /&gt;
&amp;lt;ivd&amp;gt; On the other hand, those things should have been in rt61pci and rt73usb as well since those are pre-n devices.&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; I see you have added the feature requests to the TODO page Ivo. Do you have a list of bugs as well ?&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Hmm, maybe the support in mac80211 isn't complete, and only sufficient for the Intel chips.&lt;br /&gt;
&amp;lt;ivd&amp;gt; Some of the 802.11n fields are still a bit unclear, since I do get a flag BANDWITH but what it means... :S&lt;br /&gt;
&amp;lt;ivd&amp;gt; serialmonkey: buglist is a bit harder, I'll try to think of some main issues and add those later.&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; no worries&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; ivd, yes, we both have a pre-n device which is rt61 based&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; and have different radio chips&lt;br /&gt;
&amp;lt;ivd&amp;gt; True, but I have never added support for it. Hopefully it can be added when rt2800 is done&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Hmm, hard to believe that rt61 is pre-n.&lt;br /&gt;
&amp;lt;ivd&amp;gt; There are some pre-n versions.&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Although, it might be possible with the right driver.&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; gwingerde, it actually is&lt;br /&gt;
&amp;lt;ivd&amp;gt; I got a MIMO card, the legacy driver is a big vague about it hence it was never really implemented. But hopefully with rt2800 I can fill in the missing pieces&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; gwingerde, i never got it working in the past as my device has a dud eeprom&lt;br /&gt;
&amp;lt;ivd&amp;gt; Check the rt61 legacy code, they do mention rates up to 108 Mbs&lt;br /&gt;
&amp;lt;bbatten&amp;gt; When Ralink says mimo, I'm not always sure whether they're talking diversity, or true mimo - shared data channels.&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; OK. I guess I've only seen rt2800 based pre-n devices.&lt;br /&gt;
&amp;lt;ivd&amp;gt; lfcorreia: dud eeproms are fixed in rt2x00 it autodetects that and fixes the values. Same as legacy driver&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; gwingerde, but now that I have a 11n AP, it may be possible to test it, as ivd says&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; ivd, yes but remember that it never detected the proper radio chip?&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; it always assumed the default was another&lt;br /&gt;
&amp;lt;ivd&amp;gt; lfcorreia: that belongs to the same fix. It now recovers and defaults to the RF chipset defined by Ralink.&lt;br /&gt;
&amp;lt;ivd&amp;gt; serialmonkey: Several items on the rt2x00 TODO list aren't hard for coding, but are purely investigation things.&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; ivd, in that case, i'm taking a note to try that one again in the near future&lt;br /&gt;
&amp;lt;ivd&amp;gt; serialmonkey: especially the WDS and Mesh modes, since all I need to know is what those modes do and what is required for support and what limitations there are (can they run concurrently with other interfaces)&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; requirements gathering basically&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; ok, assigned&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; ivd: when you go through your notes regarding bugs, do you want to just email them to me and I'll raise them in SF so we can track them ?&lt;br /&gt;
&amp;lt;ivd&amp;gt; Well the most important bugs are those raised in the kernel and fedora bugzilla. So they are already tracked. But some of them have pending fixes and are waiting for John to push patches upstream. I'll set some links to the bug reports.&lt;br /&gt;
&amp;lt;ivd&amp;gt; (regardless of the state)&lt;br /&gt;
* free-zombie is now known as tjol&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; No worries- we don't want to be tracking them in two places. Perhaps we should just try and keep a list of the links in the wiki for reference&lt;br /&gt;
&amp;lt;bbatten&amp;gt; Might be good to  provide forum members an area to post bugs to, though, and the Sourceforge project seems a good candidate for that.&lt;br /&gt;
&amp;lt;ivd&amp;gt; Well they are already free to do so,  so far all rt2x00 bugs in sf.net that have been raised were marked as invalid or fixed&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; so, are there any support/documentation tasks that need to be addressed ?&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; for example - I assume the whole wiki needs a review&lt;br /&gt;
&amp;lt;bbatten&amp;gt; Silence? Are we going to talk about the Ralink proposal?&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; Has gone abit silent yes. I was impressed with their response&lt;br /&gt;
&amp;lt;bbatten&amp;gt; Ivo, could you flesh out goals wrt. Ralink working directly with the rt2x00 project?&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; bbatten, talks have started&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; Ralink is assessing it atm&lt;br /&gt;
&amp;lt;ivd&amp;gt; Well what I asked from them is stopping with those Legacy drivers. They should focus directly on the in-kernel rt2x00 drivers expanding rt2x00lib and adding new drivers directly for rt2x00lib.&lt;br /&gt;
&amp;lt;ivd&amp;gt; When some protocol things are missing from mac80211 they should implement that&lt;br /&gt;
&amp;lt;bbatten&amp;gt; I mean our business goals. e.g. Do we want payment? Do we want their developers on the core team?&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; bbatten, that is a nasty subject, we've discussed it a while ago&lt;br /&gt;
&amp;lt;bbatten&amp;gt; Oh? And what did we say?&lt;br /&gt;
&amp;lt;ivd&amp;gt; Payment would be very nice. When they are interested in providing the in-kernel drivers directly and thus developing rt2x00lib then perhaps they can be added to the project, but I don't think it would come that far.&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; It just means we will work with them, kind of like Intel works with the wireless developers now&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; bbatten, the talk was done internally between me Mark and Ivo&lt;br /&gt;
&amp;lt;ivd&amp;gt; Well my position remains unchanged on the matter: as far as I am concerned Ralink can pay us for the support and work we have on this project.&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; serialmonkey, more like they work with us :)&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; and my position was that it's all too complicated and I didn't mind what you all did :-)&lt;br /&gt;
&amp;lt;bbatten&amp;gt; OK. But what do we envisage the nature of their contribution to be? -- and, could you provide a summary of the internal talks you refer to?&lt;br /&gt;
&amp;lt;ivd&amp;gt; lfcorreia: Some of it was internal, but that was mostly after contact was made with Ralink about how they felt about it.&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; I don't do that much work as such, and I personally don't want money from Ralink&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; the best think Ralink would do is provide more then just documentation and crappy drivers&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Same here. I would envisage Ralink just donating code to us and to the Linux wireless community.&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; gwingerde: agreed&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; because we don't have any docs from the radio chips (except for  the one that comes with rt2400)&lt;br /&gt;
&amp;lt;bbatten&amp;gt; That's basically what they do now, isn't it?&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; And yes it would be appreciated if they could give us more than just crappy documentation and crappy code.&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; bbatten: Nope, I would envisage them contributing actual code to the rt2x00 driver, not a crappy coded own driver.&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; there are a lot of issues from very simple things that if Ralink was present and active, would get proper responses and faster problem solving&lt;br /&gt;
&amp;lt;bbatten&amp;gt; Ah. Looks like item one is better documentation from them.&lt;br /&gt;
&amp;lt;bbatten&amp;gt; Looks like item two is direct involvement by Ralink staff in RT2x00 project code development.&lt;br /&gt;
&amp;lt;ivd&amp;gt; As far as I am concerned better drivers. rt2x00 drivers instead of ported windows drivers.&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; and also engineer support, stuff like 'application notes', that I normally see from other hardware &lt;br /&gt;
* tjol is now known as tjol0&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; which translates to, better docs, better code, better examples on how to sort stuff out&lt;br /&gt;
&amp;lt;bbatten&amp;gt; Does Ralink have that available to their customers, even? say under NDA?&lt;br /&gt;
* tjol0 is now known as freezombie&lt;br /&gt;
&amp;lt;ivd&amp;gt; I can live without the documentation, but I can't keep porting their drivers to rt2x00. That is simply taking too much time.&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; bbatten, i know that ralink does sell AP code (crap code) to some major software developers&lt;br /&gt;
* freezombie is now known as tjol&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; basically we are asking them to cut their losses, dump the support of the legacy drivers and dump developing any new 'legacy' style drivers - and instead take some stake in the rt2x00 driver&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; the dd-wrt guy got a contract that allowed him to access such code&lt;br /&gt;
&amp;lt;ivd&amp;gt; lfcorreia: But that is simply the legacy code with additional tweaks&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; I'm probably going to have to go offline in 10 minutes guys sorry.&lt;br /&gt;
&amp;lt;ivd&amp;gt; serialmonkey: ok&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; ivd, kind of, it's actually the AP code Asus leaked out some years ago, things havent' changed much&lt;br /&gt;
&amp;lt;ivd&amp;gt; lfcorreia: did ASUS leak the code? I thought they only released the closed source blob?&lt;br /&gt;
&amp;lt;bbatten&amp;gt; Basically, I think there needs to be some development of a proposal if Ralink responds further; specifics on what we envisage from them&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; ivd, the code was available in their website for months, but only for their rt2400 card&lt;br /&gt;
&amp;lt;ivd&amp;gt; In any case, rt2800 contains master mode support. And I am not impressed by it. Most of the new features in the rt2800 legacy driver have already been brought to all earlier rt2x00 drivers (virtual interfaces, master mode)&lt;br /&gt;
&amp;lt;ivd&amp;gt; bbatten: Well that is what I had written in the mail which I had BCC'ed to coredev.&lt;br /&gt;
&amp;lt;ivd&amp;gt; serialmonkey: All bugs from kernel.org and fedora are not listed on the todo wiki page&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; ivd, /s/not/now/g/ ??&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; I think us developing a 'proposal' and presenting it to Ralink asking them to comply is going to be way too official, and possibly scare them off. Open Source development is all about community, not proposals&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; ivd: thanks for that&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; serialmonkey, think of it as a co-op instead of a commitment to do stuff&lt;br /&gt;
&amp;lt;ivd&amp;gt; well you saw the mail, and they responded that they will investigate it. Next step will be up to them.&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; serialmonkey, phrase it in simple english terms as we don't want to have the language barrier to get in the way&lt;br /&gt;
&amp;lt;bbatten&amp;gt; The email is basically a general statement. We need specific bullet items to have in minde in case Ralink responds.&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; Exactly - and hopefully from that they will assign a person to lead their side of the ongoing work and we can 'suggest' to them the steps they should be taking (getting involved in the linux-wireless mailing lists, etc)&lt;br /&gt;
&amp;lt;bbatten&amp;gt; ... at least so *we* understand what we want.&lt;br /&gt;
&amp;lt;ivd&amp;gt; If I am not mistaken, some other guy with connections to Ralink will recommend them for sttarting to pay us, but I am not sure if he already send out that recommendation or not.&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; But what would that mean: &amp;quot;pay us&amp;quot;?&lt;br /&gt;
&amp;lt;ivd&amp;gt; bbatten: Well I am not sure what more you want to know, the list of end goals have been given to Ralink. When they are interested we can guide them towards that goal.&lt;br /&gt;
&amp;lt;ivd&amp;gt; gwingerde: That they should see if there is any form which they see fit to provide financial backing to this project.&lt;br /&gt;
&amp;lt;ivd&amp;gt; gwingerde: He is going to ask that Ralink comes up with an offer for further cooperation between Ralink and this project.&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; Ideally, if they want to follow Intel's example, they may even offer to take ownership (in a responsibility sense) for rt2x00 and that means there will be nothing left for us todo anyway&lt;br /&gt;
&amp;lt;ivd&amp;gt; but that will be finally up to Ralink&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; Then they will probably turn around and want to hire Ivo todo the actual work, lol&lt;br /&gt;
&amp;lt;bbatten&amp;gt; serial: Great, maybe they'll need our help&lt;br /&gt;
&amp;lt;ivd&amp;gt; serialmonkey: that will be the ideal situation, but we end up probably providing support and maintenance of the older drivers.&lt;br /&gt;
&amp;lt;ivd&amp;gt; Which is fine, as long as the dreaded &amp;quot;driver porting&amp;quot; is no longer needed.&lt;br /&gt;
&amp;lt;bbatten&amp;gt; Basicaly, if they pay the piper, they call the tune.&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; lets wait and see&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; Whatever happens, I would be more comfortable with them coming to arrangement with individuals rather than the &amp;quot;group&amp;quot;. &amp;quot;Group&amp;quot; payment introduces all sorts of other issues&lt;br /&gt;
&amp;lt;ivd&amp;gt; true&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Yep.&lt;br /&gt;
&amp;lt;bbatten&amp;gt; True&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; agree&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; OK, so I ask that everyone adds items to the Todo page now we have it&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; And, as I've mentioned before, I'm not in it to get paid. They will never be able to pay be equally as my current job does.&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; I also don't want money, new devices are fine, but that is how fa I would go&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; fa=far&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; lol, paid in hardware ;-)&lt;br /&gt;
&amp;lt;ivd&amp;gt; hehe&lt;br /&gt;
&amp;lt;bbatten&amp;gt; Although, if we want increased participation from Ralink, we need to understand that that is a cost to them, and think about how to motivate them to pay that cost.&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; serialmonkey, right, at least i can then send the devices to whoever needs them most, like I already did&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; It was good talking to you all again, it's been too long. Can someone post a log to the mailing list when your all done chatting ?&lt;br /&gt;
&amp;lt;ivd&amp;gt; Well their drivers would be in the kernel sooner, meaning that general usage of the driver occurs faster. They already agreed that rt2800 usage in Linux is slow because of the lack of in-kernel drivers.&lt;br /&gt;
&amp;lt;bbatten&amp;gt; What devices? Oh, and how's the test lab setup dong?&lt;br /&gt;
&amp;lt;ivd&amp;gt; serialmonkey: cya&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Guys, I need to sign off soon as well.&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; bbatten, like the rt73 device I sent you&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; bbatten: The server is online with all the hardware installed, I just haven't found a way to automate any tests&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; serialmonkey, bye&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; I'll add it to the todo&lt;br /&gt;
&amp;lt;serialmonkey&amp;gt; cyas&lt;br /&gt;
* serialmonkey has quit ()&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; gwingerde, nice talking to you again&lt;br /&gt;
&amp;lt;ivd&amp;gt; bbatten: Donated hardware is send around to various developers when requested.&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Just one final note from my side: from next week on I will be away for 4 weeks (combined business trip and holidays).&lt;br /&gt;
&amp;lt;ivd&amp;gt; bbatten: Usually when we have a lot of hardware a mail is send to coredev to see who wants it.&lt;br /&gt;
&amp;lt;ivd&amp;gt; gwingerde: Have fun on your semi-holiday then. ;)&lt;br /&gt;
&amp;lt;bbatten&amp;gt; gwingerde: Happy holidays!&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; gwingerde, have fun!&lt;br /&gt;
&amp;lt;ivd&amp;gt; Guys, my time is up as well.&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; ok, i'm also going to cut this one short&lt;br /&gt;
&amp;lt;ivd&amp;gt; Cya&lt;br /&gt;
&amp;lt;bbatten&amp;gt; OK. Looks like we're done. Are we?&lt;br /&gt;
&amp;lt;gwingerde&amp;gt; Ciao.&lt;br /&gt;
&amp;lt;ivd&amp;gt; Well with everyone leaving. ;)&lt;br /&gt;
&amp;lt;bbatten&amp;gt; bye&lt;br /&gt;
&amp;lt;lfcorreia&amp;gt; I'll post the developers log in the wiki, as i did in the past&lt;br /&gt;
* bbatten (n=chatzill@adsl-71-154-211-29.dsl.sndg02.sbcglobal.net) has left #rt2x00&lt;br /&gt;
&amp;lt;ivd&amp;gt; (Y)&lt;br /&gt;
* ivd has quit (&amp;quot;using sirc version 2.211+KSIRC/1.3.12&amp;quot;)&lt;br /&gt;
* gwingerde (n=gwingerd@ip565776e0.direct-adsl.nl) has left #rt2x00 (&amp;quot;Leaving&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Developer's meeting - October 7, 2007 ==&lt;br /&gt;
&lt;br /&gt;
We started off with a proposed agenda:&lt;br /&gt;
&lt;br /&gt;
 1) legacy support&lt;br /&gt;
 2) current issues with rt2x00:&lt;br /&gt;
 3) upcoming chipset support in rt2x00 (802.11n)&lt;br /&gt;
&lt;br /&gt;
Since no one objected to it we started off.&lt;br /&gt;
&lt;br /&gt;
After the meeting we agreed with this summary of discussed items:&lt;br /&gt;
&lt;br /&gt;
 1) legacy should be provided 'as-is' after rt2x00 has reached mainline kernel and at least one distro has released a version containing 2.6.24. in the meanwhile, we should keep it.&lt;br /&gt;
 2) mac80211 API is causing some breakage to our driver.&lt;br /&gt;
 3) 802.11n drivers: legacy driver should exist but not for end users. this means that the driver won't have any kind of development effort besides helping rt2x00.&lt;br /&gt;
&lt;br /&gt;
The meeting full log follows:&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
**** BEGIN LOGGING AT Sun Oct  7 10:23:31 2007&lt;br /&gt;
&lt;br /&gt;
Oct 07 10:23:44 *	lfcorreia is testing log recording for the session.&lt;br /&gt;
Oct 07 10:24:20 *	lfcorreia confirms, loggins works :P&lt;br /&gt;
Oct 07 10:40:01 *	lfcorreia has changed the topic to: rt2x00 - Hack-a-thon on rt2x00, comming up in a few minutes&lt;br /&gt;
Oct 07 10:53:02 &amp;lt;lfcorreia&amp;gt;	ivd: do you have any changes you need to make on the git repo? if no, then we could all sync to it ans have it ready&lt;br /&gt;
Oct 07 10:54:47 &amp;lt;ivd&amp;gt;	give me 2 minutes and I'll commit the software diversity code&lt;br /&gt;
Oct 07 10:55:04 &amp;lt;lfcorreia&amp;gt;	ok&lt;br /&gt;
Oct 07 11:00:00 *	AdamBaker (n=aab@userch028.dsl.pipex.com) has joined #rt2x00&lt;br /&gt;
Oct 07 11:00:37 &amp;lt;lfcorreia&amp;gt;	AdamBaker: welcome!&lt;br /&gt;
Oct 07 11:01:10 &amp;lt;ivd&amp;gt;	I have committed the software diversity to git/cvs&lt;br /&gt;
Oct 07 11:02:04 &amp;lt;ivd&amp;gt;	rt61 and rt73usb antenna setup is still a little/average/completely broken&lt;br /&gt;
Oct 07 11:02:45 &amp;lt;sum&amp;gt;	*G*&lt;br /&gt;
Oct 07 11:03:01 &amp;lt;sum&amp;gt;	is it correct, that i need to make &amp;quot;cg update&amp;quot; now?&lt;br /&gt;
Oct 07 11:03:06 &amp;lt;ivd&amp;gt;	But since the antenna setup code is still pending for a complete review, I hope that with the SW diversity code in, we at least have some progress on link quality/transfer speed&lt;br /&gt;
Oct 07 11:03:11 &amp;lt;sum&amp;gt;	(i have previously checked out &amp;quot;upstream&amp;quot;)&lt;br /&gt;
Oct 07 11:03:13 &amp;lt;ivd&amp;gt;	yup&lt;br /&gt;
Oct 07 11:03:23 &amp;lt;sum&amp;gt;	ok, thx&lt;br /&gt;
Oct 07 11:03:39 &amp;lt;AdamBaker&amp;gt;	Hi, I haven't got time to follow what's going on here all afternoon but I'll drop by as and when I can&lt;br /&gt;
Oct 07 11:04:17 &amp;lt;lfcorreia&amp;gt;	AdamBaker: no problem, we're still some time from the actual meeting start&lt;br /&gt;
Oct 07 11:05:11 &amp;lt;lfcorreia&amp;gt;	ivd: regarding antenna setup, there is something we can't forget, most of the PCI devices only have one true antenna, but it is very difficult to actually know which is which&lt;br /&gt;
Oct 07 11:06:11 &amp;lt;lfcorreia&amp;gt;	because miniPCI devices (and probably USB also) can have from one to three antennas, whereas an internal PCI card will have ony one (unless it's a MIMO...)&lt;br /&gt;
Oct 07 11:06:14 &amp;lt;ivd&amp;gt;	I think we can assume that when there is only 1 antenna, then the EEPROM will indicate the default antenna is A or B. Or in any case not DIVERSITY&lt;br /&gt;
Oct 07 11:07:17 &amp;lt;sum&amp;gt;	when is the meeting start?&lt;br /&gt;
Oct 07 11:07:21 &amp;lt;ivd&amp;gt;	And the eeprom also indicates the number of available antenna's, so perhaps we should do something with that as well. But like I said, the antenna code must be reviewed anyway.&lt;br /&gt;
Oct 07 11:07:39 &amp;lt;ivd&amp;gt;	I feel there are still too many differences between legacy and rt2x00&lt;br /&gt;
Oct 07 11:08:01 &amp;lt;ivd&amp;gt;	And each of those differences could be the case of poor sensitivity or low transfer speeds&lt;br /&gt;
Oct 07 11:08:52 &amp;lt;lfcorreia&amp;gt;	and unfortunately not all manufacturers care much about properly setting EEPROM parameters, so we're kinda stuck here&lt;br /&gt;
Oct 07 11:09:20 &amp;lt;ivd&amp;gt;	Well if that is the case, then the legacy driver wouldn't work either.&lt;br /&gt;
Oct 07 11:09:23 &amp;lt;lfcorreia&amp;gt;	sum: we'll wait some more minutes for Mark to show up&lt;br /&gt;
Oct 07 11:09:46 &amp;lt;ivd&amp;gt;	And since that is usually working we can assume rt2x00 is still doing something wrong/&lt;br /&gt;
Oct 07 11:09:55 &amp;lt;lfcorreia&amp;gt;	ivd: yes, unless it has all those magical values for when it finds the broken eeprom&lt;br /&gt;
Oct 07 11:10:21 &amp;lt;ivd&amp;gt;	yes but even then we use the defaults given by the legacy drivers&lt;br /&gt;
Oct 07 11:10:39 &amp;lt;lfcorreia&amp;gt;	yep, tricky indeed&lt;br /&gt;
Oct 07 11:11:23 &amp;lt;ivd&amp;gt;	so we must follow the legacy drivers quite strictly. Which is the reason I am so keen on requesting code and register initialization validation&lt;br /&gt;
Oct 07 11:11:28 &amp;lt;sum&amp;gt;	what about some kind of rescue-procedure... there won't be many places around where absolutley no wlan-packets are flying through the air...&lt;br /&gt;
Oct 07 11:11:35 *	lfcorreia has changed the topic to: rt2x00 developers meeting + hack-a-ton comming up in 15 minutes (give or take)&lt;br /&gt;
Oct 07 11:12:06 &amp;lt;ivd&amp;gt;	sum: What do you mean?&lt;br /&gt;
Oct 07 11:12:33 &amp;lt;sum&amp;gt;	well, if eeprom settings are broken, we could just do scan's with different antenna/diversity/etc. settings and check which one works best.&lt;br /&gt;
Oct 07 11:12:49 &amp;lt;sum&amp;gt;	this could done by some user-space tool, indeed&lt;br /&gt;
Oct 07 11:13:21 &amp;lt;ivd&amp;gt;	Well we currently grab the defaults from the legacy drivers. rt61 and rt73 grab the diversity as default. And that means it will switch between antennas to search for the best setup&lt;br /&gt;
Oct 07 11:13:35 &amp;lt;sum&amp;gt;	ah, ok&lt;br /&gt;
Oct 07 11:13:44 &amp;lt;sum&amp;gt;	so &amp;quot;diversity&amp;quot; is the switching?&lt;br /&gt;
Oct 07 11:14:34 &amp;lt;ivd&amp;gt;	yeah, there is software diversity and hardware diversity. With software diversity we keep track of the measured RSSI for a specific antenna. And when the RSSI is fluxing too much we switch to the other antenna&lt;br /&gt;
Oct 07 11:14:54 &amp;lt;sum&amp;gt;	ah, ok. i dind't get that correct, then&lt;br /&gt;
Oct 07 11:14:58 &amp;lt;lfcorreia&amp;gt;	the diversity theory states that due to the short wavelenght of wireless signals, we can switch to the other antenna and still receive the signal&lt;br /&gt;
Oct 07 11:15:14 &amp;lt;lfcorreia&amp;gt;	ans RSSI regulates this switching method&lt;br /&gt;
Oct 07 11:16:16 &amp;lt;sum&amp;gt;	brb&lt;br /&gt;
Oct 07 11:16:31 &amp;lt;AdamBaker&amp;gt;	The intention is to cope with receive nulls - if you get the antenna in the wrong position it will receive a weak signal from the wanted AP even if it gets a good signal from other APs&lt;br /&gt;
Oct 07 11:17:14 &amp;lt;AdamBaker&amp;gt;	Unfortunately it seems some manufacturers have used it to solve other problems like switching between internal and external antennas if the external antenna is fitted&lt;br /&gt;
Oct 07 11:18:58 &amp;lt;AdamBaker&amp;gt;	I don't think we yet know why there are both SW and HW diversity options and in some cases the latter doesn't work&lt;br /&gt;
Oct 07 11:19:07 &amp;lt;ivd&amp;gt;	true, but we shouldn't be bothered with that. Basically we need to do what the legacy driver is doing untill some nice userspace tool is created which can handle software diversity&lt;br /&gt;
Oct 07 11:20:56 &amp;lt;AdamBaker&amp;gt;	agreed I was just pointing out the reasons we need to implement everything legacy does&lt;br /&gt;
Oct 07 11:21:07 &amp;lt;ivd&amp;gt;	ok :)&lt;br /&gt;
Oct 07 11:24:17 *	saittam (n=saittam@pD956653A.dip.t-dialin.net) has joined #rt2x00&lt;br /&gt;
Oct 07 11:24:49 &amp;lt;lfcorreia&amp;gt;	saittam: Welcome!&lt;br /&gt;
Oct 07 11:24:58 &amp;lt;saittam&amp;gt;	hi all :-)&lt;br /&gt;
Oct 07 11:25:04 &amp;lt;Spy84464&amp;gt;	hi&lt;br /&gt;
Oct 07 11:27:23 &amp;lt;blathijs&amp;gt;	oeh, it's that hack-a-ton today :-)&lt;br /&gt;
Oct 07 11:27:49 &amp;lt;blathijs&amp;gt;	Too bad I have other things to do, but if this WLAN connection lasts far enough I might lurk around&lt;br /&gt;
Oct 07 11:29:20 &amp;lt;lfcorreia&amp;gt;	blathijs: hang around, you might see something funny comming up&lt;br /&gt;
Oct 07 11:31:47 &amp;lt;lfcorreia&amp;gt;	Gentleman, we're about to start our developers meeting&lt;br /&gt;
Oct 07 11:31:58 &amp;lt;lfcorreia&amp;gt;	here's the proposed agenda for today:&lt;br /&gt;
Oct 07 11:32:15 &amp;lt;lfcorreia&amp;gt;	Agenda&lt;br /&gt;
Oct 07 11:32:15 &amp;lt;lfcorreia&amp;gt;	 1) legacy support&lt;br /&gt;
Oct 07 11:32:15 &amp;lt;lfcorreia&amp;gt;	 2) current issues with rt2x00:&lt;br /&gt;
Oct 07 11:32:15 &amp;lt;lfcorreia&amp;gt;	 3) upcoming chipset support in rt2x00 (802.11n)&lt;br /&gt;
Oct 07 11:32:42 &amp;lt;lfcorreia&amp;gt;	anyone suggests other topics worth mentioning?&lt;br /&gt;
Oct 07 11:33:14 *	lfcorreia waits some time before proceeding&lt;br /&gt;
Oct 07 11:34:14 &amp;lt;ivd&amp;gt;	I guess not. :)&lt;br /&gt;
Oct 07 11:34:34 &amp;lt;lfcorreia&amp;gt;	ok then&lt;br /&gt;
Oct 07 11:35:06 *	lfcorreia has changed the topic to: rt2x00 developers meeting has started&lt;br /&gt;
Oct 07 11:35:22 &amp;lt;lfcorreia&amp;gt;	first topic, legacy support:&lt;br /&gt;
Oct 07 11:35:28 &amp;lt;lfcorreia&amp;gt;	 1) legacy support&lt;br /&gt;
Oct 07 11:35:28 &amp;lt;lfcorreia&amp;gt;	    there is way too much effort being placed on&lt;br /&gt;
Oct 07 11:35:28 &amp;lt;lfcorreia&amp;gt;			legacy drivers. rt2x00 needs our full attention&lt;br /&gt;
Oct 07 11:35:28 &amp;lt;lfcorreia&amp;gt;			and legacy should be only used to figure out the&lt;br /&gt;
Oct 07 11:35:28 &amp;lt;lfcorreia&amp;gt;			differences needed to make rt2x00 work&lt;br /&gt;
Oct 07 11:35:35 &amp;lt;lfcorreia&amp;gt;	.&lt;br /&gt;
Oct 07 11:36:24 &amp;lt;ivd&amp;gt;	well this has always been a hot topic.&lt;br /&gt;
Oct 07 11:36:54 &amp;lt;lfcorreia&amp;gt;	everyday I keep seeing lot's of topics from users asking for help on legacy (and even ralink's) code&lt;br /&gt;
Oct 07 11:37:07 &amp;lt;Spy84464&amp;gt;	Agreed, but legacy are also needed for people running 2.4 and early 2.6&lt;br /&gt;
Oct 07 11:37:20 &amp;lt;saittam&amp;gt;	also rt2x00 doesn't work for some people&lt;br /&gt;
Oct 07 11:37:34 &amp;lt;Spy84464&amp;gt;	for the time being only ;)&lt;br /&gt;
Oct 07 11:37:34 &amp;lt;lfcorreia&amp;gt;	and, even now as I keep seeing more and more rt2x00 related ones, that is not enough&lt;br /&gt;
Oct 07 11:37:39 &amp;lt;saittam&amp;gt;	those who cannot or don't want to compile a git kernel.&lt;br /&gt;
Oct 07 11:37:53 &amp;lt;ivd&amp;gt;	True, but with legacy drivers as comparison material we can improve rt2x00 to get rt2x00 working correctly&lt;br /&gt;
Oct 07 11:38:08 &amp;lt;lfcorreia&amp;gt;	well, Ivo tries to get CVS code compilable on older kernels&lt;br /&gt;
Oct 07 11:38:24 &amp;lt;ivd&amp;gt;	rt2x00 is scheduled for 2.6.24 that means that if rt2x00 is stable by then, then people don t have to use git&lt;br /&gt;
Oct 07 11:38:35 &amp;lt;sum&amp;gt;	re&lt;br /&gt;
Oct 07 11:38:36 &amp;lt;ivd&amp;gt;	lfcorreia: No I don't&lt;br /&gt;
Oct 07 11:38:44 &amp;lt;lfcorreia&amp;gt;	I can't and won't help a guy that uses a *ubunto live cd&lt;br /&gt;
Oct 07 11:38:44 &amp;lt;Spy84464&amp;gt;	yes, and distribution have already started to ship it&lt;br /&gt;
Oct 07 11:39:00 &amp;lt;Spy84464&amp;gt;	fedora and ubuntu I think&lt;br /&gt;
Oct 07 11:39:09 &amp;lt;ivd&amp;gt;	Fedora, Ubuntu, SuSE&lt;br /&gt;
Oct 07 11:39:14 &amp;lt;saittam&amp;gt;	and suse. remember that guy on the ml?&lt;br /&gt;
Oct 07 11:39:15 &amp;lt;lfcorreia&amp;gt;	ivd: i know, but CVS code is being somewhat maintained&lt;br /&gt;
Oct 07 11:39:18 &amp;lt;ivd&amp;gt;	Fedora seems to be most up to date&lt;br /&gt;
Oct 07 11:39:45 &amp;lt;ivd&amp;gt;	lfcorria: rt2x00 CVS is the exact copy of rt2x00.git&lt;br /&gt;
Oct 07 11:39:56 &amp;lt;lfcorreia&amp;gt;	yes, fedora has one of the most up-to-date versions of our rt2x00 code&lt;br /&gt;
Oct 07 11:40:01 &amp;lt;ivd&amp;gt;	lfcorreia: I have a script that copies and commits&lt;br /&gt;
Oct 07 11:40:07 &amp;lt;ivd&amp;gt;	from git to cvs&lt;br /&gt;
Oct 07 11:40:24 &amp;lt;lfcorreia&amp;gt;	ivd: oh, then it was me who was making the wrong assumptions&lt;br /&gt;
Oct 07 11:40:26 &amp;lt;saittam&amp;gt;	well, who's actually spending much time on legacy? I only check it when rt2x00 is broken...&lt;br /&gt;
Oct 07 11:40:42 &amp;lt;lfcorreia&amp;gt;	all: could we focus on trying to push our users to git?&lt;br /&gt;
Oct 07 11:40:59 &amp;lt;ivd&amp;gt;	Bryan &amp;amp; Ibrahim are doing legacy&lt;br /&gt;
Oct 07 11:41:01 &amp;lt;sum&amp;gt;	when will 2.6.24 be released?&lt;br /&gt;
Oct 07 11:41:10 &amp;lt;ivd&amp;gt;	Robin &amp;amp; GertJan are looking at both&lt;br /&gt;
Oct 07 11:41:14 &amp;lt;ivd&amp;gt;	sum: In a few months&lt;br /&gt;
Oct 07 11:41:31 &amp;lt;saittam&amp;gt;	I don't think we can push users to git. Sometimes it's fine, sometimes it's plain broken.&lt;br /&gt;
Oct 07 11:41:32 &amp;lt;ivd&amp;gt;	2.6.23 has just been released and the merge window for 2.6.24 will close in a week or 2&lt;br /&gt;
Oct 07 11:41:42 &amp;lt;saittam&amp;gt;	so you'd have to provide something more stable and known to work.&lt;br /&gt;
Oct 07 11:41:49 &amp;lt;saittam&amp;gt;	maybe a stable branch?&lt;br /&gt;
Oct 07 11:42:12 &amp;lt;ivd&amp;gt;	Well the stable branch should be in the wireless-2.6 tree.&lt;br /&gt;
Oct 07 11:42:18 &amp;lt;lfcorreia&amp;gt;	saittam: John has pushed rt2x00 to 2.6.24 as it is currently&lt;br /&gt;
Oct 07 11:42:37 &amp;lt;ivd&amp;gt;	I try to push patches to that reposity when most people are satisfied.&lt;br /&gt;
Oct 07 11:42:46 &amp;lt;lfcorreia&amp;gt;	and he says it's best to push it up then to have it wait indefinetely somewhere off mainline&lt;br /&gt;
Oct 07 11:42:52 &amp;lt;sum&amp;gt;	hm. what if we ship a package of ieee80211 and mac80211 modules together with rt2x00, so that could compile on older kernels?&lt;br /&gt;
Oct 07 11:42:56 &amp;lt;ivd&amp;gt;	Sometimes however reports about breakage come after the push to wireless-2.6&lt;br /&gt;
Oct 07 11:43:14 &amp;lt;saittam&amp;gt;	that's because we're busy with all sorts of other stuff :-)&lt;br /&gt;
Oct 07 11:43:25 &amp;lt;lfcorreia&amp;gt;	sum: what do you mean about ieee80211?&lt;br /&gt;
Oct 07 11:43:31 &amp;lt;sum&amp;gt;	ivd: sorry for that, but it worked with the rt2x00-tree&lt;br /&gt;
Oct 07 11:43:39 &amp;lt;ivd&amp;gt;	sum: That has been discussed on the ML, if you are volunteering to that job, that that is fine.&lt;br /&gt;
Oct 07 11:44:01 &amp;lt;sum&amp;gt;	lfcorreia: well, if the only reason, rt2x00 can't build on 2.6.22 is that the other 80211-modules changed, we could package them up as wll...&lt;br /&gt;
Oct 07 11:44:08 &amp;lt;ivd&amp;gt;	sum: But basically keeping rt2x00 to compile on olders kernels, is too much work for me, and it slows rt2x00 progress&lt;br /&gt;
Oct 07 11:44:44 &amp;lt;sum&amp;gt;	make a package that contains rt2x00 and all needed 80211-modules inthe correct version...&lt;br /&gt;
Oct 07 11:45:03 &amp;lt;lfcorreia&amp;gt;	sum: intel was making some backport on the mac80211 API to make it compilable on older kernels, but i'm not sure wheteer that is useable anymore&lt;br /&gt;
Oct 07 11:45:08 &amp;lt;Spy84464&amp;gt;	sum: that was the situation a little while ago&lt;br /&gt;
Oct 07 11:45:13 &amp;lt;ivd&amp;gt;	sum: You mean creating a rt2x00 package for each kernel? Then how do you want to apply bugfixes/&lt;br /&gt;
Oct 07 11:45:32 &amp;lt;sum&amp;gt;	well,, maybe i just get the problem wrong...&lt;br /&gt;
Oct 07 11:45:34 &amp;lt;saittam&amp;gt;	sounds like a full-time job ;-)&lt;br /&gt;
Oct 07 11:45:49 &amp;lt;ivd&amp;gt;	exactly, that was the reason why that idea was dropped.&lt;br /&gt;
Oct 07 11:46:09 &amp;lt;ivd&amp;gt;	It isn't the best solution, I agree, but with the availble resources it is the best solution I think&lt;br /&gt;
Oct 07 11:46:11 &amp;lt;sum&amp;gt;	so the problem is 80211-related and not rt2x00 specific?&lt;br /&gt;
Oct 07 11:46:21 &amp;lt;lfcorreia&amp;gt;	sum: exactly&lt;br /&gt;
Oct 07 11:46:26 &amp;lt;saittam&amp;gt;	it's just that everything involved moves too fast...&lt;br /&gt;
Oct 07 11:46:34 &amp;lt;ivd&amp;gt;	rt2x00 depends on mac80211 and the mac80211 API changes. Which means that rt2x00 needs to follow those changes.&lt;br /&gt;
Oct 07 11:46:56 &amp;lt;ivd&amp;gt;	I gtg for 20 minutes. l'b be back later&lt;br /&gt;
Oct 07 11:47:20 &amp;lt;sum&amp;gt;	ivd: what about putting a working version of both (mac80211 and rt2x00) into one single tar.gz and give that one to people. so we shouldn't have too much to do with it but at least there is something...&lt;br /&gt;
Oct 07 11:48:05 &amp;lt;Spy84464&amp;gt;	it may not be possible, mac80211 may depend on stuff from the rest of the kernel&lt;br /&gt;
Oct 07 11:48:12 &amp;lt;Spy84464&amp;gt;	like encryption modules&lt;br /&gt;
Oct 07 11:48:22 &amp;lt;Spy84464&amp;gt;	and their API may change as well&lt;br /&gt;
Oct 07 11:48:26 &amp;lt;lfcorreia&amp;gt;	sum: things are not that simple&lt;br /&gt;
Oct 07 11:48:27 &amp;lt;sum&amp;gt;	ah ...&lt;br /&gt;
Oct 07 11:48:34 &amp;lt;sum&amp;gt;	ok, sorry for that ;-)&lt;br /&gt;
Oct 07 11:48:39 &amp;lt;lfcorreia&amp;gt;	sum: no problem&lt;br /&gt;
Oct 07 11:49:03 &amp;lt;saittam&amp;gt;	seems we agree again that we won't do it :-)&lt;br /&gt;
Oct 07 11:49:07 &amp;lt;lfcorreia&amp;gt;	it is just that most people don't actually realize the effort being put on a 'simple' wlan drvier&lt;br /&gt;
Oct 07 11:49:15 &amp;lt;sum&amp;gt;	saittam: i do, indeed.&lt;br /&gt;
Oct 07 11:49:18 &amp;lt;lfcorreia&amp;gt;	saittam: right on!&lt;br /&gt;
Oct 07 11:49:53 &amp;lt;lfcorreia&amp;gt;	all: do we have more volunteers to shift focus towards rt2x00?&lt;br /&gt;
Oct 07 11:50:21 &amp;lt;saittam&amp;gt;	I've only ever done rt2x00 work, so I cannot shift ;-)&lt;br /&gt;
Oct 07 11:50:30 &amp;lt;sum&amp;gt;	same here ;)&lt;br /&gt;
Oct 07 11:50:35 &amp;lt;Spy84464&amp;gt;	do you mean dropping legacies?&lt;br /&gt;
Oct 07 11:50:49 &amp;lt;lfcorreia&amp;gt;	all: or at least use legacy only for comparison features&lt;br /&gt;
Oct 07 11:51:16 &amp;lt;Spy84464&amp;gt;	lfcorreia: so providing them &amp;quot;as it&amp;quot;?&lt;br /&gt;
Oct 07 11:51:19 &amp;lt;saittam&amp;gt;	I think the point here is whether someone does compilation fixes for newer kernels or not?&lt;br /&gt;
Oct 07 11:51:20 &amp;lt;lfcorreia&amp;gt;	Spy84464: well, it would be a GoodThing(TM) to do, but I won't actually do it&lt;br /&gt;
Oct 07 11:51:36 &amp;lt;lfcorreia&amp;gt;	saittam: it's actually the opposite&lt;br /&gt;
Oct 07 11:51:49 &amp;lt;lfcorreia&amp;gt;	saittam: making the rt2x00 following older ones :)&lt;br /&gt;
Oct 07 11:52:27 &amp;lt;lfcorreia&amp;gt;	legacy drivers should never have got so far as they did&lt;br /&gt;
Oct 07 11:52:32 &amp;lt;sum&amp;gt;	do i get this right: there is a hole between 2.6.22.something and 2.6.24 where neither the legacy nor the rt2x00 driver work?&lt;br /&gt;
Oct 07 11:52:39 &amp;lt;Spy84464&amp;gt;	no&lt;br /&gt;
Oct 07 11:52:51 &amp;lt;Spy84464&amp;gt;	legacy work everywhere&lt;br /&gt;
Oct 07 11:52:55 &amp;lt;Spy84464&amp;gt;	as far as I know&lt;br /&gt;
Oct 07 11:53:17 &amp;lt;sum&amp;gt;	so, then i would suggest telling people that legacy only works until 24 and after that the must use rt2x00 ;-)&lt;br /&gt;
Oct 07 11:53:23 &amp;lt;lfcorreia&amp;gt;	we've lost now about a year and a half focusing work on legacy whereas we should have been looking up to rt2x00&lt;br /&gt;
Oct 07 11:53:34 &amp;lt;saittam&amp;gt;	I remember trying rt73 on ppc. It was plain broken.&lt;br /&gt;
Oct 07 11:53:34 &amp;lt;lfcorreia&amp;gt;	sum: that is the intended idea&lt;br /&gt;
Oct 07 11:54:09 &amp;lt;lfcorreia&amp;gt;	saittam: yes, because noone tested it :) i don't and won'0t have a ppc so I can't help&lt;br /&gt;
Oct 07 11:54:10 *	sum votes for &amp;quot;the idea&amp;quot;.&lt;br /&gt;
Oct 07 11:55:26 &amp;lt;lfcorreia&amp;gt;	we (the main developers) have internally talked about the whole legacy drop after the rt2x00 driver has entered the mainline kernel&lt;br /&gt;
Oct 07 11:55:45 &amp;lt;lfcorreia&amp;gt;	it make absolutely no sense in keeping up effort on 'old stuff'&lt;br /&gt;
Oct 07 11:56:27 &amp;lt;Spy84464&amp;gt;	yes, but we should keep them for a little while anyway&lt;br /&gt;
Oct 07 11:56:52 &amp;lt;Spy84464&amp;gt;	at least until major distributions adopt the 2.6.24 kernel&lt;br /&gt;
Oct 07 11:57:05 &amp;lt;lfcorreia&amp;gt;	sure&lt;br /&gt;
Oct 07 11:57:19 &amp;lt;lfcorreia&amp;gt;	i know that doing a git kernel is not easy&lt;br /&gt;
Oct 07 11:57:25 &amp;lt;sum&amp;gt;	how long do you thing will the api still be in changing?&lt;br /&gt;
Oct 07 11:57:32 &amp;lt;saittam&amp;gt;	sum: ever!&lt;br /&gt;
Oct 07 11:58:25 &amp;lt;lfcorreia&amp;gt;	but honestly, if people still come to the forum and ask dumb questions without even using the search buttons.... i don't know what to say&lt;br /&gt;
Oct 07 11:58:37 &amp;lt;lfcorreia&amp;gt;	the kernel API will change a bit longer&lt;br /&gt;
Oct 07 11:58:49 *	serialmonkey (n=serialmo@ppp121-44-67-215.lns10.syd6.internode.on.net) has joined #rt2x00&lt;br /&gt;
Oct 07 11:58:49 *	ChanServ gives channel operator status to serialmonkey&lt;br /&gt;
Oct 07 11:58:57 &amp;lt;lfcorreia&amp;gt;	remember that the ad-hoc and master modes are still largely undefined&lt;br /&gt;
Oct 07 11:59:04 &amp;lt;lfcorreia&amp;gt;	serialmonkey: Welcome Mark!&lt;br /&gt;
Oct 07 11:59:40 &amp;lt;lfcorreia&amp;gt;	serialmonkey: we've already started, I can provide you with a log of previous conversation, if you're interested&lt;br /&gt;
Oct 07 12:00:01 &amp;lt;serialmonkey&amp;gt;	lfcorrei: already started ? I must have mixed up the time zones again - thought we had another hour.&lt;br /&gt;
Oct 07 12:00:10 &amp;lt;saittam&amp;gt;	na, we're early :-)&lt;br /&gt;
Oct 07 12:00:17 &amp;lt;serialmonkey&amp;gt;	Phew :-)&lt;br /&gt;
Oct 07 12:00:23 &amp;lt;lfcorreia&amp;gt;	serialmonkey: no, we just started half an hour earlier&lt;br /&gt;
Oct 07 12:00:29 &amp;lt;lfcorreia&amp;gt;	serialmonkey: don't worry mate&lt;br /&gt;
Oct 07 12:00:56 *	Offering FreeNode (formerly OpenProjects.net)-#rt2x00.log to serialmonkey&lt;br /&gt;
Oct 07 12:01:54 &amp;lt;lfcorreia&amp;gt;	serialmonkey: topic is:  1) legacy support&lt;br /&gt;
Oct 07 12:01:54 &amp;lt;lfcorreia&amp;gt;	    there is way too much effort being placed on&lt;br /&gt;
Oct 07 12:01:54 &amp;lt;lfcorreia&amp;gt;			legacy drivers. rt2x00 needs our full attention&lt;br /&gt;
Oct 07 12:01:54 &amp;lt;lfcorreia&amp;gt;			and legacy should be only used to figure out the&lt;br /&gt;
Oct 07 12:01:54 &amp;lt;lfcorreia&amp;gt;			differences needed to make rt2x00 work&lt;br /&gt;
Oct 07 12:03:07 *	DCC SEND FreeNode (formerly OpenProjects.net)-#rt2x00.log to serialmonkey aborted.&lt;br /&gt;
Oct 07 12:03:21 *	Offering FreeNode (formerly OpenProjects.net)-#rt2x00.log to serialmonkey&lt;br /&gt;
Oct 07 12:05:07 &amp;lt;lfcorreia&amp;gt;	all: let Mark read on the previous chat session and we'll resume shorttly&lt;br /&gt;
Oct 07 12:05:17 &amp;lt;lfcorreia&amp;gt;	all: that means 'take five :)'&lt;br /&gt;
Oct 07 12:06:03 &amp;lt;sum&amp;gt;	can someone just tell me how to list all git-submits that modify files in a certain directory?&lt;br /&gt;
Oct 07 12:06:22 *	DCC SEND FreeNode (formerly OpenProjects.net)-#rt2x00.log to serialmonkey timed out - aborting.&lt;br /&gt;
Oct 07 12:07:12 &amp;lt;lfcorreia&amp;gt;	sum: maybe going into that directory and do a 'git log', who knows :)&lt;br /&gt;
Oct 07 12:07:25 &amp;lt;sum&amp;gt;	ah, thanks :)&lt;br /&gt;
Oct 07 12:07:36 &amp;lt;saittam&amp;gt;	yeah, you can also do git log &amp;lt;path&amp;gt;&lt;br /&gt;
Oct 07 12:07:54 &amp;lt;lfcorreia&amp;gt;	or you can go to the gitweb interface and look at it remotely&lt;br /&gt;
Oct 07 12:08:38 *	lfcorreia will be back in five minutes, now behave :)&lt;br /&gt;
Oct 07 12:09:09 &amp;lt;sum&amp;gt;	yeah, actually you need the path, else the whole git will be logged...&lt;br /&gt;
Oct 07 12:17:39 &amp;lt;sum&amp;gt;	when i do &amp;quot;git revert SHA-ID_of_some_commit&amp;quot;, will only that commit be reverted or anything else later, too?&lt;br /&gt;
Oct 07 12:18:21 &amp;lt;saittam&amp;gt;	sum: anything.&lt;br /&gt;
Oct 07 12:18:22 *	serialmonkey has quit ()&lt;br /&gt;
Oct 07 12:19:36 *	serialmonkey (n=serialmo@ppp121-44-67-215.lns10.syd6.internode.on.net) has joined #rt2x00&lt;br /&gt;
Oct 07 12:19:36 *	ChanServ gives channel operator status to serialmonkey&lt;br /&gt;
Oct 07 12:23:22 *	lfcorreia is back&lt;br /&gt;
Oct 07 12:23:43 &amp;lt;lfcorreia&amp;gt;	ok, we're going to proceed with this meeting&lt;br /&gt;
Oct 07 12:24:01 &amp;lt;sum&amp;gt;	saittam: sure? this is the result: http://rafb.net/p/rDbo3l24.html&lt;br /&gt;
Oct 07 12:24:35 &amp;lt;lfcorreia&amp;gt;	we really need your help in 'fighting' legacy :)&lt;br /&gt;
Oct 07 12:24:49 &amp;lt;lfcorreia&amp;gt;	ok, updated agenda:&lt;br /&gt;
Oct 07 12:24:59 &amp;lt;lfcorreia&amp;gt;	Agenda&lt;br /&gt;
Oct 07 12:24:59 &amp;lt;lfcorreia&amp;gt;	*1) legacy support&lt;br /&gt;
Oct 07 12:24:59 &amp;lt;lfcorreia&amp;gt;	 2) current issues with rt2x00:&lt;br /&gt;
Oct 07 12:24:59 &amp;lt;lfcorreia&amp;gt;	 3) upcoming chipset support in rt2x00 (802.11n)&lt;br /&gt;
Oct 07 12:25:07 &amp;lt;lfcorreia&amp;gt;	on to topic 2)&lt;br /&gt;
Oct 07 12:25:16 &amp;lt;lfcorreia&amp;gt;	 2) current issues with rt2x00:&lt;br /&gt;
Oct 07 12:25:16 &amp;lt;lfcorreia&amp;gt;	    suspend-resume,&lt;br /&gt;
Oct 07 12:25:16 &amp;lt;lfcorreia&amp;gt;			ad-hoc is broken,&lt;br /&gt;
Oct 07 12:25:16 &amp;lt;lfcorreia&amp;gt;			quick disassociations&lt;br /&gt;
Oct 07 12:25:16 &amp;lt;lfcorreia&amp;gt;			scanning inconsistancy&lt;br /&gt;
Oct 07 12:25:17 &amp;lt;lfcorreia&amp;gt;			rt73 broken&lt;br /&gt;
Oct 07 12:25:41 &amp;lt;sum&amp;gt;	let's start from the end of the list ;-)&lt;br /&gt;
Oct 07 12:26:20 &amp;lt;lfcorreia&amp;gt;	i've been testing the latest code from git, after having compiled it on my devel machine&lt;br /&gt;
Oct 07 12:26:37 &amp;lt;lfcorreia&amp;gt;	none of my 3 usb dongles are working, two rt73 and one rt2500usb&lt;br /&gt;
Oct 07 12:26:49 &amp;lt;sum&amp;gt;	rt73usb isn't working here, too.&lt;br /&gt;
Oct 07 12:26:56 &amp;lt;lfcorreia&amp;gt;	they just can't get any scanning results&lt;br /&gt;
Oct 07 12:28:13 &amp;lt;serialmonkey&amp;gt;	Ivo: I take it 'issue list #6' is the most recent ?&lt;br /&gt;
Oct 07 12:28:30 &amp;lt;sum&amp;gt;	hm. i didn't test scan. but assiciation works but traffic isn't possible: only outgoing frames are ok, incoming frames are broken (i have written that on the ML...) Now i have reverted &amp;quot;[PATCH] mac80211: use RX_FLAG_DECRYPTED for sw decrypted as well&amp;quot; and reception is ok again...&lt;br /&gt;
Oct 07 12:28:45 &amp;lt;lfcorreia&amp;gt;	serialmonkey: no, it's #7&lt;br /&gt;
Oct 07 12:29:03 &amp;lt;serialmonkey&amp;gt;	lfcorreia: ah yes, I see it now. Thanks.&lt;br /&gt;
Oct 07 12:30:14 &amp;lt;ivd&amp;gt;	I'm back&lt;br /&gt;
Oct 07 12:30:25 &amp;lt;ivd&amp;gt;	serialmonkey: #7 is indeed the latest&lt;br /&gt;
Oct 07 12:30:44 &amp;lt;lfcorreia&amp;gt;	sum: that was the patch that Johannes made, right?&lt;br /&gt;
Oct 07 12:31:10 &amp;lt;lfcorreia&amp;gt;	ivd: we've jumped to topic 2) on the agenda&lt;br /&gt;
Oct 07 12:31:18 &amp;lt;ivd&amp;gt;	ok :)&lt;br /&gt;
Oct 07 12:33:01 &amp;lt;lfcorreia&amp;gt;	Agenda summary of already discussed items:&lt;br /&gt;
Oct 07 12:33:01 &amp;lt;lfcorreia&amp;gt;	legacy should be provided 'as-is' after rt2x00 has reached mainline kernel and at least one distro has released a version containing 2.6.24. in the meanwhile, we should keep it.&lt;br /&gt;
Oct 07 12:33:03 &amp;lt;sum&amp;gt;	lfcorreia: lfcorreia i think so.&lt;br /&gt;
Oct 07 12:33:36 &amp;lt;serialmonkey&amp;gt;	ok&lt;br /&gt;
Oct 07 12:34:07 &amp;lt;ivd&amp;gt;	sounds good&lt;br /&gt;
Oct 07 12:34:20 &amp;lt;saittam&amp;gt;	cool.&lt;br /&gt;
Oct 07 12:37:26 &amp;lt;AdamBaker&amp;gt;	Is there any need to wait for a distro to adopt 2.6.24, if distro's are using older kernels then the existing legacy should work&lt;br /&gt;
Oct 07 12:37:34 &amp;lt;sum&amp;gt;	really looks like this patch breaks receiving...&lt;br /&gt;
Oct 07 12:38:04 &amp;lt;lfcorreia&amp;gt;	AdamBaker: this 'wait' is merely a suggestion, not a true requirement&lt;br /&gt;
Oct 07 12:39:20 &amp;lt;lfcorreia&amp;gt;	AdamBaker: it's more of an 'excuse' to finally drop legacy for the 2.6 kernel series (we know it still works for 2.4)&lt;br /&gt;
Oct 07 12:40:03 &amp;lt;AdamBaker&amp;gt;	Ultimately it is up to whoever wants to work on it - I abandoned legacy a long time ago when I realised I was never going to get it working on big endian ARM&lt;br /&gt;
Oct 07 12:40:19 &amp;lt;AdamBaker&amp;gt;	I think rt2x00 hitting mainline is the best excuse though&lt;br /&gt;
Oct 07 12:40:34 &amp;lt;serialmonkey&amp;gt;	Most definitely&lt;br /&gt;
Oct 07 12:40:53 &amp;lt;saittam&amp;gt;	sum: Yeah, it's that patch. Problem is in net/mac80211/wpa.c. It checks for the FLAG and thinks it's already been decrypted, so it doesn't decrypt.&lt;br /&gt;
Oct 07 12:41:01 &amp;lt;serialmonkey&amp;gt;	Talking about what we are going todo with legacy is all abit pointless until we are in a position to actually call rt2x00 stable.&lt;br /&gt;
Oct 07 12:41:26 &amp;lt;sum&amp;gt;	saittam: so its not rt2x00 related :)&lt;br /&gt;
Oct 07 12:43:10 &amp;lt;lfcorreia&amp;gt;	saittam: did you find out the reason for that patch?&lt;br /&gt;
Oct 07 12:43:38 &amp;lt;saittam&amp;gt;	lfcorreia: no idea ;)&lt;br /&gt;
Oct 07 12:44:25 &amp;lt;saittam&amp;gt;	we can just roll a patch that sets the flag after calling the decryption algos in ieee80211_rx_h_decrypt.&lt;br /&gt;
Oct 07 12:44:51 &amp;lt;saittam&amp;gt;	that'll keep the old patch and get it working with minimal changes. Johannes will speak up if he doesn't like it.&lt;br /&gt;
Oct 07 12:44:57 &amp;lt;lfcorreia&amp;gt;	saittam: if you provide a patch against most current ivd git tree, I can test it right away&lt;br /&gt;
Oct 07 12:45:07 &amp;lt;saittam&amp;gt;	will do, just a sec.&lt;br /&gt;
Oct 07 12:47:27 &amp;lt;sum&amp;gt;	but packages of &amp;quot;special&amp;quot; lengths are still not transmitted from rt73...&lt;br /&gt;
Oct 07 12:47:37 &amp;lt;sum&amp;gt;	could this also be encryption-related?&lt;br /&gt;
Oct 07 12:47:58 &amp;lt;saittam&amp;gt;	note that unencrypted frames shouldn't be affected. has anyone tested this?&lt;br /&gt;
Oct 07 12:47:59 &amp;lt;AdamBaker&amp;gt;	I think it is bitrate related&lt;br /&gt;
Oct 07 12:48:12 &amp;lt;AdamBaker&amp;gt;	(the special lengths)&lt;br /&gt;
Oct 07 12:48:46 &amp;lt;AdamBaker&amp;gt;	Once I hacked 11g to work again the special lengths problem went away&lt;br /&gt;
Oct 07 12:49:14 &amp;lt;sum&amp;gt;	AdamBaker: true, only 11m doesn't work, 2 and 5.5 works here with ping -s 68...&lt;br /&gt;
Oct 07 12:50:00 &amp;lt;sum&amp;gt;	btw, are there any docs about the chip and firmware?&lt;br /&gt;
Oct 07 12:50:35 &amp;lt;ivd&amp;gt;	sum: Yes. But they are restricted to only members of the rt2x00 team.&lt;br /&gt;
Oct 07 12:51:01 &amp;lt;ivd&amp;gt;	sum: But fear not, they are hardly usefull, the legacy driver provide far more information and more accurate information then the specsheets&lt;br /&gt;
Oct 07 12:51:22 &amp;lt;saittam&amp;gt;	ok, patch is at http://rafb.net/p/2tnAK319.html&lt;br /&gt;
Oct 07 12:51:29 &amp;lt;saittam&amp;gt;	only compile-tested though.&lt;br /&gt;
Oct 07 12:51:39 &amp;lt;lfcorreia&amp;gt;	sum: and there is no information about the firmware internals&lt;br /&gt;
Oct 07 12:51:39 &amp;lt;AdamBaker&amp;gt;	just confirmed that disabling WEP makes RT73 work again for me&lt;br /&gt;
Oct 07 12:52:20 &amp;lt;saittam&amp;gt;	There is another lenght-padding related thing I'd like to bring up:&lt;br /&gt;
Oct 07 12:52:44 &amp;lt;saittam&amp;gt;	If we post the skb buffer in the urb and increase length (up to 7 bytes in the rt73 case).&lt;br /&gt;
Oct 07 12:53:08 &amp;lt;ivd&amp;gt;	saittam: Should the flag RX_FLAG_DECRYPTED be set unconditionally or depending on the status of the decryption?&lt;br /&gt;
Oct 07 12:53:09 &amp;lt;saittam&amp;gt;	How do we guard against the problem that the buffer is actually shorter?&lt;br /&gt;
Oct 07 12:53:50 &amp;lt;saittam&amp;gt;	ivd: if decryption isn't successful, the frame is dropped immediately.&lt;br /&gt;
Oct 07 12:54:11 &amp;lt;saittam&amp;gt;	ivd: note that result is initialized as TXRX_DROP.&lt;br /&gt;
Oct 07 12:54:28 &amp;lt;ivd&amp;gt;	saittam: The skb buffer might indeed be shorter, but the USB layer will copy that to the allocated DMA. If the length is longer then skb-&amp;gt;len it will probably copy some random bytes as well.&lt;br /&gt;
Oct 07 12:54:43 *	lfcorreia announces the Metting log wiki page: http://rt2x00.serialmonkey.com/wiki/index.php?title=Meetings&lt;br /&gt;
Oct 07 12:54:44 &amp;lt;ivd&amp;gt;	saittam: Ok&lt;br /&gt;
Oct 07 12:54:53 &amp;lt;saittam&amp;gt;	so does the device care about these bytes?&lt;br /&gt;
Oct 07 12:55:14 &amp;lt;saittam&amp;gt;	ivd: I mean we should make sure they are valid and zero them out if we want to be on the safe side.&lt;br /&gt;
Oct 07 12:56:24 &amp;lt;ivd&amp;gt;	saittam: I understand, but legacy drivers doesn't seem to do that either. Neither should it be important because the device knows the correct length because of the header. This means it will probably just ignore the random bytes&lt;br /&gt;
Oct 07 12:57:42 &amp;lt;saittam&amp;gt;	ivd: ah, ok.&lt;br /&gt;
Oct 07 12:58:09 &amp;lt;saittam&amp;gt;	ivd: what about the possibly invalid memory references the usb layer reads from on our behalf?&lt;br /&gt;
Oct 07 12:59:13 &amp;lt;ivd&amp;gt;	Well it should only be reading it. So as long as it doesn't write it shouldn't hurt. Since we are allowed to keep using a skb that is send to the device, the assumption the USB layer is reading it only would be safe enough&lt;br /&gt;
Oct 07 13:00:24 &amp;lt;saittam&amp;gt;	ivd: well, ok then.&lt;br /&gt;
Oct 07 13:00:53 &amp;lt;AdamBaker&amp;gt;	The problem that might occur is if the skb is right at the end of a memory page and the extra few bytes overflow to the next unallocated page. I think the alignment guarantees of an skb mean that can't happen&lt;br /&gt;
Oct 07 13:02:12 &amp;lt;ivd&amp;gt;	well it is either the current approach or expensive tail reallocation for each frame we should send&lt;br /&gt;
Oct 07 13:02:35 &amp;lt;saittam&amp;gt;	let's hope so. I'll hack a skb_tailroom() printk into the code anyway to see whether short skb buffers are related to packet loss.&lt;br /&gt;
Oct 07 13:02:48 &amp;lt;ivd&amp;gt;	ok :)&lt;br /&gt;
Oct 07 13:03:08 &amp;lt;saittam&amp;gt;	but not now, since I'm using the rt73 as my internet connection :-)&lt;br /&gt;
Oct 07 13:03:30 &amp;lt;ivd&amp;gt;	hehe :)&lt;br /&gt;
Oct 07 13:03:32 &amp;lt;saittam&amp;gt;	anyone has an idea why the driver deterministically drops packets of certain lenghts?&lt;br /&gt;
Oct 07 13:03:39 &amp;lt;saittam&amp;gt;	or does it as of current git?&lt;br /&gt;
Oct 07 13:04:09 &amp;lt;ivd&amp;gt;	well it depends is the packet loss caused by:&lt;br /&gt;
Oct 07 13:04:20 &amp;lt;ivd&amp;gt;	a) packet of a certain size cannot be send&lt;br /&gt;
Oct 07 13:04:29 &amp;lt;ivd&amp;gt;	b) packet of a certain size cannot be received&lt;br /&gt;
Oct 07 13:04:52 &amp;lt;saittam&amp;gt;	I'm after a)&lt;br /&gt;
Oct 07 13:04:55 &amp;lt;sum&amp;gt;	saittam: your patch doesn't apply ...&lt;br /&gt;
Oct 07 13:05:03 &amp;lt;sum&amp;gt;	multiple Adds trailing whitespace.&lt;br /&gt;
Oct 07 13:05:19 &amp;lt;saittam&amp;gt;	sum: I'll repost on the mailing list.&lt;br /&gt;
Oct 07 13:05:24 &amp;lt;sum&amp;gt;	ivd: which length can't be received?&lt;br /&gt;
Oct 07 13:05:31 &amp;lt;sum&amp;gt;	saittam: thx&lt;br /&gt;
Oct 07 13:06:08 &amp;lt;ivd&amp;gt;	saittam: If it is (a) I am suspecting the rt2x00lib_write_tx_desc() function to be calculation the PLCP values incorrectly&lt;br /&gt;
Oct 07 13:06:36 *	AdamBaker has quit (Read error: 104 (Connection reset by peer))&lt;br /&gt;
Oct 07 13:07:28 &amp;lt;lfcorreia&amp;gt;	saittam: great, just had a kernel panic :9&lt;br /&gt;
Oct 07 13:07:39 &amp;lt;saittam&amp;gt;	ivd: I'll have to retest later with current git. IIRC, I couldn't see the packets on my other machine.&lt;br /&gt;
Oct 07 13:07:56 &amp;lt;saittam&amp;gt;	lfcorreia: sorry, I said it's only been compile-tested :-)&lt;br /&gt;
Oct 07 13:08:02 &amp;lt;lfcorreia&amp;gt;	your patch did apply though&lt;br /&gt;
Oct 07 13:08:11 &amp;lt;lfcorreia&amp;gt;	saittam: it's not your problem at all&lt;br /&gt;
Oct 07 13:08:16 &amp;lt;lfcorreia&amp;gt;	rest assured&lt;br /&gt;
Oct 07 13:08:29 &amp;lt;ivd&amp;gt;	saittaim: Well my second guess would be antenna problems&lt;br /&gt;
Oct 07 13:08:34 *	lfcorreia has to be away from the meeting&lt;br /&gt;
Oct 07 13:08:41 *	AdamBaker (n=aab@userch028.dsl.pipex.com) has joined #rt2x00&lt;br /&gt;
Oct 07 13:09:02 &amp;lt;lfcorreia&amp;gt;	Friendly agenda reminder:  2) current issues with rt2x00:&lt;br /&gt;
Oct 07 13:09:03 &amp;lt;lfcorreia&amp;gt;	    suspend-resume,&lt;br /&gt;
Oct 07 13:09:03 &amp;lt;lfcorreia&amp;gt;			ad-hoc is broken,&lt;br /&gt;
Oct 07 13:09:03 &amp;lt;lfcorreia&amp;gt;			quick disassociations&lt;br /&gt;
Oct 07 13:09:03 &amp;lt;lfcorreia&amp;gt;			scanning inconsistancy&lt;br /&gt;
Oct 07 13:09:03 &amp;lt;lfcorreia&amp;gt;			rt73 broken&lt;br /&gt;
Oct 07 13:09:24 *	lfcorreia is now known as lfcorreia_away&lt;br /&gt;
Oct 07 13:09:26 &amp;lt;saittam&amp;gt;	ivd: ok, will have a look, but I'll be away for the first half of next week.&lt;br /&gt;
Oct 07 13:09:42 &amp;lt;AdamBaker&amp;gt;	I recommend not testing the patch to fix s/w decrypt in mac80211 - it just kernel paniced on me&lt;br /&gt;
Oct 07 13:10:01 &amp;lt;sum&amp;gt;	hmm. strange..&lt;br /&gt;
Oct 07 13:10:08 &amp;lt;saittam&amp;gt;	so I guess I'd better take the patch off the web :-)&lt;br /&gt;
Oct 07 13:10:21 &amp;lt;saittam&amp;gt;	do you have stack traces available?&lt;br /&gt;
Oct 07 13:10:28 &amp;lt;sum&amp;gt;	the break is missing!&lt;br /&gt;
Oct 07 13:10:34 &amp;lt;saittam&amp;gt;	uh, right :-)&lt;br /&gt;
Oct 07 13:10:51 &amp;lt;sum&amp;gt;	but shouldn't panic, eh?&lt;br /&gt;
Oct 07 13:11:13 &amp;lt;AdamBaker&amp;gt;	no - I didn't have a serial console plugged in and it paniced not Oopsed&lt;br /&gt;
Oct 07 13:11:31 &amp;lt;AdamBaker&amp;gt;	it worked fine with encryption disabled&lt;br /&gt;
Oct 07 13:11:42 &amp;lt;sum&amp;gt;	maybe the rx-&amp;gt;u pointer is not valid after decryption any more?&lt;br /&gt;
Oct 07 13:14:10 *	drear has quit (Read error: 148 (No route to host))&lt;br /&gt;
Oct 07 13:15:59 &amp;lt;saittam&amp;gt;	sum: it shouldn't panic, you're right.&lt;br /&gt;
Oct 07 13:16:09 &amp;lt;saittam&amp;gt;	I hope this one is better: http://rafb.net/p/SSGtMI20.html&lt;br /&gt;
Oct 07 13:17:12 &amp;lt;saittam&amp;gt;	just curious: anyone of you guys interested in suspend/resume?&lt;br /&gt;
Oct 07 13:17:26 &amp;lt;AdamBaker&amp;gt;	please excuse me if I wait till the meeting is over to test it&lt;br /&gt;
Oct 07 13:17:31 &amp;lt;sum&amp;gt;	ok, even with the break, doesn't panic but packets of 96 bytes in total don't get send..&lt;br /&gt;
Oct 07 13:17:41 &amp;lt;sum&amp;gt;	reception ok&lt;br /&gt;
Oct 07 13:17:51 &amp;lt;saittam&amp;gt;	sum: was only meant to fix reception.&lt;br /&gt;
Oct 07 13:17:55 &amp;lt;sum&amp;gt;	yep.&lt;br /&gt;
Oct 07 13:17:55 &amp;lt;AdamBaker&amp;gt;	are you using WPA or WEP?&lt;br /&gt;
Oct 07 13:17:57 &amp;lt;ivd&amp;gt;	saittam: Inam interested in all rt2x00 bugs. ;)&lt;br /&gt;
Oct 07 13:17:58 &amp;lt;sum&amp;gt;	WPA2&lt;br /&gt;
Oct 07 13:18:05 &amp;lt;saittam&amp;gt;	ivd: *gg*&lt;br /&gt;
Oct 07 13:18:22 &amp;lt;sum&amp;gt;	but the transmission bug is definitely 11mbit related.&lt;br /&gt;
Oct 07 13:18:30 &amp;lt;saittam&amp;gt;	AdamBaker: me too, will test tonight.&lt;br /&gt;
Oct 07 13:18:31 &amp;lt;AdamBaker&amp;gt;	I guess the panic could be in the WEP code then&lt;br /&gt;
Oct 07 13:19:26 &amp;lt;saittam&amp;gt;	saittam: Na, it's probably in one of the two others. WEP decrypt gets called first and the others probably received invalid state.&lt;br /&gt;
Oct 07 13:19:38 &amp;lt;sum&amp;gt;	as i already mentioned on the ML, the transmission bug is in there since the rt2x00 code is in git...&lt;br /&gt;
Oct 07 13:20:17 &amp;lt;saittam&amp;gt;	sum: But only 11mbit, right?&lt;br /&gt;
Oct 07 13:21:08 &amp;lt;AdamBaker&amp;gt;	Is the length problem limited to rt73? Has anyone tested RT61 or RT2500usb?&lt;br /&gt;
Oct 07 13:21:28 &amp;lt;saittam&amp;gt;	AdamBaker: I only have rt73 hardware...&lt;br /&gt;
Oct 07 13:22:14 &amp;lt;AdamBaker&amp;gt;	Me too - that's why I couldn't test it myself&lt;br /&gt;
Oct 07 13:22:20 &amp;lt;saittam&amp;gt;	I'd also be interesting to see whether legacy has frame length issues...&lt;br /&gt;
Oct 07 13:28:35 *	saittam reboots with the patch compiled in.&lt;br /&gt;
Oct 07 13:28:48 *	saittam has quit (&amp;quot;Leaving&amp;quot;)&lt;br /&gt;
Oct 07 13:33:06 &amp;lt;sum&amp;gt;	hm, i think there was someone who reported problems with rt2500...&lt;br /&gt;
Oct 07 13:35:00 &amp;lt;sum&amp;gt;	hm, no&lt;br /&gt;
Oct 07 13:36:22 *	saittam (n=saittam@pD956653A.dip.t-dialin.net) has joined #rt2x00&lt;br /&gt;
Oct 07 13:36:33 &amp;lt;sum&amp;gt;	saittam: yes, 2 and 5.5mbit are ok&lt;br /&gt;
Oct 07 13:36:44 &amp;lt;sum&amp;gt;	or at least with that one length i have tested...&lt;br /&gt;
Oct 07 13:36:53 *	saittam is back with WPA2 working and packets dropped at 11mbit ;-)&lt;br /&gt;
Oct 07 13:37:20 &amp;lt;saittam&amp;gt;	i'm now on a wired connection :)&lt;br /&gt;
Oct 07 13:37:56 &amp;lt;sum&amp;gt;	hm. do you know a way how to force the driver to a lower bitrate?&lt;br /&gt;
Oct 07 13:38:00 &amp;lt;saittam&amp;gt;	Adam, have you received any response to your inquiry about rate selection?&lt;br /&gt;
Oct 07 13:38:06 &amp;lt;sum&amp;gt;	or does wpa_supplicant change the bitrate?&lt;br /&gt;
Oct 07 13:38:26 &amp;lt;saittam&amp;gt;	sum: I don't know, but let's fix the 11mbit problem first :-)&lt;br /&gt;
Oct 07 13:38:52 &amp;lt;sum&amp;gt;	yes, i wanted to try if the driver also fails at 5.5 mbit, maybe with different lengths...&lt;br /&gt;
Oct 07 13:39:15 &amp;lt;saittam&amp;gt;	sum: Have you tried to change the padding, maybe even to 8 bytes or something?&lt;br /&gt;
Oct 07 13:39:57 &amp;lt;saittam&amp;gt;	note that legacy rt73 even has different padding rules for different kinds of packets. mlme-packets are only padded to 2-byte boundaries IIRC.&lt;br /&gt;
Oct 07 13:40:25 &amp;lt;sum&amp;gt;	no, i didn't change padding&lt;br /&gt;
Oct 07 13:40:47 &amp;lt;sum&amp;gt;	i would like to know if nothing is sent or if wrong-length/corrupted packets are sent...&lt;br /&gt;
Oct 07 13:42:24 &amp;lt;saittam&amp;gt;	I'll check, just switched on my monitor machine.&lt;br /&gt;
Oct 07 13:43:00 &amp;lt;ivd&amp;gt;	I gtg now. I won't be back for a few hours. So I'll view the logfile later.&lt;br /&gt;
Oct 07 13:43:07 *	ivd is now known as ivd_away&lt;br /&gt;
Oct 07 13:44:18 &amp;lt;saittam&amp;gt;	sum: btw, the skb buffer seems to be ok, it's virtually anytime much larger than the padding we apply.&lt;br /&gt;
Oct 07 13:46:09 *	lfcorreia_away is now known as lfcorreia&lt;br /&gt;
Oct 07 13:46:19 *	lfcorreia is back into the meeting&lt;br /&gt;
Oct 07 13:46:49 &amp;lt;AdamBaker&amp;gt;	change the bitrate with &amp;quot;sudo iwconfig wlan0 rate 5.5M&amp;quot; or whatever rate you prefer&lt;br /&gt;
Oct 07 13:46:55 &amp;lt;lfcorreia&amp;gt;	what was the outcome of the new patch?&lt;br /&gt;
Oct 07 13:48:12 &amp;lt;sum&amp;gt;	AdamBaker: this does not work, it just doesn't set the bitrate. i am using wpa_supplicant&lt;br /&gt;
Oct 07 13:48:15 *	free-zombie (i=someone@tuxhacker/free-zombie) has joined #rt2x00&lt;br /&gt;
Oct 07 13:48:23 &amp;lt;saittam&amp;gt;	lfcorreia: seems to fix decryption problems on reception for both me and sum&lt;br /&gt;
Oct 07 13:48:47 &amp;lt;lfcorreia&amp;gt;	saittam: good, i'm updating my kernel to test it in a few minutes&lt;br /&gt;
Oct 07 13:49:42 &amp;lt;saittam&amp;gt;	lfcorreia: I'm pretty sure it's safe now ;-)&lt;br /&gt;
Oct 07 13:49:46 &amp;lt;lfcorreia&amp;gt;	ok&lt;br /&gt;
Oct 07 13:49:55 &amp;lt;sum&amp;gt;	but take the newest one ;)&lt;br /&gt;
Oct 07 13:49:56 &amp;lt;saittam&amp;gt;	sum: Seems like the packets don't go out.&lt;br /&gt;
Oct 07 13:50:05 &amp;lt;lfcorreia&amp;gt;	gents, what about the other issues with current rt2x00?&lt;br /&gt;
Oct 07 13:50:16 &amp;lt;lfcorreia&amp;gt;	    suspend-resume,&lt;br /&gt;
Oct 07 13:50:17 &amp;lt;lfcorreia&amp;gt;			ad-hoc is broken,&lt;br /&gt;
Oct 07 13:50:17 &amp;lt;lfcorreia&amp;gt;			quick disassociations&lt;br /&gt;
Oct 07 13:50:17 &amp;lt;lfcorreia&amp;gt;			scanning inconsistancy&lt;br /&gt;
Oct 07 13:50:41 &amp;lt;saittam&amp;gt;	I can see ping packets on air for 92 and 94 byte ping packets, but 93-byte-sized packets fail and don't show up on the monitor station.&lt;br /&gt;
Oct 07 13:51:03 &amp;lt;saittam&amp;gt;	suspend-resume produced a kernel hang in the usb layer last time I tested.&lt;br /&gt;
Oct 07 13:51:20 &amp;lt;saittam&amp;gt;	but that was 2 weeks ago.&lt;br /&gt;
Oct 07 13:51:24 &amp;lt;saittam&amp;gt;	need to retest.&lt;br /&gt;
Oct 07 13:52:51 &amp;lt;lfcorreia&amp;gt;	and this hang is surely provoked by rt73?&lt;br /&gt;
Oct 07 13:53:02 &amp;lt;AdamBaker&amp;gt;	Setting the bit rate seems to be a bit intermittent but does sometimes work. It only affects tx bit rate, the bit rate of rx data is set by the AP based on what the driver claims to support at association time&lt;br /&gt;
Oct 07 13:53:58 &amp;lt;lfcorreia&amp;gt;	unfortunately due to an hardware problem, I can't test suspend/resume on my laptop&lt;br /&gt;
Oct 07 13:53:58 &amp;lt;AdamBaker&amp;gt;	Is ad-hoc broken? It worked last time I tested it (when I was testing Johannes ad-hoc patch for mac80211)&lt;br /&gt;
Oct 07 13:54:27 &amp;lt;saittam&amp;gt;	lfcorreia: well, I have posted the stack trace on the ML. I don't know whose fault it is. The stack trace indicates that it's hanging on some lock and sysrq says the kernel doesn't have any task that's ready to be executed.&lt;br /&gt;
Oct 07 13:54:45 &amp;lt;lfcorreia&amp;gt;	AdamBaker: well, since I think we never got positive results on that one, we're assuming it is still broken :)&lt;br /&gt;
Oct 07 13:55:17 &amp;lt;lfcorreia&amp;gt;	saittam: ah, so that is the tasklet issue i read about... hummm, must look into it a bit more&lt;br /&gt;
Oct 07 13:55:50 &amp;lt;saittam&amp;gt;	lfcorreia: It's not our tasklet though.&lt;br /&gt;
Oct 07 13:56:00 &amp;lt;saittam&amp;gt;	lfcorreia: Where did you read about it?&lt;br /&gt;
Oct 07 13:56:09 &amp;lt;lfcorreia&amp;gt;	from Ivd's latest issue report: 1 - Ad-Hoc [DEBUGFS]&lt;br /&gt;
Oct 07 13:56:09 &amp;lt;lfcorreia&amp;gt;	- rt2500usb &amp;amp; rt73usb don't send out beacons.&lt;br /&gt;
Oct 07 13:56:09 &amp;lt;lfcorreia&amp;gt;	- Are the PCI drivers working?&lt;br /&gt;
Oct 07 13:56:09 &amp;lt;lfcorreia&amp;gt;	- Is Master mode working for USB?&lt;br /&gt;
Oct 07 13:56:39 &amp;lt;AdamBaker&amp;gt;	lfcorreia: As soon as git is stable I'll re-test ad-hoc but I think the packet size problem needs fixing first&lt;br /&gt;
Oct 07 13:56:41 &amp;lt;saittam&amp;gt;	What's needed to test master mode? hostapd?&lt;br /&gt;
Oct 07 13:56:45 &amp;lt;lfcorreia&amp;gt;	saittam: erm... can't recall actually... but i've got a vague recollection on that issue, maybe i'm wrong&lt;br /&gt;
Oct 07 13:56:53 &amp;lt;AdamBaker&amp;gt;	Master mode isn't in the current mac80211&lt;br /&gt;
Oct 07 13:56:56 &amp;lt;lfcorreia&amp;gt;	AdamBaker: sure&lt;br /&gt;
Oct 07 13:57:24 &amp;lt;lfcorreia&amp;gt;	we need to sort out these issues to make a proper issue list :)&lt;br /&gt;
Oct 07 13:57:39 &amp;lt;saittam&amp;gt;	Adam, what happened to the rate registration inquiry you posted on linux-wireless?&lt;br /&gt;
Oct 07 13:58:00 &amp;lt;AdamBaker&amp;gt;	saittam: no reply yet&lt;br /&gt;
Oct 07 13:59:29 &amp;lt;lfcorreia&amp;gt;	what about &amp;quot;scanning inconsistancy&amp;quot;&lt;br /&gt;
Oct 07 13:59:37 &amp;lt;lfcorreia&amp;gt;	i still get that one&lt;br /&gt;
Oct 07 14:00:48 &amp;lt;saittam&amp;gt;	I guess the scanning problem is still out there.&lt;br /&gt;
Oct 07 14:00:58 &amp;lt;AdamBaker&amp;gt;	lfcorreia: How weak are the signals from the other APs? The only other one I can pick up is so weak it depends on antenna orientation whether I see it&lt;br /&gt;
Oct 07 14:01:04 &amp;lt;saittam&amp;gt;	sometimes, scanning stops working and I have to reload the driver.&lt;br /&gt;
Oct 07 14:01:18 &amp;lt;saittam&amp;gt;	Next time I see it, I'll check whether frames go out.&lt;br /&gt;
Oct 07 14:01:37 &amp;lt;saittam&amp;gt;	But this could also be mac80211 being buggy... ;-)&lt;br /&gt;
Oct 07 14:01:42 &amp;lt;AdamBaker&amp;gt;	saittam: Do you lose your own AP from the scan or just unassociated ones?&lt;br /&gt;
Oct 07 14:01:44 &amp;lt;lfcorreia&amp;gt;	AdamBaker: using the same hardware with windoze, it sees a lot more AP's,but in fact all of them very weak&lt;br /&gt;
Oct 07 14:02:10 *	freezombie has quit (Read error: 110 (Connection timed out))&lt;br /&gt;
Oct 07 14:02:15 &amp;lt;saittam&amp;gt;	AdamBaker: Everything gone. Nothing there. Nada, niente.&lt;br /&gt;
Oct 07 14:02:21 &amp;lt;AdamBaker&amp;gt;	lfcorreia: That could just mean we haven't got optimum sensitivity&lt;br /&gt;
Oct 07 14:02:42 &amp;lt;lfcorreia&amp;gt;	AdamBaker: yes, we have that issue from the very beggining&lt;br /&gt;
Oct 07 14:02:52 &amp;lt;AdamBaker&amp;gt;	Can you see the other APs with the legacy driver?&lt;br /&gt;
Oct 07 14:02:55 &amp;lt;saittam&amp;gt;	I can also confirm my madwifi card sees much more APs than the rt73.&lt;br /&gt;
Oct 07 14:03:21 &amp;lt;lfcorreia&amp;gt;	we made some adjustments to the link tuner and now ivd is pursuing the antenna selection to try and figure out the best way&lt;br /&gt;
Oct 07 14:03:58 &amp;lt;lfcorreia&amp;gt;	YES!!!&lt;br /&gt;
Oct 07 14:04:05 &amp;lt;lfcorreia&amp;gt;	rt73 is now working&lt;br /&gt;
Oct 07 14:04:13 &amp;lt;saittam&amp;gt;	gratulations :-)&lt;br /&gt;
Oct 07 14:04:29 &amp;lt;saittam&amp;gt;	but try some pings with 80-100 bytes packet size :-)&lt;br /&gt;
Oct 07 14:04:56 &amp;lt;sum&amp;gt;	hm, i don't get any idea, why there are some sizes, repeating each 44 bytes...&lt;br /&gt;
Oct 07 14:05:15 &amp;lt;saittam&amp;gt;	44 bytes?&lt;br /&gt;
Oct 07 14:05:33 &amp;lt;sum&amp;gt;	those sizes do not work here (padding to 8!)&lt;br /&gt;
Oct 07 14:05:34 &amp;lt;sum&amp;gt;	104 108 112 - 148 152 156 - 192 196 200 - 236 240 244&lt;br /&gt;
Oct 07 14:05:45 &amp;lt;sum&amp;gt;	well the '-' only for readablilyt&lt;br /&gt;
Oct 07 14:05:50 &amp;lt;AdamBaker&amp;gt;	My guess is it is related to the encoding used at 11M&lt;br /&gt;
Oct 07 14:06:23 &amp;lt;AdamBaker&amp;gt;	some sizes also occasionally work&lt;br /&gt;
Oct 07 14:06:55 &amp;lt;AdamBaker&amp;gt;	I wonder if there is some issue with padding for the encoding&lt;br /&gt;
Oct 07 14:07:17 &amp;lt;lfcorreia&amp;gt;	funny enough, my rt73 is only using 11M, and this has to do with recent changes to the API I think&lt;br /&gt;
Oct 07 14:07:20 *	drear (n=drear@83.145.204.27) has joined #rt2x00&lt;br /&gt;
Oct 07 14:07:42 &amp;lt;sum&amp;gt;	AdamBaker: yes, i have also sometimes usually bad sizes that work (well, ping packets are returned in 2 or more seconds...)&lt;br /&gt;
Oct 07 14:07:45 &amp;lt;AdamBaker&amp;gt;	Maybe it would be helpful to test with a different mac80211 supported device&lt;br /&gt;
Oct 07 14:08:01 &amp;lt;sum&amp;gt;	i don't have any other device :((&lt;br /&gt;
Oct 07 14:08:11 &amp;lt;saittam&amp;gt;	me neither.&lt;br /&gt;
Oct 07 14:08:36 &amp;lt;sum&amp;gt;	i have to go now, be back later.&lt;br /&gt;
Oct 07 14:09:08 &amp;lt;lfcorreia&amp;gt;	well, time to discuss the most unimportant topic in out agenda&lt;br /&gt;
Oct 07 14:09:11 &amp;lt;AdamBaker&amp;gt;	I've got a laptop with bcm43xx but the OS is so out of date I need to update that before trying a new kernel&lt;br /&gt;
Oct 07 14:09:26 &amp;lt;lfcorreia&amp;gt;	802.11n devices&lt;br /&gt;
Oct 07 14:09:50 &amp;lt;serialmonkey&amp;gt;	Still haven't managed to get my hands on one locally - and I need PCI or USB&lt;br /&gt;
Oct 07 14:09:53 &amp;lt;serialmonkey&amp;gt;	(not minipci)&lt;br /&gt;
Oct 07 14:10:20 &amp;lt;lfcorreia&amp;gt;	AFAIK, there are only minipci available&lt;br /&gt;
Oct 07 14:10:35 &amp;lt;lfcorreia&amp;gt;	and these aren't even the final 11n specs&lt;br /&gt;
Oct 07 14:10:44 &amp;lt;saittam&amp;gt;	can we ask some vendor to donate some?&lt;br /&gt;
Oct 07 14:10:57 &amp;lt;serialmonkey&amp;gt;	Hence why I have actually stayed away from 802.11n all together. It's not even ratified yet&lt;br /&gt;
Oct 07 14:11:06 &amp;lt;serialmonkey&amp;gt;	Thats why my main vendor is staying away still&lt;br /&gt;
Oct 07 14:11:27 &amp;lt;lfcorreia&amp;gt;	saittam: ask the guy from minipci.biz&lt;br /&gt;
Oct 07 14:11:32 &amp;lt;saittam&amp;gt;	So, do these chips also speak 11b and 11g?&lt;br /&gt;
Oct 07 14:11:50 &amp;lt;saittam&amp;gt;	and if so, do they work with the current drivers?&lt;br /&gt;
Oct 07 14:12:04 &amp;lt;lfcorreia&amp;gt;	saittam: yes, yes and no&lt;br /&gt;
Oct 07 14:12:24 &amp;lt;lfcorreia&amp;gt;	it has a new driver, which is as shitty as all the others Ralink provides&lt;br /&gt;
Oct 07 14:12:46 &amp;lt;saittam&amp;gt;	ah, thanks.&lt;br /&gt;
Oct 07 14:13:13 &amp;lt;lfcorreia&amp;gt;	and new firmware&lt;br /&gt;
Oct 07 14:13:19 &amp;lt;saittam&amp;gt;	lfcorreia: I don't have a minipci adapter card here.&lt;br /&gt;
Oct 07 14:13:38 &amp;lt;lfcorreia&amp;gt;	but hte only time i tested it it did work, but as slow as all other ralink drivers&lt;br /&gt;
Oct 07 14:13:53 &amp;lt;lfcorreia&amp;gt;	saittam: the guy can also provide a minipci to pci adapter, ask him&lt;br /&gt;
Oct 07 14:15:04 *	freezombie (i=someone@tuxhacker/free-zombie) has joined #rt2x00&lt;br /&gt;
Oct 07 14:15:18 &amp;lt;saittam&amp;gt;	lfcorreia: Do you have a contact address? But I don't have lots of spare time, maybe it gets better by the end of october.&lt;br /&gt;
Oct 07 14:16:28 &amp;lt;lfcorreia&amp;gt;	saittam: sure, martin dot hoehne at minipci dot biz&lt;br /&gt;
Oct 07 14:16:43 &amp;lt;lfcorreia&amp;gt;	or just go to minipci.biz and search for the proper contact :)&lt;br /&gt;
Oct 07 14:17:20 &amp;lt;lfcorreia&amp;gt;	anyway, what we were planning to do about the 11n driver is the following&lt;br /&gt;
Oct 07 14:17:53 &amp;lt;saittam&amp;gt;	lfcorreia: Thanks. Will contact him later this month.&lt;br /&gt;
Oct 07 14:18:42 &amp;lt;lfcorreia&amp;gt;	anyway, what we were planning to do about the 11n driver is the following, we need a volunteer to cleanup ralink's code and add our fixes to it&lt;br /&gt;
Oct 07 14:18:57 &amp;lt;lfcorreia&amp;gt;	do that we then can compare rt2x00 with legacy&lt;br /&gt;
Oct 07 14:19:18 &amp;lt;lfcorreia&amp;gt;	but, and this is the most important issue, we don't want to support it for users&lt;br /&gt;
Oct 07 14:19:31 &amp;lt;saittam&amp;gt;	*gg*&lt;br /&gt;
Oct 07 14:19:33 &amp;lt;lfcorreia&amp;gt;	what is your opinion about it?&lt;br /&gt;
Oct 07 14:20:33 &amp;lt;Spy84464&amp;gt;	You mean not supporting a legacy rt2800?&lt;br /&gt;
Oct 07 14:21:33 *	saittam doesn't do no legacy&lt;br /&gt;
Oct 07 14:23:27 &amp;lt;lfcorreia&amp;gt;	Spy84464: exactly&lt;br /&gt;
Oct 07 14:24:04 &amp;lt;Spy84464&amp;gt;	this is coherent with our current approach : getting rid of legacy drivers&lt;br /&gt;
Oct 07 14:24:18 &amp;lt;Spy84464&amp;gt;	so it makes sense&lt;br /&gt;
Oct 07 14:24:26 &amp;lt;lfcorreia&amp;gt;	what I actually mean, if we provide our version of their legacy driver, and as 802.11n is a hype product, we would get tons of help requests about fixing it&lt;br /&gt;
Oct 07 14:24:42 &amp;lt;Spy84464&amp;gt;	yes&lt;br /&gt;
Oct 07 14:24:48 &amp;lt;lfcorreia&amp;gt;	so, we *may* have it, but we don't actually support it for users&lt;br /&gt;
Oct 07 14:25:05 &amp;lt;lfcorreia&amp;gt;	nor we would have a section for it on the forum&lt;br /&gt;
Oct 07 14:25:06 &amp;lt;Spy84464&amp;gt;	the only interest is to have something to help developing rt2x00&lt;br /&gt;
Oct 07 14:25:11 &amp;lt;lfcorreia&amp;gt;	exactly&lt;br /&gt;
Oct 07 14:25:53 &amp;lt;Spy84464&amp;gt;	that's fine for me&lt;br /&gt;
Oct 07 14:25:56 &amp;lt;lfcorreia&amp;gt;	I would even start to advertise legacy support EOL :)&lt;br /&gt;
Oct 07 14:26:04 &amp;lt;lfcorreia&amp;gt;	but that we had already discussed&lt;br /&gt;
Oct 07 14:26:17 &amp;lt;saittam&amp;gt;	sounds good.&lt;br /&gt;
Oct 07 14:26:18 &amp;lt;lfcorreia&amp;gt;	it's a long standing issue, legacy&lt;br /&gt;
Oct 07 14:26:25 &amp;lt;lfcorreia&amp;gt;	ok&lt;br /&gt;
Oct 07 14:28:32 &amp;lt;lfcorreia&amp;gt;	Agenda summary of discussed items:&lt;br /&gt;
Oct 07 14:28:32 &amp;lt;lfcorreia&amp;gt;	legacy should be provided 'as-is' after rt2x00 has reached mainline kernel and at least one distro has released a version containing 2.6.24. in the meanwhile, we should keep it.&lt;br /&gt;
Oct 07 14:28:32 &amp;lt;lfcorreia&amp;gt;	mac80211 API is causing some breakage to our driver.&lt;br /&gt;
Oct 07 14:28:32 &amp;lt;lfcorreia&amp;gt;	802.11n drivers: legacy driver should exist but not for end users. this means that the driver won't have any kind of development effort besides helping rt2x00.&lt;br /&gt;
Oct 07 14:29:12 &amp;lt;lfcorreia&amp;gt;	if you all agree with this summary we may declare the meeting closed as for the proposed agenda&lt;br /&gt;
Oct 07 14:29:26 &amp;lt;saittam&amp;gt;	fine with me.&lt;br /&gt;
Oct 07 14:29:36 &amp;lt;lfcorreia&amp;gt;	we can continue to discuss some other issues or even test some other code/patches&lt;br /&gt;
Oct 07 14:30:28 &amp;lt;serialmonkey&amp;gt;	no worries, I have to run  anyway - getting late here&lt;br /&gt;
Oct 07 14:30:52 &amp;lt;serialmonkey&amp;gt;	We should try and stick our heads in here to IRC while we are working on issues&lt;br /&gt;
Oct 07 14:30:56 *	free-zombie has quit (Read error: 110 (Connection timed out))&lt;br /&gt;
Oct 07 14:31:33 &amp;lt;serialmonkey&amp;gt;	gotta run, bye all&lt;br /&gt;
Oct 07 14:31:37 *	serialmonkey has quit ()&lt;br /&gt;
Oct 07 14:31:38 &amp;lt;Spy84464&amp;gt;	see you&lt;br /&gt;
Oct 07 14:31:43 &amp;lt;Spy84464&amp;gt;	too late :p&lt;br /&gt;
Oct 07 14:32:08 *	free-zombie (i=someone@tuxhacker/free-zombie) has joined #rt2x00&lt;br /&gt;
Oct 07 14:33:48 &amp;lt;AdamBaker&amp;gt;	Did we conclude that no-one has been / is able to test if the packet loss issue at 11 Mb/s applies to anything other than RT73?&lt;br /&gt;
Oct 07 14:35:15 &amp;lt;Spy84464&amp;gt;	I have a rt2500 card at hand, but I don't have a clone of git, my hard drive died monday&lt;br /&gt;
Oct 07 14:35:17 &amp;lt;Spy84464&amp;gt;	sorry&lt;br /&gt;
Oct 07 14:35:52 &amp;lt;saittam&amp;gt;	I've just run into the scanning problem again.&lt;br /&gt;
Oct 07 14:36:35 &amp;lt;saittam&amp;gt;	seems no packets get transmitted at all, cannot see any on the monitor station.&lt;br /&gt;
Oct 07 14:40:43 &amp;lt;lfcorreia&amp;gt;	funny enough i've tested some large ping packet size and it fails with anything bigger then '-s 1669'&lt;br /&gt;
Oct 07 14:46:18 *	freezombie has quit (Read error: 110 (Connection timed out))&lt;br /&gt;
Oct 07 14:52:12 &amp;lt;lfcorreia&amp;gt;	ok, we declare the developers meeting officially ended&lt;br /&gt;
Oct 07 14:53:06 &amp;lt;lfcorreia&amp;gt;	saittam: can you prepare a patch and submit it to Johannes aprooval?&lt;br /&gt;
Oct 07 14:53:15 &amp;lt;saittam&amp;gt;	will do :-)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</description>
			<pubDate>Sun, 07 Oct 2007 11:49:22 GMT</pubDate>			<dc:creator>Luis</dc:creator>			<comments>http://rt2x00.serialmonkey.com/wiki/index.php/Talk:Meetings</comments>		</item>
		<item>
			<title>Rt2x00 GIT instructions</title>
			<link>http://rt2x00.serialmonkey.com/wiki/index.php/Rt2x00_GIT_instructions</link>
			<description>&lt;p&gt;Summary: /* STEP 0 - Check your distro for specific details on: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==INITIAL SETUP==&lt;br /&gt;
&lt;br /&gt;
===STEP 0 - Check your distro for specific details on:===&lt;br /&gt;
 1. installing development tools and libraries&lt;br /&gt;
&lt;br /&gt;
 2. examples for some distros:&lt;br /&gt;
&lt;br /&gt;
    '''Fedora Core 10''':&lt;br /&gt;
    go to &amp;quot;System, Administration, Add/Remove Software&amp;quot;&lt;br /&gt;
    click on &amp;quot;Package collections&amp;quot;&lt;br /&gt;
    select &amp;quot;Development Libraries&amp;quot; and &amp;quot;Development Tools&amp;quot;&lt;br /&gt;
    click &amp;quot;Apply&amp;quot;&lt;br /&gt;
    The package manager would then download and install all relevant packages needed for software development.&lt;br /&gt;
&lt;br /&gt;
    '''Gentoo''':&lt;br /&gt;
    Gentoo users should already have a working development setup&lt;br /&gt;
    to install git, all you need is to &amp;quot;emerge git&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    '''Ubuntu 9.04 Jaunty''':&lt;br /&gt;
    Ubuntu has a working development setup&lt;br /&gt;
    to install git, all you need is to &amp;quot;sudo apt-get install git-core&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===STEP 1 - Install GIT===&lt;br /&gt;
 1. Make sure you have curl installed&lt;br /&gt;
 2. Check that your distro doesn't have a package that you can just install&lt;br /&gt;
 3. If it doesn't, grab http://www.kernel.org/pub/software/scm/git/git-1.5.0.5.tar.gz&lt;br /&gt;
 4. Extract then 'make; make prefix=/usr/local install'&lt;br /&gt;
&lt;br /&gt;
===STEP 2 - Clone a copy of our master repository for your local use===&lt;br /&gt;
&lt;br /&gt;
 1. git clone git://git.kernel.org/pub/scm/linux/kernel/git/ivd/rt2x00.git rt2x00&lt;br /&gt;
 2. wait, may take ages, have a snack.&lt;br /&gt;
 3. cd rt2x00&lt;br /&gt;
&lt;br /&gt;
===STEP 3 - Configure GIT settings===&lt;br /&gt;
&lt;br /&gt;
 1. git-config remote.upload.url git://git.kernel.org/pub/scm/linux/kernel/git/ivd/rt2x00.git/&lt;br /&gt;
 2. git-config user.name &amp;quot;My name goes here&amp;quot;&lt;br /&gt;
 3. git-config user.email &amp;quot;My email goes here&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==DAILY DEVELOPMENT COMMANDS==&lt;br /&gt;
&lt;br /&gt;
To get your local copy in sync with the latest from the master branch on the server&lt;br /&gt;
&lt;br /&gt;
 1. git fetch git://git.kernel.org/pub/scm/linux/kernel/git/ivd/rt2x00.git&lt;br /&gt;
 2. git merge master&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''The following instructions are not complete, we're changing this page.&lt;br /&gt;
Sorry for the inconvenience.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To commit a change in your local branch and push it to your branch on the server  (i.e. cvs commit)&lt;br /&gt;
 1. cg commit -e&lt;br /&gt;
 2. An editor will fire up and you can enter in your commit description which should appear as per below &lt;br /&gt;
&lt;br /&gt;
      rt2x00: subject of the patch&lt;br /&gt;
&lt;br /&gt;
      Description of the patch you are commiting. Make sure you include the blank line below.&lt;br /&gt;
&lt;br /&gt;
      Signed-off-by: Random J Developer &amp;lt;random at developer.example.org&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To make a patch from your branch to send to rt2x00-users&lt;br /&gt;
&lt;br /&gt;
 1. Make sure you first have an up-to-date branch from master (as per above)&lt;br /&gt;
 2. git-format-patch master&lt;br /&gt;
 3. git-send-email patchfilename     (replace with the filename of the patch(s) given by the command above)&lt;br /&gt;
 4. Fill in your from address and put &amp;quot;users&amp;quot; at &amp;quot;rt2x00.serialmonkey.com&amp;quot; as the TO address&lt;br /&gt;
&lt;br /&gt;
==ACCESS THE WEB INTERFACE==&lt;br /&gt;
&lt;br /&gt;
Goto http://git.kernel.org/?p=linux/kernel/git/ivd/rt2x00.git;a=summary&lt;/div&gt;</description>
			<pubDate>Tue, 17 Apr 2007 10:49:34 GMT</pubDate>			<dc:creator>Serialmonkey</dc:creator>			<comments>http://rt2x00.serialmonkey.com/wiki/index.php/Talk:Rt2x00_GIT_instructions</comments>		</item>
		<item>
			<title>Slackware9 rt61 Howto</title>
			<link>http://rt2x00.serialmonkey.com/wiki/index.php/Slackware9_rt61_Howto</link>
			<description>&lt;p&gt;Summary: /* Configuring the Wireless Card */  fix wiki tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== RT61PCI Install on Slackware 9 ==&lt;br /&gt;
By Zach Vickery, 2007&lt;br /&gt;
&lt;br /&gt;
Yes, yes, I know it's an old distribution.  But the details here should apply pretty well to newer Slackware versions and possibly other distributions too.  So in a way this is a guide to installing a wireless card in an older distribution, or perhaps Slackware in general.  At the least, I think my experiences documented below will be helpful to others..&lt;br /&gt;
&lt;br /&gt;
== Kernel Configuration ==&lt;br /&gt;
Your kernel will need to support wireless networking and all&lt;br /&gt;
subsystems appropriate for your card.  For the RT61PCI, this included&lt;br /&gt;
&amp;lt;code&amp;gt;CONFIG_NET_WIRELESS&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;CONFIG_NET_RADIO&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;CONFIG_PCI&amp;lt;/code&amp;gt;.  The default&lt;br /&gt;
Slackware kernel should have all of this but if you build your own&lt;br /&gt;
kernels you may want to double check that nothing has been disabled.&lt;br /&gt;
&lt;br /&gt;
== PCI Configuration ==&lt;br /&gt;
Obviously, you will want to install the card in the box before diving&lt;br /&gt;
in.  Another key point is to have an updated PCI database (located in&lt;br /&gt;
&amp;lt;code&amp;gt;/usr/share/pci.ids&amp;lt;/code&amp;gt;).  With older distributions, an outdated &amp;lt;code&amp;gt;pci.ids&amp;lt;/code&amp;gt;&lt;br /&gt;
database can cause the PCI subsystem to detect an &amp;quot;unknown network&lt;br /&gt;
controller&amp;quot; rather than the specific model that is installed.  If in&lt;br /&gt;
doubt, grab the latest version from&lt;br /&gt;
[http://pciids.sourceforge.net/pci.ids]. With that said, after booting&lt;br /&gt;
up, run the command &amp;lt;code&amp;gt;lspci&amp;lt;/code&amp;gt;.  You should see something similar to the&lt;br /&gt;
below output:&lt;br /&gt;
&lt;br /&gt;
 01:0a.0 Network controller: RaLink RT2561/RT61 802.11g PCI&lt;br /&gt;
&lt;br /&gt;
If you don't see this, it means the kernel is not seeing your hardware&lt;br /&gt;
and it will be impossible to load the driver.  If you do see this,&lt;br /&gt;
you're ready to go.  This output also has the side effect of&lt;br /&gt;
confirming which driver will be needed (in this case, the RT61).  I&lt;br /&gt;
happened to have a Linksys WMP54G card but didn't know which driver I&lt;br /&gt;
needed until the above line from &amp;lt;code&amp;gt;lspci&amp;lt;/code&amp;gt; told me.&lt;br /&gt;
&lt;br /&gt;
== Helper Packages ==&lt;br /&gt;
The &amp;lt;code&amp;gt;wireless-tools&amp;lt;/code&amp;gt; package must be installed.  This is included with Slackware and probably most any other distribution.  It includes&lt;br /&gt;
commands like &amp;lt;code&amp;gt;iwconfig&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;iwlist&amp;lt;/code&amp;gt; which are essential to using your wireless network card.&lt;br /&gt;
&lt;br /&gt;
A recent version of the DHCP tools must also be installed (3.0.4 or later will&lt;br /&gt;
surely work with a wireless card, I'm not sure about earlier&lt;br /&gt;
versions).  For my Slackware 9 system, this was a manual build and&lt;br /&gt;
update.  This meant getting the source from&lt;br /&gt;
[http://www.isc.org/sw/dhcp/], building and installing.  It should be an&lt;br /&gt;
easy update, should it be necessary.  To determine which version you have, running the command &amp;lt;code&amp;gt;dhclient -v&amp;lt;/code&amp;gt; will work.&lt;br /&gt;
&lt;br /&gt;
You will also need kernel source installed in &amp;lt;code&amp;gt;/usr/src/linux&amp;lt;/code&amp;gt; in order to build the module.  Of course, the source must match the kernel you&lt;br /&gt;
are running.  The Slackware stock kernel has corresponding source&lt;br /&gt;
packages that can be installed if you didn't install them on setup.&lt;br /&gt;
&lt;br /&gt;
== Building the Driver ==&lt;br /&gt;
With everything above in place, building and installing the driver&lt;br /&gt;
should be easy.  Unpack the source in your favorite location and build&lt;br /&gt;
and install per the included directions.  The end result is that a kernel module  &amp;lt;code&amp;gt;rt61.o&amp;lt;/code&amp;gt; will be installed in your kernel modules area.  Typically this is the directory &amp;lt;code&amp;gt;/lib/modules/&amp;lt;kernel version&amp;gt;/extra&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
== Loading the Driver ==&lt;br /&gt;
Once the driver is installed, the command &amp;lt;code&amp;gt;/sbin/modprobe rt61&amp;lt;/code&amp;gt; will&lt;br /&gt;
load the driver into your running kernel.  If you would like the&lt;br /&gt;
module to automatically be loaded on boot, add the above modprobe&lt;br /&gt;
command to the end of &amp;lt;code&amp;gt;/etc/rc.d/rc.modules&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Configuring the Wireless Card ==&lt;br /&gt;
With the driver loaded, the command &amp;lt;code&amp;gt;/usr/sbin/iwconfig&amp;lt;/code&amp;gt; should reveal an interface &amp;lt;code&amp;gt;ra0&amp;lt;/code&amp;gt; representing your RT61 card.  If &amp;lt;code&amp;gt;ra0&amp;lt;/code&amp;gt; exists, the command &amp;lt;code&amp;gt;/sbin/ifconfig ra0 up&amp;lt;/code&amp;gt; will activate the wireless interface.&lt;br /&gt;
&lt;br /&gt;
To verify that you can see wireless networks, the command &amp;lt;code&amp;gt;iwlist ra0&lt;br /&gt;
scan&amp;lt;/code&amp;gt; will display all wireless networks in range that are&lt;br /&gt;
broadcasting their ESSIDs.&lt;br /&gt;
&lt;br /&gt;
Once you know which network to which you would like to connect, use&lt;br /&gt;
the following commands to do just that:&lt;br /&gt;
&lt;br /&gt;
 /usr/sbin/iwconfig ra0 essid &amp;quot;My Network&amp;quot;&lt;br /&gt;
 /usr/sbin/iwconfig ra0 channel 9&lt;br /&gt;
 /usr/sbin/iwconfig ra0 key s:pword  (for WEP networks)&lt;br /&gt;
 /sbin/dhclient ra0&lt;br /&gt;
&lt;br /&gt;
Basically, this is setting the network name, channel, and WEP key for&lt;br /&gt;
your chosen network and then running &amp;lt;code&amp;gt;dhclient&amp;lt;/code&amp;gt; to obtain a DHCP lease and perform the actual connection.  The network name and channel can&lt;br /&gt;
be obtained from the &amp;lt;code&amp;gt;iwlist ra0 scan&amp;lt;/code&amp;gt; output.  Note that the network&lt;br /&gt;
does not have to be broadcasting its ESSID in order to connect in this&lt;br /&gt;
manner.&lt;br /&gt;
&lt;br /&gt;
The final dhclient command will result in an IP address assigned to&lt;br /&gt;
&amp;lt;code&amp;gt;ra0&amp;lt;/code&amp;gt;, routing tables configured, and DNS set up.  After dhclient&lt;br /&gt;
finishes, the command &amp;lt;code&amp;gt;/sbin/ifconfig ra0&amp;lt;/code&amp;gt; should reveal that &amp;lt;code&amp;gt;ra0&amp;lt;/code&amp;gt; has an IP address associated with it.  At this point everything should be working!&lt;br /&gt;
&lt;br /&gt;
If you would like your system to associate with the network on boot,&lt;br /&gt;
you must be put the below commands in one of your system's startup&lt;br /&gt;
scripts (I used &amp;lt;code&amp;gt;/etc/rc.d/rc.local&amp;lt;/code&amp;gt; but &amp;lt;code&amp;gt;/etc/rc.d/rc.inet1&amp;lt;/code&amp;gt; is also a good candidate):&lt;br /&gt;
&lt;br /&gt;
 /sbin/ifconfig ra0 up&lt;br /&gt;
 /usr/sbin/iwconfig ra0 essid &amp;quot;My Network&amp;quot;&lt;br /&gt;
 /usr/sbin/iwconfig ra0 channel 9&lt;br /&gt;
 /usr/sbin/iwconfig ra0 key s:pword  (for WEP networks)&lt;br /&gt;
 /sbin/dhclient ra0&lt;br /&gt;
&lt;br /&gt;
== Other Configuration ==&lt;br /&gt;
To get the wireless card to send a host name to the access point, the below line must be added to &amp;lt;code&amp;gt;/etc/dhclient.conf&amp;lt;/code&amp;gt;:&lt;br /&gt;
 send host-name &amp;quot;HOSTNAME&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;dhclient.conf&amp;lt;/code&amp;gt; accepts many other parameters; for full details check out the man page (&amp;lt;code&amp;gt;man dhclient.conf&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
Hopefully this was helpful - it includes a few things I had to learn&lt;br /&gt;
the hard way.  Thank you also to the rt2x00 team for providing such an&lt;br /&gt;
excellent driver collection and website to help people like myself get&lt;br /&gt;
their cards running on Linux!&lt;/div&gt;</description>
			<pubDate>Sun, 04 Feb 2007 04:30:16 GMT</pubDate>			<dc:creator>Zvickery</dc:creator>			<comments>http://rt2x00.serialmonkey.com/wiki/index.php/Talk:Slackware9_rt61_Howto</comments>		</item>
		<item>
			<title>Slackware Howto</title>
			<link>http://rt2x00.serialmonkey.com/wiki/index.php/Slackware_Howto</link>
			<description>&lt;p&gt;Summary: /* Network startup the graphical (X) way */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Slackware RT2500 HOWTO''' ==&lt;br /&gt;
&lt;br /&gt;
Copyleft 2007 Alex&lt;br /&gt;
&lt;br /&gt;
Permission is granted to copy, distribute and/or modify this document  under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled &amp;quot;GNU Free Documentation License&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
This is a HOWTO document for getting rt2500 based wireless NIC cards working on Slackware Linux. It has been tested and found to work on Cisco's WRT45G wireless'' adapter working under Slackware 10 and 11.&lt;br /&gt;
&lt;br /&gt;
==Compilation and device driver installation==&lt;br /&gt;
&lt;br /&gt;
Follow the instructions provided in the README/INSTALL files found in the rt2500 tarball for compiling the device driver modules and installing them into the system. If rc.hotplug is disabled on your system. Then you need to type&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
modprobe rt2500&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
to insert the driver module into the kernel upon system startup.&lt;br /&gt;
&lt;br /&gt;
==Network startup the graphical (X) way==&lt;br /&gt;
&lt;br /&gt;
In this section I will describe a method that makes use of the RaConfig2500 graphical utility supplied with the rt2500 tarball.&lt;br /&gt;
&lt;br /&gt;
After your Slackware has fully booted. You may execute the following two lines without going into X Windows (normal Slackware installations do not automatically boot into X, unlike Fedora ;-)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
modprobe rt2500            #necessary if rc.hotplug is disabled&lt;br /&gt;
ifconfig ra0 up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Then, launch X with the startx command and run the following commands&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd rt2500*                 #assuming that you've untargzed rt2500 tarball&lt;br /&gt;
                           #into the current directory&lt;br /&gt;
cd Utilitys&lt;br /&gt;
RaConfig2500 &amp;amp;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The dialog box shown below will pop up.&lt;br /&gt;
&lt;br /&gt;
http://images4.wikia.nocookie.net/ascm/images/e/ea/Wlan0.png&lt;br /&gt;
&lt;br /&gt;
In my case the wireless NIC connected with the WAP named &amp;quot;WLAN&amp;quot; automatically because WLAN does not use any passwords. However, the signal strength of WLAN is too weak (10%) to be of any use. Therefore I need to switch to my home WAP named &amp;quot;havenview&amp;quot;, which uses the WEP encryption algorithm. I clicked on the &amp;quot;havenview&amp;quot; entry and then pressed the &amp;quot;Connect&amp;quot; button (right next to the &amp;quot;Rescan&amp;quot; button). A dialog box then popped up asking me to enter the encryption key. After everything is entered and confirmed, the green handshake icon migrates from WLAN to havenview.&lt;br /&gt;
&lt;br /&gt;
The final step consists of obtaining a DHCP address (assuming that the wireless router is configured to perform DHCP, which applies to most routers used nowadays). The version of DHCP supplied with Slackware 10 is too low to work with wireless network interfaces. Therefore when one attempts to execute&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
dhclient ra0&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
the DHCP program will come back with an error message complaining about the non-existence of ra0 and a link to redirect the users to the latest version of the dhclient program. Take note of the link, go there and download the latest version of the DHCP daemon program and compile it. Then run the following commands.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd dhcp*                   #assuming that you've untargzed dhcpx.y.z tarball&lt;br /&gt;
                           #into the current directory&lt;br /&gt;
cd work*&lt;br /&gt;
cd client&lt;br /&gt;
./dhclient ra0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
It is &amp;lt;strong&amp;gt;absolutely&amp;lt;/strong&amp;gt; imperative to use ./ infront of dhclient, or else the default version of dhclient gets executed and nothing happens.&lt;br /&gt;
&lt;br /&gt;
I think that the dhcp package that comes with Slackware versions 11 and later natively supports listening for DHCP servers on wireless networks. So it is no longer necessary to download newest version of dhclient and using ./ to run it from a specific directory.&lt;br /&gt;
&lt;br /&gt;
The 2 screenshots below demonstrate how to properly use newest version of dhclient (version 3.0.4 for me) and what ifconfig should display for ra0 if everything has been set up properly.&lt;br /&gt;
&lt;br /&gt;
http://images2.wikia.nocookie.net/ascm/images/0/07/Wlan1.png&lt;br /&gt;
&lt;br /&gt;
http://images4.wikia.nocookie.net/ascm/images/c/c6/Wlan2.png&lt;br /&gt;
&lt;br /&gt;
Finally, thou shalt be awarded with Internet access, as shown in figure below:&lt;br /&gt;
&lt;br /&gt;
http://images2.wikia.nocookie.net/ascm/images/e/ef/Wlan3.png&lt;br /&gt;
&lt;br /&gt;
As for Slackware 11, the default version of DHCP is good enough to handle ra0, therefore after ifconfig one could directly type &amp;quot;dhclient ra0&amp;quot; to grab an IP for the wireless NIC and start working.&lt;br /&gt;
&lt;br /&gt;
==Network Startup the Shell-based way==&lt;br /&gt;
&lt;br /&gt;
For you hard-core shell-aficionados (of which I'm a member), there is a way of starting up ra0 without ever going into X. I shall finish writing this section when I have more time.&lt;br /&gt;
&lt;br /&gt;
And here it is:&lt;br /&gt;
&lt;br /&gt;
Enter the following sequence of commands in a root shell:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
modprobe rt2500&lt;br /&gt;
iwconfig ra0 essid &amp;quot;&amp;lt;essid of your wireless network&amp;gt;&amp;quot;&lt;br /&gt;
iwconfig ra0 mode Managed&lt;br /&gt;
iwconfig ra0 channel &amp;lt;channel # of your wireless network&amp;gt;&lt;br /&gt;
&amp;lt;enc lines&amp;gt;&lt;br /&gt;
ifconfig ra0 up&lt;br /&gt;
dhcpcd ra0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For &amp;lt;enc lines&amp;gt;, if you don't have any encryption set for your wireless network then there are no lines for you to enter and &amp;lt;enc lines&amp;gt; equate to nothing.&lt;br /&gt;
&lt;br /&gt;
If you use WEP, then substitute the following lines for &amp;lt;enc lines&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
iwconfig ra0 enc &amp;lt;your hex WEP key&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you use more advanced form of encryption than WEP then you need to use ''iwpriv'' to set the parameters required for your rt2500 to communicate properly with the WAP. Refer to the Ubuntu howto for more details.&lt;br /&gt;
&lt;br /&gt;
Note that all quotation marks in the command lines must be entered as is. But the stuff in angled brackets must be replaced by the unique names and numbers you use for your own wireless network.&lt;br /&gt;
&lt;br /&gt;
'''Note''': I just realized that as of Slackware 11 &amp;quot;dhclient ra0&amp;quot; still does not work. Instead you need to enter &amp;quot;dhcpcd ra0&amp;quot; for your rt2500 to get its own IP address. Other than the names used the two commands are otherwise completely equivalent.&lt;br /&gt;
&lt;br /&gt;
==Acknowledgements==&lt;br /&gt;
&lt;br /&gt;
Thanks to Mark Wallis for setting me up an account, and the crew of Rt2x00 for everything. Now only if my accursed USRobotics 56K Winmodem would also work in Slackware (teeth gritting), life would be so much better!&lt;/div&gt;</description>
			<pubDate>Mon, 08 Jan 2007 14:39:55 GMT</pubDate>			<dc:creator>Sxiang</dc:creator>			<comments>http://rt2x00.serialmonkey.com/wiki/index.php/Talk:Slackware_Howto</comments>		</item>
		<item>
			<title>Rt2x00 FAQ</title>
			<link>http://rt2x00.serialmonkey.com/wiki/index.php/Rt2x00_FAQ</link>
			<description>&lt;p&gt;Summary: /* Network startup the graphical (X) way */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Slackware RT2500 HOWTO''' ==&lt;br /&gt;
&lt;br /&gt;
Copyleft 2007 Alex&lt;br /&gt;
&lt;br /&gt;
Permission is granted to copy, distribute and/or modify this document  under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled &amp;quot;GNU Free Documentation License&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
This is a HOWTO document for getting rt2500 based wireless NIC cards working on Slackware Linux. It has been tested and found to work on Cisco's WRT45G wireless'' adapter working under Slackware 10 and 11.&lt;br /&gt;
&lt;br /&gt;
==Compilation and device driver installation==&lt;br /&gt;
&lt;br /&gt;
Follow the instructions provided in the README/INSTALL files found in the rt2500 tarball for compiling the device driver modules and installing them into the system. If rc.hotplug is disabled on your system. Then you need to type&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
modprobe rt2500&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
to insert the driver module into the kernel upon system startup.&lt;br /&gt;
&lt;br /&gt;
==Network startup the graphical (X) way==&lt;br /&gt;
&lt;br /&gt;
In this section I will describe a method that makes use of the RaConfig2500 graphical utility supplied with the rt2500 tarball.&lt;br /&gt;
&lt;br /&gt;
After your Slackware has fully booted. You may execute the following two lines without going into X Windows (normal Slackware installations do not automatically boot into X, unlike Fedora ;-)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
modprobe rt2500            #necessary if rc.hotplug is disabled&lt;br /&gt;
ifconfig ra0 up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Then, launch X with the startx command and run the following commands&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd rt2500*                 #assuming that you've untargzed rt2500 tarball&lt;br /&gt;
                           #into the current directory&lt;br /&gt;
cd Utilitys&lt;br /&gt;
RaConfig2500 &amp;amp;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The dialog box shown below will pop up.&lt;br /&gt;
&lt;br /&gt;
http://images4.wikia.nocookie.net/ascm/images/e/ea/Wlan0.png&lt;br /&gt;
&lt;br /&gt;
In my case the wireless NIC connected with the WAP named &amp;quot;WLAN&amp;quot; automatically because WLAN does not use any passwords. However, the signal strength of WLAN is too weak (10%) to be of any use. Therefore I need to switch to my home WAP named &amp;quot;havenview&amp;quot;, which uses the WEP encryption algorithm. I clicked on the &amp;quot;havenview&amp;quot; entry and then pressed the &amp;quot;Connect&amp;quot; button (right next to the &amp;quot;Rescan&amp;quot; button). A dialog box then popped up asking me to enter the encryption key. After everything is entered and confirmed, the green handshake icon migrates from WLAN to havenview.&lt;br /&gt;
&lt;br /&gt;
The final step consists of obtaining a DHCP address (assuming that the wireless router is configured to perform DHCP, which applies to most routers used nowadays). The version of DHCP supplied with Slackware 10 is too low to work with wireless network interfaces. Therefore when one attempts to execute&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
dhclient ra0&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
the DHCP program will come back with an error message complaining about the non-existence of ra0 and a link to redirect the users to the latest version of the dhclient program. Take note of the link, go there and download the latest version of the DHCP daemon program and compile it. Then run the following commands.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd dhcp*                   #assuming that you've untargzed dhcpx.y.z tarball&lt;br /&gt;
                           #into the current directory&lt;br /&gt;
cd work*&lt;br /&gt;
cd client&lt;br /&gt;
./dhclient ra0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
It is &amp;lt;strong&amp;gt;absolutely&amp;lt;/strong&amp;gt; imperative to use ./ infront of dhclient, or else the default version of dhclient gets executed and nothing happens.&lt;br /&gt;
&lt;br /&gt;
I think that the dhcp package that comes with Slackware versions 11 and later natively supports listening for DHCP servers on wireless networks. So it is no longer necessary to download newest version of dhclient and using ./ to run it from a specific directory.&lt;br /&gt;
&lt;br /&gt;
The 2 screenshots below demonstrate how to properly use newest version of dhclient (version 3.0.4 for me) and what ifconfig should display for ra0 if everything has been set up properly.&lt;br /&gt;
&lt;br /&gt;
http://images2.wikia.nocookie.net/ascm/images/0/07/Wlan1.png&lt;br /&gt;
&lt;br /&gt;
http://images4.wikia.nocookie.net/ascm/images/c/c6/Wlan2.png&lt;br /&gt;
&lt;br /&gt;
Finally, thou shalt be awarded with Internet access, as shown in figure below:&lt;br /&gt;
&lt;br /&gt;
http://images2.wikia.nocookie.net/ascm/images/e/ef/Wlan3.png&lt;br /&gt;
&lt;br /&gt;
As for Slackware 11, the default version of DHCP is good enough to handle ra0, therefore after ifconfig one could directly type &amp;quot;dhclient ra0&amp;quot; to grab an IP for the wireless NIC and start working.&lt;br /&gt;
&lt;br /&gt;
==Network Startup the Shell-based way==&lt;br /&gt;
&lt;br /&gt;
For you hard-core shell-aficionados (of which I'm a member), there is a way of starting up ra0 without ever going into X. I shall finish writing this section when I have more time.&lt;br /&gt;
&lt;br /&gt;
And here it is:&lt;br /&gt;
&lt;br /&gt;
Enter the following sequence of commands in a root shell:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
modprobe rt2500&lt;br /&gt;
iwconfig ra0 essid &amp;quot;&amp;lt;essid of your wireless network&amp;gt;&amp;quot;&lt;br /&gt;
iwconfig ra0 mode Managed&lt;br /&gt;
iwconfig ra0 channel &amp;lt;channel # of your wireless network&amp;gt;&lt;br /&gt;
&amp;lt;enc lines&amp;gt;&lt;br /&gt;
ifconfig ra0 up&lt;br /&gt;
dhcpcd ra0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For &amp;lt;enc lines&amp;gt;, if you don't have any encryption set for your wireless network then there are no lines for you to enter and &amp;lt;enc lines&amp;gt; equate to nothing.&lt;br /&gt;
&lt;br /&gt;
If you use WEP, then substitute the following lines for &amp;lt;enc lines&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
iwconfig ra0 enc &amp;lt;your hex WEP key&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you use more advanced form of encryption than WEP then you need to use ''iwpriv'' to set the parameters required for your rt2500 to communicate properly with the WAP. Refer to the Ubuntu howto for more details.&lt;br /&gt;
&lt;br /&gt;
Note that all quotation marks in the command lines must be entered as is. But the stuff in angled brackets must be replaced by the unique names and numbers you use for your own wireless network.&lt;br /&gt;
&lt;br /&gt;
'''Note''': I just realized that as of Slackware 11 &amp;quot;dhclient ra0&amp;quot; still does not work. Instead you need to enter &amp;quot;dhcpcd ra0&amp;quot; for your rt2500 to get its own IP address. Other than the names used the two commands are otherwise completely equivalent.&lt;br /&gt;
&lt;br /&gt;
==Acknowledgements==&lt;br /&gt;
&lt;br /&gt;
Thanks to Mark Wallis for setting me up an account, and the crew of Rt2x00 for everything. Now only if my accursed USRobotics 56K Winmodem would also work in Slackware (teeth gritting), life would be so much better!&lt;/div&gt;</description>
			<pubDate>Thu, 26 Oct 2006 18:06:05 GMT</pubDate>			<dc:creator>Ivo</dc:creator>			<comments>http://rt2x00.serialmonkey.com/wiki/index.php/Talk:Rt2x00_FAQ</comments>		</item>
		<item>
			<title>ClarkConnect 3.2 rt2500 Howto</title>
			<link>http://rt2x00.serialmonkey.com/wiki/index.php/ClarkConnect_3.2_rt2500_Howto</link>
			<description>&lt;p&gt;Summary: /* '''CLARKCONNECT RT2500 HOWTO''' */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''CLARKCONNECT RT2500 HOWTO''' ==&lt;br /&gt;
&lt;br /&gt;
Copyright © 2006 Jeremy Rogers&lt;br /&gt;
&lt;br /&gt;
Permission is granted to copy, distribute and/or modify this document  under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled &amp;quot;GNU Free Documentation License&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
'''Introduction'''&lt;br /&gt;
This is a HOWTO document for getting an 802.11g wireless NIC card based on the RT2500 chipset to work under the CENTOS-based Clarkconnect releases 3.2 thru 4.3 (www.clarkconnect.com), in a configuration where the RT2500 NIC is installed as a second NIC in addition to a fixed wire NIC behind the firewall. As a Linux newbie, Aaron Howard’s excellent CENTOS HOWTO pointed me in the right direction and this HOWTO borrows from some of his.&lt;br /&gt;
&lt;br /&gt;
''Disclaimer'': as a linux newbie I don’t guarantee that all the steps set out here are actually necessary or sufficient. They do, however, appear to work: I  originally worked out how to get the card working on an experimental clean CC3.2 installation on a spare box before then repeating the process on the live working server.&lt;br /&gt;
&lt;br /&gt;
== '''Installing the cc developer tools and kernel sources/developer kit''' ==&lt;br /&gt;
&lt;br /&gt;
(from clarkconnect newbie portal: http://newbie.valar.co.uk/)&lt;br /&gt;
&lt;br /&gt;
'''Installing the developer tools:'''&lt;br /&gt;
You may need to install the developer tools – if you’ve got loads of disc space then it can’t do any harm. If for some reason disk space is short (e.g. like me you installed the basic CC system on a 2Gb disk) then you might be able to proceed without this step.&lt;br /&gt;
----&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get install cc-devel&lt;br /&gt;
 apt-get install make&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Installing the kernel sources'''&amp;lt;br&amp;gt;&lt;br /&gt;
''(NB requires ~250Mb free disk space for kernel source install)''&lt;br /&gt;
&lt;br /&gt;
Compiling the RT2500 module from its sources requires some of the sources for your linux kernel to also be available. You can either install the full kernel sources, or only the (much smaller) kernel developer package from Clarkconnect. Whichever option you choose, you first need to know which version of the kernel you’re running:&lt;br /&gt;
----&lt;br /&gt;
 uname –r&lt;br /&gt;
----&lt;br /&gt;
You also need to know which CPU type your kernel is compiled for.&lt;br /&gt;
----&lt;br /&gt;
 modinfo libcrc32c.ko&lt;br /&gt;
----&lt;br /&gt;
…returns information about the existing kernel module libcrc32c.ko ( concerning some aspects of the software and hardware environment it expects to run under, including an output line something like:&lt;br /&gt;
&lt;br /&gt;
  vermagic:       2.6.9-27.cc '''686''' REGPARM 4KSTACKS gcc-3.4&lt;br /&gt;
&lt;br /&gt;
(I chose libcrc32c.ko randomly; modinfo on other kernel modules would return similar info)&lt;br /&gt;
&lt;br /&gt;
This tells you which kernel version and processor type the module was compiled for, and which compiler was used (gcc-3.4 in this case). Take particular note of the bit highlighted, reading either 686 or 586 depending on which processor you’ve got (or presumably something else for dual core systems). You can't compile the rt2500 module using kernel sources for the wrong processor, and a version of the rt2500 module compiled on a 586 machine with the 586 kernel sources won't work if you copy the compiled ko file across to a 686 machine, even if the kernel version on that machine is the same. &lt;br /&gt;
&lt;br /&gt;
To actually compile the RT2500 module you can either install (and compile) the entire kernel sources, or only install the kernel developer package (which is smaller and doesn’t need compiling). I originally went down the entire kernel source route, and didn’t find out about the kernel developer package until second time around. I’d suggest the kernel developer route - option 1 below –  though this may also require you to upgrade your kernel. I’ve documented the kernel sources route (option 2) as well just in case it proves useful. &lt;br /&gt;
&lt;br /&gt;
'''Option 1: Installing the kernel developer package''' &lt;br /&gt;
&lt;br /&gt;
''(much quicker but slightly more fiddly)''&lt;br /&gt;
&lt;br /&gt;
In theory, you can just type:&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
 apt-get install –V kernel-devel&lt;br /&gt;
----&lt;br /&gt;
…and this will install the correct kernel developer package under /usr/src/kernels. In my experience, however, it may install a kernel-devel package for the wrong kernel version. The –V switch will tell you which version is being installed, or you simply look at what’s under /usr/src/kernels. If what gets installed matches your current running kernel, you can skip to section 2. If you don’t get the one matching your actual kernel, the more fiddly solution is as follows:&lt;br /&gt;
&lt;br /&gt;
Using a web browser, examine the contents of Clarkconnect’s developer site at http://download.clarkconnect.org/3.2/developer/ to see whether there is a package listed with a name something like:&lt;br /&gt;
&lt;br /&gt;
  kernel-devel-x.x.x-x.cc.iyyy.rpm&lt;br /&gt;
&lt;br /&gt;
…where x.x.x-x.cc should match the kernel version you’re running (as determined above using uname –r) and yyy should match your processor type, as determined by the modinfo command earlier. If such a package exists, you can type:&lt;br /&gt;
----&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 wget&lt;br /&gt;
 http://download.clarkconnect.org/3.2/developer/kernel-devel-x.x.x-x.cc.iyyy.rpm&lt;br /&gt;
 rpm –Uvh kernel-devel-x.x.x-x.cc.iyyy.rpm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
If there’s no kernel-devel package that matches your running kernel, then its time to upgrade your kernel:&lt;br /&gt;
----&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get install kernel&lt;br /&gt;
	(returns a list of available kernel versions)&lt;br /&gt;
 apt-get install kernel#x.x.x-xx.cc&lt;br /&gt;
	(where x.x.x-xx.cc matches a version with a matching kernel-devel package)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Option 2: Installing and compiling the entire kernel sources''' &lt;br /&gt;
''(takes ages, and needs tons of disk space)''&lt;br /&gt;
----&lt;br /&gt;
 apt-get clean&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get install kernel-source&lt;br /&gt;
	(returns a list of available sources)&amp;lt;br&amp;gt;&lt;br /&gt;
 apt-get install kernel-source#x.x.x-xx.cc&lt;br /&gt;
	(x.x.x-xx.cc should match the kernel version you are running)&amp;lt;br&amp;gt;&lt;br /&gt;
 cd /usr/src/linux-2.6.9-27.cc&lt;br /&gt;
 make oldconfig&lt;br /&gt;
 make&lt;br /&gt;
	(will take a LONG time – an hour or more)&amp;lt;br&amp;gt;&lt;br /&gt;
 depmod&lt;br /&gt;
----&lt;br /&gt;
…where make oldconfig (I think) copies the default cc build config file into the right place, so that the make then builds a replica of the kernel you’ve already got. The compilation will take a LONG time, probably an hour or more. It may produce a few error messages; ignore them.&lt;br /&gt;
&lt;br /&gt;
NB the final depmod step seems to be necessary if using the beta3 release of the rt2500 driver. The beta4 release compile (make) script includes a line to call depmod before the main rt2500 module build starts.&lt;br /&gt;
&lt;br /&gt;
If that doesn’t work, you could always try what I originally did:&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
 cd /usr/src/2.6.9-27.cc&lt;br /&gt;
 make menuconfig&lt;br /&gt;
 make&lt;br /&gt;
 depmod&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
…where make menuconfig brings up a GUI for selecting which kernel options you want to install, so you can roll your own config. For me, this GUI came up with many options preselected or predeselected. I left the options unchanged, saved the file and did the make and depmod before then&lt;br /&gt;
&lt;br /&gt;
== '''Obtaining and unpacking the RT2500 driver sources''' ==&lt;br /&gt;
(from Aaron Howard’s excellent HOWTO install on a CENTOS distro http://rt2x00.serialmonkey.com/wiki/index.php/HOWTOS)&lt;br /&gt;
&lt;br /&gt;
Navigate to the /usr/src subdirectory.&lt;br /&gt;
----&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''1. Download the RT2500 driver module sources'''&lt;br /&gt;
for example via sourceforge:&lt;br /&gt;
----&lt;br /&gt;
 wget http://voxel.dl.sourceforge.net/sourceforge/rt2400/rt2500-1.1.0-b4.tar.gz &lt;br /&gt;
----&lt;br /&gt;
This will download the beta-4 version of the rt2500 driver (released in June 2006) directly into the directory you’re currently in, ie /usr/src&lt;br /&gt;
&lt;br /&gt;
You can get the driver from whatever mirror you like – you can find out where its available from the rt2500 project downloads page at :&lt;br /&gt;
&lt;br /&gt;
  http://rt2x00.serialmonkey.com/wiki/index.php/Downloads. &lt;br /&gt;
&lt;br /&gt;
NB Make sure you're getting the rt2500 driver, not the rt2400 driver.  Also, don’t try the rt2x00 driver as this only works with linux kernel versions more advanced than that used by Clarkconnect 3.2 out of the box.&lt;br /&gt;
&lt;br /&gt;
'''2. Untar the driver source tarball''' &lt;br /&gt;
----&lt;br /&gt;
 tar zxvf rt2500-1.1.0-b4.tar.gz &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
This creates a new directory below the current one called rt2500-1.1.0-b4 under which are all the driver source files. &lt;br /&gt;
 &lt;br /&gt;
== '''Compiling the RT2500 driver module''' ==&lt;br /&gt;
&lt;br /&gt;
In the rt2500-1.1.0-b4 directory is another subdirectory called Module:&lt;br /&gt;
----&lt;br /&gt;
 cd rt2500-1.1.0-b4/Module &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
In order for the rt2500 sources to compile, you have to have a symbolic link called build within your currently running kernel under /lib/modules/x.x.x-xx that points to the sources under /usr/src/linux-x.x.x-xx.cc, where x.x.x-xx identifies your currently running kernel. &lt;br /&gt;
&lt;br /&gt;
If you installed the kernel-devel package rather than the entire kernel sources, this link should have been made for you…but I recommend checking that it exists and is pointing to the right place:&lt;br /&gt;
----&lt;br /&gt;
 ls –l /lib/modules/x.x.x-xx.cc&lt;br /&gt;
----&lt;br /&gt;
..will produce a directory listing that should include a line:&lt;br /&gt;
&lt;br /&gt;
  lrwxrwxrwx  1 root root 26 Jul 10 21:28 build -&amp;gt; /usr/src/linux-x.x.x-xx.cc&lt;br /&gt;
&lt;br /&gt;
If this symbolic link exists, but is for some reason not pointing to the right place, you can remove it as follows:&lt;br /&gt;
----&lt;br /&gt;
 rm –f /lib/modules/x.x.x-xx.cc/build&lt;br /&gt;
----&lt;br /&gt;
To create the symbolic link (e.g. if you went for the entire kernel sources option), type the following: &lt;br /&gt;
----&lt;br /&gt;
 ln -s /usr/src/linux-x.x.x-xx.cc /lib/modules/x.x.x-x.cc/build &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
In theory, after all that preparation, you can now actually compile the actual rt2500 module, and then install it. From the /usr/src/rt2500-1.1.0-b4/Module directory, issue these commands: &lt;br /&gt;
----&lt;br /&gt;
 make clean&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
This will build the rt2500.ko module, place a copy of it somewhere under /lib/modules, and make some other (possibly) not completely correct other changes that we’ll check and/or fix in the next section. &lt;br /&gt;
First, however, you can check that the compiled module is going to be compatible with your kernel:&lt;br /&gt;
----&lt;br /&gt;
 modinfo rt2500&lt;br /&gt;
----&lt;br /&gt;
..should return output with a line like:&lt;br /&gt;
&lt;br /&gt;
  vermagic:       2.6.9-27.cc 686 REGPARM 4KSTACKS gcc-3.4&lt;br /&gt;
&lt;br /&gt;
…where the kernel version, processor type and compiler ID should match the one you got earlier. &lt;br /&gt;
&lt;br /&gt;
== '''Installing the rt2500 driver''' ==&lt;br /&gt;
Especially if you went for the ‘entire kernel sources’ option, the rt2500 make install may not install the module into the right place: instead of putting it under /lib/modules/x.x.x-xx, you may find it instead under something like /lib/modules/x.x.x-xx.cccustom .&lt;br /&gt;
&lt;br /&gt;
Copy the rt2500.ko module into the directory where clarkconnect stores the driver modules for those wireless cards that it supports out of the box:&lt;br /&gt;
----&lt;br /&gt;
 cp /usr/src/rt2500-1.1.0-b4/Module/rt2500.ko /lib/modules/x.x.x-xx.cc/kernel/drivers/net/wireless&lt;br /&gt;
----&lt;br /&gt;
NB if you get a prompt asking whether you want to overwrite the file, this means the make install got it right first time. You can type ‘y’ or ‘n’ as you choose.&lt;br /&gt;
 &lt;br /&gt;
'''5. Loading the module'''&lt;br /&gt;
Now we need to join up the dots between lower level hardware configuration of your CCbox and the driver module you just built.&lt;br /&gt;
&lt;br /&gt;
First lets find out whether your wireless card, which you should have fitted onto your motherboard, is recognised as a PCI device:&lt;br /&gt;
----&lt;br /&gt;
 lspci&lt;br /&gt;
----&lt;br /&gt;
Examine the output of lspci. Assuming the rt2500 card is currently fitted in a PCI slot on the motherboard of your machine, you should see a line that looks something like this:&lt;br /&gt;
&lt;br /&gt;
  00:08.0 Network controller: RaLink Ralink RT2500 802.11 Cardbus Reference Card (rev 01)&lt;br /&gt;
&lt;br /&gt;
Now examine the hardware configuration file hwconf. This tells us what interface ID kudzu (the plug-and-pray –hardware-detector-manager thang that runs every time you reboot) has assigned to your card. Type:&lt;br /&gt;
----&lt;br /&gt;
 less /etc/sysconfig/hwconf &lt;br /&gt;
----&lt;br /&gt;
…and scroll down until you see a section something like this:&lt;br /&gt;
&lt;br /&gt;
  class: NETWORK&lt;br /&gt;
  bus: PCI&lt;br /&gt;
  detached: 0&lt;br /&gt;
  device: ra0&lt;br /&gt;
  driver: unknown&lt;br /&gt;
  desc: &amp;quot;RaLink Ralink RT2500 802.11 Cardbus Reference Card&amp;quot;&lt;br /&gt;
  network.hwaddr: xx:xx:xx:xx:xx:xx&lt;br /&gt;
  vendorId: 1814&lt;br /&gt;
  deviceId: 0201&lt;br /&gt;
  subVendorId: 1799&lt;br /&gt;
  subDeviceId: 700a&lt;br /&gt;
  pciType: 1&lt;br /&gt;
  pcidom:    0&lt;br /&gt;
  pcibus:  0&lt;br /&gt;
  pcidev:  8&lt;br /&gt;
  pcifn:  0&lt;br /&gt;
&lt;br /&gt;
In the example above the rt2500 card has been assigned ra0 as its device identifier. If it doesn’t show ra0, but instead shows e.g. eth2, and also if it doesn’t show the card’s MAC address, and despite following the rest of this guide the card still doesn’t work, then you should probably reboot the system a few times until kudzu kicks in during bootup and asks you to enter the card configuration information. In my experience the card first appears in hwconf assigned to eth2 but with no MAC address showing but eventually settles down to showing up with its MAC address but assigned to ra0. (I *think* this only happens successfully if you reboot after having built and installed the driver, installed it into the kernel with modprobe, and edited modprobe.conf before rebooting.)&lt;br /&gt;
&lt;br /&gt;
The end result of being assigned ra0 is possibly a problem, because bits of Clarkconnect reputedly won’t necessarily work very well with active interfaces called anything other than something like ethx. If your hwconf file already says the card has been assigned an ident like ethx then you may or may not be OK. If things don't work, you’ll need to do the interface renaming steps described later.&lt;br /&gt;
&lt;br /&gt;
(If you try editing hwconf by hand, for example to change ra0 to eth2, then the next time you reboot your machine kudzu will very likely pop up with an interactive interface in the middle of the reboot, and change it back. I’ve not yet worked out how kudzu works, or what determines which particular interface ident it assigns. )&lt;br /&gt;
&lt;br /&gt;
Before we finally power up the rt2500.ko module, we need to tell the kernel module loader (modprobe) what to call the new interface. Type:&lt;br /&gt;
----&lt;br /&gt;
 nano /etc/modprobe.conf&lt;br /&gt;
----&lt;br /&gt;
…and find the line (probably the last line) that was inserted by the rt2500 module make install routine you ran earlier, and which probably reads:&lt;br /&gt;
&lt;br /&gt;
  alias ra0 rt2500&lt;br /&gt;
&lt;br /&gt;
If  hwconf showed that the card has been assigned ra0, then you don’t need to change this: exit nano without making any changes. On the other hand, if hwconf showed a different device name (e.g. eth2) then edit this last line of modprobe.conf to read (for example):&lt;br /&gt;
&lt;br /&gt;
  alias eth2 rt2500&lt;br /&gt;
&lt;br /&gt;
…and then save the new modprobe.conf before exiting nano. &lt;br /&gt;
&lt;br /&gt;
Now you can try to actually load the module. Type:&lt;br /&gt;
----&lt;br /&gt;
 modprobe rt2500&lt;br /&gt;
----&lt;br /&gt;
There should be a short pause, after which the command prompt should return. If you get any other response (including for example that modprobe can’t find the rt2500 module) re-read the instructions above. If that fails to fix the problem, you’re on your own. Sorry.&lt;br /&gt;
&lt;br /&gt;
To confirm that the driver has loaded, type:&lt;br /&gt;
----&lt;br /&gt;
 ifconfig ra0/eth2/whatever&lt;br /&gt;
----&lt;br /&gt;
..and you should see something like this:&lt;br /&gt;
&lt;br /&gt;
         eth2     Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx&lt;br /&gt;
         BROADCAST MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
         RX packets:1755 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
         TX packets:3102 errors:14 dropped:14 overruns:0 carrier:0&lt;br /&gt;
         collisions:60 txqueuelen:1000&lt;br /&gt;
         RX bytes:342526 (334.4 KiB)  TX bytes:1853988 (1.7 MiB)&lt;br /&gt;
         Interrupt:12 Base address:0x8000&lt;br /&gt;
&lt;br /&gt;
Note that this report also shows the MAC address of the card (after the HWaddr tag on the first line). Make a note of the MAC address – you’ll need it in the next step.&lt;br /&gt;
&lt;br /&gt;
'''Renaming the interface'''&lt;br /&gt;
As said earlier, if your interface is currently called ra0 there may be a problem later with some parts of the Clarkconnect suite. Rumour has it some CC components expect all interfaces to be called ethx. You’re welcome to experiment with keeping your wireless interface as ra0 or whatever; the interface renaming method described below was part of what worked for me. It may not in fact be critical or necessary.&lt;br /&gt;
&lt;br /&gt;
Obviously, we want any renaming of the interface to happen every time the machine reboots, ideally during the script that brings up all the interfaces. To achieve this, type:&lt;br /&gt;
----&lt;br /&gt;
 nano /etc/init.d/network&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Immediately after the fourth pair of lines in the section towards the top of the file (reproduced below) that reads:&lt;br /&gt;
&lt;br /&gt;
# Check that networking is up.&lt;br /&gt;
[ &amp;quot;${NETWORKING}&amp;quot; = &amp;quot;no&amp;quot; ] &amp;amp;&amp;amp; exit 0&lt;br /&gt;
&lt;br /&gt;
# if the ip configuration utility isn't around we can't function.&lt;br /&gt;
[ -x /sbin/ip ] || exit 1&lt;br /&gt;
&lt;br /&gt;
# Even if IPX is configured, without the utilities we can't do much&lt;br /&gt;
[ ! -x /sbin/ipx_internal_net -o ! -x /sbin/ipx_configure ] &amp;amp;&amp;amp; IPX=&lt;br /&gt;
&lt;br /&gt;
# Even if VLAN is configured, without the utility we can't do much&lt;br /&gt;
[ ! -x /sbin/vconfig ] &amp;amp;&amp;amp; VLAN=&lt;br /&gt;
&lt;br /&gt;
..insert the following:&lt;br /&gt;
&lt;br /&gt;
# Optionally remap interfaces based on MAC address.&lt;br /&gt;
# '/sbin/ifrename' is part of wireless-tools package.&lt;br /&gt;
# /etc/iftab is currently not created by default.&lt;br /&gt;
&lt;br /&gt;
if [ -x /sbin/ifrename ] &amp;amp;&amp;amp; [ -r /etc/iftab ]; then&lt;br /&gt;
  echo -n &amp;quot;Remapping network interface name: &amp;quot;&lt;br /&gt;
  ifrename -p&lt;br /&gt;
  echo &amp;quot;done.&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
This script remaps interfaces based on their MAC addresses, using information in a file called /etc/iftab,  which probably doesn’t  exist on your system.&lt;br /&gt;
&lt;br /&gt;
To create and edit this file, type:&lt;br /&gt;
----&lt;br /&gt;
 touch /etc/iftab&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/iftab&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
…and in the nano editor enter:&lt;br /&gt;
&lt;br /&gt;
  ethx mac xx:xx:xx:xx:xx:xx&lt;br /&gt;
&lt;br /&gt;
…except with ethx replaced with whatever you really want to call the interface (e.g. eth2), and with the MAC address of your actual card (which you noted earlier) entered in place of the string of xx’s.&lt;br /&gt;
&lt;br /&gt;
Save this new file as /etc/iftab and exit nano.&lt;br /&gt;
&lt;br /&gt;
At this point it may be wise to reboot the system and, after rebooting, repeat the ifconfig step above in order to confirm (a) that the rt2500.ko module is loading automatically on boot and (b) that it is being remapped to your chosen device name. &lt;br /&gt;
&lt;br /&gt;
Assuming everything is still going according to plan, if you have any problem after this, you’ll know its to do with your interface or IP routing configurations and not with the driver module itself.&lt;br /&gt;
&lt;br /&gt;
== '''Configuring the interface''' ==&lt;br /&gt;
&lt;br /&gt;
OK. Now you’ve told the machine what driver to use with your rt2500 card. But you haven’t told it exactly what you want to do with it.&lt;br /&gt;
&lt;br /&gt;
The final two steps in bringing up the card are (1) to tell the machine a little more about what kind of wireless network and node you want to run (e.g. channel number, encryption modes, access control etc) and (2) specify how you want ra0/ethx to behave (e.g. static or dynamic IP address?). &lt;br /&gt;
&lt;br /&gt;
The first of these can be done in one of two places: &lt;br /&gt;
&lt;br /&gt;
The rt2500 README file says that the rt2500 module, on loading, will attempt to configure itself by reading a file called &lt;br /&gt;
&lt;br /&gt;
  /etc/Wireless/RT2500STA/RT2500STA.dat&lt;br /&gt;
&lt;br /&gt;
…and which looks something like this:&lt;br /&gt;
&lt;br /&gt;
  [Default]&lt;br /&gt;
  AdhocOfdm=0&lt;br /&gt;
  CountryRegion=0&lt;br /&gt;
  WirelessMode=0&lt;br /&gt;
  TXBurst=0&lt;br /&gt;
  TurboRate=0&lt;br /&gt;
  BGProtection=0&lt;br /&gt;
  ShortSlot=0&lt;br /&gt;
  TxRate=0&lt;br /&gt;
  PSMode=CAM&lt;br /&gt;
  SSID=YOUR-WIFI-NAME&lt;br /&gt;
  NetworkType=Adhoc&lt;br /&gt;
  Channel=9&lt;br /&gt;
  AuthMode=SHARED&lt;br /&gt;
  EncrypType=WEP&lt;br /&gt;
  DefaultKeyID=1&lt;br /&gt;
  Key1=ABCDE&lt;br /&gt;
  StaWithEtherBridge=0&lt;br /&gt;
&lt;br /&gt;
Further options and valid settings are documented in the rt2500 README file.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can specify some of these settings in a new file that you need to make anyway, called /etc/sysconfig/network-scripts/ifcfg-ethx (or ifcfg-ra0, or whatever suits you…). Its not clear what happens if some of the setting appear in both places.&lt;br /&gt;
&lt;br /&gt;
Handily, ifcfg-ethx is also the place where you specify most of the information concerning how the interface should behave. This file probably doesn’t exist yet. Type:&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
 touch /etc/sysconfig/network-scripts/ifcfg-ethx&lt;br /&gt;
 nano /etc/sysconfig/network-scripts/ifcfg-ethx &lt;br /&gt;
----&lt;br /&gt;
..and then edit the file so that it looks something like this:&lt;br /&gt;
&lt;br /&gt;
  DEVICE=&amp;quot;eth2&amp;quot;&lt;br /&gt;
  HWADDR=&amp;quot;xx:xx:xx:xx:xx:xx&amp;quot;&lt;br /&gt;
  TYPE=&amp;quot;Wireless&amp;quot;&lt;br /&gt;
  ONBOOT=&amp;quot;yes&amp;quot;&lt;br /&gt;
  USERCTL=&amp;quot;no&amp;quot;&lt;br /&gt;
  ESSID=&amp;quot;YOUR-WIFI-NAME&amp;quot;&lt;br /&gt;
  MODE=&amp;quot;ad-hoc&amp;quot;&lt;br /&gt;
  CHANNEL=&amp;quot;11&amp;quot;&lt;br /&gt;
  KEY=&amp;quot;s:ABCDE&amp;quot;    &amp;lt;- five or thirteen character shared secret string&lt;br /&gt;
  RATE=&amp;quot;auto&amp;quot;&lt;br /&gt;
  BOOTPROTO=&amp;quot;static&amp;quot;&lt;br /&gt;
  IPADDR=10.2.1.1&lt;br /&gt;
  NETMASK=255.255.255.0&lt;br /&gt;
&lt;br /&gt;
…where you should replace the entry against the HWADDR tag with the MAC address of your card.&lt;br /&gt;
&lt;br /&gt;
Note that the example ifcfg above is for a network architecture for a CC box in which it has three network cards: &lt;br /&gt;
&lt;br /&gt;
  eth0 = internet gateway interface with a dynamically assigned IP address&lt;br /&gt;
  eth1 = ethernet card with static IP address 10.1.1.1 and serving a a Cat5 wired intranet on subnet 10.1.1.0 &lt;br /&gt;
  eth2 = RT2500 with static IP address 10.2.1.1 and serving as the wifi access point on subnet 10.2.1.0 &lt;br /&gt;
&lt;br /&gt;
With this architecture, mobile wifi devices (e.g. laptops) can connect to the rest of the fixed wire or wifi intranet or internet. Note in particular that eth2 has a static IP address (in this case 10.2.1.1) on a new subnet different from the subnet of either of the other two cards in the box.&lt;br /&gt;
&lt;br /&gt;
If instead you want your new wifi interface to get its IP address assigned dynamically from an external wireless router that supports DHCP, replace the last three lines of the example above with the single line:&lt;br /&gt;
&lt;br /&gt;
  BOOTPROTO=&amp;quot;dhcp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
OK – nearly there. Only three more steps….&lt;br /&gt;
(1)	telling the firewall and DNS servers about the card&lt;br /&gt;
(2)	telling the DHCP server whether to provide DHCP over the interface&lt;br /&gt;
(3)	telling samba about the interface&lt;br /&gt;
'''Firewall and DNS'''&lt;br /&gt;
Before you finally bring up the interface, it would be a good idea to tell cc-firewall that it exists.&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
----&lt;br /&gt;
 nano /etc/firewall&lt;br /&gt;
----&lt;br /&gt;
..and edit the interface roles section as appropriate. The example below is again for the case where three NICs are installed. If the rt2500 card is the external link to the internet, I assume that there would be no entry in the WIFIF slot and the EXTIF entry would point to ethx or ra0 or whatever.&lt;br /&gt;
&lt;br /&gt;
  # Interface roles&lt;br /&gt;
  #----------------&lt;br /&gt;
&lt;br /&gt;
  EXTIF=&amp;quot;eth0&amp;quot;&lt;br /&gt;
  LANIF=&amp;quot;eth1&amp;quot;&lt;br /&gt;
  DMZIF=&amp;quot;&amp;quot;&lt;br /&gt;
  WIFIF=&amp;quot;eth2&amp;quot;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''DNS'''&lt;br /&gt;
Tell the DNS server to provide name resolution to your new subnet. Type:&lt;br /&gt;
----&lt;br /&gt;
 nano /etc/dnsmasq.conf&lt;br /&gt;
----&lt;br /&gt;
and, in addition to any lines already reading ‘interface=xxxx’, add the new line:&lt;br /&gt;
&lt;br /&gt;
  interface=ethx&lt;br /&gt;
&lt;br /&gt;
Save the edited file and exit nano.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''DHCP'''&lt;br /&gt;
If you’re setting up the rt2500 as a wifi access point, you’ll probably want your CC box to dole out dynamic IP addresses to devices when they connect to it. Type:&lt;br /&gt;
----&lt;br /&gt;
 nano /etc/dnsmasq/dhcp.conf&lt;br /&gt;
----&lt;br /&gt;
..and append the following lines:&lt;br /&gt;
&lt;br /&gt;
  dhcp-option=ethx,1,255.255.255.0&lt;br /&gt;
  dhcp-option=ethx,6,10.2.1.1&lt;br /&gt;
  dhcp-option=ethx,6,10.1.1.1&lt;br /&gt;
  dhcp-option=ethx,3,10.2.1.1&lt;br /&gt;
  dhcp-option=ethx,44,10.1.1.1&lt;br /&gt;
  dhcp-option=ethx,45,10.1.1.1&lt;br /&gt;
  dhcp-option=ethx,46,8&lt;br /&gt;
  dhcp-option=ethx,47,&lt;br /&gt;
  dhcp-range=ethx,10.2.1.100,10.2.1.102,12h&lt;br /&gt;
&lt;br /&gt;
These lines mostly specify the information that the DHCP server will pass to clients when they connect (netmask, gateway, wins server etc). The final line in this case instructs the DHCP server to hand out dynamic IP addresses from its subnet only in the range 10.2.1.100-102 (ie no more than four connections) and that each lease lasts 12 hours.&lt;br /&gt;
'''SAMBA'''&lt;br /&gt;
If your CC box is running samba in order to make some of its disk storage space accessible under windows networking, then you  need to also tell samba about your new interface and its subnet. Type:&lt;br /&gt;
----&lt;br /&gt;
 nano /etc/samba/smb.conf&lt;br /&gt;
----&lt;br /&gt;
Edit the interfaces and allow hosts lines so that they read something like:&lt;br /&gt;
&lt;br /&gt;
  interfaces = eth1 eth2&lt;br /&gt;
  allow hosts = 	10.1.1.0/255.255.255.0,10.2.1.0/255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Save the edited file and exit nano. Now type:&lt;br /&gt;
----&lt;br /&gt;
 smbd&lt;br /&gt;
 nmbd&lt;br /&gt;
----&lt;br /&gt;
…to restart samba.&lt;br /&gt;
&lt;br /&gt;
== '''Bringing up the interface''' ==&lt;br /&gt;
&lt;br /&gt;
That’s it. If you’ve done all the above it should, in theory, work. To power up your card type:&lt;br /&gt;
----&lt;br /&gt;
 ifup eth2&lt;br /&gt;
----&lt;br /&gt;
or you can reboot your machine. &lt;br /&gt;
&lt;br /&gt;
Either way, it should now be broadcasting its ESSID name on your chosen channel and either obtaining a dynamic IP address from your access point (provided you set the card to broadcast and receive on the same channel as your access point), or handing them out to your laptops. In theory, if all has gone well, you can also browse both the internet and the other parts of the intranet through your new connection. &lt;br /&gt;
&lt;br /&gt;
If things don't work, or work only partially (e.g. you can see the card broadcasting its ESSID but can't get a DHCP assignement) try rebooting the machine several times. Kudzu may kick in along the way, which seems to be usually part of what's necessary to get things eventually working.&lt;br /&gt;
&lt;br /&gt;
== '''Routing Issues''' ==&lt;br /&gt;
&lt;br /&gt;
I’m no IP routing expert. If you seem to have partial connectivity, it could be an IP routing problem. If you type:&lt;br /&gt;
----&lt;br /&gt;
 route -n&lt;br /&gt;
----&lt;br /&gt;
…you’ll get the main routing table, which I never had to try and alter. When all three interfaces are up, mine looks like this, and it works:&lt;br /&gt;
&lt;br /&gt;
  Kernel IP routing table&lt;br /&gt;
  Destination	Gateway	Genmask	    Flags Metric Ref    Use Iface&lt;br /&gt;
  10.2.1.0	0.0.0.0	255.255.255.0   U     0      0        0 eth2&lt;br /&gt;
  w.x.y.0	0.0.0.0	255.255.255.0   U     0      0        0 eth0&lt;br /&gt;
  10.1.1.0	0.0.0.0	255.255.255.0   U     0      0        0 eth1&lt;br /&gt;
  0.0.0.0	w.x.y.z	0.0.0.0         UG    0      0        0 eth0&lt;br /&gt;
&lt;br /&gt;
…where w.x.y.z is an IP address assigned dynamically by my cable router, and the gateway to the internet.&lt;br /&gt;
&lt;br /&gt;
== '''Security Issues''' ==&lt;br /&gt;
&lt;br /&gt;
The above information sets your card up to operate using WEP encryption of transmitted packets, and a (short) shared secret for authentication. These aren’t necessarily maximally secure. Greater security of authentication can be achieved using the CC built in support for MAC address filtering, whereby only devices whose MAC address is on a white list can connect. Install the cc-wireless module for this, and check out the web configuration interface on https://yourbox:81. &lt;br /&gt;
&lt;br /&gt;
The rt2500 itself supports stronger authentication and encryption technologies than either shared secret or WEP; I’ve not experimented with these. If you get this far, feel free to play with the relevant settings in ifcfg-ethx and the RT2500STA.dat files. &lt;br /&gt;
&lt;br /&gt;
== '''Removing the developer tools and kernel sources''' ==&lt;br /&gt;
&lt;br /&gt;
(from clarkconnect newbie portal: http://newbie.valar.co.uk/)&lt;br /&gt;
Removing the developer tools&lt;br /&gt;
&lt;br /&gt;
If your ClarkConnect box is accessible via the internet (HTTP, FTP, etc), it's highly advised that you uninstall the developer tools once you're done compiling. Since the command apt-get remove cc-devel doesn't actually remove anything, use the following procedure to remove the developer tools from your system. &lt;br /&gt;
&lt;br /&gt;
1) Using the editor nano, create a script file on your ClarkConnect machine and then open it for editing in the nano editor:&lt;br /&gt;
&lt;br /&gt;
Code:&lt;br /&gt;
----&lt;br /&gt;
 touch ~/cc-devel-remove.sh&lt;br /&gt;
 nano ~/cc-devel-remove.sh&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Copy the code below into the nano editor, save the altered file to disk (CTRL-O), and then exit nano (CTRL-X)&lt;br /&gt;
&lt;br /&gt;
Code:&lt;br /&gt;
----&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 clear&lt;br /&gt;
 echo -n &amp;quot;Removing the ClarkConnect developer tools &amp;quot;&lt;br /&gt;
 apt-get remove -y cc-devel &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 rpm -e --nodeps autoconf &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 rpm -e --nodeps automake &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 rpm -e --nodeps binutils &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 rpm -e --nodeps bison &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 rpm -e --nodeps byacc &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 rpm -e --nodeps bzip2-devel &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 rpm -e --nodeps cpp &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 rpm -e --nodeps gcc &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 rpm -e --nodeps gcc-c++ &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 rpm -e --nodeps gcc-java &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 rpm -e --nodeps gettext &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 rpm -e --nodeps glibc-devel &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 rpm -e --nodeps glibc-kernheaders &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 rpm -e --nodeps gmp &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 rpm -e --nodeps krb5-devel &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 rpm -e --nodeps libgcj &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 rpm -e --nodeps libgcj-devel &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 rpm -e --nodeps libstdc++-devel &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;&amp;quot;&lt;br /&gt;
 rpm -e --nodeps libtool &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 rpm -e --nodeps m4 &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 rpm -e --nodeps make &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 rpm -e --nodeps ncurses-devel &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 rpm -e --nodeps openssl-devel &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 rpm -e --nodeps pam-devel &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 rpm -e --nodeps patch &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 rpm -e --nodeps python &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 rpm -e --nodeps rpm-build &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 rpm -e --nodeps zlib-devel &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 rpm -e --nodeps kernel-source &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 rpm -e --nodeps perl-CPAN &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 apt-get autoclean &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 apt-get clean &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 ; echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
 echo -e '\E[32;40m' Complete ; tput sgr0 ; echo &amp;quot;&amp;quot;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3) Make the script owned and executable by root, run it, and then remove it from your machine. &lt;br /&gt;
&lt;br /&gt;
Code:&lt;br /&gt;
----&lt;br /&gt;
 cd ~&lt;br /&gt;
 chmod 0700 cc-devel-remove.sh&lt;br /&gt;
 ./cc-devel-remove.sh&lt;br /&gt;
 rm -f cc-devel-remove.sh&lt;br /&gt;
----&lt;br /&gt;
Removing the kernel sources&lt;br /&gt;
Code:&lt;br /&gt;
----&lt;br /&gt;
 apt-get clean&lt;br /&gt;
 apt-get remove kernel-source&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== '''GNU Free Documentation License''' ==&lt;br /&gt;
&lt;br /&gt;
'''GNU Free Documentation License  Version 1.2, November 2002''' &lt;br /&gt;
Copyright (C) 2000,2001,2002  Free Software Foundation, Inc.     &lt;br /&gt;
59 Temple Place, Suite 330, Boston, MA  02111-1307  USA &lt;br /&gt;
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.&lt;br /&gt;
&lt;br /&gt;
0. PREAMBLE &lt;br /&gt;
The purpose of this License is to make a manual, textbook, or other  functional and useful document &amp;quot;free&amp;quot; in the sense of freedom: to  assure everyone the effective freedom to copy and redistribute it,  with or without modifying it, either commercially or noncommercially.  Secondarily, this License preserves for the author and publisher a way  to get credit for their work, while not being considered responsible  for modifications made by others. &lt;br /&gt;
&lt;br /&gt;
This License is a kind of &amp;quot;copyleft&amp;quot;, which means that derivative  works of the document must themselves be free in the same sense. It  complements the GNU General Public License, which is a copyleft  license designed for free software. &lt;br /&gt;
&lt;br /&gt;
We have designed this License in order to use it for manuals for free  software, because free software needs free documentation: a free  program should come with manuals providing the same freedoms that the  software does. But this License is not limited to software manuals;  it can be used for any textual work, regardless of subject matter or  whether it is published as a printed book. We recommend this License  principally for works whose purpose is instruction or reference. &lt;br /&gt;
1. APPLICABILITY AND DEFINITIONS &lt;br /&gt;
This License applies to any manual or other work, in any medium, that  contains a notice placed by the copyright holder saying it can be  distributed under the terms of this License. Such a notice grants a  world-wide, royalty-free license, unlimited in duration, to use that  work under the conditions stated herein. The &amp;quot;Document&amp;quot;, below,  refers to any such manual or work. Any member of the public is a  licensee, and is addressed as &amp;quot;you&amp;quot;. You accept the license if you  copy, modify or distribute the work in a way requiring permission  under copyright law. &lt;br /&gt;
&lt;br /&gt;
A &amp;quot;Modified Version&amp;quot; of the Document means any work containing the  Document or a portion of it, either copied verbatim, or with  modifications and/or translated into another language. &lt;br /&gt;
&lt;br /&gt;
A &amp;quot;Secondary Section&amp;quot; is a named appendix or a front-matter section of  the Document that deals exclusively with the relationship of the  publishers or authors of the Document to the Document's overall subject  (or to related matters) and contains nothing that could fall directly  within that overall subject. (Thus, if the Document is in part a  textbook of mathematics, a Secondary Section may not explain any  mathematics.) The relationship could be a matter of historical  connection with the subject or with related matters, or of legal,  commercial, philosophical, ethical or political position regarding  them. &lt;br /&gt;
The &amp;quot;Invariant Sections&amp;quot; are certain Secondary Sections whose titles  are designated, as being those of Invariant Sections, in the notice  that says that the Document is released under this License. If a  section does not fit the above definition of Secondary then it is not  allowed to be designated as Invariant. The Document may contain zero  Invariant Sections. If the Document does not identify any Invariant  Sections then there are none. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Cover Texts&amp;quot; are certain short passages of text that are listed,  as Front-Cover Texts or Back-Cover Texts, in the notice that says that  the Document is released under this License. A Front-Cover Text may  be at most 5 words, and a Back-Cover Text may be at most 25 words. &lt;br /&gt;
&lt;br /&gt;
A &amp;quot;Transparent&amp;quot; copy of the Document means a machine-readable copy,  represented in a format whose specification is available to the  general public, that is suitable for revising the document  straightforwardly with generic text editors or (for images composed of  pixels) generic paint programs or (for drawings) some widely available  drawing editor, and that is suitable for input to text formatters or  for automatic translation to a variety of formats suitable for input  to text formatters. A copy made in an otherwise Transparent file  format whose markup, or absence of markup, has been arranged to thwart  or discourage subsequent modification by readers is not Transparent.  An image format is not Transparent if used for any substantial amount  of text. A copy that is not &amp;quot;Transparent&amp;quot; is called &amp;quot;Opaque&amp;quot;. &lt;br /&gt;
Examples of suitable formats for Transparent copies include plain  ASCII without markup, Texinfo input format, LaTeX input format, SGML  or XML using a publicly available DTD, and standard-conforming simple  HTML, PostScript or PDF designed for human modification. Examples of  transparent image formats include PNG, XCF and JPG. Opaque formats  include proprietary formats that can be read and edited only by  proprietary word processors, SGML or XML for which the DTD and/or  processing tools are not generally available, and the  machine-generated HTML, PostScript or PDF produced by some word  processors for output purposes only. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Title Page&amp;quot; means, for a printed book, the title page itself,  plus such following pages as are needed to hold, legibly, the material  this License requires to appear in the title page. For works in  formats which do not have any title page as such, &amp;quot;Title Page&amp;quot; means  the text near the most prominent appearance of the work's title,  preceding the beginning of the body of the text. &lt;br /&gt;
&lt;br /&gt;
A section &amp;quot;Entitled XYZ&amp;quot; means a named subunit of the Document whose  title either is precisely XYZ or contains XYZ in parentheses following  text that translates XYZ in another language. (Here XYZ stands for a  specific section name mentioned below, such as &amp;quot;Acknowledgements&amp;quot;,  &amp;quot;Dedications&amp;quot;, &amp;quot;Endorsements&amp;quot;, or &amp;quot;History&amp;quot;.) To &amp;quot;Preserve the Title&amp;quot;  of such a section when you modify the Document means that it remains a  section &amp;quot;Entitled XYZ&amp;quot; according to this definition. &lt;br /&gt;
&lt;br /&gt;
The Document may include Warranty Disclaimers next to the notice which  states that this License applies to the Document. These Warranty  Disclaimers are considered to be included by reference in this  License, but only as regards disclaiming warranties: any other  implication that these Warranty Disclaimers may have is void and has  no effect on the meaning of this License. &lt;br /&gt;
&lt;br /&gt;
2. VERBATIM COPYING &lt;br /&gt;
You may copy and distribute the Document in any medium, either  commercially or noncommercially, provided that this License, the  copyright notices, and the license notice saying this License applies  to the Document are reproduced in all copies, and that you add no other  conditions whatsoever to those of this License. You may not use  technical measures to obstruct or control the reading or further  copying of the copies you make or distribute. However, you may accept  compensation in exchange for copies. If you distribute a large enough  number of copies you must also follow the conditions in section 3. &lt;br /&gt;
&lt;br /&gt;
You may also lend copies, under the same conditions stated above, and  you may publicly display copies. &lt;br /&gt;
&lt;br /&gt;
3. COPYING IN QUANTITY &lt;br /&gt;
If you publish printed copies (or copies in media that commonly have  printed covers) of the Document, numbering more than 100, and the  Document's license notice requires Cover Texts, you must enclose the  copies in covers that carry, clearly and legibly, all these Cover  Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on  the back cover. Both covers must also clearly and legibly identify  you as the publisher of these copies. The front cover must present  the full title with all words of the title equally prominent and  visible. You may add other material on the covers in addition.  Copying with changes limited to the covers, as long as they preserve  the title of the Document and satisfy these conditions, can be treated  as verbatim copying in other respects. &lt;br /&gt;
&lt;br /&gt;
If the required texts for either cover are too voluminous to fit  legibly, you should put the first ones listed (as many as fit  reasonably) on the actual cover, and continue the rest onto adjacent  pages. &lt;br /&gt;
If you publish or distribute Opaque copies of the Document numbering  more than 100, you must either include a machine-readable Transparent  copy along with each Opaque copy, or state in or with each Opaque copy  a computer-network location from which the general network-using  public has access to download using public-standard network protocols  a complete Transparent copy of the Document, free of added material.  If you use the latter option, you must take reasonably prudent steps,  when you begin distribution of Opaque copies in quantity, to ensure  that this Transparent copy will remain thus accessible at the stated  location until at least one year after the last time you distribute an  Opaque copy (directly or through your agents or retailers) of that  edition to the public. &lt;br /&gt;
&lt;br /&gt;
It is requested, but not required, that you contact the authors of the  Document well before redistributing any large number of copies, to give  them a chance to provide you with an updated version of the Document. &lt;br /&gt;
&lt;br /&gt;
4. MODIFICATIONS &lt;br /&gt;
You may copy and distribute a Modified Version of the Document under  the conditions of sections 2 and 3 above, provided that you release  the Modified Version under precisely this License, with the Modified  Version filling the role of the Document, thus licensing distribution  and modification of the Modified Version to whoever possesses a copy  of it. In addition, you must do these things in the Modified Version: &lt;br /&gt;
&lt;br /&gt;
A. Use in the Title Page (and on the covers, if any) a title distinct  from that of the Document, and from those of previous versions  (which should, if there were any, be listed in the History section  of the Document). You may use the same title as a previous version  if the original publisher of that version gives permission. &lt;br /&gt;
&lt;br /&gt;
B. List on the Title Page, as authors, one or more persons or entities  responsible for authorship of the modifications in the Modified  Version, together with at least five of the principal authors of the  Document (all of its principal authors, if it has fewer than five),  unless they release you from this requirement.&lt;br /&gt;
&lt;br /&gt;
C. State on the Title page the name of the publisher of the  Modified Version, as the publisher. &lt;br /&gt;
&lt;br /&gt;
D. Preserve all the copyright notices of the Document. &lt;br /&gt;
&lt;br /&gt;
E. Add an appropriate copyright notice for your modifications  adjacent to the other copyright notices.&lt;br /&gt;
&lt;br /&gt;
F. Include, immediately after the copyright notices, a license notice  giving the public permission to use the Modified Version under the  terms of this License, in the form shown in the Addendum below. &lt;br /&gt;
&lt;br /&gt;
G. Preserve in that license notice the full lists of Invariant Sections  and required Cover Texts given in the Document's license notice.&lt;br /&gt;
&lt;br /&gt;
H. Include an unaltered copy of this License. &lt;br /&gt;
&lt;br /&gt;
I. Preserve the section Entitled &amp;quot;History&amp;quot;, Preserve its Title, and add  to it an item stating at least the title, year, new authors, and  publisher of the Modified Version as given on the Title Page. If  there is no section Entitled &amp;quot;History&amp;quot; in the Document, create one  stating the title, year, authors, and publisher of the Document as  given on its Title Page, then add an item describing the Modified  Version as stated in the previous sentence. &lt;br /&gt;
&lt;br /&gt;
J. Preserve the network location, if any, given in the Document for  public access to a Transparent copy of the Document, and likewise  the network locations given in the Document for previous versions  it was based on. These may be placed in the &amp;quot;History&amp;quot; section.  You may omit a network location for a work that was published at  least four years before the Document itself, or if the original  publisher of the version it refers to gives permission. &lt;br /&gt;
&lt;br /&gt;
K. For any section Entitled &amp;quot;Acknowledgements&amp;quot; or &amp;quot;Dedications&amp;quot;,  Preserve the Title of the section, and preserve in the section all  the substance and tone of each of the contributor acknowledgements  and/or dedications given therein. &lt;br /&gt;
&lt;br /&gt;
L. Preserve all the Invariant Sections of the Document,  unaltered in their text and in their titles. Section numbers  or the equivalent are not considered part of the section titles. &lt;br /&gt;
&lt;br /&gt;
M. Delete any section Entitled &amp;quot;Endorsements&amp;quot;. Such a section  may not be included in the Modified Version. &lt;br /&gt;
&lt;br /&gt;
N. Do not retitle any existing section to be Entitled &amp;quot;Endorsements&amp;quot;  or to conflict in title with any Invariant Section. &lt;br /&gt;
&lt;br /&gt;
O. Preserve any Warranty Disclaimers. &lt;br /&gt;
If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. &lt;br /&gt;
&lt;br /&gt;
You may add a section Entitled &amp;quot;Endorsements&amp;quot;, provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. &lt;br /&gt;
&lt;br /&gt;
You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. &lt;br /&gt;
The author(s) and publisher(s) of the Document do not by this License  give permission to use their names for publicity for or to assert or  imply endorsement of any Modified Version. &lt;br /&gt;
&lt;br /&gt;
5. COMBINING DOCUMENTS &lt;br /&gt;
You may combine the Document with other documents released under this  License, under the terms defined in section 4 above for modified  versions, provided that you include in the combination all of the  Invariant Sections of all of the original documents, unmodified, and  list them all as Invariant Sections of your combined work in its  license notice, and that you preserve all their Warranty Disclaimers. &lt;br /&gt;
The combined work need only contain one copy of this License, and  multiple identical Invariant Sections may be replaced with a single  copy. If there are multiple Invariant Sections with the same name but  different contents, make the title of each such section unique by  adding at the end of it, in parentheses, the name of the original  author or publisher of that section if known, or else a unique number.  Make the same adjustment to the section titles in the list of  Invariant Sections in the license notice of the combined work. &lt;br /&gt;
&lt;br /&gt;
In the combination, you must combine any sections Entitled &amp;quot;History&amp;quot;  in the various original documents, forming one section Entitled  &amp;quot;History&amp;quot;; likewise combine any sections Entitled &amp;quot;Acknowledgements&amp;quot;,  and any sections Entitled &amp;quot;Dedications&amp;quot;. You must delete all sections  Entitled &amp;quot;Endorsements&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
6. COLLECTIONS OF DOCUMENTS &lt;br /&gt;
You may make a collection consisting of the Document and other documents  released under this License, and replace the individual copies of this  License in the various documents with a single copy that is included in  the collection, provided that you follow the rules of this License for  verbatim copying of each of the documents in all other respects. &lt;br /&gt;
&lt;br /&gt;
You may extract a single document from such a collection, and distribute  it individually under this License, provided you insert a copy of this  License into the extracted document, and follow this License in all  other respects regarding verbatim copying of that document. &lt;br /&gt;
&lt;br /&gt;
7. AGGREGATION WITH INDEPENDENT WORKS &lt;br /&gt;
A compilation of the Document or its derivatives with other separate  and independent documents or works, in or on a volume of a storage or  distribution medium, is called an &amp;quot;aggregate&amp;quot; if the copyright  resulting from the compilation is not used to limit the legal rights  of the compilation's users beyond what the individual works permit.  When the Document is included in an aggregate, this License does not  apply to the other works in the aggregate which are not themselves  derivative works of the Document. &lt;br /&gt;
If the Cover Text requirement of section 3 is applicable to these  copies of the Document, then if the Document is less than one half of  the entire aggregate, the Document's Cover Texts may be placed on  covers that bracket the Document within the aggregate, or the  electronic equivalent of covers if the Document is in electronic form.  Otherwise they must appear on printed covers that bracket the whole  aggregate. &lt;br /&gt;
&lt;br /&gt;
8. TRANSLATION &lt;br /&gt;
Translation is considered a kind of modification, so you may  distribute translations of the Document under the terms of section 4.  Replacing Invariant Sections with translations requires special  permission from their copyright holders, but you may include  translations of some or all Invariant Sections in addition to the  original versions of these Invariant Sections. You may include a  translation of this License, and all the license notices in the  Document, and any Warranty Disclaimers, provided that you also include  the original English version of this License and the original versions  of those notices and disclaimers. In case of a disagreement between  the translation and the original version of this License or a notice  or disclaimer, the original version will prevail. &lt;br /&gt;
&lt;br /&gt;
If a section in the Document is Entitled &amp;quot;Acknowledgements&amp;quot;,  &amp;quot;Dedications&amp;quot;, or &amp;quot;History&amp;quot;, the requirement (section 4) to Preserve  its Title (section 1) will typically require changing the actual  title. &lt;br /&gt;
&lt;br /&gt;
9. TERMINATION &lt;br /&gt;
You may not copy, modify, sublicense, or distribute the Document except  as expressly provided for under this License. Any other attempt to  copy, modify, sublicense or distribute the Document is void, and will  automatically terminate your rights under this License. However,  parties who have received copies, or rights, from you under this  License will not have their licenses terminated so long as such  parties remain in full compliance. &lt;br /&gt;
&lt;br /&gt;
10. FUTURE REVISIONS OF THIS LICENSE &lt;br /&gt;
The Free Software Foundation may publish new, revised versions  of the GNU Free Documentation License from time to time. Such new  versions will be similar in spirit to the present version, but may  differ in detail to address new problems or concerns. See  http://www.gnu.org/copyleft/. &lt;br /&gt;
&lt;br /&gt;
Each version of the License is given a distinguishing version number.  If the Document specifies that a particular numbered version of this  License &amp;quot;or any later version&amp;quot; applies to it, you have the option of  following the terms and conditions either of that specified version or  of any later version that has been published (not as a draft) by the  Free Software Foundation. If the Document does not specify a version  number of this License, you may choose any version ever published (not  as a draft) by the Free Software Foundation. &lt;br /&gt;
&lt;br /&gt;
ADDENDUM: How to use this License for your documents &lt;br /&gt;
To use this License in a document you have written, include a copy of  the License in the document and put the following copyright and  license notices just after the title page: &lt;br /&gt;
&lt;br /&gt;
Copyright (c)  YEAR  YOUR NAME.    Permission is granted to copy, distribute and/or modify this document    under the terms of the GNU Free Documentation License, Version 1.2    or any later version published by the Free Software Foundation;    with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.    A copy of the license is included in the section entitled &amp;quot;GNU    Free Documentation License&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,  replace the &amp;quot;with...Texts.&amp;quot; line with this: &lt;br /&gt;
with the Invariant Sections being LIST THEIR TITLES, with the    Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.&lt;br /&gt;
&lt;br /&gt;
If you have Invariant Sections without Cover Texts, or some other  combination of the three, merge those two alternatives to suit the  situation. &lt;br /&gt;
&lt;br /&gt;
If your document contains nontrivial examples of program code, we  recommend releasing these examples in parallel under your choice of  free software license, such as the GNU General Public License,  to permit their use in free software.&lt;/div&gt;</description>
			<pubDate>Sat, 15 Jul 2006 22:54:13 GMT</pubDate>			<dc:creator>Jrogers</dc:creator>			<comments>http://rt2x00.serialmonkey.com/wiki/index.php/Talk:ClarkConnect_3.2_rt2500_Howto</comments>		</item>
		<item>
			<title>README</title>
			<link>http://rt2x00.serialmonkey.com/wiki/index.php/README</link>
			<description>&lt;p&gt;Summary: /* Contact us: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Installation and configuration instructions for the rt2x00 Modules&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==This information is now obsolete==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- Kernel&lt;br /&gt;
&lt;br /&gt;
* Most (if not all) major distributions have now the rt2x00 in-kernel driver available by default in their build.&lt;br /&gt;
* This availability means essentially that all the previous efforts to maintain a driver off kernel are no longer needed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Bug reporting:==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When reporting a bug or problem with the rt2x00 module,&lt;br /&gt;
make sure you report the following information:&lt;br /&gt;
&lt;br /&gt;
# How to reproduce&lt;br /&gt;
# RT2x00 debug output, usually found in /var/log/messages.&lt;br /&gt;
# Module version.&lt;br /&gt;
# Wireless card chipset, model and manufacturer.&lt;br /&gt;
# Kernel version (i.e. 2.6.13)&lt;br /&gt;
# Hardware architecture (i.e. x86, AMD64, Sparc)&lt;br /&gt;
# Anything else you may think will help us resolve the issue.&lt;br /&gt;
&lt;br /&gt;
==Bug reports:==&lt;br /&gt;
http://rt2x00.serialmonkey.com/wiki/index.php/Rt2x00Wiki:Bug_reports&lt;br /&gt;
&lt;br /&gt;
==Contact us:==&lt;br /&gt;
&lt;br /&gt;
- Website&lt;br /&gt;
&lt;br /&gt;
# http://rt2x00.serialmonkey.com/&lt;br /&gt;
# wireless information http://linuxwireless.org&lt;br /&gt;
&lt;br /&gt;
- Forums:&lt;br /&gt;
&lt;br /&gt;
# http://rt2x00.serialmonkey.com/phpBB2/&lt;br /&gt;
&lt;br /&gt;
- Mailing list:&lt;br /&gt;
&lt;br /&gt;
# http://rt2x00.serialmonkey.com/mailman/listinfo/users_rt2x00.serialmonkey.com&lt;br /&gt;
&lt;br /&gt;
==rt2x00 FAQ:==&lt;br /&gt;
&lt;br /&gt;
This guide was put together to help people who are testing the rt2x00 suite of drives during the development phase. Please note that at this moment in time, the drivers are still in development and does not conform to the normal Linux wireless configuration process (you have to do special steps to get them going) nor are the drivers particularly stable. DO NOT USE THESE DRIVERS IN A PRODUCTION ENVIRONMENT (refer to the stable branch for the rt2500 and rt2400 drivers)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===I cannot see any debug information===&lt;br /&gt;
&lt;br /&gt;
Have you compiled the drivers with “make debug” and have you modprobed the driver (rt{4|5}00{pci|usb} with debug=1? e.g. “modprobe rt2500pci debug=1”&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===The steps in the readme doesn't work===&lt;br /&gt;
&lt;br /&gt;
Have you following the steps verbatim (obviously substituting your network vars such as AP bessid and channel for your values)? This is a requirement at the moment since some of the functions in the card need to be initialised using the steps described in the README. Note that the driver does not comform to the normal wireless configuration process in that you will not be associated with an access point unless you follow the steps in the README.&lt;br /&gt;
&lt;br /&gt;
(check http://rt2x00.serialmonkey.com/wiki/index.php/Rt2x00Wiki:Bug_reports#Bug_No:_003)&lt;br /&gt;
&lt;br /&gt;
===I have a wep encrypted network===&lt;br /&gt;
&lt;br /&gt;
If you need to add WEP encryption add the following step after setting the essid (where AABBCCDDEE is your 48 bit encryption key in HEX)&lt;br /&gt;
$iwconfig wlan0 key AABBCCDDEE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===How do I know things worked?===&lt;br /&gt;
&lt;br /&gt;
You should see something like the following in dmesg:&lt;br /&gt;
[4439180.426000] wlan0: associate with AP 00:50:18:36:b8:36&lt;br /&gt;
[4439180.428000] wlan0: RX ReassocResp from 00:50:18:36:b8:36 (capab=0x431 status=0 aid=2)&lt;br /&gt;
[4439180.428000] wlan0: associated&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===dmesg shows an authentication message time out===&lt;br /&gt;
&lt;br /&gt;
If you get something like below, makes sure that you have following the README verbatim and specifically that you set the channel and iwlist wlan0 scan. These steps are required to initialize the card properly.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[4438543.721000] wlan0: Initial auth_alg=0&lt;br /&gt;
[4438543.721000] wlan0: authenticate with AP 00:50:18:36:b8:36&lt;br /&gt;
[4438543.921000] wlan0: authenticate with AP 00:50:18:36:b8:36&lt;br /&gt;
[4438544.121000] wlan0: authenticate with AP 00:50:18:36:b8:36&lt;br /&gt;
[4438544.321000] wlan0: authentication with AP 00:50:18:36:b8:36 timed out&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===I have done everything but still cannot associate with the ap?===&lt;br /&gt;
&lt;br /&gt;
Try lowering your channel on your access point as this might be a regional problem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(check http://rt2x00.serialmonkey.com/wiki/index.php/Rt2x00Wiki:Bug_reports#Bug_No:_004)&lt;br /&gt;
&lt;br /&gt;
===I loose association===&lt;br /&gt;
&lt;br /&gt;
Sometimes you see this in dmesg&lt;br /&gt;
[4439570.806000] wlan0: RX deauthentication from 00:50:18:36:b8:36 (reason=6)&lt;br /&gt;
[4439570.806000] wlan0: deauthenticated&lt;br /&gt;
&lt;br /&gt;
I don't know what reason 6 means yet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===I cannot associate and get timed out messages in dmesg===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[4321475.171000] wlan0: Initial auth_alg=0&lt;br /&gt;
[4321475.171000] wlan0: authenticate with AP 00:50:18:36:b8:36&lt;br /&gt;
[4321475.371000] wlan0: authenticate with AP 00:50:18:36:b8:36&lt;br /&gt;
[4321475.571000] wlan0: authenticate with AP 00:50:18:36:b8:36&lt;br /&gt;
[4321475.771000] wlan0: authentication with AP 00:50:18:36:b8:36 timed out&lt;br /&gt;
&lt;br /&gt;
You are either out of range of the AP or you have the same problem as me at the moment (will update this guide as soon as I figure out what it is)&lt;br /&gt;
&lt;br /&gt;
===I have a debian based system. What about moving the modules?===&lt;br /&gt;
&lt;br /&gt;
The issue here is that once you compile your new modules, they are installed in the root of your module tree (normally /lib/modules/2.6.xx-xx/rt2x00/). However, your old modules are still around in the tree and you have one of two options:&lt;br /&gt;
&lt;br /&gt;
# Move the old modules out of the tree and leave your newly compiled modules where they are.&lt;br /&gt;
# Copy your new modules over your old ones.&lt;br /&gt;
&lt;br /&gt;
'''BEWARE''' if you delete or overwrite the old modules and your new driver doesn't work the way you thought it would, then you will have to reinstall the kernel package (or boot up on an old kernel with the modules still intact) to get your old modules back. If you require a network connection in order to do this, then you might have a problem, so best strategy is to copy these items away.&lt;br /&gt;
&lt;br /&gt;
===make in the folder root fails===&lt;br /&gt;
&lt;br /&gt;
Makefile:52: /lib/modules/2.6.15-23-686/build/.config: No such file or directory&lt;br /&gt;
&lt;br /&gt;
make: *** No rule to make target `/lib/modules/2.6.15-23-686/build/.config'.  Stop.&lt;br /&gt;
&lt;br /&gt;
The message is not always exactly the same since it is dependent on your kernel version. You need to install the development headers that will supply the file in question (/lib/modules/2.6.xxxxxx/build/.config).&lt;br /&gt;
&lt;br /&gt;
If you have a debian based system, install the linux-headers-2.6.xxxxx package that conforms to your installed kernel&lt;br /&gt;
&lt;br /&gt;
To find out your kernel version&lt;br /&gt;
&lt;br /&gt;
$ uname -r&lt;br /&gt;
&lt;br /&gt;
to install the headers&lt;br /&gt;
&lt;br /&gt;
$ sudo apt-get install linux-headers-`uname -r`&lt;br /&gt;
&lt;br /&gt;
===Statistics don't work===&lt;br /&gt;
&lt;br /&gt;
Statistics have not received a high priority yet and many tools don't work correctly. We are looking for debugging information to help us identify the problem. See the debug howto on how to produce this information.&lt;br /&gt;
&lt;br /&gt;
There is also currently a bug in the dscape stack and the wireless interface is not reported correctly in proc with the result that many tools does not detect the interface correctly.&lt;br /&gt;
&lt;br /&gt;
This has consequences for report generation and configuration by many existing tools.&lt;br /&gt;
&lt;br /&gt;
(check http://rt2x00.serialmonkey.com/wiki/index.php/Rt2x00Wiki:Bug_reports#Bug_No:001)&lt;/div&gt;</description>
			<pubDate>Wed, 31 May 2006 07:50:00 GMT</pubDate>			<dc:creator>Pclaassen</dc:creator>			<comments>http://rt2x00.serialmonkey.com/wiki/index.php/Talk:README</comments>		</item>
		<item>
			<title>Documentation</title>
			<link>http://rt2x00.serialmonkey.com/wiki/index.php/Documentation</link>
			<description>&lt;p&gt;Summary: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==rt2x00 Documentation (DRAFT)==&lt;br /&gt;
&lt;br /&gt;
*[[rt2x00 README]]&lt;br /&gt;
*[[rt2x00 Technical architecture overview]]&lt;br /&gt;
*[[rt2x00 Feature listing]]&lt;br /&gt;
*[[rt2x00 User Guide]] (covering device-specific configurations, things outside the standard config that should be covered in the DeviceScape stack)&lt;br /&gt;
*[[rt2x00 Ubuntu Howto]]&lt;br /&gt;
*[[rt2x00 Fedora Howto]]&lt;br /&gt;
*[[rt2x00 Gentoo Howto]]&lt;br /&gt;
*[[rt2x00 Project Roadmap]]&lt;br /&gt;
*[[rt2x00 Debugging and Testing Guide]]&lt;/div&gt;</description>
			<pubDate>Wed, 31 May 2006 07:37:07 GMT</pubDate>			<dc:creator>Pclaassen</dc:creator>			<comments>http://rt2x00.serialmonkey.com/wiki/index.php/Talk:Documentation</comments>		</item>
		<item>
			<title>Rt2570 GIT kernel integration, complete version</title>
			<link>http://rt2x00.serialmonkey.com/wiki/index.php/Rt2570_GIT_kernel_integration%2C_complete_version</link>
			<description>&lt;p&gt;Summary: Initial version, empty place holder&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unfortunately I am quite busy for the time being, so it will take some time&lt;br /&gt;
before I have the guide transformed into wiki format.&lt;br /&gt;
&lt;br /&gt;
However I initially made the guide as a standalone html file (with pictures), so as a temporarily solution you can download a copy here [http://hlovdal.dyndns.org:8080/2006/rt2570/git-out-of-tree-driver-maintenance_2006-03-12.zip].&lt;/div&gt;</description>
			<pubDate>Mon, 03 Apr 2006 20:17:57 GMT</pubDate>			<dc:creator>Hlovdal</dc:creator>			<comments>http://rt2x00.serialmonkey.com/wiki/index.php/Talk:Rt2570_GIT_kernel_integration%2C_complete_version</comments>		</item>
		<item>
			<title>Rt2570 GIT kernel integration, simple version</title>
			<link>http://rt2x00.serialmonkey.com/wiki/index.php/Rt2570_GIT_kernel_integration%2C_simple_version</link>
			<description>&lt;p&gt;Summary: Initial version, dummy place holder&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Not done yet, see [[Rt2570_GIT_kernel_integration%2C_complete_version|here]] until then.&lt;/div&gt;</description>
			<pubDate>Mon, 03 Apr 2006 19:43:44 GMT</pubDate>			<dc:creator>Hlovdal</dc:creator>			<comments>http://rt2x00.serialmonkey.com/wiki/index.php/Talk:Rt2570_GIT_kernel_integration%2C_simple_version</comments>		</item>
		<item>
			<title>Rt2570 GIT kernel integration Guide</title>
			<link>http://rt2x00.serialmonkey.com/wiki/index.php/Rt2570_GIT_kernel_integration_Guide</link>
			<description>&lt;p&gt;Summary: rewording&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Welcome!&amp;lt;/h2&amp;gt;&lt;br /&gt;
The contents of this guide should provide you with knowledge of&lt;br /&gt;
&lt;br /&gt;
# How to integrate an out-of-kernel driver into the kernel&lt;br /&gt;
# How to keep your integrated driver in sync with the kernel as new kernel versions are coming.&lt;br /&gt;
&lt;br /&gt;
So no more clumsy additional driver module compilation, just the normal&lt;br /&gt;
&amp;lt;tt&amp;gt;make modules&amp;lt;/tt&amp;gt;. And if the driver was released several months ago against&lt;br /&gt;
an older kernel version, you can still pull the latest and greatest version from&lt;br /&gt;
Linus' git repository and use that. The latter might require some effort&lt;br /&gt;
on your part, but the good news is that the tools are there to support&lt;br /&gt;
you 100% and the guide will explain how.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Guides&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Initially I wrote one one rather large guide but I have decided to&lt;br /&gt;
fork it into two versions:&lt;br /&gt;
&lt;br /&gt;
* One [[Rt2570_GIT_kernel_integration,_simple_version|simple version]] which tries to respond to the following desire &amp;quot;OK, so I just want the rt2570 driver integrated into the latest version of the kernel tree. What are the minimum steps I have to make?&amp;quot;&lt;br /&gt;
* One [[Rt2570_GIT_kernel_integration,_complete_version|complete version]] which deals updating the source code, both for the kernel and for the driver.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Git&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The creation of git[http://en.wikipedia.org/wiki/Git_%28software%29]&lt;br /&gt;
was the single most important event in 2005 for linux kernel development.&lt;br /&gt;
Nothing else compares. With git almost a new world of source control&lt;br /&gt;
possibilities with branching and merging opens up for the free/OSS&lt;br /&gt;
community. So if you have not already installed and started&lt;br /&gt;
to get familiar with git yet you should do so right away.&lt;br /&gt;
&lt;br /&gt;
''Although this guide is written using the rt2570 driver, it should be applicable for any other driver, patch or set of patches that are not integrated into the standard kernel.''&lt;/div&gt;</description>
			<pubDate>Mon, 03 Apr 2006 19:35:03 GMT</pubDate>			<dc:creator>Hlovdal</dc:creator>			<comments>http://rt2x00.serialmonkey.com/wiki/index.php/Talk:Rt2570_GIT_kernel_integration_Guide</comments>		</item>
		<item>
			<title>Donations</title>
			<link>http://rt2x00.serialmonkey.com/wiki/index.php/Donations</link>
			<description>&lt;p&gt;Summary: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Eric Spakman from [http://leaf.sf.net/bering-uclibc Bering uClibc Project], has donated a Linksys WAP11.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</description>
			<pubDate>Mon, 20 Feb 2006 09:51:04 GMT</pubDate>			<dc:creator>Luis</dc:creator>			<comments>http://rt2x00.serialmonkey.com/wiki/index.php/Talk:Donations</comments>		</item>
		<item>
			<title>It's Broke</title>
			<link>http://rt2x00.serialmonkey.com/wiki/index.php/It%27s_Broke</link>
			<description>&lt;p&gt;Summary: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Troubleshooting Tips for rt2500=&lt;br /&gt;
&lt;br /&gt;
# If you have SMP enabled, turn it off&lt;br /&gt;
# Read Module\TESTING and see how to post a DEBUG trace.&lt;br /&gt;
# If you have run RaConfig and/or have a /etc/Wireless/Ralink/..... directory structure then delete it, don't use RaConfig, and try to configure using the command line utilities (iwconfig, ifconfig)&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting Tips for rt2570=&lt;br /&gt;
&lt;br /&gt;
# Stability issues can be addressed by disabling USB2.0 (ehci) and dropping back to USB1.1 (ohci). You can do this by blacklisting the ehci module&lt;br /&gt;
# If you have SMP enabled, turn it off&lt;br /&gt;
# If you have PREEMPT enabled, turn it off&lt;br /&gt;
&lt;br /&gt;
=Common Troubleshooting Tips=&lt;br /&gt;
&lt;br /&gt;
# If you are getting a hard panic (system freeze) then you should recompile your kernel with SYSRQ enabled, exit of out X11, enable SYSRQ (cat 1 &amp;gt; /proc/sys/kernel/sysrq) and then reproduce the issue from the command line and post a SYSRQ+ALT+P trace.&lt;/div&gt;</description>
			<pubDate>Tue, 23 Aug 2005 21:38:46 GMT</pubDate>			<dc:creator>Serialmonkey</dc:creator>			<comments>http://rt2x00.serialmonkey.com/wiki/index.php/Talk:It%27s_Broke</comments>		</item>
		<item>
			<title>Mandrake 10 rt2570 Howto</title>
			<link>http://rt2x00.serialmonkey.com/wiki/index.php/Mandrake_10_rt2570_Howto</link>
			<description>&lt;p&gt;Summary: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mandrake 10 (2005 Limited) HowTo for RT2750 USB stick&lt;br /&gt;
&lt;br /&gt;
by John Halfpenny&lt;br /&gt;
&lt;br /&gt;
Firstly I'd like to give credit to Phillipe's Mandrake guide which got me&lt;br /&gt;
started on this, and a few of the bits near the beginning are the same as his &lt;br /&gt;
HowTo. Unfortunately that guide wouldn't get the usb stick working for me &lt;br /&gt;
(probably as it's for a different driver entirely, and I suspect a different &lt;br /&gt;
release of MDK), so here's a quick guide to how I got the usb wireless going &lt;br /&gt;
on my vaio. &lt;br /&gt;
&lt;br /&gt;
I don't use any other packages here, this will just launch the wireless on &lt;br /&gt;
boot and have you up and running by the time KDE (or Gnome if you must - ;-)) &lt;br /&gt;
comes on.&lt;br /&gt;
&lt;br /&gt;
Open a terminal and log in as root&lt;br /&gt;
&lt;br /&gt;
 # su - root password &lt;br /&gt;
	&lt;br /&gt;
Download the nightly tarball and extract to /usr/src&lt;br /&gt;
&lt;br /&gt;
 # cd /usr/src&lt;br /&gt;
 # wget http://rt2x00.serialmonkey.com/rt2570-cvs-daily.tar.gz&lt;br /&gt;
 # tar zvxf rtxxxxx.tar.gz&lt;br /&gt;
&lt;br /&gt;
Make sure you have the kernel source in /usr/src&lt;br /&gt;
&lt;br /&gt;
 # rpm -qa | grep kernel&lt;br /&gt;
 kernel-2.6.11.6mdk-1-1mdk&lt;br /&gt;
 kernel-source-2.6-2.6.11-6mdk&lt;br /&gt;
&lt;br /&gt;
If you don't then you can install it with all necessary links from System / &lt;br /&gt;
Configuration / Packaging / Install software on KDE. Do a filter on 'kernel' &lt;br /&gt;
and it should pop up- I'd also advise installing this from the CD you used to &lt;br /&gt;
install Mandrake, just to make sure the versions don't get jumbled up.&lt;br /&gt;
&lt;br /&gt;
Compile the module&lt;br /&gt;
&lt;br /&gt;
 # cd /usr/src/rtxxxxx/Module&lt;br /&gt;
 # make&lt;br /&gt;
 ...&lt;br /&gt;
 # make install&lt;br /&gt;
 ...&lt;br /&gt;
	&lt;br /&gt;
Now the module will have probably been placed in /lib/modules/(kernelversion)&lt;br /&gt;
custom/extra, this is wrong and you can't modprobe if you leave it there, so &lt;br /&gt;
we need to move it to /lib/modules/(kernelversion)/kernel/drivers/net/wireless/&lt;br /&gt;
&lt;br /&gt;
 # cp /lib/modules/(kernelversion)custom/extra/rt2570.ko /lib/modules/(kernelversion)/kernel/drivers/net/wireless/&lt;br /&gt;
 # insmod /lib/modules/2.6.11-6mdk/kernel/drivers/net/wireless/rt2570.ko&lt;br /&gt;
 # depmod -a&lt;br /&gt;
&lt;br /&gt;
Now I've got a habit of rebooting machines when I do things like this, so &lt;br /&gt;
whether or not you choose to is up to you- but this guide presumes you have. &lt;br /&gt;
Open up another root terminal when the PC comes back up. Type this to make &lt;br /&gt;
sure the module is loaded ok, if no error is returned then it looks like we're &lt;br /&gt;
ok.&lt;br /&gt;
&lt;br /&gt;
 # modprobe rt2570&lt;br /&gt;
	&lt;br /&gt;
You can then configure your wireless card by writing a script for the device&lt;br /&gt;
&lt;br /&gt;
 # vi /etc/sysconfig/network-scripts/ifcfg-rausb0&lt;br /&gt;
	&lt;br /&gt;
Mine looks like this&lt;br /&gt;
&lt;br /&gt;
 DEVICE=rausb0&lt;br /&gt;
 BOOTPROTO=static&lt;br /&gt;
 IPADDR=10.4.0.6&lt;br /&gt;
 BROADCAST=10.255.255.255&lt;br /&gt;
 NETMASK=255.0.0.0&lt;br /&gt;
 NETWORK=10.0.0.0&lt;br /&gt;
 GATEWAY=10.4.0.1&lt;br /&gt;
 WIRELESS=yes&lt;br /&gt;
 ONBOOT=yes&lt;br /&gt;
&lt;br /&gt;
This will keep the settings for the device for when you use the ifup-rausb0 &lt;br /&gt;
statement. It will activate the device on boot, you can set this to no if you &lt;br /&gt;
move about with your laptop- I would advise not running the USB stick with &lt;br /&gt;
another activated network card though, so whenever you use the USB wireless, &lt;br /&gt;
try to remember to do a ifdown-eth0 or similar.&lt;br /&gt;
&lt;br /&gt;
That's it if you don't use authentication! &lt;br /&gt;
&lt;br /&gt;
If you use PSK, then you will need a further script to set the parameters for &lt;br /&gt;
that. My experiences of the PSK haven't been *excellent* but it does work, it &lt;br /&gt;
can be a bit fiddly though (at time of writing driver version 1.0.0), the &lt;br /&gt;
sleep statements in the script certainly help things along a bit.&lt;br /&gt;
&lt;br /&gt;
 # vi /etc/init.d/wireless-script&lt;br /&gt;
	&lt;br /&gt;
 iwpriv rausb0 enc 3&lt;br /&gt;
 iwpriv rausb0 auth 3&lt;br /&gt;
 iwconfig rausb0 essid &amp;quot;your wireless network name&amp;quot;&lt;br /&gt;
 sleep 1&lt;br /&gt;
 iwpriv rausb0 wpapsk &amp;quot;your top secret password&amp;quot;&lt;br /&gt;
 sleep 1&lt;br /&gt;
 iwconfig rausb0 essid &amp;quot;your wireless network name&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For a full list of the config options for the card, you may need to download &lt;br /&gt;
the driver from ralink and look through the readme. This example only covers &lt;br /&gt;
PSK as it's what I use to stop my neighbours freeloading off my broadband &lt;br /&gt;
connection ;-).&lt;br /&gt;
&lt;br /&gt;
OK, let's get the script to load automatically when we reboot&lt;br /&gt;
&lt;br /&gt;
 # chmod +x /etc/init.d/wireless-script&lt;br /&gt;
 # vi /etc/rc.local&lt;br /&gt;
	&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 #&lt;br /&gt;
 # This script will be executed *after* all the other init scripts.&lt;br /&gt;
 # You can put your own initialization stuff in here if you don't&lt;br /&gt;
 # want to do the full Sys V style init stuff.&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/wireless-script&lt;br /&gt;
&lt;br /&gt;
There you go! If you go to a root terminal you can check your interface is up &lt;br /&gt;
and running, it should also appear in the connection watcher on KDE (though &lt;br /&gt;
obviously this doesn't show anything about the PSK working or not).&lt;br /&gt;
&lt;br /&gt;
John&lt;/div&gt;</description>
			<pubDate>Mon, 08 Aug 2005 00:19:59 GMT</pubDate>			<dc:creator>Serialmonkey</dc:creator>			<comments>http://rt2x00.serialmonkey.com/wiki/index.php/Talk:Mandrake_10_rt2570_Howto</comments>		</item>
		<item>
			<title>Roadmap</title>
			<link>http://rt2x00.serialmonkey.com/wiki/index.php/Roadmap</link>
			<description>&lt;p&gt;Summary: /* Legacy Drivers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Below is a rough outline of our current project roadmap. It covers the area's where we are currently focusing our development efforts.&lt;br /&gt;
&lt;br /&gt;
==Legacy Drivers==&lt;br /&gt;
&lt;br /&gt;
Support for the legacy drivers will end in April 24th 2009.&lt;br /&gt;
&lt;br /&gt;
==rt2x00 Redevelopment Project==&lt;br /&gt;
&lt;br /&gt;
We currently are also working on a complete driver rewrite - dubbed the rt2x00 project. This driver has been designed and written from the ground up, based on the mac80211-stack (new wireless stack). &lt;br /&gt;
This driver supports all current Ralink chipsets except for the 11n capable devices. &lt;br /&gt;
This driver is included in mainline linux and is the future of this project. If you are interested in the status of it you can [[Rt2x00_GIT_instructions|grab it using git]], read the [[Help:Contents|documentation]]. The most up to date list of issues and work in progress can probably be found on the [[Todo]] page.&lt;/div&gt;</description>
			<pubDate>Sat, 23 Jul 2005 05:04:44 GMT</pubDate>			<dc:creator>Serialmonkey</dc:creator>			<comments>http://rt2x00.serialmonkey.com/wiki/index.php/Talk:Roadmap</comments>		</item>
	</channel>
</rss>
