<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-3220</id>
	<title>Nabble - ZyDAS ZD1211 Linux Driver</title>
	<updated>2009-11-26T01:47:14Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/ZyDAS-ZD1211-Linux-Driver-f3220.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ZyDAS-ZD1211-Linux-Driver-f3220.html" />
	<subtitle type="html">Linux driver for the ZyDAS ZD1211 802.11b/g USB-WLAN-Chip.  Initially contributed by ZyDAS, this driver is actively maintained by the open source community. ZyDAS ZD1211 Linux Driver home is &lt;a href=&quot;http://sourceforge.net/projects/zd1211/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26526842</id>
	<title>Re: monitor mode not capturing other BSS packets</title>
	<published>2009-11-26T01:47:14Z</published>
	<updated>2009-11-26T01:47:14Z</updated>
	<author>
		<name>Gábor Stefanik</name>
	</author>
	<content type="html">2009/11/25 Benoit PAPILLAULT &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26526842&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;benoit.papillault@...&lt;/a&gt;&amp;gt;:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Benoit PAPILLAULT a écrit :
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; TX rate is dropping a lot (like 20 MBits down to 200 kbits/s). Using
&lt;br&gt;&amp;gt;&amp;gt; another card in monitor mode, I still see packets sent at 54 Mbits rate
&lt;br&gt;&amp;gt;&amp;gt; however.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I found out what is wrong with the TX throughput. In fact, when a packet is
&lt;br&gt;&amp;gt; transmitted at 54 Mbits, the destination send back a 802.11 ACK which is
&lt;br&gt;&amp;gt; ignored!!! As such, the packet is transmitted at 54 Mbits once again, then
&lt;br&gt;&amp;gt; twice at 48 Mbits, then twice at 36 Mbits ... and so on down to 1 Mbits. Of
&lt;br&gt;&amp;gt; course, this divide the throughput by 18 (twice for each 9 rates), leading
&lt;br&gt;&amp;gt; to 200 - 300 kbits.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; When implementing proper TX status reporting, needed by minstrel rate
&lt;br&gt;&amp;gt; control, I also found out that some 802.11 ACK where not received by the
&lt;br&gt;&amp;gt; driver, but received by the card, leading to inconsistencies in the rate
&lt;br&gt;&amp;gt; control code.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Are there some registers that are responsible for ACK behavior?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt; Benoit
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;ACK handling and retrying is one of the known weak points of the
&lt;br&gt;zd1211(b) chipset - apparently enabling CR_SNIFFER causes the card to
&lt;br&gt;ignore ACKs received. Also, the retry plan for unACKed outgoing
&lt;br&gt;packets (retry count &amp; rates) needs to be uploaded to the device on
&lt;br&gt;firmware init, and can't be controlled per-packet.
&lt;br&gt;&lt;br&gt;Luis: Any chance of an open firmware release for the ZD1211, similarly
&lt;br&gt;to what was done for AR9170/ZD1221? That would probably allow for
&lt;br&gt;fixing these problems.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/monitor-mode-not-capturing-other-BSS-packets-tp26452255p26526842.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26520662</id>
	<title>Re: monitor mode not capturing other BSS packets</title>
	<published>2009-11-25T13:31:14Z</published>
	<updated>2009-11-25T13:31:14Z</updated>
	<author>
		<name>Benoit PAPILLAULT</name>
	</author>
	<content type="html">Benoit PAPILLAULT a écrit :
&lt;br&gt;&amp;gt; TX rate is dropping a lot (like 20 MBits down to 200 kbits/s). Using
&lt;br&gt;&amp;gt; another card in monitor mode, I still see packets sent at 54 Mbits rate 
&lt;br&gt;&amp;gt; however.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;I found out what is wrong with the TX throughput. In fact, when a packet 
&lt;br&gt;is transmitted at 54 Mbits, the destination send back a 802.11 ACK which 
&lt;br&gt;is ignored!!! As such, the packet is transmitted at 54 Mbits once again, 
&lt;br&gt;then twice at 48 Mbits, then twice at 36 Mbits ... and so on down to 1 
&lt;br&gt;Mbits. Of course, this divide the throughput by 18 (twice for each 9 
&lt;br&gt;rates), leading to 200 - 300 kbits.
&lt;br&gt;&lt;br&gt;When implementing proper TX status reporting, needed by minstrel rate 
&lt;br&gt;control, I also found out that some 802.11 ACK where not received by the 
&lt;br&gt;driver, but received by the card, leading to inconsistencies in the rate 
&lt;br&gt;control code.
&lt;br&gt;&lt;br&gt;Are there some registers that are responsible for ACK behavior?
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Benoit
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/monitor-mode-not-capturing-other-BSS-packets-tp26452255p26520662.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26475851</id>
	<title>Re: monitor mode not capturing other BSS packets</title>
	<published>2009-11-23T02:45:35Z</published>
	<updated>2009-11-23T02:45:35Z</updated>
	<author>
		<name>Daniel Drake</name>
	</author>
	<content type="html">Benoit PAPILLAULT wrote:
&lt;br&gt;&amp;gt; Very good point. I have two hardware here : one is zd1211 and the other 
&lt;br&gt;&amp;gt; is zd1211b. If I test with both, will it be ok?
&lt;br&gt;&lt;br&gt;IIRC, 2 of my ZD1211B devices behave differently.
&lt;br&gt;&lt;br&gt;Also, the reason that you lose performance is likely because the chip 
&lt;br&gt;will stop synchronizing its clock to the clock of the BSS that you are 
&lt;br&gt;connected to, and will instead attempt to be more flexible in terms of 
&lt;br&gt;receiving data from anywhere at any given time.
&lt;br&gt;&lt;br&gt;Daniel
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/monitor-mode-not-capturing-other-BSS-packets-tp26452255p26475851.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26475579</id>
	<title>Re: monitor mode not capturing other BSS packets</title>
	<published>2009-11-23T02:26:40Z</published>
	<updated>2009-11-23T02:26:40Z</updated>
	<author>
		<name>Benoit PAPILLAULT</name>
	</author>
	<content type="html">Gábor Stefanik a écrit :
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 2009/11/22 Benoit PAPILLAULT &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26475579&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;benoit.papillault@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; -----BEGIN PGP SIGNED MESSAGE-----
&lt;br&gt;&amp;gt;&amp;gt; Hash: SHA1
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Gábor Stefanik a écrit :
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Yes, that is probably the problem; please try this patch:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://patches.aircrack-ng.org/zd1211rw_inject_2.6.26.patch&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://patches.aircrack-ng.org/zd1211rw_inject_2.6.26.patch&lt;/a&gt;. It's just
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; a hack, but it works. (Without the hack, only enabling CR_SNIFFER_ON
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; will cause the card to return junk packets.)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; Indeed. However :
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 1. I did not receive junk packet so far with only enabling CR_SNIFFER_ON.
&lt;br&gt;&amp;gt;&amp;gt; 2. With both a STA interface and a monitor interface, performance drops
&lt;br&gt;&amp;gt;&amp;gt; significantly. Any explanation for this.
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; What do you mean by &amp;quot;performance loss&amp;quot;? Is there packet loss? Is TX
&lt;br&gt;&amp;gt; rate dropping?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;TX rate is dropping a lot (like 20 MBits down to 200 kbits/s). Using 
&lt;br&gt;another card in monitor mode, I still see packets sent at 54 Mbits rate 
&lt;br&gt;however.
&lt;br&gt;&lt;br&gt;It seems that implementing monitor mode is not consistent over all 
&lt;br&gt;zd1211 devices and it has an impact on performance. Maybe we can :
&lt;br&gt;1. Dig a big deeper into understanding register settings needed for 
&lt;br&gt;monitor mode.
&lt;br&gt;2. Add a debugfs interface for enabling the use of CR_SNIFFER_ON in 
&lt;br&gt;monitor mode. IMHO, it could be enabled by default since users not using 
&lt;br&gt;monitor mode at all won't be affected and users doing monitor mode 
&lt;br&gt;expect it to work. In order to warn people, we can add a syslog messages 
&lt;br&gt;saying &amp;quot;Using CR_SNIFFER_ON register, your performance may degrade, 
&lt;br&gt;check /sys/kernel/debug/zd1211rw/use_cr_sniffer_on settings&amp;quot;.
&lt;br&gt;&lt;br&gt;Comments?
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Benoit
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/monitor-mode-not-capturing-other-BSS-packets-tp26452255p26475579.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26475493</id>
	<title>Re: monitor mode not capturing other BSS packets</title>
	<published>2009-11-23T02:19:43Z</published>
	<updated>2009-11-23T02:19:43Z</updated>
	<author>
		<name>Benoit PAPILLAULT</name>
	</author>
	<content type="html">Hin-Tak Leung a écrit :
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; --- On Sun, 22/11/09, Daniel Drake &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26475493&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dsd@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; Benoit PAPILLAULT wrote:
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 1. I did not receive junk packet so far with only
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; enabling CR_SNIFFER_ON.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; The reason we flip-flopped once or twice in the past is
&lt;br&gt;&amp;gt;&amp;gt; because 
&lt;br&gt;&amp;gt;&amp;gt; CR_SNIFFER_ON behaves wildly differently on different
&lt;br&gt;&amp;gt;&amp;gt; revisions of the 
&lt;br&gt;&amp;gt;&amp;gt; ZD1211 hardware.
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; It is probably appropriate to document this as a comment next to CR_SNIFFER_ON in one of the headers.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;Very good point. I have two hardware here : one is zd1211 and the other 
&lt;br&gt;is zd1211b. If I test with both, will it be ok?
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Benoit
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/monitor-mode-not-capturing-other-BSS-packets-tp26452255p26475493.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26471934</id>
	<title>Re: monitor mode not capturing other BSS packets</title>
	<published>2009-11-22T18:26:59Z</published>
	<updated>2009-11-22T18:26:59Z</updated>
	<author>
		<name>Hin-Tak Leung</name>
	</author>
	<content type="html">--- On Mon, 23/11/09, Alejandro Grijalba &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26471934&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;sud@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Benoit PAPILLAULT escribió:
&lt;br&gt;&amp;gt; &amp;gt; 1. I did not receive junk packet so far with only
&lt;br&gt;&amp;gt; enabling CR_SNIFFER_ON.
&lt;br&gt;&amp;gt; &amp;gt;   
&lt;br&gt;&amp;gt; If you apply the patch and there is a lot of wireless
&lt;br&gt;&amp;gt; traffic going on
&lt;br&gt;&amp;gt; you will start getting random frames too (sniffing with
&lt;br&gt;&amp;gt; tcpdump on
&lt;br&gt;&amp;gt; monitor interface or whatever). I have a couple of zd1211rw
&lt;br&gt;&amp;gt; usb devices,
&lt;br&gt;&amp;gt; and both do it.
&lt;br&gt;&amp;gt; &amp;gt; 2. With both a STA interface and a monitor interface,
&lt;br&gt;&amp;gt; performance drops
&lt;br&gt;&amp;gt; &amp;gt; significantly. Any explanation for this.
&lt;br&gt;&amp;gt; &amp;gt;   
&lt;br&gt;&amp;gt; Not sure, maybe because you are sniffing all frames in the
&lt;br&gt;&amp;gt; channel, not
&lt;br&gt;&amp;gt; only your BSS ones.
&lt;br&gt;&amp;gt; &amp;gt; 3. Could you tell me a bit more about your junk packet
&lt;br&gt;&amp;gt; filtering?
&lt;br&gt;&amp;gt; &amp;gt;   
&lt;br&gt;&amp;gt; That patch is the mac80211 port of an older ieee80211 patch
&lt;br&gt;&amp;gt; which was
&lt;br&gt;&amp;gt; not done by me. The ~0x21 is a magic value that seems to
&lt;br&gt;&amp;gt; work filtering
&lt;br&gt;&amp;gt; junk frames. But i don't know what it means.
&lt;br&gt;&amp;gt; &amp;gt; 4. I received lots of small RX packet of 4 or 5 bytes.
&lt;br&gt;&amp;gt; What is causing this?
&lt;br&gt;&amp;gt; &amp;gt;   
&lt;br&gt;&amp;gt; Maybe you are getting acks, or maybe it's part of the
&lt;br&gt;&amp;gt; junk/random frames.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Btw, how about enabling the CR_SNIFFER_ON patch as a module
&lt;br&gt;&amp;gt; parameter so
&lt;br&gt;&amp;gt; everyone is happy?
&lt;/div&gt;&lt;br&gt;Expose it through /sysfs or /proc (so that it is dynamically selectable after module loading) may be even better, if it can be done...
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/monitor-mode-not-capturing-other-BSS-packets-tp26452255p26471934.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26471822</id>
	<title>Re: monitor mode not capturing other BSS packets</title>
	<published>2009-11-22T17:44:50Z</published>
	<updated>2009-11-22T17:44:50Z</updated>
	<author>
		<name>Alejandro Grijalba</name>
	</author>
	<content type="html">Benoit PAPILLAULT escribió:
&lt;br&gt;&amp;gt; 1. I did not receive junk packet so far with only enabling CR_SNIFFER_ON.
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;If you apply the patch and there is a lot of wireless traffic going on
&lt;br&gt;you will start getting random frames too (sniffing with tcpdump on
&lt;br&gt;monitor interface or whatever). I have a couple of zd1211rw usb devices,
&lt;br&gt;and both do it.
&lt;br&gt;&amp;gt; 2. With both a STA interface and a monitor interface, performance drops
&lt;br&gt;&amp;gt; significantly. Any explanation for this.
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;Not sure, maybe because you are sniffing all frames in the channel, not
&lt;br&gt;only your BSS ones.
&lt;br&gt;&amp;gt; 3. Could you tell me a bit more about your junk packet filtering?
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;That patch is the mac80211 port of an older ieee80211 patch which was
&lt;br&gt;not done by me. The ~0x21 is a magic value that seems to work filtering
&lt;br&gt;junk frames. But i don't know what it means.
&lt;br&gt;&amp;gt; 4. I received lots of small RX packet of 4 or 5 bytes. What is causing this?
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;Maybe you are getting acks, or maybe it's part of the junk/random frames.
&lt;br&gt;&lt;br&gt;Btw, how about enabling the CR_SNIFFER_ON patch as a module parameter so
&lt;br&gt;everyone is happy?
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/monitor-mode-not-capturing-other-BSS-packets-tp26452255p26471822.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26470847</id>
	<title>Re: monitor mode not capturing other BSS packets</title>
	<published>2009-11-22T15:43:30Z</published>
	<updated>2009-11-22T15:43:30Z</updated>
	<author>
		<name>Hin-Tak Leung</name>
	</author>
	<content type="html">--- On Sun, 22/11/09, Daniel Drake &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26470847&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dsd@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; Benoit PAPILLAULT wrote:
&lt;br&gt;&amp;gt; &amp;gt; 1. I did not receive junk packet so far with only
&lt;br&gt;&amp;gt; enabling CR_SNIFFER_ON.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The reason we flip-flopped once or twice in the past is
&lt;br&gt;&amp;gt; because 
&lt;br&gt;&amp;gt; CR_SNIFFER_ON behaves wildly differently on different
&lt;br&gt;&amp;gt; revisions of the 
&lt;br&gt;&amp;gt; ZD1211 hardware.
&lt;br&gt;&lt;br&gt;It is probably appropriate to document this as a comment next to CR_SNIFFER_ON in one of the headers.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/monitor-mode-not-capturing-other-BSS-packets-tp26452255p26470847.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26470457</id>
	<title>Re: monitor mode not capturing other BSS packets</title>
	<published>2009-11-22T14:51:31Z</published>
	<updated>2009-11-22T14:51:31Z</updated>
	<author>
		<name>Gábor Stefanik</name>
	</author>
	<content type="html">2009/11/22 Benoit PAPILLAULT &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26470457&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;benoit.papillault@...&lt;/a&gt;&amp;gt;:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; -----BEGIN PGP SIGNED MESSAGE-----
&lt;br&gt;&amp;gt; Hash: SHA1
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Gábor Stefanik a écrit :
&lt;br&gt;&amp;gt;&amp;gt; Yes, that is probably the problem; please try this patch:
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://patches.aircrack-ng.org/zd1211rw_inject_2.6.26.patch&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://patches.aircrack-ng.org/zd1211rw_inject_2.6.26.patch&lt;/a&gt;. It's just
&lt;br&gt;&amp;gt;&amp;gt; a hack, but it works. (Without the hack, only enabling CR_SNIFFER_ON
&lt;br&gt;&amp;gt;&amp;gt; will cause the card to return junk packets.)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Indeed. However :
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 1. I did not receive junk packet so far with only enabling CR_SNIFFER_ON.
&lt;br&gt;&amp;gt; 2. With both a STA interface and a monitor interface, performance drops
&lt;br&gt;&amp;gt; significantly. Any explanation for this.
&lt;/div&gt;&lt;br&gt;What do you mean by &amp;quot;performance loss&amp;quot;? Is there packet loss? Is TX
&lt;br&gt;rate dropping?
&lt;br&gt;&lt;br&gt;&amp;gt; 3. Could you tell me a bit more about your junk packet filtering?
&lt;br&gt;&lt;br&gt;It was not written by me - CCing SuD, who wrote the patch.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 4. I received lots of small RX packet of 4 or 5 bytes. What is causing this?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Does your patch has been sent upstream already?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt; Benoit
&lt;br&gt;&amp;gt; -----BEGIN PGP SIGNATURE-----
&lt;br&gt;&amp;gt; Version: GnuPG v1.4.9 (GNU/Linux)
&lt;br&gt;&amp;gt; Comment: Using GnuPG with Mozilla - &lt;a href=&quot;http://enigmail.mozdev.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://enigmail.mozdev.org/&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; iEYEARECAAYFAksJtdEACgkQOR6EySwP7oI0fwCg7wMKKTzlwGtEJax6oNBfuZi3
&lt;br&gt;&amp;gt; R6sAoOsCUrp1bZzxrrh6j4mycGXru00u
&lt;br&gt;&amp;gt; =xMHN
&lt;br&gt;&amp;gt; -----END PGP SIGNATURE-----
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/monitor-mode-not-capturing-other-BSS-packets-tp26452255p26470457.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26470299</id>
	<title>Re: monitor mode not capturing other BSS packets</title>
	<published>2009-11-22T14:28:23Z</published>
	<updated>2009-11-22T14:28:23Z</updated>
	<author>
		<name>Daniel Drake</name>
	</author>
	<content type="html">Benoit PAPILLAULT wrote:
&lt;br&gt;&amp;gt; 1. I did not receive junk packet so far with only enabling CR_SNIFFER_ON.
&lt;br&gt;&lt;br&gt;The reason we flip-flopped once or twice in the past is because 
&lt;br&gt;CR_SNIFFER_ON behaves wildly differently on different revisions of the 
&lt;br&gt;ZD1211 hardware.
&lt;br&gt;&lt;br&gt;Daniel
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/monitor-mode-not-capturing-other-BSS-packets-tp26452255p26470299.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26470076</id>
	<title>Re: monitor mode not capturing other BSS packets</title>
	<published>2009-11-22T14:06:13Z</published>
	<updated>2009-11-22T14:06:13Z</updated>
	<author>
		<name>Benoit PAPILLAULT</name>
	</author>
	<content type="html">-----BEGIN PGP SIGNED MESSAGE-----
&lt;br&gt;Hash: SHA1
&lt;br&gt;&lt;br&gt;Gábor Stefanik a écrit :
&lt;br&gt;&amp;gt; Yes, that is probably the problem; please try this patch:
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://patches.aircrack-ng.org/zd1211rw_inject_2.6.26.patch&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://patches.aircrack-ng.org/zd1211rw_inject_2.6.26.patch&lt;/a&gt;. It's just
&lt;br&gt;&amp;gt; a hack, but it works. (Without the hack, only enabling CR_SNIFFER_ON
&lt;br&gt;&amp;gt; will cause the card to return junk packets.)
&lt;br&gt;&lt;br&gt;Indeed. However :
&lt;br&gt;&lt;br&gt;1. I did not receive junk packet so far with only enabling CR_SNIFFER_ON.
&lt;br&gt;2. With both a STA interface and a monitor interface, performance drops
&lt;br&gt;significantly. Any explanation for this.
&lt;br&gt;3. Could you tell me a bit more about your junk packet filtering?
&lt;br&gt;4. I received lots of small RX packet of 4 or 5 bytes. What is causing this?
&lt;br&gt;&lt;br&gt;Does your patch has been sent upstream already?
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Benoit
&lt;br&gt;-----BEGIN PGP SIGNATURE-----
&lt;br&gt;Version: GnuPG v1.4.9 (GNU/Linux)
&lt;br&gt;Comment: Using GnuPG with Mozilla - &lt;a href=&quot;http://enigmail.mozdev.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://enigmail.mozdev.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;iEYEARECAAYFAksJtdEACgkQOR6EySwP7oI0fwCg7wMKKTzlwGtEJax6oNBfuZi3
&lt;br&gt;R6sAoOsCUrp1bZzxrrh6j4mycGXru00u
&lt;br&gt;=xMHN
&lt;br&gt;-----END PGP SIGNATURE-----
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/monitor-mode-not-capturing-other-BSS-packets-tp26452255p26470076.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26453028</id>
	<title>Re: monitor mode not capturing other BSS packets</title>
	<published>2009-11-20T17:35:29Z</published>
	<updated>2009-11-20T17:35:29Z</updated>
	<author>
		<name>Gábor Stefanik</name>
	</author>
	<content type="html">On Sat, Nov 21, 2009 at 12:35 AM, Benoit PAPILLAULT
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26453028&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;benoit.papillault@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hello there,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'm trying to use monitor mode with zd1211b device and I'm currently
&lt;br&gt;&amp;gt; using 2.6.32-rc7-wl kernel from wireless-testing git tree.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; What happens in monitor mode is that I only get DATA packets send to as
&lt;br&gt;&amp;gt; broadcast or multicast addr. I'd like to use the card to capture traffic
&lt;br&gt;&amp;gt; from other bss. I tried the iw flags otherbss when creating the monitor
&lt;br&gt;&amp;gt; interface, but this change nothing.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Is this a known problem? If so, where should i look for a fix?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I remember playing with this device years ago and there was a CR_SNIFFER
&lt;br&gt;&amp;gt; register that was set to 1. Apparently, this register is set to 0 now.
&lt;br&gt;&amp;gt; Could it be the root of this issue?
&lt;/div&gt;&lt;br&gt;Yes, that is probably the problem; please try this patch:
&lt;br&gt;&lt;a href=&quot;http://patches.aircrack-ng.org/zd1211rw_inject_2.6.26.patch&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://patches.aircrack-ng.org/zd1211rw_inject_2.6.26.patch&lt;/a&gt;. It's just
&lt;br&gt;a hack, but it works. (Without the hack, only enabling CR_SNIFFER_ON
&lt;br&gt;will cause the card to return junk packets.)
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt; Benoit
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus on
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now.  &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;&amp;gt; Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/monitor-mode-not-capturing-other-BSS-packets-tp26452255p26453028.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26452255</id>
	<title>monitor mode not capturing other BSS packets</title>
	<published>2009-11-20T15:35:33Z</published>
	<updated>2009-11-20T15:35:33Z</updated>
	<author>
		<name>Benoit PAPILLAULT</name>
	</author>
	<content type="html">Hello there,
&lt;br&gt;&lt;br&gt;I'm trying to use monitor mode with zd1211b device and I'm currently
&lt;br&gt;using 2.6.32-rc7-wl kernel from wireless-testing git tree.
&lt;br&gt;&lt;br&gt;What happens in monitor mode is that I only get DATA packets send to as
&lt;br&gt;broadcast or multicast addr. I'd like to use the card to capture traffic
&lt;br&gt;from other bss. I tried the iw flags otherbss when creating the monitor
&lt;br&gt;interface, but this change nothing.
&lt;br&gt;&lt;br&gt;Is this a known problem? If so, where should i look for a fix?
&lt;br&gt;&lt;br&gt;I remember playing with this device years ago and there was a CR_SNIFFER
&lt;br&gt;register that was set to 1. Apparently, this register is set to 0 now.
&lt;br&gt;Could it be the root of this issue?
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Benoit
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/monitor-mode-not-capturing-other-BSS-packets-tp26452255p26452255.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26349902</id>
	<title>[SHARE] vendor driver 3.0.0.56 AP configuration procedure</title>
	<published>2009-11-14T05:10:30Z</published>
	<updated>2009-11-14T05:10:30Z</updated>
	<author>
		<name>yacc</name>
	</author>
	<content type="html">After couple days of error &amp; try, I finally figure out a procedure to achieve a WPA secured AP. I refine the steps for less variety
&lt;br&gt;&lt;br&gt;- Install CentOS 4.4 (kernel 2.6.9-42.EL). You need to install bridge-utils by &amp;quot;yum install bridge-utils&amp;quot;.
&lt;br&gt;- wget &lt;a href=&quot;http://ftp.ntu.edu.tw/linux/kernel/people/mcgrof/zd1211/LinuxUSB_AR2524-3.0.0.56.tgz&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ftp.ntu.edu.tw/linux/kernel/people/mcgrof/zd1211/LinuxUSB_AR2524-3.0.0.56.tgz&lt;/a&gt;&lt;br&gt;- tar zvfx LinuxUSB_AR2524-3.0.0.56.tgz
&lt;br&gt;- make
&lt;br&gt;- cp -R apps/etc/ /
&lt;br&gt;- insmod ar2524drv/zd1211b.ko zd1211_OperationMode=4
&lt;br&gt;- &amp;lt; INSERT THE USB DONGLE &amp;gt;
&lt;br&gt;- brctl addbr br0 
&lt;br&gt;- brctl setfd br0 0
&lt;br&gt;- brctl addif br0 eth0
&lt;br&gt;- brctl addif br0 ath0
&lt;br&gt;- ifconfig br0 0.0.0.0
&lt;br&gt;- ifconfig eth0 0.0.0.0
&lt;br&gt;- ifconfig ath0 0.0.0.0
&lt;br&gt;- echo &amp;quot;wpa_pairwise=CCMP&amp;quot; &amp;gt;&amp;gt; apps/hostapd-0.4.8/zydas.conf_psk
&lt;br&gt;- echo &amp;quot;ssid=AP&amp;quot; &amp;gt;&amp;gt; apps/hostapd-0.4.8/zydas.conf_psk
&lt;br&gt;- echo &amp;quot;wpa_passphrase=secrettext&amp;quot; &amp;gt;&amp;gt; apps/hostapd-0.4.8/zydas.conf_psk
&lt;br&gt;- apps/hostapd-0.4.8/hostapd -d apps/hostapd-0.4.8/zydas.conf_psk
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-SHARE--vendor-driver-3.0.0.56-AP-configuration-procedure-tp26349902p26349902.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26157566</id>
	<title>Where I can find the zd1211 datasheet?</title>
	<published>2009-11-01T18:47:50Z</published>
	<updated>2009-11-01T18:47:50Z</updated>
	<author>
		<name>tomas zheng</name>
	</author>
	<content type="html">Hi experts,
&lt;br&gt;&lt;br&gt;I am looking for the zd1211 chipset datasheet/manual, is there anyone
&lt;br&gt;can point out me where I can find it?Or send to me off line?
&lt;br&gt;Very appreciated.
&lt;br&gt;&lt;br&gt;BTW,I check www.zydas.com.tw find nothing.
&lt;br&gt;&lt;br&gt;Thanks very much
&lt;br&gt;Tomas W
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry(R) Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9 - 12, 2009. Register now!
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Where-I-can-find-the-zd1211-datasheet--tp26157566p26157566.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26107764</id>
	<title>Re: LinuxUSB_AR2524-3.0.0.56_2009May_pathset</title>
	<published>2009-10-29T00:08:50Z</published>
	<updated>2009-10-29T00:08:50Z</updated>
	<author>
		<name>Hin-Tak Leung</name>
	</author>
	<content type="html">--- On Thu, 29/10/09, Daniel Schmitt &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26107764&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;daniel.schmitt@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hello Hin-Tak,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; this URL does not work either:
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://htl10.users.sourceforge.net/LinuxUSB_AR2524-3.0.0.56_2009May_pathset/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://htl10.users.sourceforge.net/LinuxUSB_AR2524-3.0.0.56_2009May_pathset/&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Can you please mail me a .tar.bz-archive of the patches you
&lt;br&gt;&amp;gt; did for the
&lt;br&gt;&amp;gt; ZD1211 3.00 Vendor driver?
&lt;br&gt;&amp;gt; I want to get AP mode running and this doesn't work with
&lt;br&gt;&amp;gt; zd1211rw driver.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt; Daniel
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;Sorry, I moved it slightly:
&lt;br&gt;&lt;a href=&quot;http://htl10.users.sourceforge.net/patchsets/LinuxUSB_AR2524-3.0.0.56/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://htl10.users.sourceforge.net/patchsets/LinuxUSB_AR2524-3.0.0.56/&lt;/a&gt;&lt;br&gt;&lt;br&gt;and withdrawn patch 04 (which I inherit from somebody), which seems to be not needed and breaks 64-bit platform; there were also two new patches which ports it forward to 2.6.30/2.6.31 since I last wrote.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry(R) Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9 - 12, 2009. Register now!
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-LinuxUSB_AR2524-3.0.0.56_2009May_pathset-tp26107764p26107764.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26086942</id>
	<title>zyxtel G-202  AP mode</title>
	<published>2009-10-27T16:32:29Z</published>
	<updated>2009-10-27T16:32:29Z</updated>
	<author>
		<name>lotec25</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Trying to get this card to work in AP mode. &amp;nbsp;We have tried the zd1211rw module and the old zd1211b module. &amp;nbsp;The card will start into ap mode with Hostapd, and can see it broadcasting but we are unable to associate to the card, with encryption on or off. &amp;nbsp;Can anyone point me in the right direction to get this working. &amp;nbsp;Working on RedHat 2.6.18-rc6 kernel. I know the kernel is old but that is what has to be used. &amp;nbsp;I am kind of running out of ideas here on getting this working.&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/zyxtel-G-202--AP-mode-tp26086942p26086942.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26008094</id>
	<title>[PATCH] zd1211rw: Fix TX status reporting in order to have proper rate control</title>
	<published>2009-10-22T03:04:52Z</published>
	<updated>2009-10-22T03:04:52Z</updated>
	<author>
		<name>Benoit PAPILLAULT</name>
	</author>
	<content type="html">First, we reduce the number of hardware retries to 0 (ie 2 real retries
&lt;br&gt;for each rate). Next, when we report the retries to mac80211, we always
&lt;br&gt;report a retry count of 1 (it seems to be 2 in fact, but using 2 seems
&lt;br&gt;to lead to wrong performance for some reason). We use a state machine to
&lt;br&gt;determine the real fate of a packet based on the 802.11 ACK and what the
&lt;br&gt;Zydas hardware is saying when a real retry occurs. The real retry rates
&lt;br&gt;are encoded in a static array. It has been tested with both zd1211 and
&lt;br&gt;zd1211b hardware. Of course, since the Zydas hardware is not reporting
&lt;br&gt;retries accurately, we are just doing our best in order to get the best
&lt;br&gt;performance (ie higher throughput).
&lt;br&gt;&lt;br&gt;Signed-off-by: Benoit PAPILLAULT &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26008094&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;benoit.papillault@...&lt;/a&gt;&amp;gt;
&lt;br&gt;---
&lt;br&gt;&amp;nbsp;drivers/net/wireless/zd1211rw/zd_chip.c | &amp;nbsp; &amp;nbsp;4 +-
&lt;br&gt;&amp;nbsp;drivers/net/wireless/zd1211rw/zd_chip.h | &amp;nbsp; 18 +++-
&lt;br&gt;&amp;nbsp;drivers/net/wireless/zd1211rw/zd_mac.c &amp;nbsp;| &amp;nbsp;204 +++++++++++++++++++++++++++---
&lt;br&gt;&amp;nbsp;drivers/net/wireless/zd1211rw/zd_mac.h &amp;nbsp;| &amp;nbsp; 25 ++++-
&lt;br&gt;&amp;nbsp;drivers/net/wireless/zd1211rw/zd_usb.c &amp;nbsp;| &amp;nbsp; &amp;nbsp;4 +-
&lt;br&gt;&amp;nbsp;5 files changed, 228 insertions(+), 27 deletions(-)
&lt;br&gt;&lt;br&gt;diff --git a/drivers/net/wireless/zd1211rw/zd_chip.c b/drivers/net/wireless/zd1211rw/zd_chip.c
&lt;br&gt;index 5e110a2..43b476d 100644
&lt;br&gt;--- a/drivers/net/wireless/zd1211rw/zd_chip.c
&lt;br&gt;+++ b/drivers/net/wireless/zd1211rw/zd_chip.c
&lt;br&gt;@@ -755,7 +755,7 @@ static int hw_reset_phy(struct zd_chip *chip)
&lt;br&gt;&amp;nbsp;static int zd1211_hw_init_hmac(struct zd_chip *chip)
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp;	static const struct zd_ioreq32 ioreqs[] = {
&lt;br&gt;-		{ CR_ZD1211_RETRY_MAX,		0x2 },
&lt;br&gt;+		{ CR_ZD1211_RETRY_MAX,		ZD1211_RETRY_COUNT },
&lt;br&gt;&amp;nbsp;		{ CR_RX_THRESHOLD,		0x000c0640 },
&lt;br&gt;&amp;nbsp;	};
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -767,7 +767,7 @@ static int zd1211_hw_init_hmac(struct zd_chip *chip)
&lt;br&gt;&amp;nbsp;static int zd1211b_hw_init_hmac(struct zd_chip *chip)
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp;	static const struct zd_ioreq32 ioreqs[] = {
&lt;br&gt;-		{ CR_ZD1211B_RETRY_MAX,		0x02020202 },
&lt;br&gt;+		{ CR_ZD1211B_RETRY_MAX,		ZD1211B_RETRY_COUNT },
&lt;br&gt;&amp;nbsp;		{ CR_ZD1211B_CWIN_MAX_MIN_AC0,	0x007f003f },
&lt;br&gt;&amp;nbsp;		{ CR_ZD1211B_CWIN_MAX_MIN_AC1,	0x007f003f },
&lt;br&gt;&amp;nbsp;		{ CR_ZD1211B_CWIN_MAX_MIN_AC2, &amp;nbsp;0x003f001f },
&lt;br&gt;diff --git a/drivers/net/wireless/zd1211rw/zd_chip.h b/drivers/net/wireless/zd1211rw/zd_chip.h
&lt;br&gt;index 678c139..9fd8f35 100644
&lt;br&gt;--- a/drivers/net/wireless/zd1211rw/zd_chip.h
&lt;br&gt;+++ b/drivers/net/wireless/zd1211rw/zd_chip.h
&lt;br&gt;@@ -642,13 +642,29 @@ enum {
&lt;br&gt;&amp;nbsp;#define CR_ZD1211B_TXOP			CTL_REG(0x0b20)
&lt;br&gt;&amp;nbsp;#define CR_ZD1211B_RETRY_MAX		CTL_REG(0x0b28)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+/* Value for CR_ZD1211_RETRY_MAX &amp; CR_ZD1211B_RETRY_MAX. Vendor driver uses 2,
&lt;br&gt;+ * we use 0. The first rate is tried (count+2), then all next rates are tried
&lt;br&gt;+ * twice, until 1 Mbits is tried. */
&lt;br&gt;+#define	ZD1211_RETRY_COUNT		0
&lt;br&gt;+#define	ZD1211B_RETRY_COUNT	\
&lt;br&gt;+	(ZD1211_RETRY_COUNT &amp;lt;&amp;lt; &amp;nbsp;0)|	\
&lt;br&gt;+	(ZD1211_RETRY_COUNT &amp;lt;&amp;lt; &amp;nbsp;8)|	\
&lt;br&gt;+	(ZD1211_RETRY_COUNT &amp;lt;&amp;lt; 16)|	\
&lt;br&gt;+	(ZD1211_RETRY_COUNT &amp;lt;&amp;lt; 24)
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;/* Used to detect PLL lock */
&lt;br&gt;&amp;nbsp;#define UW2453_INTR_REG			((zd_addr_t)0x85c1)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#define CWIN_SIZE			0x007f043f
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-#define HWINT_ENABLED			0x004f0000
&lt;br&gt;+#define HWINT_ENABLED			\
&lt;br&gt;+	(INT_TX_COMPLETE_EN|		\
&lt;br&gt;+	 INT_RX_COMPLETE_EN|		\
&lt;br&gt;+	 INT_RETRY_FAIL_EN|		\
&lt;br&gt;+	 INT_WAKEUP_EN|			\
&lt;br&gt;+	 INT_CFG_NEXT_BCN_EN)
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;#define HWINT_DISABLED			0
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#define E2P_PWR_INT_GUARD		8
&lt;br&gt;diff --git a/drivers/net/wireless/zd1211rw/zd_mac.c b/drivers/net/wireless/zd1211rw/zd_mac.c
&lt;br&gt;index 6d66635..8ca85d8 100644
&lt;br&gt;--- a/drivers/net/wireless/zd1211rw/zd_mac.c
&lt;br&gt;+++ b/drivers/net/wireless/zd1211rw/zd_mac.c
&lt;br&gt;@@ -88,6 +88,34 @@ static const struct ieee80211_rate zd_rates[] = {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp;.flags = 0 },
&lt;br&gt;&amp;nbsp;};
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+/*
&lt;br&gt;+ * Zydas retry rates table. Each line is listed in the same order as
&lt;br&gt;+ * in zd_rates[] and contains all the rate used when a packet is sent
&lt;br&gt;+ * starting with a given rates. Let's consider an example :
&lt;br&gt;+ *
&lt;br&gt;+ * &amp;quot;11 Mbits : 4, 3, 2, 1, 0&amp;quot; means :
&lt;br&gt;+ * - packet is sent using 4 different rates
&lt;br&gt;+ * - 1st rate is index 3 (ie 11 Mbits)
&lt;br&gt;+ * - 2nd rate is index 2 (ie 5.5 Mbits)
&lt;br&gt;+ * - 3rd rate is index 1 (ie 2 Mbits)
&lt;br&gt;+ * - 4th rate is index 0 (ie 1 Mbits)
&lt;br&gt;+ */
&lt;br&gt;+
&lt;br&gt;+static const struct tx_retry_rate zd_retry_rates[] = {
&lt;br&gt;+	{ /* &amp;nbsp;1 Mbits */	1, { 0 }},
&lt;br&gt;+	{ /* &amp;nbsp;2 Mbits */	2, { 1, &amp;nbsp;0 }},
&lt;br&gt;+	{ /* &amp;nbsp;5.5 Mbits */	3, { 2, &amp;nbsp;1, 0 }},
&lt;br&gt;+	{ /* 11 Mbits */	4, { 3, &amp;nbsp;2, 1, 0 }},
&lt;br&gt;+	{ /* &amp;nbsp;6 Mbits */	5, { 4, &amp;nbsp;3, 2, 1, 0 }},
&lt;br&gt;+	{ /* &amp;nbsp;9 Mbits */	6, { 5, &amp;nbsp;4, 3, 2, 1, 0}},
&lt;br&gt;+	{ /* 12 Mbits */	5, { 6, &amp;nbsp;3, 2, 1, 0 }},
&lt;br&gt;+	{ /* 18 Mbits */	6, { 7, &amp;nbsp;6, 3, 2, 1, 0 }},
&lt;br&gt;+	{ /* 24 Mbits */	6, { 8, &amp;nbsp;6, 3, 2, 1, 0 }},
&lt;br&gt;+	{ /* 36 Mbits */	7, { 9, &amp;nbsp;8, 6, 3, 2, 1, 0 }},
&lt;br&gt;+	{ /* 48 Mbits */	8, {10, &amp;nbsp;9, 8, 6, 3, 2, 1, 0 }},
&lt;br&gt;+	{ /* 54 Mbits */	9, {11, 10, 9, 8, 6, 3, 2, 1, 0 }}
&lt;br&gt;+};
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;static const struct ieee80211_channel zd_channels[] = {
&lt;br&gt;&amp;nbsp;	{ .center_freq = 2412, .hw_value = 1 },
&lt;br&gt;&amp;nbsp;	{ .center_freq = 2417, .hw_value = 2 },
&lt;br&gt;@@ -282,7 +310,7 @@ static void zd_op_stop(struct ieee80211_hw *hw)
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;/**
&lt;br&gt;- * tx_status - reports tx status of a packet if required
&lt;br&gt;+ * zd_mac_tx_status - reports tx status of a packet if required
&lt;br&gt;&amp;nbsp; * @hw - a &amp;struct ieee80211_hw pointer
&lt;br&gt;&amp;nbsp; * @skb - a sk-buffer
&lt;br&gt;&amp;nbsp; * @flags: extra flags to set in the TX status info
&lt;br&gt;@@ -295,15 +323,49 @@ static void zd_op_stop(struct ieee80211_hw *hw)
&lt;br&gt;&amp;nbsp; *
&lt;br&gt;&amp;nbsp; * If no status information has been requested, the skb is freed.
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;-static void tx_status(struct ieee80211_hw *hw, struct sk_buff *skb,
&lt;br&gt;-		 &amp;nbsp; &amp;nbsp; &amp;nbsp;int ackssi, bool success)
&lt;br&gt;+static void zd_mac_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb,
&lt;br&gt;+		 &amp;nbsp; &amp;nbsp; &amp;nbsp;int ackssi, struct tx_status *tx_status)
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp;	struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
&lt;br&gt;-
&lt;br&gt;+	int i;
&lt;br&gt;+	int success = 1, retry = 1;
&lt;br&gt;+	int first_idx;
&lt;br&gt;+	const struct tx_retry_rate *retries;
&lt;br&gt;+	
&lt;br&gt;&amp;nbsp;	ieee80211_tx_info_clear_status(info);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-	if (success)
&lt;br&gt;+	if (tx_status) {
&lt;br&gt;+		success = !tx_status-&amp;gt;failure;
&lt;br&gt;+		retry = tx_status-&amp;gt;retry + success;
&lt;br&gt;+	}
&lt;br&gt;+
&lt;br&gt;+	if (success) {
&lt;br&gt;+		/* success */
&lt;br&gt;&amp;nbsp;		info-&amp;gt;flags |= IEEE80211_TX_STAT_ACK;
&lt;br&gt;+	} else {
&lt;br&gt;+		/* failure */
&lt;br&gt;+		info-&amp;gt;flags &amp;= ~IEEE80211_TX_STAT_ACK;
&lt;br&gt;+	}
&lt;br&gt;+
&lt;br&gt;+	first_idx = info-&amp;gt;status.rates[0].idx;
&lt;br&gt;+	ZD_ASSERT(0&amp;lt;=first_idx &amp;&amp; first_idx&amp;lt;ARRAY_SIZE(zd_retry_rates));
&lt;br&gt;+	retries = &amp;zd_retry_rates[first_idx];
&lt;br&gt;+	ZD_ASSERT(0&amp;lt;=retry &amp;&amp; retry&amp;lt;=retries-&amp;gt;count);
&lt;br&gt;+	
&lt;br&gt;+	info-&amp;gt;status.rates[0].idx = retries-&amp;gt;rate[0];
&lt;br&gt;+	info-&amp;gt;status.rates[0].count = 1; // (retry &amp;gt; 1 ? 2 : 1);
&lt;br&gt;+
&lt;br&gt;+	for (i=1; i&amp;lt;IEEE80211_TX_MAX_RATES-1 &amp;&amp; i&amp;lt;retry; i++) {
&lt;br&gt;+		info-&amp;gt;status.rates[i].idx = retries-&amp;gt;rate[i];
&lt;br&gt;+		info-&amp;gt;status.rates[i].count = 1; // ((i==retry-1) &amp;&amp; success ? 1:2);
&lt;br&gt;+	}
&lt;br&gt;+	for (; i&amp;lt;IEEE80211_TX_MAX_RATES &amp;&amp; i&amp;lt;retry; i++) {
&lt;br&gt;+		info-&amp;gt;status.rates[i].idx = retries-&amp;gt;rate[retry-1];
&lt;br&gt;+		info-&amp;gt;status.rates[i].count = 1; // (success ? 1:2);
&lt;br&gt;+	}
&lt;br&gt;+	if (i&amp;lt;IEEE80211_TX_MAX_RATES)
&lt;br&gt;+		info-&amp;gt;status.rates[i].idx = -1; /* terminate */
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;	info-&amp;gt;status.ack_signal = ackssi;
&lt;br&gt;&amp;nbsp;	ieee80211_tx_status_irqsafe(hw, skb);
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;@@ -316,16 +378,79 @@ static void tx_status(struct ieee80211_hw *hw, struct sk_buff *skb,
&lt;br&gt;&amp;nbsp; * transferred. The first frame from the tx queue, will be selected and
&lt;br&gt;&amp;nbsp; * reported as error to the upper layers.
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;-void zd_mac_tx_failed(struct ieee80211_hw *hw)
&lt;br&gt;+void zd_mac_tx_failed(struct urb *urb)
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;-	struct sk_buff_head *q = &amp;zd_hw_mac(hw)-&amp;gt;ack_wait_queue;
&lt;br&gt;+	struct ieee80211_hw * hw = zd_usb_to_hw(urb-&amp;gt;context);
&lt;br&gt;+	struct zd_mac *mac = zd_hw_mac(hw);
&lt;br&gt;+	struct sk_buff_head *q = &amp;mac-&amp;gt;ack_wait_queue;
&lt;br&gt;&amp;nbsp;	struct sk_buff *skb;
&lt;br&gt;+	struct tx_status *tx_status = (struct tx_status *)urb-&amp;gt;transfer_buffer;
&lt;br&gt;+	unsigned long flags;
&lt;br&gt;+	int success = !tx_status-&amp;gt;failure;
&lt;br&gt;+	int retry = tx_status-&amp;gt;retry + success;
&lt;br&gt;+	int found = 0;
&lt;br&gt;+	int i, position = 0;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-	skb = skb_dequeue(q);
&lt;br&gt;-	if (skb == NULL)
&lt;br&gt;-		return;
&lt;br&gt;+	q = &amp;mac-&amp;gt;ack_wait_queue;
&lt;br&gt;+	spin_lock_irqsave(&amp;q-&amp;gt;lock, flags);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-	tx_status(hw, skb, 0, 0);
&lt;br&gt;+	skb_queue_walk(q, skb) {
&lt;br&gt;+		struct ieee80211_hdr *tx_hdr;
&lt;br&gt;+		struct ieee80211_tx_info *info;
&lt;br&gt;+		int first_idx, final_idx;
&lt;br&gt;+		const struct tx_retry_rate *retries;
&lt;br&gt;+		u8 final_rate;
&lt;br&gt;+
&lt;br&gt;+		position ++;
&lt;br&gt;+	
&lt;br&gt;+		/* if the hardware reports a failure and we had a 802.11 ACK
&lt;br&gt;+		 * pending, then we skip the first skb when searching for a
&lt;br&gt;+		 * matching frame */
&lt;br&gt;+		if (tx_status-&amp;gt;failure &amp;&amp; mac-&amp;gt;ack_pending &amp;&amp;
&lt;br&gt;+		 &amp;nbsp; &amp;nbsp;skb_queue_is_first(q, skb)) {
&lt;br&gt;+			continue;
&lt;br&gt;+		}
&lt;br&gt;+
&lt;br&gt;+		tx_hdr = (struct ieee80211_hdr *)skb-&amp;gt;data;
&lt;br&gt;+
&lt;br&gt;+		/* we skip all frames not matching the reported destination */
&lt;br&gt;+		if (unlikely(memcmp(tx_hdr-&amp;gt;addr1, tx_status-&amp;gt;mac, ETH_ALEN))) {
&lt;br&gt;+			continue;
&lt;br&gt;+		}
&lt;br&gt;+
&lt;br&gt;+		/* we skip all frames not matching the reported final rate */
&lt;br&gt;+
&lt;br&gt;+		info = IEEE80211_SKB_CB(skb);
&lt;br&gt;+		first_idx = info-&amp;gt;status.rates[0].idx;
&lt;br&gt;+		ZD_ASSERT(0&amp;lt;=first_idx &amp;&amp; first_idx&amp;lt;ARRAY_SIZE(zd_retry_rates));
&lt;br&gt;+		retries = &amp;zd_retry_rates[first_idx];
&lt;br&gt;+		if (retry &amp;lt; 0 || retry &amp;gt; retries-&amp;gt;count) {
&lt;br&gt;+			continue;
&lt;br&gt;+		}
&lt;br&gt;+
&lt;br&gt;+		ZD_ASSERT(0&amp;lt;=retry &amp;&amp; retry&amp;lt;=retries-&amp;gt;count);
&lt;br&gt;+		final_idx = retries-&amp;gt;rate[retry-1];
&lt;br&gt;+		final_rate = zd_rates[final_idx].hw_value;
&lt;br&gt;+
&lt;br&gt;+		if (final_rate != tx_status-&amp;gt;rate) {
&lt;br&gt;+			continue;
&lt;br&gt;+		}
&lt;br&gt;+
&lt;br&gt;+		found = 1;
&lt;br&gt;+		break;
&lt;br&gt;+	}
&lt;br&gt;+
&lt;br&gt;+	if (found) {
&lt;br&gt;+		for (i=1; i&amp;lt;=position; i++) {
&lt;br&gt;+			skb = __skb_dequeue(q);
&lt;br&gt;+			zd_mac_tx_status(hw, skb,
&lt;br&gt;+					 mac-&amp;gt;ack_pending ? mac-&amp;gt;ack_signal : 0,
&lt;br&gt;+					 i == position ? tx_status : NULL);
&lt;br&gt;+			mac-&amp;gt;ack_pending = 0;
&lt;br&gt;+		}
&lt;br&gt;+	}
&lt;br&gt;+
&lt;br&gt;+	spin_unlock_irqrestore(&amp;q-&amp;gt;lock, flags);
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;/**
&lt;br&gt;@@ -342,18 +467,27 @@ void zd_mac_tx_to_dev(struct sk_buff *skb, int error)
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp;	struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
&lt;br&gt;&amp;nbsp;	struct ieee80211_hw *hw = info-&amp;gt;rate_driver_data[0];
&lt;br&gt;+	struct zd_mac *mac = zd_hw_mac(hw);
&lt;br&gt;+
&lt;br&gt;+	ieee80211_tx_info_clear_status(info);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;	skb_pull(skb, sizeof(struct zd_ctrlset));
&lt;br&gt;&amp;nbsp;	if (unlikely(error ||
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;(info-&amp;gt;flags &amp; IEEE80211_TX_CTL_NO_ACK))) {
&lt;br&gt;-		tx_status(hw, skb, 0, !error);
&lt;br&gt;+		/*
&lt;br&gt;+		 * FIXME : do we need to fill in anything ?
&lt;br&gt;+		 */
&lt;br&gt;+		ieee80211_tx_status_irqsafe(hw, skb);
&lt;br&gt;&amp;nbsp;	} else {
&lt;br&gt;-		struct sk_buff_head *q =
&lt;br&gt;-			&amp;zd_hw_mac(hw)-&amp;gt;ack_wait_queue;
&lt;br&gt;+		struct sk_buff_head *q = &amp;mac-&amp;gt;ack_wait_queue;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;		skb_queue_tail(q, skb);
&lt;br&gt;-		while (skb_queue_len(q) &amp;gt; ZD_MAC_MAX_ACK_WAITERS)
&lt;br&gt;-			zd_mac_tx_failed(hw);
&lt;br&gt;+		while (skb_queue_len(q) &amp;gt; ZD_MAC_MAX_ACK_WAITERS) {
&lt;br&gt;+			zd_mac_tx_status(hw, skb_dequeue(q),
&lt;br&gt;+					 mac-&amp;gt;ack_pending ? mac-&amp;gt;ack_signal : 0,
&lt;br&gt;+					 NULL);
&lt;br&gt;+			mac-&amp;gt;ack_pending = 0;
&lt;br&gt;+		}
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -606,27 +740,47 @@ fail:
&lt;br&gt;&amp;nbsp;static int filter_ack(struct ieee80211_hw *hw, struct ieee80211_hdr *rx_hdr,
&lt;br&gt;&amp;nbsp;		 &amp;nbsp; &amp;nbsp; &amp;nbsp;struct ieee80211_rx_status *stats)
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;+	struct zd_mac *mac = zd_hw_mac(hw);
&lt;br&gt;&amp;nbsp;	struct sk_buff *skb;
&lt;br&gt;&amp;nbsp;	struct sk_buff_head *q;
&lt;br&gt;&amp;nbsp;	unsigned long flags;
&lt;br&gt;+	int found = 0;
&lt;br&gt;+	int i, position = 0;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;	if (!ieee80211_is_ack(rx_hdr-&amp;gt;frame_control))
&lt;br&gt;&amp;nbsp;		return 0;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-	q = &amp;zd_hw_mac(hw)-&amp;gt;ack_wait_queue;
&lt;br&gt;+	q = &amp;mac-&amp;gt;ack_wait_queue;
&lt;br&gt;&amp;nbsp;	spin_lock_irqsave(&amp;q-&amp;gt;lock, flags);
&lt;br&gt;&amp;nbsp;	skb_queue_walk(q, skb) {
&lt;br&gt;&amp;nbsp;		struct ieee80211_hdr *tx_hdr;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+		position ++;
&lt;br&gt;+
&lt;br&gt;+		if (mac-&amp;gt;ack_pending &amp;&amp; skb_queue_is_first(q, skb))
&lt;br&gt;+		 &amp;nbsp; &amp;nbsp;continue;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;		tx_hdr = (struct ieee80211_hdr *)skb-&amp;gt;data;
&lt;br&gt;&amp;nbsp;		if (likely(!memcmp(tx_hdr-&amp;gt;addr2, rx_hdr-&amp;gt;addr1, ETH_ALEN)))
&lt;br&gt;&amp;nbsp;		{
&lt;br&gt;-			__skb_unlink(skb, q);
&lt;br&gt;-			tx_status(hw, skb, stats-&amp;gt;signal, 1);
&lt;br&gt;-			goto out;
&lt;br&gt;+			found = 1;
&lt;br&gt;+			break;
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;-out:
&lt;br&gt;+
&lt;br&gt;+	if (found) {
&lt;br&gt;+		for (i=1; i&amp;lt;position; i++) {
&lt;br&gt;+			skb = __skb_dequeue(q);
&lt;br&gt;+			zd_mac_tx_status(hw, skb,
&lt;br&gt;+					 mac-&amp;gt;ack_pending ? mac-&amp;gt;ack_signal : 0,
&lt;br&gt;+					 NULL);
&lt;br&gt;+			mac-&amp;gt;ack_pending = 0;
&lt;br&gt;+		}
&lt;br&gt;+
&lt;br&gt;+		mac-&amp;gt;ack_pending = 1;
&lt;br&gt;+		mac-&amp;gt;ack_signal = stats-&amp;gt;signal;
&lt;br&gt;+	}
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;	spin_unlock_irqrestore(&amp;q-&amp;gt;lock, flags);
&lt;br&gt;&amp;nbsp;	return 1;
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;@@ -709,6 +863,7 @@ int zd_mac_rx(struct ieee80211_hw *hw, const u8 *buffer, unsigned int length)
&lt;br&gt;&amp;nbsp;		skb_reserve(skb, 2);
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+	/* FIXME : could we avoid this big memcpy ? */
&lt;br&gt;&amp;nbsp;	memcpy(skb_put(skb, length), buffer, length);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;	memcpy(IEEE80211_SKB_RXCB(skb), &amp;stats, sizeof(stats));
&lt;br&gt;@@ -999,7 +1154,14 @@ struct ieee80211_hw *zd_mac_alloc_hw(struct usb_interface *intf)
&lt;br&gt;&amp;nbsp;	hw-&amp;gt;queues = 1;
&lt;br&gt;&amp;nbsp;	hw-&amp;gt;extra_tx_headroom = sizeof(struct zd_ctrlset);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+	/*
&lt;br&gt;+	 * Tell mac80211 that we support multi rate retries
&lt;br&gt;+	 */
&lt;br&gt;+	hw-&amp;gt;max_rates = IEEE80211_TX_MAX_RATES;
&lt;br&gt;+	hw-&amp;gt;max_rate_tries = 18;	/* 9 rates * 2 retries/rate */
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;	skb_queue_head_init(&amp;mac-&amp;gt;ack_wait_queue);
&lt;br&gt;+	mac-&amp;gt;ack_pending = 0;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;	zd_chip_init(&amp;mac-&amp;gt;chip, hw, intf);
&lt;br&gt;&amp;nbsp;	housekeeping_init(mac);
&lt;br&gt;diff --git a/drivers/net/wireless/zd1211rw/zd_mac.h b/drivers/net/wireless/zd1211rw/zd_mac.h
&lt;br&gt;index 7c27591..630c298 100644
&lt;br&gt;--- a/drivers/net/wireless/zd1211rw/zd_mac.h
&lt;br&gt;+++ b/drivers/net/wireless/zd1211rw/zd_mac.h
&lt;br&gt;@@ -140,6 +140,21 @@ struct rx_status {
&lt;br&gt;&amp;nbsp;#define ZD_RX_CRC16_ERROR		0x40
&lt;br&gt;&amp;nbsp;#define ZD_RX_ERROR			0x80
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+struct tx_retry_rate {
&lt;br&gt;+	int count;	/* number of valid element in rate[] array */
&lt;br&gt;+	int rate[10];	/* retry rates, described by an index in zd_rates[] */
&lt;br&gt;+};
&lt;br&gt;+
&lt;br&gt;+struct tx_status {
&lt;br&gt;+	u8 type;	/* must always be 0x01 : USB_INT_TYPE */
&lt;br&gt;+	u8 id;		/* must always be 0xa0 : USB_INT_ID_RETRY_FAILED */
&lt;br&gt;+	u8 rate;
&lt;br&gt;+	u8 pad;
&lt;br&gt;+	u8 mac[ETH_ALEN];
&lt;br&gt;+	u8 retry;
&lt;br&gt;+	u8 failure;
&lt;br&gt;+} __attribute__((packed));
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;enum mac_flags {
&lt;br&gt;&amp;nbsp;	MAC_FIXED_CHANNEL = 0x01,
&lt;br&gt;&amp;nbsp;};
&lt;br&gt;@@ -150,7 +165,7 @@ struct housekeeping {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#define ZD_MAC_STATS_BUFFER_SIZE 16
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-#define ZD_MAC_MAX_ACK_WAITERS 10
&lt;br&gt;+#define ZD_MAC_MAX_ACK_WAITERS 50
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;struct zd_mac {
&lt;br&gt;&amp;nbsp;	struct zd_chip chip;
&lt;br&gt;@@ -184,6 +199,12 @@ struct zd_mac {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;	/* whether to pass control frames to stack */
&lt;br&gt;&amp;nbsp;	unsigned int pass_ctrl:1;
&lt;br&gt;+
&lt;br&gt;+	/* whether we have received a 802.11 ACK that is pending */
&lt;br&gt;+	unsigned int ack_pending:1;
&lt;br&gt;+
&lt;br&gt;+	/* signal strength of the last 802.11 ACK received */
&lt;br&gt;+	int ack_signal;
&lt;br&gt;&amp;nbsp;};
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#define ZD_REGDOMAIN_FCC	0x10
&lt;br&gt;@@ -279,7 +300,7 @@ int zd_mac_preinit_hw(struct ieee80211_hw *hw);
&lt;br&gt;&amp;nbsp;int zd_mac_init_hw(struct ieee80211_hw *hw);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;int zd_mac_rx(struct ieee80211_hw *hw, const u8 *buffer, unsigned int length);
&lt;br&gt;-void zd_mac_tx_failed(struct ieee80211_hw *hw);
&lt;br&gt;+void zd_mac_tx_failed(struct urb *urb);
&lt;br&gt;&amp;nbsp;void zd_mac_tx_to_dev(struct sk_buff *skb, int error);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#ifdef DEBUG
&lt;br&gt;diff --git a/drivers/net/wireless/zd1211rw/zd_usb.c b/drivers/net/wireless/zd1211rw/zd_usb.c
&lt;br&gt;index 3868884..ddfaa73 100644
&lt;br&gt;--- a/drivers/net/wireless/zd1211rw/zd_usb.c
&lt;br&gt;+++ b/drivers/net/wireless/zd1211rw/zd_usb.c
&lt;br&gt;@@ -419,7 +419,7 @@ static void int_urb_complete(struct urb *urb)
&lt;br&gt;&amp;nbsp;		handle_regs_int(urb);
&lt;br&gt;&amp;nbsp;		break;
&lt;br&gt;&amp;nbsp;	case USB_INT_ID_RETRY_FAILED:
&lt;br&gt;-		zd_mac_tx_failed(zd_usb_to_hw(urb-&amp;gt;context));
&lt;br&gt;+		zd_mac_tx_failed(urb);
&lt;br&gt;&amp;nbsp;		break;
&lt;br&gt;&amp;nbsp;	default:
&lt;br&gt;&amp;nbsp;		dev_dbg_f(urb_dev(urb), &amp;quot;error: urb %p unknown id %x\n&amp;quot;, urb,
&lt;br&gt;@@ -553,6 +553,8 @@ static void handle_rx_packet(struct zd_usb *usb, const u8 *buffer,
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;	if (length &amp;lt; sizeof(struct rx_length_info)) {
&lt;br&gt;&amp;nbsp;		/* It's not a complete packet anyhow. */
&lt;br&gt;+		printk(&amp;quot;%s: invalid, small RX packet : %d\n&amp;quot;,
&lt;br&gt;+		 &amp;nbsp; &amp;nbsp; &amp;nbsp; __func__, length);
&lt;br&gt;&amp;nbsp;		return;
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp;	length_info = (struct rx_length_info *)
&lt;br&gt;-- 
&lt;br&gt;1.6.2.4
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry(R) Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9 - 12, 2009. Register now!
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--zd1211rw%3A-Fix-TX-status-reporting-in-order-to-have-proper-rate-control-tp26008094p26008094.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25831876</id>
	<title>Re: CR_TOTAL_TX_FRM register</title>
	<published>2009-10-10T00:48:49Z</published>
	<updated>2009-10-10T00:48:49Z</updated>
	<author>
		<name>Benoit PAPILLAULT</name>
	</author>
	<content type="html">-----BEGIN PGP SIGNED MESSAGE-----
&lt;br&gt;Hash: SHA1
&lt;br&gt;&lt;br&gt;Benoit PAPILLAULT a écrit :
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hello,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I've tried the vendor driver ZD1211LnxDrv_2_22_0_0 and the TotalTxFrm
&lt;br&gt;&amp;gt; register IS updated (using a 2.6.18 kernel this time). So it seems the
&lt;br&gt;&amp;gt; zd1211rw driver is missing something.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; How I can help debugging this?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt; Benoit
&lt;/div&gt;&lt;br&gt;Hello,
&lt;br&gt;&lt;br&gt;I found out what's wrong. Each 32 bits register is read using 2 16 bits
&lt;br&gt;read request over the USB bus and since the ZD_RetryCnt is a
&lt;br&gt;read-and-clear register, if we read the wrong 16 bits part first, the
&lt;br&gt;other part is reset. This explain why I was getting always 0.
&lt;br&gt;&lt;br&gt;I'll try to do a patch in the next couple of days for zd_ioread32v_locked.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Benoit
&lt;br&gt;-----BEGIN PGP SIGNATURE-----
&lt;br&gt;Version: GnuPG v1.4.9 (GNU/Linux)
&lt;br&gt;Comment: Using GnuPG with Mozilla - &lt;a href=&quot;http://enigmail.mozdev.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://enigmail.mozdev.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;iEYEARECAAYFAkrQN6MACgkQOR6EySwP7oIcxACgxK0nzuvso+F2ditw7zRan/Eb
&lt;br&gt;xuEAnj4CUSkoCVci+MZb0gvuX/C3Njkg
&lt;br&gt;=l6cG
&lt;br&gt;-----END PGP SIGNATURE-----
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry(R) Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9 - 12, 2009. Register now!
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/CR_TOTAL_TX_FRM-register-tp25741711p25831876.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25759081</id>
	<title>Re: CR_TOTAL_TX_FRM register</title>
	<published>2009-10-05T14:13:15Z</published>
	<updated>2009-10-05T14:13:15Z</updated>
	<author>
		<name>Benoit PAPILLAULT</name>
	</author>
	<content type="html">-----BEGIN PGP SIGNED MESSAGE-----
&lt;br&gt;Hash: SHA1
&lt;br&gt;&lt;br&gt;Benoit PAPILLAULT a écrit :
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hello,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I'm currently trying to understand the Zydas chip (I found out that all
&lt;br&gt;&amp;gt; my machine / servers are using it). I'm trying to learn mac80211 as well
&lt;br&gt;&amp;gt; (I have some experience with ath5k &amp; rt2x00).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Anyway, I tried to read the CR_TOTAL_TX_FRM (see zd_chip.h) and this
&lt;br&gt;&amp;gt; register is always 0, except few times where it is 1. Apparently, this
&lt;br&gt;&amp;gt; register is reset when it is read. However, I need to transfer several
&lt;br&gt;&amp;gt; MB before getting a 1.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Is that normal? How I can debug further?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt; Benoit
&lt;/div&gt;&lt;br&gt;Hello,
&lt;br&gt;&lt;br&gt;I've tried the vendor driver ZD1211LnxDrv_2_22_0_0 and the TotalTxFrm
&lt;br&gt;register IS updated (using a 2.6.18 kernel this time). So it seems the
&lt;br&gt;zd1211rw driver is missing something.
&lt;br&gt;&lt;br&gt;How I can help debugging this?
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Benoit
&lt;br&gt;-----BEGIN PGP SIGNATURE-----
&lt;br&gt;Version: GnuPG v1.4.9 (GNU/Linux)
&lt;br&gt;Comment: Using GnuPG with Mozilla - &lt;a href=&quot;http://enigmail.mozdev.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://enigmail.mozdev.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;iEYEARECAAYFAkrKYWEACgkQOR6EySwP7oIo5QCfXX54ggr5zp3pXuZGGm/MTd+o
&lt;br&gt;d0MAn2ASPRdO3ByYOWHrpIlCO2iK2tAF
&lt;br&gt;=vc1J
&lt;br&gt;-----END PGP SIGNATURE-----
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register now&amp;#33;
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/CR_TOTAL_TX_FRM-register-tp25741711p25759081.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25741711</id>
	<title>CR_TOTAL_TX_FRM register</title>
	<published>2009-10-04T13:10:51Z</published>
	<updated>2009-10-04T13:10:51Z</updated>
	<author>
		<name>Benoit PAPILLAULT</name>
	</author>
	<content type="html">-----BEGIN PGP SIGNED MESSAGE-----
&lt;br&gt;Hash: SHA1
&lt;br&gt;&lt;br&gt;Hello,
&lt;br&gt;&lt;br&gt;I'm currently trying to understand the Zydas chip (I found out that all
&lt;br&gt;my machine / servers are using it). I'm trying to learn mac80211 as well
&lt;br&gt;(I have some experience with ath5k &amp; rt2x00).
&lt;br&gt;&lt;br&gt;Anyway, I tried to read the CR_TOTAL_TX_FRM (see zd_chip.h) and this
&lt;br&gt;register is always 0, except few times where it is 1. Apparently, this
&lt;br&gt;register is reset when it is read. However, I need to transfer several
&lt;br&gt;MB before getting a 1.
&lt;br&gt;&lt;br&gt;Is that normal? How I can debug further?
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Benoit
&lt;br&gt;-----BEGIN PGP SIGNATURE-----
&lt;br&gt;Version: GnuPG v1.4.9 (GNU/Linux)
&lt;br&gt;Comment: Using GnuPG with Mozilla - &lt;a href=&quot;http://enigmail.mozdev.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://enigmail.mozdev.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;iEYEARECAAYFAkrJAUgACgkQOR6EySwP7oLPwQCg7i2frZy9pUl7Yw7VFf3YnslD
&lt;br&gt;DYwAnj2Zdm2HEQVziuVcE+RupIUq4yIc
&lt;br&gt;=T/4d
&lt;br&gt;-----END PGP SIGNATURE-----
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register now&amp;#33;
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/CR_TOTAL_TX_FRM-register-tp25741711p25741711.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25017163</id>
	<title>Re: zd1211rw couldn't load firmware. Error number -145 with Kernel 2.6.30</title>
	<published>2009-08-17T18:44:45Z</published>
	<updated>2009-08-17T18:44:45Z</updated>
	<author>
		<name>Hin-Tak Leung</name>
	</author>
	<content type="html">--- On Thu, 30/7/09, Hin-Tak Leung &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25017163&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hintak_leung@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; --- On Thu, 30/7/09, Mladen Horvat
&lt;br&gt;&amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25017163&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;acid-burn@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Ok, finally managed with the help of a friend to
&lt;br&gt;&amp;gt; compile
&lt;br&gt;&amp;gt; &amp;gt; the vender driver
&lt;br&gt;&amp;gt; &amp;gt; 3.0.0.56 with the mips 2.6.30 kernel i use here.
&lt;br&gt;&amp;gt; &amp;gt; Here is a patch that was needed to get it finally
&lt;br&gt;&amp;gt; compiled
&lt;br&gt;&amp;gt; &amp;gt; under 2.6.30.
&lt;br&gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://pastebin.com/m17687d4e&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://pastebin.com/m17687d4e&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Hmm, the net_ops is new and should only generates a warning
&lt;br&gt;&amp;gt; with vanilla 2.6.30 . Your kernel source tree is not vanilla
&lt;br&gt;&amp;gt; 2.6.30, is it? If you need the net_ops change, your tree is
&lt;br&gt;&amp;gt; probably closer to 2.6.31 rcX . (since it generates a
&lt;br&gt;&amp;gt; warning on ifconfig up, I know about it and it is just not
&lt;br&gt;&amp;gt; urgent/immediate yet in 2.6.30)
&lt;/div&gt;&lt;br&gt;I went and looked at the git log detail of the net_device_ops change (
&lt;br&gt;commit d314774cf2cd5dfeb39a00d37deee65d4c627927
&lt;br&gt;Author: Stephen Hemminger &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25017163&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;shemminger@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Date: &amp;nbsp; Wed Nov 19 21:32:24 2008 -0800) and it was introduced in 2.6.28, actually. &amp;nbsp;But we are both right! The change allows for optional backward compatibility, while emitting a warning. The default is yes: CONFIG_COMPAT_NET_DEV_OPS/COMPAT_NET_DEV_OPS=y . &amp;nbsp; 
&lt;br&gt;So I left it at 'yes' (fedora 11 vendor kernel in one of my boxes, custom kernel on the other box, but I normally just do 'make oldconfig', so I inherited the default) in both of my boxes. 
&lt;br&gt;&lt;br&gt;It seems that you have opted for 'no' manually, so you needed to migrate to the net_device_ops api structure right away. Interesting differences - same source tree, just different kernel build options. Mystery solved. :-)
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with 
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-zd1211rw-couldn%27t-load-firmware.-Error-number--145-with-Kernel-2.6.30-tp25017163p25017163.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24948676</id>
	<title>No RSSI in Radiotap header on bleeding edge compat-wireless 2.6</title>
	<published>2009-08-12T21:29:11Z</published>
	<updated>2009-08-12T21:29:11Z</updated>
	<author>
		<name>locu64</name>
	</author>
	<content type="html">I've just updated to the latest compat-wireless 2.6 and there does not appear to be any RSSI information in the Radiotap Header for incoming packets. Can this be corrected? Previously the driver that came with Ubuntu 9.04 gave an RSSI value but Kismet didn't like it (values from 5 to 103). I've been doing some sensitivity tests with RF attenuators and the RSSI values from the old driver do appear to follow a dB scale.&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/No-RSSI-in-Radiotap-header-on-bleeding-edge-compat-wireless-2.6-tp24948676p24948676.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24880518</id>
	<title>Re: [PATCH] UW2453 for TL-WN322G support + 2.6.22.x</title>
	<published>2009-08-08T10:46:31Z</published>
	<updated>2009-08-08T10:46:31Z</updated>
	<author>
		<name>&quot;Sören Wellhöfer&quot;</name>
	</author>
	<content type="html">Thank you for the link. But as I said, I had problems even with the compat-old version so that patching the old original kernel to support uw2453 seemed less of a hassle (in terms of getting it to work).
&lt;br&gt;&lt;br&gt;Also, it looks like that for the problems I mentioned there are already a number of smaller patches addressing it on the linux-wireless mailing list. I haven't taken a closer look but it might be that those patches have been applied to compat-wireless already and simply aren't included in the compat-old package.
&lt;br&gt;&lt;br&gt;Sören
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; --- On Sat, 8/8/09, &amp;quot;Sören Wellhöfer&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24880518&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Soeren.Wellhoefer@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Hi Hin-Tak,
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; one of my chief problems was that I was not at all able to
&lt;br&gt;&amp;gt; &amp;gt; get compat-wireless to work with this rather ancient kernel
&lt;br&gt;&amp;gt; &amp;gt; version. The driver file zd_rf_uw2453.c added in the patch
&lt;br&gt;&amp;gt; &amp;gt; is indeed taken from a recent version of compat-wireless
&lt;br&gt;&amp;gt; &amp;gt; itself.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Here it says there is a version of compat-wireless that went back to
&lt;br&gt;&amp;gt; 2.6.22, which should be sufficient for your purpose: 
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://linuxwireless.org/en/users/Download#Compat-wireless_release_types&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://linuxwireless.org/en/users/Download#Compat-wireless_release_types&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I think the compat-wireless-old package is slightly older than
&lt;br&gt;&amp;gt; compat-wireless (which is bleed-edge, 2.6.31/32+), but should take you up to at least
&lt;br&gt;&amp;gt; about 2.6.28/2.6.29 equivalent, wireless-wise.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Also, I can't really see that the issues I've mentioned got
&lt;br&gt;&amp;gt; &amp;gt; fixed in compat-wireless either. I've seen many people still
&lt;br&gt;&amp;gt; &amp;gt; reporting problems with this now and then.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I think you could separate the two types of changes, support of newer
&lt;br&gt;&amp;gt; UW2453 radio hardware, and fixes to problems, and send the latter, if they are
&lt;br&gt;&amp;gt; not in compat-wireless yet, to the linuxwireless mailing list. I can't
&lt;br&gt;&amp;gt; quite see at a first glance what problem the non-UW2453-related changes
&lt;br&gt;&amp;gt; addresses. (and there hasn't been much traffic on zd1211-devel for months, so
&lt;br&gt;&amp;gt; remind me...)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;Sören Wellhöfer
&lt;br&gt;Carl-Zeiss-Gymnasium Jena / Specialised school for Math, Science, and Technology
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with 
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--UW2453-for-TL-WN322G-support-%2B-2.6.22.x-tp24868255p24880518.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24880027</id>
	<title>Re: [PATCH] UW2453 for TL-WN322G support + 2.6.22.x</title>
	<published>2009-08-08T09:56:31Z</published>
	<updated>2009-08-08T09:56:31Z</updated>
	<author>
		<name>Hin-Tak Leung</name>
	</author>
	<content type="html">--- On Sat, 8/8/09, &amp;quot;Sören Wellhöfer&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24880027&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Soeren.Wellhoefer@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; Hi Hin-Tak,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; one of my chief problems was that I was not at all able to
&lt;br&gt;&amp;gt; get compat-wireless to work with this rather ancient kernel
&lt;br&gt;&amp;gt; version. The driver file zd_rf_uw2453.c added in the patch
&lt;br&gt;&amp;gt; is indeed taken from a recent version of compat-wireless
&lt;br&gt;&amp;gt; itself.
&lt;br&gt;&lt;br&gt;Here it says there is a version of compat-wireless that went back to 2.6.22, which should be sufficient for your purpose: 
&lt;br&gt;&lt;a href=&quot;http://linuxwireless.org/en/users/Download#Compat-wireless_release_types&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://linuxwireless.org/en/users/Download#Compat-wireless_release_types&lt;/a&gt;&lt;br&gt;&lt;br&gt;I think the compat-wireless-old package is slightly older than compat-wireless (which is bleed-edge, 2.6.31/32+), but should take you up to at least about 2.6.28/2.6.29 equivalent, wireless-wise.
&lt;br&gt;&lt;br&gt;&amp;gt; Also, I can't really see that the issues I've mentioned got
&lt;br&gt;&amp;gt; fixed in compat-wireless either. I've seen many people still
&lt;br&gt;&amp;gt; reporting problems with this now and then.
&lt;br&gt;&lt;br&gt;I think you could separate the two types of changes, support of newer UW2453 radio hardware, and fixes to problems, and send the latter, if they are not in compat-wireless yet, to the linuxwireless mailing list. I can't quite see at a first glance what problem the non-UW2453-related changes addresses. (and there hasn't been much traffic on zd1211-devel for months, so remind me...)
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with 
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--UW2453-for-TL-WN322G-support-%2B-2.6.22.x-tp24868255p24880027.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24879837</id>
	<title>Re: [PATCH] UW2453 for TL-WN322G support + 2.6.22.x</title>
	<published>2009-08-08T09:33:42Z</published>
	<updated>2009-08-08T09:33:42Z</updated>
	<author>
		<name>&quot;Sören Wellhöfer&quot;</name>
	</author>
	<content type="html">Hi Hin-Tak,
&lt;br&gt;&lt;br&gt;one of my chief problems was that I was not at all able to get compat-wireless to work with this rather ancient kernel version. The driver file zd_rf_uw2453.c added in the patch is indeed taken from a recent version of compat-wireless itself.
&lt;br&gt;&lt;br&gt;Also, I can't really see that the issues I've mentioned got fixed in compat-wireless either. I've seen many people still reporting problems with this now and then.
&lt;br&gt;&lt;br&gt;My main motivation for the changes were to build the zd1211rw.ko module which I can now load into a proprietarily-modified kernel on an embedded system (I can't simply build a new kernel for the device since I lack the BSP).
&lt;br&gt;&lt;br&gt;The white space change was unintended; the debug statements are inserted at points were people seem to get in trouble.
&lt;br&gt;&lt;br&gt;Sören
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; --- On Fri, 7/8/09, &amp;quot;Sören Wellhöfer&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24879837&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Soeren.Wellhoefer@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; While adding support for the
&lt;br&gt;&amp;gt; &amp;gt; TL-WN322G wireless usb adapter on an embedded system I
&lt;br&gt;&amp;gt; &amp;gt; devised a patch to be applied against the 2.6.22.x kernel to
&lt;br&gt;&amp;gt; &amp;gt; make it work.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; It basically integrates support for the uw2453 chip into
&lt;br&gt;&amp;gt; &amp;gt; the zd1211rw driver framework of mentioned kernel and fixes
&lt;br&gt;&amp;gt; &amp;gt; a few common issues associated with the device. 
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Among the problems taken care of are those which are
&lt;br&gt;&amp;gt; &amp;gt; described in this mailing list under the following
&lt;br&gt;&amp;gt; &amp;gt; subjects:
&lt;br&gt;&amp;gt; &amp;gt;     
&lt;br&gt;&amp;gt; &amp;gt;     * [zd1211-devs] tp-link WN322G
&lt;br&gt;&amp;gt; &amp;gt;     * [zd1211-devs] zd1211 on asus A9RP
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Cheers,
&lt;br&gt;&amp;gt; &amp;gt; Sören
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Signed-off-by: Sören Wellhöfer &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24879837&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;soeren.wellhoefer@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I appreciate the effort of sharing such changes, personally - don't know
&lt;br&gt;&amp;gt; if Linus is taking patches for such old kernels, probably not, so the the
&lt;br&gt;&amp;gt; signed-off is probably unnecessary :-). I have one comment though - the patch
&lt;br&gt;&amp;gt; is neither minimal (you added a couple of strictly-speakingnot-necessary
&lt;br&gt;&amp;gt; debug print statements, and there is a whitespace change noted below), nor
&lt;br&gt;&amp;gt; maximal - maximal would be back-porting the current code, i.e. a subset of
&lt;br&gt;&amp;gt; the compat-wireless objective. Have you looked at compat-wireless? I don't
&lt;br&gt;&amp;gt; know if it runs as earlier as 2.6.22, but I think it does.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; diff -uprN
&lt;br&gt;&amp;gt; &amp;gt; 2.6.22.6-vanilla/drivers/net/wireless/zd1211rw/zd_rf.c
&lt;br&gt;&amp;gt; &amp;gt; 2.6.22.6/drivers/net/wireless/zd1211rw/zd_rf.c
&lt;br&gt;&amp;gt; &amp;gt; ---
&lt;br&gt;&amp;gt; &amp;gt; 2.6.22.6-vanilla/drivers/net/wireless/zd1211rw/zd_rf.c   
&lt;br&gt;&amp;gt; &amp;gt; 2009-04-23 11:36:28.000000000 +0200
&lt;br&gt;&amp;gt; &amp;gt; +++
&lt;br&gt;&amp;gt; &amp;gt; 2.6.22.6/drivers/net/wireless/zd1211rw/zd_rf.c   
&lt;br&gt;&amp;gt; &amp;gt; 2009-08-04 15:55:05.000000000 +0200
&lt;br&gt;&amp;gt; &amp;gt; @@ -25,7 +25,7 @@
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;static const char * const rfs[] = {
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;    [0]   
&lt;br&gt;&amp;gt; &amp;gt;     = &amp;quot;unknown RF0&amp;quot;,
&lt;br&gt;&amp;gt; &amp;gt; -    [1]   
&lt;br&gt;&amp;gt; &amp;gt;     = &amp;quot;unknown RF1&amp;quot;,
&lt;br&gt;&amp;gt; &amp;gt; +    [1]   
&lt;br&gt;&amp;gt; &amp;gt;     = &amp;quot;unknown RF1&amp;quot;, 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;    [UW2451_RF]    =
&lt;br&gt;&amp;gt; &amp;gt; &amp;quot;UW2451_RF&amp;quot;,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;    [UCHIP_RF]    =
&lt;br&gt;&amp;gt; &amp;gt; &amp;quot;UCHIP_RF&amp;quot;,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;    [AL2230_RF]    =
&lt;br&gt;&amp;gt; &amp;gt; &amp;quot;AL2230_RF&amp;quot;,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; White space change, probably unintentional or indicative of a bug?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;Sören Wellhöfer
&lt;br&gt;Carl-Zeiss-Gymnasium Jena / Specialised school for Math, Science, and Technology
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with 
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--UW2453-for-TL-WN322G-support-%2B-2.6.22.x-tp24868255p24879837.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24879142</id>
	<title>Re: [PATCH] UW2453 for TL-WN322G support + 2.6.22.x</title>
	<published>2009-08-08T07:25:25Z</published>
	<updated>2009-08-08T07:25:25Z</updated>
	<author>
		<name>Hin-Tak Leung</name>
	</author>
	<content type="html">--- On Fri, 7/8/09, &amp;quot;Sören Wellhöfer&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24879142&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Soeren.Wellhoefer@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; While adding support for the
&lt;br&gt;&amp;gt; TL-WN322G wireless usb adapter on an embedded system I
&lt;br&gt;&amp;gt; devised a patch to be applied against the 2.6.22.x kernel to
&lt;br&gt;&amp;gt; make it work.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; It basically integrates support for the uw2453 chip into
&lt;br&gt;&amp;gt; the zd1211rw driver framework of mentioned kernel and fixes
&lt;br&gt;&amp;gt; a few common issues associated with the device. 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Among the problems taken care of are those which are
&lt;br&gt;&amp;gt; described in this mailing list under the following
&lt;br&gt;&amp;gt; subjects:
&lt;br&gt;&amp;gt;     
&lt;br&gt;&amp;gt;     * [zd1211-devs] tp-link WN322G
&lt;br&gt;&amp;gt;     * [zd1211-devs] zd1211 on asus A9RP
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt; Sören
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Signed-off-by: Sören Wellhöfer &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24879142&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;soeren.wellhoefer@...&lt;/a&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;I appreciate the effort of sharing such changes, personally - don't know if Linus is taking patches for such old kernels, probably not, so the the signed-off is probably unnecessary :-). I have one comment though - the patch is neither minimal (you added a couple of strictly-speakingnot-necessary debug print statements, and there is a whitespace change noted below), nor maximal - maximal would be back-porting the current code, i.e. a subset of the compat-wireless objective. Have you looked at compat-wireless? I don't know if it runs as earlier as 2.6.22, but I think it does.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; diff -uprN
&lt;br&gt;&amp;gt; 2.6.22.6-vanilla/drivers/net/wireless/zd1211rw/zd_rf.c
&lt;br&gt;&amp;gt; 2.6.22.6/drivers/net/wireless/zd1211rw/zd_rf.c
&lt;br&gt;&amp;gt; ---
&lt;br&gt;&amp;gt; 2.6.22.6-vanilla/drivers/net/wireless/zd1211rw/zd_rf.c   
&lt;br&gt;&amp;gt; 2009-04-23 11:36:28.000000000 +0200
&lt;br&gt;&amp;gt; +++
&lt;br&gt;&amp;gt; 2.6.22.6/drivers/net/wireless/zd1211rw/zd_rf.c   
&lt;br&gt;&amp;gt; 2009-08-04 15:55:05.000000000 +0200
&lt;br&gt;&amp;gt; @@ -25,7 +25,7 @@
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp;static const char * const rfs[] = {
&lt;br&gt;&amp;gt; &amp;nbsp;    [0]   
&lt;br&gt;&amp;gt;     = &amp;quot;unknown RF0&amp;quot;,
&lt;br&gt;&amp;gt; -    [1]   
&lt;br&gt;&amp;gt;     = &amp;quot;unknown RF1&amp;quot;,
&lt;br&gt;&amp;gt; +    [1]   
&lt;br&gt;&amp;gt;     = &amp;quot;unknown RF1&amp;quot;, 
&lt;br&gt;&amp;gt; &amp;nbsp;    [UW2451_RF]    =
&lt;br&gt;&amp;gt; &amp;quot;UW2451_RF&amp;quot;,
&lt;br&gt;&amp;gt; &amp;nbsp;    [UCHIP_RF]    =
&lt;br&gt;&amp;gt; &amp;quot;UCHIP_RF&amp;quot;,
&lt;br&gt;&amp;gt; &amp;nbsp;    [AL2230_RF]    =
&lt;br&gt;&amp;gt; &amp;quot;AL2230_RF&amp;quot;,
&lt;/div&gt;&lt;br&gt;White space change, probably unintentional or indicative of a bug?
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with 
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--UW2453-for-TL-WN322G-support-%2B-2.6.22.x-tp24868255p24879142.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24868255</id>
	<title>[PATCH] UW2453 for TL-WN322G support + 2.6.22.x</title>
	<published>2009-08-07T09:47:53Z</published>
	<updated>2009-08-07T09:47:53Z</updated>
	<author>
		<name>&quot;Sören Wellhöfer&quot;</name>
	</author>
	<content type="html">While adding support for the TL-WN322G wireless usb adapter on an embedded system I devised a patch to be applied against the 2.6.22.x kernel to make it work.
&lt;br&gt;&lt;br&gt;It basically integrates support for the uw2453 chip into the zd1211rw driver framework of mentioned kernel and fixes a few common issues associated with the device. 
&lt;br&gt;&lt;br&gt;Among the problems taken care of are those which are described in this mailing list under the following subjects:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * [zd1211-devs] tp-link WN322G
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * [zd1211-devs] zd1211 on asus A9RP
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Sören
&lt;br&gt;&lt;br&gt;Signed-off-by: Sören Wellhöfer &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24868255&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;soeren.wellhoefer@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;---
&lt;br&gt;diff -uprN 2.6.22.6-vanilla/drivers/net/wireless/zd1211rw/Makefile 2.6.22.6/drivers/net/wireless/zd1211rw/Makefile
&lt;br&gt;--- 2.6.22.6-vanilla/drivers/net/wireless/zd1211rw/Makefile	2009-04-23 11:36:28.000000000 +0200
&lt;br&gt;+++ 2.6.22.6/drivers/net/wireless/zd1211rw/Makefile	2009-08-04 08:56:36.000000000 +0200
&lt;br&gt;@@ -2,7 +2,7 @@ obj-$(CONFIG_ZD1211RW) += zd1211rw.o
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;zd1211rw-objs := zd_chip.o zd_ieee80211.o \
&lt;br&gt;&amp;nbsp;		zd_mac.o zd_netdev.o \
&lt;br&gt;-		zd_rf_al2230.o zd_rf_rf2959.o \
&lt;br&gt;+		zd_rf_al2230.o zd_rf_rf2959.o zd_rf_uw2453.o\
&lt;br&gt;&amp;nbsp;		zd_rf_al7230b.o \
&lt;br&gt;&amp;nbsp;		zd_rf.o zd_usb.o zd_util.o
&lt;br&gt;&amp;nbsp;
&lt;br&gt;diff -uprN 2.6.22.6-vanilla/drivers/net/wireless/zd1211rw/zd_chip.h 2.6.22.6/drivers/net/wireless/zd1211rw/zd_chip.h
&lt;br&gt;--- 2.6.22.6-vanilla/drivers/net/wireless/zd1211rw/zd_chip.h	2009-04-23 11:36:28.000000000 +0200
&lt;br&gt;+++ 2.6.22.6/drivers/net/wireless/zd1211rw/zd_chip.h	2009-08-07 16:59:54.000000000 +0200
&lt;br&gt;@@ -720,6 +720,10 @@ static inline struct zd_chip *zd_usb_to_
&lt;br&gt;&amp;nbsp;	return container_of(usb, struct zd_chip, usb);
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+static inline int zd_chip_is_zd1211b(struct zd_chip *c) {
&lt;br&gt;+	return c-&amp;gt;is_zd1211b;
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;static inline struct zd_chip *zd_rf_to_chip(struct zd_rf *rf)
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp;	return container_of(rf, struct zd_chip, rf);
&lt;br&gt;diff -uprN 2.6.22.6-vanilla/drivers/net/wireless/zd1211rw/zd_ieee80211.c 2.6.22.6/drivers/net/wireless/zd1211rw/zd_ieee80211.c
&lt;br&gt;--- 2.6.22.6-vanilla/drivers/net/wireless/zd1211rw/zd_ieee80211.c	2009-04-23 11:36:28.000000000 +0200
&lt;br&gt;+++ 2.6.22.6/drivers/net/wireless/zd1211rw/zd_ieee80211.c	2009-08-07 09:40:07.000000000 +0200
&lt;br&gt;@@ -137,10 +137,14 @@ int zd_find_channel(u8 *channel, const s
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp;	int i, r;
&lt;br&gt;&amp;nbsp;	u32 mhz;
&lt;br&gt;+	
&lt;br&gt;+	printk(KERN_DEBUG &amp;quot;zd_find_channel(): channel=%d, freq-&amp;gt;m=%d\n&amp;quot;, *channel, freq-&amp;gt;m);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;	if (freq-&amp;gt;m &amp;lt; 1000) {
&lt;br&gt;-		if (freq-&amp;gt;m &amp;nbsp;&amp;gt; NUM_CHANNELS || freq-&amp;gt;m == 0)
&lt;br&gt;+		if (freq-&amp;gt;m &amp;nbsp;&amp;gt; NUM_CHANNELS || freq-&amp;gt;m == 0) {	
&lt;br&gt;+			printk(KERN_DEBUG &amp;quot;zd_find_channel(): failed (1)\n&amp;quot;);
&lt;br&gt;&amp;nbsp;			return -EINVAL;
&lt;br&gt;+		}
&lt;br&gt;&amp;nbsp;		*channel = freq-&amp;gt;m;
&lt;br&gt;&amp;nbsp;		return 1;
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;@@ -156,6 +160,9 @@ int zd_find_channel(u8 *channel, const s
&lt;br&gt;&amp;nbsp;			return 1;
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;+	
&lt;br&gt;+	
&lt;br&gt;+	printk(KERN_DEBUG &amp;quot;zd_find_channel(): failed (2)\n&amp;quot;);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;	return -EINVAL;
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;diff -uprN 2.6.22.6-vanilla/drivers/net/wireless/zd1211rw/zd_mac.c 2.6.22.6/drivers/net/wireless/zd1211rw/zd_mac.c
&lt;br&gt;--- 2.6.22.6-vanilla/drivers/net/wireless/zd1211rw/zd_mac.c	2009-04-23 11:36:28.000000000 +0200
&lt;br&gt;+++ 2.6.22.6/drivers/net/wireless/zd1211rw/zd_mac.c	2009-08-07 09:42:46.000000000 +0200
&lt;br&gt;@@ -536,9 +536,8 @@ int zd_mac_request_channel(struct zd_mac
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp;	unsigned long lock_flags;
&lt;br&gt;&amp;nbsp;	struct ieee80211_device *ieee = zd_mac_to_ieee80211(mac);
&lt;br&gt;-
&lt;br&gt;-	if (ieee-&amp;gt;iw_mode == IW_MODE_INFRA)
&lt;br&gt;-		return -EPERM;
&lt;br&gt;+	
&lt;br&gt;+	printk(KERN_DEBUG &amp;quot;zd_mac_request_channel(): channel=%d\n&amp;quot;, channel);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;	spin_lock_irqsave(&amp;mac-&amp;gt;lock, lock_flags);
&lt;br&gt;&amp;nbsp;	if (!zd_regdomain_supports_channel(mac-&amp;gt;regdomain, channel)) {
&lt;br&gt;@@ -1195,6 +1194,8 @@ static void set_security(struct net_devi
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;	if (sec-&amp;gt;flags &amp; SEC_ACTIVE_KEY) {
&lt;br&gt;+		
&lt;br&gt;+		sec-&amp;gt;active_key = 1;
&lt;br&gt;&amp;nbsp;		secinfo-&amp;gt;active_key = sec-&amp;gt;active_key;
&lt;br&gt;&amp;nbsp;		dev_dbg_f(zd_mac_dev(zd_netdev_mac(netdev)),
&lt;br&gt;&amp;nbsp;			&amp;quot; &amp;nbsp; .active_key = %d\n&amp;quot;, sec-&amp;gt;active_key);
&lt;br&gt;diff -uprN 2.6.22.6-vanilla/drivers/net/wireless/zd1211rw/zd_rf.c 2.6.22.6/drivers/net/wireless/zd1211rw/zd_rf.c
&lt;br&gt;--- 2.6.22.6-vanilla/drivers/net/wireless/zd1211rw/zd_rf.c	2009-04-23 11:36:28.000000000 +0200
&lt;br&gt;+++ 2.6.22.6/drivers/net/wireless/zd1211rw/zd_rf.c	2009-08-04 15:55:05.000000000 +0200
&lt;br&gt;@@ -25,7 +25,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;static const char * const rfs[] = {
&lt;br&gt;&amp;nbsp;	[0]		= &amp;quot;unknown RF0&amp;quot;,
&lt;br&gt;-	[1]		= &amp;quot;unknown RF1&amp;quot;,
&lt;br&gt;+	[1]		= &amp;quot;unknown RF1&amp;quot;, 
&lt;br&gt;&amp;nbsp;	[UW2451_RF]	= &amp;quot;UW2451_RF&amp;quot;,
&lt;br&gt;&amp;nbsp;	[UCHIP_RF]	= &amp;quot;UCHIP_RF&amp;quot;,
&lt;br&gt;&amp;nbsp;	[AL2230_RF]	= &amp;quot;AL2230_RF&amp;quot;,
&lt;br&gt;@@ -52,6 +52,7 @@ const char *zd_rf_name(u8 type)
&lt;br&gt;&amp;nbsp;void zd_rf_init(struct zd_rf *rf)
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp;	memset(rf, 0, sizeof(*rf));
&lt;br&gt;+	rf-&amp;gt;update_channel_int = 1;
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;void zd_rf_clear(struct zd_rf *rf)
&lt;br&gt;@@ -81,6 +82,12 @@ int zd_rf_init_hw(struct zd_rf *rf, u8 t
&lt;br&gt;&amp;nbsp;		if (r)
&lt;br&gt;&amp;nbsp;			return r;
&lt;br&gt;&amp;nbsp;		break;
&lt;br&gt;+	case MAXIM_NEW_RF:
&lt;br&gt;+	case UW2453_RF:
&lt;br&gt;+		r = zd_rf_init_uw2453(rf);
&lt;br&gt;+		if(r)
&lt;br&gt;+			return r;
&lt;br&gt;+		break;
&lt;br&gt;&amp;nbsp;	default:
&lt;br&gt;&amp;nbsp;		dev_err(zd_chip_dev(chip),
&lt;br&gt;&amp;nbsp;			&amp;quot;RF %s %#x is not supported\n&amp;quot;, zd_rf_name(type), type);
&lt;br&gt;diff -uprN 2.6.22.6-vanilla/drivers/net/wireless/zd1211rw/zd_rf.h 2.6.22.6/drivers/net/wireless/zd1211rw/zd_rf.h
&lt;br&gt;--- 2.6.22.6-vanilla/drivers/net/wireless/zd1211rw/zd_rf.h	2009-04-23 11:36:28.000000000 +0200
&lt;br&gt;+++ 2.6.22.6/drivers/net/wireless/zd1211rw/zd_rf.h	2009-08-07 17:00:18.000000000 +0200
&lt;br&gt;@@ -47,6 +47,7 @@ struct zd_rf {
&lt;br&gt;&amp;nbsp;	u8 type;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;	u8 channel;
&lt;br&gt;+	void *priv;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;	/* RF-specific functions */
&lt;br&gt;&amp;nbsp;	int (*init_hw)(struct zd_rf *rf);
&lt;br&gt;@@ -54,6 +55,9 @@ struct zd_rf {
&lt;br&gt;&amp;nbsp;	int (*switch_radio_on)(struct zd_rf *rf);
&lt;br&gt;&amp;nbsp;	int (*switch_radio_off)(struct zd_rf *rf);
&lt;br&gt;&amp;nbsp;	int (*patch_6m_band_edge)(struct zd_rf *rf, u8 channel);
&lt;br&gt;+	void (*clear)(struct zd_rf *rf);
&lt;br&gt;+	
&lt;br&gt;+	u8 update_channel_int:8;
&lt;br&gt;&amp;nbsp;};
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;const char *zd_rf_name(u8 type);
&lt;br&gt;@@ -76,5 +80,6 @@ int zd_rf_generic_patch_6m(struct zd_rf 
&lt;br&gt;&amp;nbsp;int zd_rf_init_rf2959(struct zd_rf *rf);
&lt;br&gt;&amp;nbsp;int zd_rf_init_al2230(struct zd_rf *rf);
&lt;br&gt;&amp;nbsp;int zd_rf_init_al7230b(struct zd_rf *rf);
&lt;br&gt;+int zd_rf_init_uw2454(struct zd_rf *rf);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#endif /* _ZD_RF_H */
&lt;br&gt;diff -uprN 2.6.22.6-vanilla/drivers/net/wireless/zd1211rw/zd_rf_uw2453.c 2.6.22.6/drivers/net/wireless/zd1211rw/zd_rf_uw2453.c
&lt;br&gt;--- 2.6.22.6-vanilla/drivers/net/wireless/zd1211rw/zd_rf_uw2453.c	1970-01-01 01:00:00.000000000 +0100
&lt;br&gt;+++ 2.6.22.6/drivers/net/wireless/zd1211rw/zd_rf_uw2453.c	2009-08-07 17:00:05.000000000 +0200
&lt;br&gt;@@ -0,0 +1,539 @@
&lt;br&gt;+/* ZD1211 USB-WLAN driver for Linux
&lt;br&gt;+ *
&lt;br&gt;+ * Copyright (C) 2005-2007 Ulrich Kunitz &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24868255&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kune@...&lt;/a&gt;&amp;gt;
&lt;br&gt;+ * Copyright (C) 2006-2007 Daniel Drake &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24868255&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dsd@...&lt;/a&gt;&amp;gt;
&lt;br&gt;+ *
&lt;br&gt;+ * This program is free software; you can redistribute it and/or modify
&lt;br&gt;+ * it under the terms of the GNU General Public License as published by
&lt;br&gt;+ * the Free Software Foundation; either version 2 of the License, or
&lt;br&gt;+ * (at your option) any later version.
&lt;br&gt;+ *
&lt;br&gt;+ * This program is distributed in the hope that it will be useful,
&lt;br&gt;+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
&lt;br&gt;+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &amp;nbsp;See the
&lt;br&gt;+ * GNU General Public License for more details.
&lt;br&gt;+ *
&lt;br&gt;+ * You should have received a copy of the GNU General Public License
&lt;br&gt;+ * along with this program; if not, write to the Free Software
&lt;br&gt;+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
&lt;br&gt;+ */
&lt;br&gt;+
&lt;br&gt;+#include &amp;lt;linux/kernel.h&amp;gt;
&lt;br&gt;+
&lt;br&gt;+#include &amp;quot;zd_rf.h&amp;quot;
&lt;br&gt;+#include &amp;quot;zd_usb.h&amp;quot;
&lt;br&gt;+#include &amp;quot;zd_chip.h&amp;quot;
&lt;br&gt;+
&lt;br&gt;+#define UW2453_INTR_REG ((zd_addr_t)0x85c1)
&lt;br&gt;+
&lt;br&gt;+/* This RF programming code is based upon the code found in v2.16.0.0 of the
&lt;br&gt;+ * ZyDAS vendor driver. Unlike other RF's, Ubec publish full technical specs
&lt;br&gt;+ * for this RF on their website, so we're able to understand more than
&lt;br&gt;+ * usual as to what is going on. Thumbs up for Ubec for doing that. */
&lt;br&gt;+
&lt;br&gt;+/* The 3-wire serial interface provides access to 8 write-only registers.
&lt;br&gt;+ * The data format is a 4 bit register address followed by a 20 bit value. */
&lt;br&gt;+#define UW2453_REGWRITE(reg, val) ((((reg) &amp; 0xf) &amp;lt;&amp;lt; 20) | ((val) &amp; 0xfffff))
&lt;br&gt;+
&lt;br&gt;+/* For channel tuning, we have to configure registers 1 (synthesizer), 2 (synth
&lt;br&gt;+ * fractional divide ratio) and 3 (VCO config).
&lt;br&gt;+ *
&lt;br&gt;+ * We configure the RF to produce an interrupt when the PLL is locked onto
&lt;br&gt;+ * the configured frequency. During initialization, we run through a variety
&lt;br&gt;+ * of different VCO configurations on channel 1 until we detect a PLL lock.
&lt;br&gt;+ * When this happens, we remember which VCO configuration produced the lock
&lt;br&gt;+ * and use it later. Actually, we use the configuration *after* the one that
&lt;br&gt;+ * produced the lock, which seems odd, but it works.
&lt;br&gt;+ *
&lt;br&gt;+ * If we do not see a PLL lock on any standard VCO config, we fall back on an
&lt;br&gt;+ * autocal configuration, which has a fixed (as opposed to per-channel) VCO
&lt;br&gt;+ * config and different synth values from the standard set (divide ratio
&lt;br&gt;+ * is still shared with the standard set). */
&lt;br&gt;+
&lt;br&gt;+/* The per-channel synth values for all standard VCO configurations. These get
&lt;br&gt;+ * written to register 1. */
&lt;br&gt;+static const u8 uw2453_std_synth[] = {
&lt;br&gt;+	RF_CHANNEL( 1) = 0x47,
&lt;br&gt;+	RF_CHANNEL( 2) = 0x47,
&lt;br&gt;+	RF_CHANNEL( 3) = 0x67,
&lt;br&gt;+	RF_CHANNEL( 4) = 0x67,
&lt;br&gt;+	RF_CHANNEL( 5) = 0x67,
&lt;br&gt;+	RF_CHANNEL( 6) = 0x67,
&lt;br&gt;+	RF_CHANNEL( 7) = 0x57,
&lt;br&gt;+	RF_CHANNEL( 8) = 0x57,
&lt;br&gt;+	RF_CHANNEL( 9) = 0x57,
&lt;br&gt;+	RF_CHANNEL(10) = 0x57,
&lt;br&gt;+	RF_CHANNEL(11) = 0x77,
&lt;br&gt;+	RF_CHANNEL(12) = 0x77,
&lt;br&gt;+	RF_CHANNEL(13) = 0x77,
&lt;br&gt;+	RF_CHANNEL(14) = 0x4f,
&lt;br&gt;+};
&lt;br&gt;+
&lt;br&gt;+/* This table stores the synthesizer fractional divide ratio for *all* VCO
&lt;br&gt;+ * configurations (both standard and autocal). These get written to register 2.
&lt;br&gt;+ */
&lt;br&gt;+static const u16 uw2453_synth_divide[] = {
&lt;br&gt;+	RF_CHANNEL( 1) = 0x999,
&lt;br&gt;+	RF_CHANNEL( 2) = 0x99b,
&lt;br&gt;+	RF_CHANNEL( 3) = 0x998,
&lt;br&gt;+	RF_CHANNEL( 4) = 0x99a,
&lt;br&gt;+	RF_CHANNEL( 5) = 0x999,
&lt;br&gt;+	RF_CHANNEL( 6) = 0x99b,
&lt;br&gt;+	RF_CHANNEL( 7) = 0x998,
&lt;br&gt;+	RF_CHANNEL( 8) = 0x99a,
&lt;br&gt;+	RF_CHANNEL( 9) = 0x999,
&lt;br&gt;+	RF_CHANNEL(10) = 0x99b,
&lt;br&gt;+	RF_CHANNEL(11) = 0x998,
&lt;br&gt;+	RF_CHANNEL(12) = 0x99a,
&lt;br&gt;+	RF_CHANNEL(13) = 0x999,
&lt;br&gt;+	RF_CHANNEL(14) = 0xccc,
&lt;br&gt;+};
&lt;br&gt;+
&lt;br&gt;+/* Here is the data for all the standard VCO configurations. We shrink our
&lt;br&gt;+ * table a little by observing that both channels in a consecutive pair share
&lt;br&gt;+ * the same value. We also observe that the high 4 bits ([0:3] in the specs)
&lt;br&gt;+ * are all 'Reserved' and are always set to 0x4 - we chop them off in the data
&lt;br&gt;+ * below. */
&lt;br&gt;+#define CHAN_TO_PAIRIDX(a) ((a - 1) / 2)
&lt;br&gt;+#define RF_CHANPAIR(a,b) [CHAN_TO_PAIRIDX(a)]
&lt;br&gt;+static const u16 uw2453_std_vco_cfg[][7] = {
&lt;br&gt;+	{ /* table 1 */
&lt;br&gt;+		RF_CHANPAIR( 1, &amp;nbsp;2) = 0x664d,
&lt;br&gt;+		RF_CHANPAIR( 3, &amp;nbsp;4) = 0x604d,
&lt;br&gt;+		RF_CHANPAIR( 5, &amp;nbsp;6) = 0x6675,
&lt;br&gt;+		RF_CHANPAIR( 7, &amp;nbsp;8) = 0x6475,
&lt;br&gt;+		RF_CHANPAIR( 9, 10) = 0x6655,
&lt;br&gt;+		RF_CHANPAIR(11, 12) = 0x6455,
&lt;br&gt;+		RF_CHANPAIR(13, 14) = 0x6665,
&lt;br&gt;+	},
&lt;br&gt;+	{ /* table 2 */
&lt;br&gt;+		RF_CHANPAIR( 1, &amp;nbsp;2) = 0x666d,
&lt;br&gt;+		RF_CHANPAIR( 3, &amp;nbsp;4) = 0x606d,
&lt;br&gt;+		RF_CHANPAIR( 5, &amp;nbsp;6) = 0x664d,
&lt;br&gt;+		RF_CHANPAIR( 7, &amp;nbsp;8) = 0x644d,
&lt;br&gt;+		RF_CHANPAIR( 9, 10) = 0x6675,
&lt;br&gt;+		RF_CHANPAIR(11, 12) = 0x6475,
&lt;br&gt;+		RF_CHANPAIR(13, 14) = 0x6655,
&lt;br&gt;+	},
&lt;br&gt;+	{ /* table 3 */
&lt;br&gt;+		RF_CHANPAIR( 1, &amp;nbsp;2) = 0x665d,
&lt;br&gt;+		RF_CHANPAIR( 3, &amp;nbsp;4) = 0x605d,
&lt;br&gt;+		RF_CHANPAIR( 5, &amp;nbsp;6) = 0x666d,
&lt;br&gt;+		RF_CHANPAIR( 7, &amp;nbsp;8) = 0x646d,
&lt;br&gt;+		RF_CHANPAIR( 9, 10) = 0x664d,
&lt;br&gt;+		RF_CHANPAIR(11, 12) = 0x644d,
&lt;br&gt;+		RF_CHANPAIR(13, 14) = 0x6675,
&lt;br&gt;+	},
&lt;br&gt;+	{ /* table 4 */
&lt;br&gt;+		RF_CHANPAIR( 1, &amp;nbsp;2) = 0x667d,
&lt;br&gt;+		RF_CHANPAIR( 3, &amp;nbsp;4) = 0x607d,
&lt;br&gt;+		RF_CHANPAIR( 5, &amp;nbsp;6) = 0x665d,
&lt;br&gt;+		RF_CHANPAIR( 7, &amp;nbsp;8) = 0x645d,
&lt;br&gt;+		RF_CHANPAIR( 9, 10) = 0x666d,
&lt;br&gt;+		RF_CHANPAIR(11, 12) = 0x646d,
&lt;br&gt;+		RF_CHANPAIR(13, 14) = 0x664d,
&lt;br&gt;+	},
&lt;br&gt;+	{ /* table 5 */
&lt;br&gt;+		RF_CHANPAIR( 1, &amp;nbsp;2) = 0x6643,
&lt;br&gt;+		RF_CHANPAIR( 3, &amp;nbsp;4) = 0x6043,
&lt;br&gt;+		RF_CHANPAIR( 5, &amp;nbsp;6) = 0x667d,
&lt;br&gt;+		RF_CHANPAIR( 7, &amp;nbsp;8) = 0x647d,
&lt;br&gt;+		RF_CHANPAIR( 9, 10) = 0x665d,
&lt;br&gt;+		RF_CHANPAIR(11, 12) = 0x645d,
&lt;br&gt;+		RF_CHANPAIR(13, 14) = 0x666d,
&lt;br&gt;+	},
&lt;br&gt;+	{ /* table 6 */
&lt;br&gt;+		RF_CHANPAIR( 1, &amp;nbsp;2) = 0x6663,
&lt;br&gt;+		RF_CHANPAIR( 3, &amp;nbsp;4) = 0x6063,
&lt;br&gt;+		RF_CHANPAIR( 5, &amp;nbsp;6) = 0x6643,
&lt;br&gt;+		RF_CHANPAIR( 7, &amp;nbsp;8) = 0x6443,
&lt;br&gt;+		RF_CHANPAIR( 9, 10) = 0x667d,
&lt;br&gt;+		RF_CHANPAIR(11, 12) = 0x647d,
&lt;br&gt;+		RF_CHANPAIR(13, 14) = 0x665d,
&lt;br&gt;+	},
&lt;br&gt;+	{ /* table 7 */
&lt;br&gt;+		RF_CHANPAIR( 1, &amp;nbsp;2) = 0x6653,
&lt;br&gt;+		RF_CHANPAIR( 3, &amp;nbsp;4) = 0x6053,
&lt;br&gt;+		RF_CHANPAIR( 5, &amp;nbsp;6) = 0x6663,
&lt;br&gt;+		RF_CHANPAIR( 7, &amp;nbsp;8) = 0x6463,
&lt;br&gt;+		RF_CHANPAIR( 9, 10) = 0x6643,
&lt;br&gt;+		RF_CHANPAIR(11, 12) = 0x6443,
&lt;br&gt;+		RF_CHANPAIR(13, 14) = 0x667d,
&lt;br&gt;+	},
&lt;br&gt;+	{ /* table 8 */
&lt;br&gt;+		RF_CHANPAIR( 1, &amp;nbsp;2) = 0x6673,
&lt;br&gt;+		RF_CHANPAIR( 3, &amp;nbsp;4) = 0x6073,
&lt;br&gt;+		RF_CHANPAIR( 5, &amp;nbsp;6) = 0x6653,
&lt;br&gt;+		RF_CHANPAIR( 7, &amp;nbsp;8) = 0x6453,
&lt;br&gt;+		RF_CHANPAIR( 9, 10) = 0x6663,
&lt;br&gt;+		RF_CHANPAIR(11, 12) = 0x6463,
&lt;br&gt;+		RF_CHANPAIR(13, 14) = 0x6643,
&lt;br&gt;+	},
&lt;br&gt;+	{ /* table 9 */
&lt;br&gt;+		RF_CHANPAIR( 1, &amp;nbsp;2) = 0x664b,
&lt;br&gt;+		RF_CHANPAIR( 3, &amp;nbsp;4) = 0x604b,
&lt;br&gt;+		RF_CHANPAIR( 5, &amp;nbsp;6) = 0x6673,
&lt;br&gt;+		RF_CHANPAIR( 7, &amp;nbsp;8) = 0x6473,
&lt;br&gt;+		RF_CHANPAIR( 9, 10) = 0x6653,
&lt;br&gt;+		RF_CHANPAIR(11, 12) = 0x6453,
&lt;br&gt;+		RF_CHANPAIR(13, 14) = 0x6663,
&lt;br&gt;+	},
&lt;br&gt;+	{ /* table 10 */
&lt;br&gt;+		RF_CHANPAIR( 1, &amp;nbsp;2) = 0x666b,
&lt;br&gt;+		RF_CHANPAIR( 3, &amp;nbsp;4) = 0x606b,
&lt;br&gt;+		RF_CHANPAIR( 5, &amp;nbsp;6) = 0x664b,
&lt;br&gt;+		RF_CHANPAIR( 7, &amp;nbsp;8) = 0x644b,
&lt;br&gt;+		RF_CHANPAIR( 9, 10) = 0x6673,
&lt;br&gt;+		RF_CHANPAIR(11, 12) = 0x6473,
&lt;br&gt;+		RF_CHANPAIR(13, 14) = 0x6653,
&lt;br&gt;+	},
&lt;br&gt;+	{ /* table 11 */
&lt;br&gt;+		RF_CHANPAIR( 1, &amp;nbsp;2) = 0x665b,
&lt;br&gt;+		RF_CHANPAIR( 3, &amp;nbsp;4) = 0x605b,
&lt;br&gt;+		RF_CHANPAIR( 5, &amp;nbsp;6) = 0x666b,
&lt;br&gt;+		RF_CHANPAIR( 7, &amp;nbsp;8) = 0x646b,
&lt;br&gt;+		RF_CHANPAIR( 9, 10) = 0x664b,
&lt;br&gt;+		RF_CHANPAIR(11, 12) = 0x644b,
&lt;br&gt;+		RF_CHANPAIR(13, 14) = 0x6673,
&lt;br&gt;+	},
&lt;br&gt;+
&lt;br&gt;+};
&lt;br&gt;+
&lt;br&gt;+/* The per-channel synth values for autocal. These get written to register 1. */
&lt;br&gt;+static const u16 uw2453_autocal_synth[] = {
&lt;br&gt;+	RF_CHANNEL( 1) = 0x6847,
&lt;br&gt;+	RF_CHANNEL( 2) = 0x6847,
&lt;br&gt;+	RF_CHANNEL( 3) = 0x6867,
&lt;br&gt;+	RF_CHANNEL( 4) = 0x6867,
&lt;br&gt;+	RF_CHANNEL( 5) = 0x6867,
&lt;br&gt;+	RF_CHANNEL( 6) = 0x6867,
&lt;br&gt;+	RF_CHANNEL( 7) = 0x6857,
&lt;br&gt;+	RF_CHANNEL( 8) = 0x6857,
&lt;br&gt;+	RF_CHANNEL( 9) = 0x6857,
&lt;br&gt;+	RF_CHANNEL(10) = 0x6857,
&lt;br&gt;+	RF_CHANNEL(11) = 0x6877,
&lt;br&gt;+	RF_CHANNEL(12) = 0x6877,
&lt;br&gt;+	RF_CHANNEL(13) = 0x6877,
&lt;br&gt;+	RF_CHANNEL(14) = 0x684f,
&lt;br&gt;+};
&lt;br&gt;+
&lt;br&gt;+/* The VCO configuration for autocal (all channels) */
&lt;br&gt;+static const u16 UW2453_AUTOCAL_VCO_CFG = 0x6662;
&lt;br&gt;+
&lt;br&gt;+/* TX gain settings. The array index corresponds to the TX power integration
&lt;br&gt;+ * values found in the EEPROM. The values get written to register 7. */
&lt;br&gt;+static u32 uw2453_txgain[] = {
&lt;br&gt;+	[0x00] = 0x0e313,
&lt;br&gt;+	[0x01] = 0x0fb13,
&lt;br&gt;+	[0x02] = 0x0e093,
&lt;br&gt;+	[0x03] = 0x0f893,
&lt;br&gt;+	[0x04] = 0x0ea93,
&lt;br&gt;+	[0x05] = 0x1f093,
&lt;br&gt;+	[0x06] = 0x1f493,
&lt;br&gt;+	[0x07] = 0x1f693,
&lt;br&gt;+	[0x08] = 0x1f393,
&lt;br&gt;+	[0x09] = 0x1f35b,
&lt;br&gt;+	[0x0a] = 0x1e6db,
&lt;br&gt;+	[0x0b] = 0x1ff3f,
&lt;br&gt;+	[0x0c] = 0x1ffff,
&lt;br&gt;+	[0x0d] = 0x361d7,
&lt;br&gt;+	[0x0e] = 0x37fbf,
&lt;br&gt;+	[0x0f] = 0x3ff8b,
&lt;br&gt;+	[0x10] = 0x3ff33,
&lt;br&gt;+	[0x11] = 0x3fb3f,
&lt;br&gt;+	[0x12] = 0x3ffff,
&lt;br&gt;+};
&lt;br&gt;+
&lt;br&gt;+/* RF-specific structure */
&lt;br&gt;+struct uw2453_priv {
&lt;br&gt;+	/* index into synth/VCO config tables where PLL lock was found
&lt;br&gt;+	 * -1 means autocal */
&lt;br&gt;+	int config;
&lt;br&gt;+};
&lt;br&gt;+
&lt;br&gt;+#define UW2453_PRIV(rf) ((struct uw2453_priv *) (rf)-&amp;gt;priv)
&lt;br&gt;+
&lt;br&gt;+static int uw2453_synth_set_channel(struct zd_chip *chip, int channel,
&lt;br&gt;+	bool autocal)
&lt;br&gt;+{
&lt;br&gt;+	int r;
&lt;br&gt;+	int idx = channel - 1;
&lt;br&gt;+	u32 val;
&lt;br&gt;+
&lt;br&gt;+	if (autocal)
&lt;br&gt;+		val = UW2453_REGWRITE(1, uw2453_autocal_synth[idx]);
&lt;br&gt;+	else
&lt;br&gt;+		val = UW2453_REGWRITE(1, uw2453_std_synth[idx]);
&lt;br&gt;+
&lt;br&gt;+	r = zd_rfwrite_locked(chip, val, RF_RV_BITS);
&lt;br&gt;+	if (r)
&lt;br&gt;+		return r;
&lt;br&gt;+
&lt;br&gt;+	return zd_rfwrite_locked(chip,
&lt;br&gt;+		UW2453_REGWRITE(2, uw2453_synth_divide[idx]), RF_RV_BITS);
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+static int uw2453_write_vco_cfg(struct zd_chip *chip, u16 value)
&lt;br&gt;+{
&lt;br&gt;+	/* vendor driver always sets these upper bits even though the specs say
&lt;br&gt;+	 * they are reserved */
&lt;br&gt;+	u32 val = 0x40000 | value;
&lt;br&gt;+	return zd_rfwrite_locked(chip, UW2453_REGWRITE(3, val), RF_RV_BITS);
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+static int uw2453_init_mode(struct zd_chip *chip)
&lt;br&gt;+{
&lt;br&gt;+	static const u32 rv[] = {
&lt;br&gt;+		UW2453_REGWRITE(0, 0x25f98), /* enter IDLE mode */
&lt;br&gt;+		UW2453_REGWRITE(0, 0x25f9a), /* enter CAL_VCO mode */
&lt;br&gt;+		UW2453_REGWRITE(0, 0x25f94), /* enter RX/TX mode */
&lt;br&gt;+		UW2453_REGWRITE(0, 0x27fd4), /* power down RSSI circuit */
&lt;br&gt;+	};
&lt;br&gt;+
&lt;br&gt;+	return zd_rfwritev_locked(chip, rv, ARRAY_SIZE(rv), RF_RV_BITS);
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+static int uw2453_set_tx_gain_level(struct zd_chip *chip, int channel)
&lt;br&gt;+{
&lt;br&gt;+	u8 int_value = chip-&amp;gt;pwr_int_values[channel - 1];
&lt;br&gt;+
&lt;br&gt;+	if (int_value &amp;gt;= ARRAY_SIZE(uw2453_txgain)) {
&lt;br&gt;+		dev_dbg_f(zd_chip_dev(chip), &amp;quot;can't configure TX gain for &amp;quot;
&lt;br&gt;+			 &amp;nbsp;&amp;quot;int value %x on channel %d\n&amp;quot;, int_value, channel);
&lt;br&gt;+		return 0;
&lt;br&gt;+	}
&lt;br&gt;+
&lt;br&gt;+	return zd_rfwrite_locked(chip,
&lt;br&gt;+		UW2453_REGWRITE(7, uw2453_txgain[int_value]), RF_RV_BITS);
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+static int uw2453_init_hw(struct zd_rf *rf)
&lt;br&gt;+{
&lt;br&gt;+	int i, r;
&lt;br&gt;+	int found_config = -1;
&lt;br&gt;+	u16 intr_status;
&lt;br&gt;+	struct zd_chip *chip = zd_rf_to_chip(rf);
&lt;br&gt;+
&lt;br&gt;+	static const struct zd_ioreq16 ioreqs[] = {
&lt;br&gt;+		{ CR10, &amp;nbsp;0x89 }, { CR15, &amp;nbsp;0x20 },
&lt;br&gt;+		{ CR17, &amp;nbsp;0x28 }, /* 6112 no change */
&lt;br&gt;+		{ CR23, &amp;nbsp;0x38 }, { CR24, &amp;nbsp;0x20 }, { CR26, &amp;nbsp;0x93 },
&lt;br&gt;+		{ CR27, &amp;nbsp;0x15 }, { CR28, &amp;nbsp;0x3e }, { CR29, &amp;nbsp;0x00 },
&lt;br&gt;+		{ CR33, &amp;nbsp;0x28 }, { CR34, &amp;nbsp;0x30 },
&lt;br&gt;+		{ CR35, &amp;nbsp;0x43 }, /* 6112 3e-&amp;gt;43 */
&lt;br&gt;+		{ CR41, &amp;nbsp;0x24 }, { CR44, &amp;nbsp;0x32 },
&lt;br&gt;+		{ CR46, &amp;nbsp;0x92 }, /* 6112 96-&amp;gt;92 */
&lt;br&gt;+		{ CR47, &amp;nbsp;0x1e },
&lt;br&gt;+		{ CR48, &amp;nbsp;0x04 }, /* 5602 Roger */
&lt;br&gt;+		{ CR49, &amp;nbsp;0xfa }, { CR79, &amp;nbsp;0x58 }, { CR80, &amp;nbsp;0x30 },
&lt;br&gt;+		{ CR81, &amp;nbsp;0x30 }, { CR87, &amp;nbsp;0x0a }, { CR89, &amp;nbsp;0x04 },
&lt;br&gt;+		{ CR91, &amp;nbsp;0x00 }, { CR92, &amp;nbsp;0x0a }, { CR98, &amp;nbsp;0x8d },
&lt;br&gt;+		{ CR99, &amp;nbsp;0x28 }, { CR100, 0x02 },
&lt;br&gt;+		{ CR101, 0x09 }, /* 6112 13-&amp;gt;1f 6220 1f-&amp;gt;13 6407 13-&amp;gt;9 */
&lt;br&gt;+		{ CR102, 0x27 },
&lt;br&gt;+		{ CR106, 0x1c }, /* 5d07 5112 1f-&amp;gt;1c 6220 1c-&amp;gt;1f 6221 1f-&amp;gt;1c */
&lt;br&gt;+		{ CR107, 0x1c }, /* 6220 1c-&amp;gt;1a 5221 1a-&amp;gt;1c */
&lt;br&gt;+		{ CR109, 0x13 },
&lt;br&gt;+		{ CR110, 0x1f }, /* 6112 13-&amp;gt;1f 6221 1f-&amp;gt;13 6407 13-&amp;gt;0x09 */
&lt;br&gt;+		{ CR111, 0x13 }, { CR112, 0x1f }, { CR113, 0x27 },
&lt;br&gt;+		{ CR114, 0x23 }, /* 6221 27-&amp;gt;23 */
&lt;br&gt;+		{ CR115, 0x24 }, /* 6112 24-&amp;gt;1c 6220 1c-&amp;gt;24 */
&lt;br&gt;+		{ CR116, 0x24 }, /* 6220 1c-&amp;gt;24 */
&lt;br&gt;+		{ CR117, 0xfa }, /* 6112 fa-&amp;gt;f8 6220 f8-&amp;gt;f4 6220 f4-&amp;gt;fa */
&lt;br&gt;+		{ CR118, 0xf0 }, /* 5d07 6112 f0-&amp;gt;f2 6220 f2-&amp;gt;f0 */
&lt;br&gt;+		{ CR119, 0x1a }, /* 6112 1a-&amp;gt;10 6220 10-&amp;gt;14 6220 14-&amp;gt;1a */
&lt;br&gt;+		{ CR120, 0x4f },
&lt;br&gt;+		{ CR121, 0x1f }, /* 6220 4f-&amp;gt;1f */
&lt;br&gt;+		{ CR122, 0xf0 }, { CR123, 0x57 }, { CR125, 0xad },
&lt;br&gt;+		{ CR126, 0x6c }, { CR127, 0x03 },
&lt;br&gt;+		{ CR128, 0x14 }, /* 6302 12-&amp;gt;11 */
&lt;br&gt;+		{ CR129, 0x12 }, /* 6301 10-&amp;gt;0f */
&lt;br&gt;+		{ CR130, 0x10 }, { CR137, 0x50 }, { CR138, 0xa8 },
&lt;br&gt;+		{ CR144, 0xac }, { CR146, 0x20 }, { CR252, 0xff },
&lt;br&gt;+		{ CR253, 0xff },
&lt;br&gt;+	};
&lt;br&gt;+
&lt;br&gt;+	static const u32 rv[] = {
&lt;br&gt;+		UW2453_REGWRITE(4, 0x2b), &amp;nbsp; &amp;nbsp;/* configure reciever gain */
&lt;br&gt;+		UW2453_REGWRITE(5, 0x19e4f), /* configure transmitter gain */
&lt;br&gt;+		UW2453_REGWRITE(6, 0xf81ad), /* enable RX/TX filter tuning */
&lt;br&gt;+		UW2453_REGWRITE(7, 0x3fffe), /* disable TX gain in test mode */
&lt;br&gt;+
&lt;br&gt;+		/* enter CAL_FIL mode, TX gain set by registers, RX gain set by pins,
&lt;br&gt;+		 * RSSI circuit powered down, reduced RSSI range */
&lt;br&gt;+		UW2453_REGWRITE(0, 0x25f9c), /* 5d01 cal_fil */
&lt;br&gt;+
&lt;br&gt;+		/* synthesizer configuration for channel 1 */
&lt;br&gt;+		UW2453_REGWRITE(1, 0x47),
&lt;br&gt;+		UW2453_REGWRITE(2, 0x999),
&lt;br&gt;+
&lt;br&gt;+		/* disable manual VCO band selection */
&lt;br&gt;+		UW2453_REGWRITE(3, 0x7602),
&lt;br&gt;+
&lt;br&gt;+		/* enable manual VCO band selection, configure current level */
&lt;br&gt;+		UW2453_REGWRITE(3, 0x46063),
&lt;br&gt;+	};
&lt;br&gt;+
&lt;br&gt;+	r = zd_iowrite16a_locked(chip, ioreqs, ARRAY_SIZE(ioreqs));
&lt;br&gt;+	if (r)
&lt;br&gt;+		return r;
&lt;br&gt;+
&lt;br&gt;+	r = zd_rfwritev_locked(chip, rv, ARRAY_SIZE(rv), RF_RV_BITS);
&lt;br&gt;+	if (r)
&lt;br&gt;+		return r;
&lt;br&gt;+
&lt;br&gt;+	r = uw2453_init_mode(chip);
&lt;br&gt;+	if (r)
&lt;br&gt;+		return r;
&lt;br&gt;+
&lt;br&gt;+	/* Try all standard VCO configuration settings on channel 1 */
&lt;br&gt;+	for (i = 0; i &amp;lt; ARRAY_SIZE(uw2453_std_vco_cfg) - 1; i++) {
&lt;br&gt;+		/* Configure synthesizer for channel 1 */
&lt;br&gt;+		r = uw2453_synth_set_channel(chip, 1, false);
&lt;br&gt;+		if (r)
&lt;br&gt;+			return r;
&lt;br&gt;+
&lt;br&gt;+		/* Write VCO config */
&lt;br&gt;+		r = uw2453_write_vco_cfg(chip, uw2453_std_vco_cfg[i][0]);
&lt;br&gt;+		if (r)
&lt;br&gt;+			return r;
&lt;br&gt;+
&lt;br&gt;+		/* ack interrupt event */
&lt;br&gt;+		r = zd_iowrite16_locked(chip, 0x0f, UW2453_INTR_REG);
&lt;br&gt;+		if (r)
&lt;br&gt;+			return r;
&lt;br&gt;+
&lt;br&gt;+		/* check interrupt status */
&lt;br&gt;+		r = zd_ioread16_locked(chip, &amp;intr_status, UW2453_INTR_REG);
&lt;br&gt;+		if (r)
&lt;br&gt;+			return r;
&lt;br&gt;+
&lt;br&gt;+		if (!(intr_status &amp; 0xf)) {
&lt;br&gt;+			dev_dbg_f(zd_chip_dev(chip),
&lt;br&gt;+				&amp;quot;PLL locked on configuration %d\n&amp;quot;, i);
&lt;br&gt;+			found_config = i;
&lt;br&gt;+			break;
&lt;br&gt;+		}
&lt;br&gt;+	}
&lt;br&gt;+
&lt;br&gt;+	if (found_config == -1) {
&lt;br&gt;+		/* autocal */
&lt;br&gt;+		dev_dbg_f(zd_chip_dev(chip),
&lt;br&gt;+			&amp;quot;PLL did not lock, using autocal\n&amp;quot;);
&lt;br&gt;+
&lt;br&gt;+		r = uw2453_synth_set_channel(chip, 1, true);
&lt;br&gt;+		if (r)
&lt;br&gt;+			return r;
&lt;br&gt;+
&lt;br&gt;+		r = uw2453_write_vco_cfg(chip, UW2453_AUTOCAL_VCO_CFG);
&lt;br&gt;+		if (r)
&lt;br&gt;+			return r;
&lt;br&gt;+	}
&lt;br&gt;+
&lt;br&gt;+	/* To match the vendor driver behaviour, we use the configuration after
&lt;br&gt;+	 * the one that produced a lock. */
&lt;br&gt;+	UW2453_PRIV(rf)-&amp;gt;config = found_config + 1;
&lt;br&gt;+
&lt;br&gt;+	return zd_iowrite16_locked(chip, 0x06, CR203);
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+static int uw2453_set_channel(struct zd_rf *rf, u8 channel)
&lt;br&gt;+{
&lt;br&gt;+	int r;
&lt;br&gt;+	u16 vco_cfg;
&lt;br&gt;+	int config = UW2453_PRIV(rf)-&amp;gt;config;
&lt;br&gt;+	bool autocal = (config == -1);
&lt;br&gt;+	struct zd_chip *chip = zd_rf_to_chip(rf);
&lt;br&gt;+
&lt;br&gt;+	static const struct zd_ioreq16 ioreqs[] = {
&lt;br&gt;+		{ CR80, &amp;nbsp;0x30 }, { CR81, &amp;nbsp;0x30 }, { CR79, &amp;nbsp;0x58 },
&lt;br&gt;+		{ CR12, &amp;nbsp;0xf0 }, { CR77, &amp;nbsp;0x1b }, { CR78, &amp;nbsp;0x58 },
&lt;br&gt;+	};
&lt;br&gt;+
&lt;br&gt;+	r = uw2453_synth_set_channel(chip, channel, autocal);
&lt;br&gt;+	if (r)
&lt;br&gt;+		return r;
&lt;br&gt;+
&lt;br&gt;+	if (autocal)
&lt;br&gt;+		vco_cfg = UW2453_AUTOCAL_VCO_CFG;
&lt;br&gt;+	else
&lt;br&gt;+		vco_cfg = uw2453_std_vco_cfg[config][CHAN_TO_PAIRIDX(channel)];
&lt;br&gt;+
&lt;br&gt;+	r = uw2453_write_vco_cfg(chip, vco_cfg);
&lt;br&gt;+	if (r)
&lt;br&gt;+		return r;
&lt;br&gt;+
&lt;br&gt;+	r = uw2453_init_mode(chip);
&lt;br&gt;+	if (r)
&lt;br&gt;+		return r;
&lt;br&gt;+
&lt;br&gt;+	r = zd_iowrite16a_locked(chip, ioreqs, ARRAY_SIZE(ioreqs));
&lt;br&gt;+	if (r)
&lt;br&gt;+		return r;
&lt;br&gt;+
&lt;br&gt;+	r = uw2453_set_tx_gain_level(chip, channel);
&lt;br&gt;+	if (r)
&lt;br&gt;+		return r;
&lt;br&gt;+
&lt;br&gt;+	return zd_iowrite16_locked(chip, 0x06, CR203);
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+static int uw2453_switch_radio_on(struct zd_rf *rf)
&lt;br&gt;+{
&lt;br&gt;+	int r;
&lt;br&gt;+	struct zd_chip *chip = zd_rf_to_chip(rf);
&lt;br&gt;+	struct zd_ioreq16 ioreqs[] = {
&lt;br&gt;+		{ CR11, &amp;nbsp;0x00 }, { CR251, 0x3f },
&lt;br&gt;+	};
&lt;br&gt;+
&lt;br&gt;+	/* enter RXTX mode */
&lt;br&gt;+	r = zd_rfwrite_locked(chip, UW2453_REGWRITE(0, 0x25f94), RF_RV_BITS);
&lt;br&gt;+	if (r)
&lt;br&gt;+		return r;
&lt;br&gt;+
&lt;br&gt;+	if (zd_chip_is_zd1211b(chip))
&lt;br&gt;+		ioreqs[1].value = 0x7f;
&lt;br&gt;+
&lt;br&gt;+	return zd_iowrite16a_locked(chip, ioreqs, ARRAY_SIZE(ioreqs));
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+static int uw2453_switch_radio_off(struct zd_rf *rf)
&lt;br&gt;+{
&lt;br&gt;+	int r;
&lt;br&gt;+	struct zd_chip *chip = zd_rf_to_chip(rf);
&lt;br&gt;+	static const struct zd_ioreq16 ioreqs[] = {
&lt;br&gt;+		{ CR11, &amp;nbsp;0x04 }, { CR251, 0x2f },
&lt;br&gt;+	};
&lt;br&gt;+
&lt;br&gt;+	/* enter IDLE mode */
&lt;br&gt;+	/* FIXME: shouldn't we go to SLEEP? sent email to zydas */
&lt;br&gt;+	r = zd_rfwrite_locked(chip, UW2453_REGWRITE(0, 0x25f90), RF_RV_BITS);
&lt;br&gt;+	if (r)
&lt;br&gt;+		return r;
&lt;br&gt;+
&lt;br&gt;+	return zd_iowrite16a_locked(chip, ioreqs, ARRAY_SIZE(ioreqs));
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+static void uw2453_clear(struct zd_rf *rf)
&lt;br&gt;+{
&lt;br&gt;+	kfree(rf-&amp;gt;priv);
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+int zd_rf_init_uw2453(struct zd_rf *rf)
&lt;br&gt;+{
&lt;br&gt;+	rf-&amp;gt;init_hw = uw2453_init_hw;
&lt;br&gt;+	rf-&amp;gt;set_channel = uw2453_set_channel;
&lt;br&gt;+	rf-&amp;gt;switch_radio_on = uw2453_switch_radio_on;
&lt;br&gt;+	rf-&amp;gt;switch_radio_off = uw2453_switch_radio_off;
&lt;br&gt;+	rf-&amp;gt;patch_6m_band_edge = zd_rf_generic_patch_6m;
&lt;br&gt;+	rf-&amp;gt;clear = uw2453_clear;
&lt;br&gt;+	/* we have our own TX integration code */
&lt;br&gt;+	rf-&amp;gt;update_channel_int = 0;
&lt;br&gt;+
&lt;br&gt;+	rf-&amp;gt;priv = kmalloc(sizeof(struct uw2453_priv), GFP_KERNEL);
&lt;br&gt;+	if (rf-&amp;gt;priv == NULL)
&lt;br&gt;+		return -ENOMEM;
&lt;br&gt;+
&lt;br&gt;+	return 0;
&lt;br&gt;+}
&lt;br&gt;---
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Sören Wellhöfer
&lt;br&gt;Carl-Zeiss-Gymnasium Jena / Specialised school for Math, Science, and Technology
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with 
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--UW2453-for-TL-WN322G-support-%2B-2.6.22.x-tp24868255p24868255.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24835690</id>
	<title>Re: Latest version of zd1211b and its latest firmware (2009-06-24 01:08)</title>
	<published>2009-08-05T13:31:49Z</published>
	<updated>2009-08-05T13:31:49Z</updated>
	<author>
		<name>Gábor Stefanik</name>
	</author>
	<content type="html">On Wed, Aug 5, 2009 at 7:59 PM, Genar Codina
&lt;br&gt;Reverter&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24835690&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;genarcodina@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I would like to add the following information so that the zd1211b.ko module
&lt;br&gt;&amp;gt; can work with a &amp;quot;LinkSys Model WUSBF5G4 V1.1&amp;quot;:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; It is necessary to add the following &amp;quot;VendorId and ProductId&amp;quot; (0x13B1,
&lt;br&gt;&amp;gt; 0x0024) of the &amp;quot;LinkSys Model WUSBF5G4 V1.1&amp;quot; in the &amp;quot;zdusb.c&amp;quot; file:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; #ifdef ZD1211B
&lt;br&gt;&amp;gt;         { USB_DEVICE(VENDOR_ZYDAS, 0x1215) },
&lt;br&gt;&amp;gt;     { USB_DEVICE(VENDOR_ZYDAS, 0xA215) },
&lt;br&gt;&amp;gt; #if ZDCONF_FULL_IDS == 1
&lt;br&gt;&amp;gt;     { USB_DEVICE(0x0053, 0x5301) },
&lt;br&gt;&amp;gt;     { USB_DEVICE(0x0053, 0x5302) },
&lt;br&gt;&amp;gt;     { USB_DEVICE(0x13B1, 0x0024) }, //New entry: VendorId, ProductId for
&lt;br&gt;&amp;gt; &amp;quot;LinkSys Model WUSBF5G4 V1.1&amp;quot;
&lt;br&gt;&amp;gt;     { USB_DEVICE(0x2019, 0x5303) }, //Add, 2006.04.17
&lt;br&gt;&amp;gt;     { USB_DEVICE(0x050D, 0x4050) },
&lt;br&gt;&amp;gt;     { USB_DEVICE(0x050D, 0x705C) },
&lt;br&gt;&amp;gt;     { USB_DEVICE(0x0586, 0x340F) },
&lt;br&gt;&amp;gt;     { USB_DEVICE(0x079B, 0x0062) },
&lt;br&gt;&amp;gt;     { USB_DEVICE(0x083A, 0x4505) },
&lt;br&gt;&amp;gt;     { USB_DEVICE(0x083A, 0xE501) },
&lt;br&gt;&amp;gt;     { USB_DEVICE(0x0BAF, 0x0121) },
&lt;br&gt;&amp;gt;     { USB_DEVICE(0x0CDE, 0x001A) },
&lt;br&gt;&amp;gt;     { USB_DEVICE(0x0DF6, 0x9075) },
&lt;br&gt;&amp;gt;     { USB_DEVICE(0x0F88, 0x3014) },
&lt;br&gt;&amp;gt;     { USB_DEVICE(0x1233, 0x0471) },
&lt;br&gt;&amp;gt;     { USB_DEVICE(0x1582, 0x6003) },
&lt;br&gt;&amp;gt;     { USB_DEVICE(0x04bb, 0x0938) },
&lt;br&gt;&amp;gt; #endif
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Without this modification, after being loaded the &amp;quot;zd1211b.ko&amp;quot; module
&lt;br&gt;&amp;gt; happens that the command &amp;quot;ifconfig -a&amp;quot; cannot detect the device (no
&lt;br&gt;&amp;gt; information about any ath0 or wlan0, the MAC address of the device, etc).
&lt;/div&gt;&lt;br&gt;1. The vendor-based driver is no longer developed, the recommended
&lt;br&gt;driver is zd1211rw, which AFAIK already has this ID.
&lt;br&gt;2. I can't find any reference to &amp;quot;WUSBF5G4&amp;quot; anywhere on the web - do
&lt;br&gt;you mean &amp;quot;WUSBF54G&amp;quot;?
&lt;br&gt;&lt;br&gt;--Gábor
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with 
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Latest-version-of-zd1211b-and-its-latest-firmware-%282009-06-24-01%3A08%29-tp24833418p24835690.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24833418</id>
	<title>Latest version of zd1211b and its latest firmware (2009-06-24 01:08)</title>
	<published>2009-08-05T10:59:38Z</published>
	<updated>2009-08-05T10:59:38Z</updated>
	<author>
		<name>Genar Codina Reverter</name>
	</author>
	<content type="html">&lt;html&gt;
&lt;head&gt;

&lt;/head&gt;
&lt;body class='hmmessage'&gt;
I would like to add the following information so that the zd1211b.ko module can work with a &quot;LinkSys Model WUSBF5G4 V1.1&quot;:&lt;br&gt;&lt;br&gt;It is necessary to add the following &quot;VendorId and ProductId&quot; (0x13B1, 0x0024) of the &quot;LinkSys Model WUSBF5G4 V1.1&quot; in the &quot;&lt;b&gt;zdusb.c&lt;/b&gt;&quot; file:&lt;br&gt;&lt;br&gt;#ifdef ZD1211B&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { USB_DEVICE(VENDOR_ZYDAS, 0x1215) },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { USB_DEVICE(VENDOR_ZYDAS, 0xA215) },&lt;br&gt;#if ZDCONF_FULL_IDS == 1&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { USB_DEVICE(0x0053, 0x5301) },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { USB_DEVICE(0x0053, 0x5302) },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;{ USB_DEVICE(0x13B1, 0x0024) }, //New entry: VendorId, ProductId for &quot;LinkSys Model WUSBF5G4 V1.1&quot;&lt;/b&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { USB_DEVICE(0x2019, 0x5303) }, //Add, 2006.04.17&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { USB_DEVICE(0x050D, 0x4050) },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { USB_DEVICE(0x050D, 0x705C) },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { USB_DEVICE(0x0586, 0x340F) },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { USB_DEVICE(0x079B, 0x0062) },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { USB_DEVICE(0x083A, 0x4505) },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { USB_DEVICE(0x083A, 0xE501) },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { USB_DEVICE(0x0BAF, 0x0121) },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { USB_DEVICE(0x0CDE, 0x001A) },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { USB_DEVICE(0x0DF6, 0x9075) },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { USB_DEVICE(0x0F88, 0x3014) },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { USB_DEVICE(0x1233, 0x0471) },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { USB_DEVICE(0x1582, 0x6003) },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { USB_DEVICE(0x04bb, 0x0938) },&lt;br&gt;#endif&lt;br&gt;&lt;br&gt;Without this modification, after being loaded the &quot;zd1211b.ko&quot; module happens that the command &quot;ifconfig -a&quot; cannot detect the device (no information about any ath0 or wlan0, the MAC address of the device, etc).&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;hr /&gt;What can you do with the new Windows Live? &lt;a href='http://www.microsoft.com/windows/windowslive/default.aspx' target='_new' rel=&quot;nofollow&quot;&gt;Find out&lt;/a&gt;&lt;/body&gt;
&lt;/html&gt;&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with 
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Latest-version-of-zd1211b-and-its-latest-firmware-%282009-06-24-01%3A08%29-tp24833418p24833418.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24739408</id>
	<title>Re: zd1211rw couldn't load firmware. Error	number	-145 with Kernel 2.6.30</title>
	<published>2009-07-30T07:19:40Z</published>
	<updated>2009-07-30T07:19:40Z</updated>
	<author>
		<name>Hin-Tak Leung</name>
	</author>
	<content type="html">--- On Thu, 30/7/09, Mladen Horvat &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24739408&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;acid-burn@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; Using the offical 2.6.30 kernel from kernel.org:
&lt;br&gt;&amp;gt; www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.tar.bz2
&lt;br&gt;&lt;br&gt;Hmm, I have that as well, and the patches I used are those I mentioned... Hmm, did you copy over any compat-wireless headers? Those are beyond 2.6.31. 
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; what does not look great is this stuff:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; [ 6133.287000] wrq-&amp;gt;u.param.value = 00000000
&lt;br&gt;&amp;gt; [ 6133.301000] Temp Solution here. Need to look detail
&lt;br&gt;&amp;gt; [ 6133.525000] 1211_readl failed for 5 attempts...Very
&lt;br&gt;&amp;gt; Serious&amp;lt;3&amp;gt;1211_readl
&lt;br&gt;&amp;gt; failed for 5 attempts...Very Serious&amp;lt;3&amp;gt;1211_readl
&lt;br&gt;&amp;gt; failed for 5 attempts...Very
&lt;br&gt;&amp;gt; Serious&amp;lt;3&amp;gt;1211_readl failed for 5 attempts...Very
&lt;br&gt;&amp;gt; Serious&amp;lt;3&amp;gt;1211_readl failed
&lt;br&gt;&amp;gt; for 5 attempts...Very Serious&amp;lt;3&amp;gt;1211_readl failed for
&lt;br&gt;&amp;gt; 5 attempts...Very
&lt;br&gt;&amp;gt; Serious&amp;lt;3&amp;gt;1211_readl failed for 5 attempts...Very
&lt;br&gt;&amp;gt; Serious&amp;lt;3&amp;gt;1211_readl failed
&lt;br&gt;&amp;gt; for 5 attempts...Very Serious&amp;lt;3&amp;gt;1211_readl failed for
&lt;br&gt;&amp;gt; 5 attempts...Very
&lt;br&gt;&amp;gt; Serious&amp;lt;3&amp;gt;1211_readl failed for 5 attempts...Very
&lt;br&gt;&amp;gt; SeriousgetService failed!
&lt;br&gt;&amp;gt; getService failed!
&lt;/div&gt;&lt;br&gt;This comes from one of my patches to cope with slow CPUs. I haven't seen them with 3.0 (used to see them in 2.22) - so 3.0 had coped some other way. They are fairly harmless actually, you could increase the 5 if your board is really slow. 
&lt;br&gt;&lt;br&gt;&amp;gt; Scanning works here but no connect to my hidden Network
&lt;br&gt;&amp;gt; with wpa2.
&lt;br&gt;&amp;gt; perhaps there is only a patch missing on the ssid stuff i
&lt;br&gt;&amp;gt; saw somewhere for 
&lt;br&gt;&amp;gt; zd1211rw
&lt;br&gt;&lt;br&gt;Well, nobody has done anything significant for the rw driver for a year or two now. (other than just adding ids and the odd change to cope with changes elsewhere in the kernel). good luck fixing that or the firmware load problem. If you manage anything, please write back.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with 
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/zd1211rw-couldn%27t-load-firmware.-Error-number--145-with-Kernel-2.6.30-tp24718863p24739408.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24739132</id>
	<title>Re: zd1211rw couldn't load firmware. Error	number	-145 with Kernel 2.6.30</title>
	<published>2009-07-30T07:04:34Z</published>
	<updated>2009-07-30T07:04:34Z</updated>
	<author>
		<name>Mladen Horvat</name>
	</author>
	<content type="html">Hin-Tak Leung &amp;lt;hintak_leung &amp;lt;at&amp;gt; yahoo.co.uk&amp;gt; writes:
&lt;br&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Hmm, the net_ops is new and should only generates a warning with vanilla
&lt;br&gt;2.6.30 . Your kernel source tree is
&lt;br&gt;&amp;gt; not vanilla 2.6.30, is it? If you need the net_ops change, your tree is
&lt;br&gt;probably closer to 2.6.31 rcX .
&lt;br&gt;&amp;gt; (since it generates a warning on ifconfig up, I know about it and it is just
&lt;br&gt;not urgent/immediate yet in 2.6.30)
&lt;br&gt;&lt;br&gt;Using the offical 2.6.30 kernel from kernel.org:
&lt;br&gt;www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.tar.bz2
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;gt; But: looks like the driver doesnt work or like my
&lt;br&gt;&amp;gt; &amp;gt; WPA-Supplicant 0.6.9
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Here is a Bootlog and outputs that come: &amp;nbsp;&lt;a href=&quot;http://pastebin.com/m232e0dfa&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://pastebin.com/m232e0dfa&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The log looks okay to me... sorry I only use it in AP mode &amp; with WEP,can't
&lt;br&gt;help you there.
&lt;br&gt;&lt;br&gt;what does not look great is this stuff:
&lt;br&gt;&lt;br&gt;[ 6133.287000] wrq-&amp;gt;u.param.value = 00000000
&lt;br&gt;[ 6133.301000] Temp Solution here. Need to look detail
&lt;br&gt;[ 6133.525000] 1211_readl failed for 5 attempts...Very Serious&amp;lt;3&amp;gt;1211_readl
&lt;br&gt;failed for 5 attempts...Very Serious&amp;lt;3&amp;gt;1211_readl failed for 5 attempts...Very
&lt;br&gt;Serious&amp;lt;3&amp;gt;1211_readl failed for 5 attempts...Very Serious&amp;lt;3&amp;gt;1211_readl failed
&lt;br&gt;for 5 attempts...Very Serious&amp;lt;3&amp;gt;1211_readl failed for 5 attempts...Very
&lt;br&gt;Serious&amp;lt;3&amp;gt;1211_readl failed for 5 attempts...Very Serious&amp;lt;3&amp;gt;1211_readl failed
&lt;br&gt;for 5 attempts...Very Serious&amp;lt;3&amp;gt;1211_readl failed for 5 attempts...Very
&lt;br&gt;Serious&amp;lt;3&amp;gt;1211_readl failed for 5 attempts...Very SeriousgetService failed!
&lt;br&gt;getService failed!
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I did find the driver in AP mode has a curious behavior: it won't talk to a
&lt;br&gt;client after loading until I do
&lt;br&gt;&amp;gt; something like 'iwlist scan' or 'iwpriv card_reset' first. (the latter hangs
&lt;br&gt;the machine 1/2 of the time,
&lt;br&gt;&amp;gt; but iwlist scan is quite reliable and I only need to do it once per reboot of
&lt;br&gt;the AP which isn't bad). May be you
&lt;br&gt;&amp;gt; can try iwlist scan as a client also. 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;Scanning works here but no connect to my hidden Network with wpa2.
&lt;br&gt;perhaps there is only a patch missing on the ssid stuff i saw somewhere for 
&lt;br&gt;zd1211rw
&lt;br&gt;&lt;br&gt;here some output:
&lt;br&gt;State: DISCONNECTED -&amp;gt; SCANNING
&lt;br&gt;Starting AP scan (specific SSID)
&lt;br&gt;Scan SSID - hexdump_ascii(len=8):
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;53 70 61 63 65 4e 65 74 &amp;nbsp; &amp;nbsp;MyNet
&lt;br&gt;CTRL-EVENT-SCAN-RESULTS
&lt;br&gt;Selecting BSS from priority group 0
&lt;br&gt;Try to find WPA-enabled AP
&lt;br&gt;Try to find non-WPA AP
&lt;br&gt;0: 00:15:0c:85:06:66 ssid='' wpa_ie_len=0 rsn_ie_len=20 caps=0x11
&lt;br&gt;skip - SSID mismatch
&lt;br&gt;^^ &amp;nbsp;this is my AP with hidden ssid &amp;nbsp; but even with non hidden there is no
&lt;br&gt;connection possible.
&lt;br&gt;&lt;br&gt;&lt;br&gt;So i probably think it would be best to somehow fix the firmwareloading in
&lt;br&gt;zd1211rw probaly.
&lt;br&gt;&lt;br&gt;regards
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with 
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/zd1211rw-couldn%27t-load-firmware.-Error-number--145-with-Kernel-2.6.30-tp24718863p24739132.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24738473</id>
	<title>Re: zd1211rw couldn't load firmware. Error number	-145 with Kernel 2.6.30</title>
	<published>2009-07-30T06:27:33Z</published>
	<updated>2009-07-30T06:27:33Z</updated>
	<author>
		<name>Hin-Tak Leung</name>
	</author>
	<content type="html">--- On Thu, 30/7/09, Mladen Horvat &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24738473&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;acid-burn@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; Ok, finally managed with the help of a friend to compile
&lt;br&gt;&amp;gt; the vender driver
&lt;br&gt;&amp;gt; 3.0.0.56 with the mips 2.6.30 kernel i use here.
&lt;br&gt;&amp;gt; Here is a patch that was needed to get it finally compiled
&lt;br&gt;&amp;gt; under 2.6.30.
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://pastebin.com/m17687d4e&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://pastebin.com/m17687d4e&lt;/a&gt;&lt;br&gt;&lt;br&gt;Hmm, the net_ops is new and should only generates a warning with vanilla 2.6.30 . Your kernel source tree is not vanilla 2.6.30, is it? If you need the net_ops change, your tree is probably closer to 2.6.31 rcX . (since it generates a warning on ifconfig up, I know about it and it is just not urgent/immediate yet in 2.6.30)
&lt;br&gt;&lt;br&gt;&amp;gt; Firmware Upload works !!! &amp;nbsp;and interface comes up as
&lt;br&gt;&amp;gt; ath0.
&lt;br&gt;&lt;br&gt;Yes, the renaming is a visible change.
&lt;br&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; But: looks like the driver doesnt work or like my
&lt;br&gt;&amp;gt; WPA-Supplicant 0.6.9
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Here is a Bootlog and outputs that come: &amp;nbsp;&lt;a href=&quot;http://pastebin.com/m232e0dfa&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://pastebin.com/m232e0dfa&lt;/a&gt;&lt;br&gt;&lt;br&gt;The log looks okay to me... sorry I only use it in AP mode &amp; with WEP, can't help you there.
&lt;br&gt;&lt;br&gt;I did find the driver in AP mode has a curious behavior: it won't talk to a client after loading until I do something like 'iwlist scan' or 'iwpriv card_reset' first. (the latter hangs the machine 1/2 of the time, but iwlist scan is quite reliable and I only need to do it once per reboot of the AP which isn't bad). May be you can try iwlist scan as a client also. 
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with 
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/zd1211rw-couldn%27t-load-firmware.-Error-number--145-with-Kernel-2.6.30-tp24718863p24738473.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24738129</id>
	<title>Re: zd1211rw couldn't load firmware. Error number	-145 with Kernel 2.6.30</title>
	<published>2009-07-30T05:15:13Z</published>
	<updated>2009-07-30T05:15:13Z</updated>
	<author>
		<name>Mladen Horvat</name>
	</author>
	<content type="html">Hin-Tak Leung &amp;lt;hintak_leung &amp;lt;at&amp;gt; yahoo.co.uk&amp;gt; writes:
&lt;br&gt;&lt;br&gt;&amp;gt; Well, if the vendor driver 2.22.00 works with 2.6.12, you can grab my patch
&lt;br&gt;set (sorry it is 'pathset' in the
&lt;br&gt;&amp;gt; web location - I made a mistake in May and haven't fixed it yet):
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://htl10.users.sourceforge.net/ZD1211LnxDrv_2_22_0_0_2009May_pathset/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://htl10.users.sourceforge.net/ZD1211LnxDrv_2_22_0_0_2009May_pathset/&lt;/a&gt;&amp;nbsp;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; which would take you up to 2.6.29. I haven't tried 2.6.30 as I already moved
&lt;br&gt;to the vendor driver 3.0 by then.
&lt;br&gt;&amp;gt; You need the other patch set
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://htl10.users.sourceforge.net/LinuxUSB_AR2524-3.0.0.56_2009May_pathset/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://htl10.users.sourceforge.net/LinuxUSB_AR2524-3.0.0.56_2009May_pathset/&lt;/a&gt;&lt;br&gt;&amp;gt; to take you up to 2.6.29, and the last one (attached) to take you to 2.6.30..
&lt;br&gt;It may also work for the 2.22
&lt;br&gt;&amp;gt; driver but I haven't tried, but it will at least give you some ideas if you
&lt;br&gt;like to make the vendor 2.22 driver
&lt;br&gt;&amp;gt; work on 2.6.30.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The 3.0 vendor driver is at:
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;a href=&quot;http://www.kernel.org/pub/linux/kernel/people/mcgrof/zd1211/LinuxUSB_AR2524-3.0.0.56.tgz&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.kernel.org/pub/linux/kernel/people/mcgrof/zd1211/LinuxUSB_AR2524-3.0.0.56.tgz&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Hmm, the firmware upload problem seems to have come up from time to time...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; if either versions of the vendor drivers work (but the rw driver does not) I
&lt;br&gt;like to know. You will need to set
&lt;br&gt;&amp;gt; up the blacklist to stop udev from autoloading kernel modules, but presumably
&lt;br&gt;you already know that.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;Ok, finally managed with the help of a friend to compile the vender driver
&lt;br&gt;3.0.0.56 with the mips 2.6.30 kernel i use here.
&lt;br&gt;Here is a patch that was needed to get it finally compiled under 2.6.30.
&lt;br&gt;&lt;a href=&quot;http://pastebin.com/m17687d4e&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://pastebin.com/m17687d4e&lt;/a&gt;&lt;br&gt;&lt;br&gt;Firmware Upload works !!! &amp;nbsp;and interface comes up as ath0.
&lt;br&gt;&lt;br&gt;But: looks like the driver doesnt work or like my WPA-Supplicant 0.6.9
&lt;br&gt;&lt;br&gt;Here is a Bootlog and outputs that come: &amp;nbsp;&lt;a href=&quot;http://pastebin.com/m232e0dfa&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://pastebin.com/m232e0dfa&lt;/a&gt;&lt;br&gt;&lt;br&gt;Network Configuration:
&lt;br&gt;cat /etc/network/interfaces
&lt;br&gt;auto ath0
&lt;br&gt;iface ath0 inet dhcp
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; wpa-driver wext
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; wpa-debug-level 3
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; wpa-conf /etc/wpa_supplicant.conf
&lt;br&gt;&lt;br&gt;auto eth0
&lt;br&gt;iface eth0 inet dhcp
&lt;br&gt;&lt;br&gt;cat /etc/wpa_supplicant.conf
&lt;br&gt;ctrl_interface=/var/run/wpa_supplicant
&lt;br&gt;eapol_version=1
&lt;br&gt;fast_reauth=1
&lt;br&gt;ap_scan=1
&lt;br&gt;network={
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ssid=&amp;quot;MyNetwork&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; scan_ssid=1
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; key_mgmt=WPA-PSK
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; proto=WPA RSN
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pairwise=CCMP TKIP
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; group=CCMP TKIP
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; psk=&amp;quot;MyPassword&amp;quot;
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;This configuration works flawless with an other machine and a ath5k mini-pci
&lt;br&gt;card or on the same machine with an rt73usb stick running wpa-supplicant 0.6.9
&lt;br&gt;and the wext driver.
&lt;br&gt;&lt;br&gt;Any Idea ?
&lt;br&gt;&lt;br&gt;regards
&lt;br&gt;&lt;br&gt;Mladen
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with 
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/zd1211rw-couldn%27t-load-firmware.-Error-number--145-with-Kernel-2.6.30-tp24718863p24738129.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24734461</id>
	<title>Re: zd1211rw couldn't load firmware. Error number -145 with Kernel 2.6.30</title>
	<published>2009-07-30T01:39:21Z</published>
	<updated>2009-07-30T01:39:21Z</updated>
	<author>
		<name>Hin-Tak Leung</name>
	</author>
	<content type="html">Do not write directly - all traffic should go into the mailing list archive.. That's very selfish behavior. I do not work for you and I'll have to charge you on private consultancy rate for that.
&lt;br&gt;&lt;br&gt;Your kernel headers do not match your kernel. (supposedly 2.6.30), nothing to do with 
&lt;br&gt;compiler version.
&lt;br&gt;&lt;br&gt;--- On Thu, 30/7/09, acid-burn &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24734461&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;acid-burn@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hello,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; thought i write you directlyand not bother the list with
&lt;br&gt;&amp;gt; compile problems..
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; i am currently trying to compile the 3.0 src with your
&lt;br&gt;&amp;gt; patches.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I get a bunch of warnings about undefined things and
&lt;br&gt;&amp;gt; errors.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Could this be related on the used gcc compiler ?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I have to use gcc-4.4.0
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Perhaps you have an idea ?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Regards
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Mladen
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with 
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Zd1211-devs mailing list - &lt;a href=&quot;http://zd1211.wiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://zd1211.wiki.sourceforge.net/&lt;/a&gt;&lt;br&gt;Unsubscribe: &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/zd1211-devs&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/zd1211-devs-f3221.html&quot; embed=&quot;fixTarget[3221]&quot; target=&quot;_top&quot; &gt;zd1211-devs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/zd1211rw-couldn%27t-load-firmware.-Error-number--145-with-Kernel-2.6.30-tp24718863p24734461.html" />
</entry>

</feed>
