<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-3221</id>
	<title>Nabble - zd1211-devs</title>
	<updated>2009-11-01T18:47:50Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/zd1211-devs-f3221.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/zd1211-devs-f3221.html" />
	<subtitle type="html">Mailing list archive for zd1211-devs</subtitle>
	
<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;</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;</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.</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;</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;</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;</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;</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;</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.</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;</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;</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;</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;</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;</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;</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;</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;</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;</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;</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;</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;</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>

<entry>
	<id>tag:old.nabble.com,2006:post-24721696</id>
	<title>Re: zd1211rw couldn't load firmware. Error	number	-145 with Kernel 2.6.30</title>
	<published>2009-07-29T08:27:51Z</published>
	<updated>2009-07-29T08:27:51Z</updated>
	<author>
		<name>Hin-Tak Leung</name>
	</author>
	<content type="html">--- On Wed, 29/7/09, Mladen Horvat &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24721696&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; Hi again,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; perhaps this is an idea to try the vendor 3.0 driver with
&lt;br&gt;&amp;gt; the new kernel.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Just a question. Is the driver using the new mac80211
&lt;br&gt;&amp;gt; wireless interface so i
&lt;br&gt;&amp;gt; can use it over wpa supllicant 0.6.9 and the build-in wext
&lt;br&gt;&amp;gt; interface ?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Just saw sth about wpa-s 0.4.8 and was wondering if this
&lt;br&gt;&amp;gt; will work ?
&lt;/div&gt;&lt;br&gt;old stack, but it does wext and should just work regardless of wpa supplicant version.
&lt;br&gt;(I don't use that - I run it in AP mode). Basically whatever you did with 2..22 should just work with 3.0 - only better and less buggy :-).
&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;</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-tp24718863p24721696.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24721165</id>
	<title>Re: zd1211rw couldn't load firmware. Error	number	-145 with Kernel 2.6.30</title>
	<published>2009-07-29T07:59:20Z</published>
	<updated>2009-07-29T07:59:20Z</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;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; --- On Wed, 29/7/09, Mladen Horvat &amp;lt;acid-burn &amp;lt;at&amp;gt; opendreambox.org&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; thanks for your fast answer.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; The same stb only booted with a rt73usb wlan stick attached
&lt;br&gt;&amp;gt; &amp;gt; has no
&lt;br&gt;&amp;gt; &amp;gt; problems with the firmware upload and also wpa-supplicant
&lt;br&gt;&amp;gt; &amp;gt; connection and
&lt;br&gt;&amp;gt; &amp;gt; everything works on wlan0. &amp;nbsp;only problem are these two
&lt;br&gt;&amp;gt; &amp;gt; zd1211b usb sticks in the
&lt;br&gt;&amp;gt; &amp;gt; zd1211rw driver i have here.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; the same stb running a kernel 2.6.12 and the original
&lt;br&gt;&amp;gt; &amp;gt; vendor driver 2.22.00
&lt;br&gt;&amp;gt; &amp;gt; works without problems..
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; i will take a look what happens with an externally powered
&lt;br&gt;&amp;gt; &amp;gt; usb hub.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Hope this helps. 
&lt;br&gt;&amp;gt; &amp;gt; If any other logs are needed i will provide them.
&lt;br&gt;&amp;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;/div&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;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; Attachment (0001-2.6.30-irqreturn_t-breakage.patch): text/x-patch, 1020 bytes
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;Hi again,
&lt;br&gt;&lt;br&gt;perhaps this is an idea to try the vendor 3.0 driver with the new kernel.
&lt;br&gt;&lt;br&gt;Just a question. Is the driver using the new mac80211 wireless interface so i
&lt;br&gt;can use it over wpa supllicant 0.6.9 and the build-in wext interface ?
&lt;br&gt;&lt;br&gt;Just saw sth about wpa-s 0.4.8 and was wondering if this will work ?
&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;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;</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-tp24718863p24721165.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24720575</id>
	<title>Re: zd1211rw couldn't load firmware. Error number	-145 with Kernel 2.6.30</title>
	<published>2009-07-29T07:30:02Z</published>
	<updated>2009-07-29T07:30:02Z</updated>
	<author>
		<name>Hin-Tak Leung</name>
	</author>
	<content type="html">--- On Wed, 29/7/09, Mladen Horvat &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24720575&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;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi Hin-Tak
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; thanks for your fast answer.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The same stb only booted with a rt73usb wlan stick attached
&lt;br&gt;&amp;gt; has no
&lt;br&gt;&amp;gt; problems with the firmware upload and also wpa-supplicant
&lt;br&gt;&amp;gt; connection and
&lt;br&gt;&amp;gt; everything works on wlan0. &amp;nbsp;only problem are these two
&lt;br&gt;&amp;gt; zd1211b usb sticks in the
&lt;br&gt;&amp;gt; zd1211rw driver i have here.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; the same stb running a kernel 2.6.12 and the original
&lt;br&gt;&amp;gt; vendor driver 2.22.00
&lt;br&gt;&amp;gt; works without problems..
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; i will take a look what happens with an externally powered
&lt;br&gt;&amp;gt; usb hub.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Hope this helps. 
&lt;br&gt;&amp;gt; If any other logs are needed i will provide them.
&lt;/div&gt;&lt;/div&gt;Well, if the vendor driver 2.22.00 works with 2.6.12, you can grab my patch set (sorry it is 'pathset' in the web location - I made a mistake in May and haven't fixed it yet): &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;&lt;br&gt;which would take you up to 2.6.29. I haven't tried 2.6.30 as I already moved to the vendor driver 3.0 by then. You need the other patch set
&lt;br&gt;&lt;br&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;to take you up to 2.6.29, and the last one (attached) to take you to 2.6.30.. It may also work for the 2.22 driver but I haven't tried, but it will at least give you some ideas if you like to make the vendor 2.22 driver work on 2.6.30.
&lt;br&gt;&lt;br&gt;The 3.0 vendor driver is at:
&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;&lt;br&gt;Hmm, the firmware upload problem seems to have come up from time to time...
&lt;br&gt;&lt;br&gt;if either versions of the vendor drivers work (but the rw driver does not) I like to know. You will need to set up the blacklist to stop udev from autoloading kernel modules, but presumably you already know that.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;tt&gt;[0001-2.6.30-irqreturn_t-breakage.patch]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;From 470a784d9ba4db962fb66080bdf2ca0d1d2edc9e Mon Sep 17 00:00:00 2001
&lt;br&gt;From: Hin-Tak Leung &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24720575&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;HinTak.Leung@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Date: Thu, 25 Jun 2009 00:09:08 +0100
&lt;br&gt;Subject: [PATCH] 2.6.30-irqreturn_t-breakage
&lt;br&gt;&lt;br&gt;Change to deal with this change:
&lt;br&gt;&lt;br&gt;commit bedd30d986a05e32dc3eab874e4b9ed8a38058bb
&lt;br&gt;Author: Thomas Gleixner &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24720575&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;tglx@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Date: &amp;nbsp; Tue Sep 30 23:14:27 2008 +0200
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; genirq: make irqreturn_t an enum
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Impact: cleanup
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Remove the 2.4 compabiliy cruft
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Signed-off-by: Thomas Gleixner &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24720575&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;tglx@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; Reviewed-by: Peter Zijlstra &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24720575&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;peterz@...&lt;/a&gt;&amp;gt;
&lt;br&gt;---
&lt;br&gt;&amp;nbsp;ar2524drv/src/zdcompat.h | &amp;nbsp; &amp;nbsp;2 +-
&lt;br&gt;&amp;nbsp;1 files changed, 1 insertions(+), 1 deletions(-)
&lt;br&gt;&lt;br&gt;diff --git a/ar2524drv/src/zdcompat.h b/ar2524drv/src/zdcompat.h
&lt;br&gt;index 3d352e7..45008ba 100644
&lt;br&gt;--- a/ar2524drv/src/zdcompat.h
&lt;br&gt;+++ b/ar2524drv/src/zdcompat.h
&lt;br&gt;@@ -65,7 +65,7 @@ struct iw_request_info
&lt;br&gt;&amp;nbsp;#endif
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;/* linux &amp;lt; 2.5.69 */
&lt;br&gt;-#ifndef IRQ_NONE
&lt;br&gt;+#ifndef _LINUX_IRQRETURN_H
&lt;br&gt;&amp;nbsp;typedef void irqreturn_t;
&lt;br&gt;&amp;nbsp;#define IRQ_NONE
&lt;br&gt;&amp;nbsp;#define IRQ_HANDLED
&lt;br&gt;-- 
&lt;br&gt;1.6.2.5
&lt;br&gt;&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&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;</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-tp24718863p24720575.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24720375</id>
	<title>Re: zd1211rw couldn't load firmware. Error number	-145 with Kernel 2.6.30</title>
	<published>2009-07-29T07:20:07Z</published>
	<updated>2009-07-29T07:20:07Z</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; -145 is time out ('Use the source, Luke!'). mips is a bit exotic, not many
&lt;br&gt;people have that, and probably not
&lt;br&gt;&amp;gt; very well-tested; could try compat-wireless to see if there is any endian
&lt;br&gt;fixes. The other thing is, ohci
&lt;br&gt;&amp;gt; is a bit slow, and the ZyDAS chip draws a fair amount of power and doesn't
&lt;br&gt;really work on bus-powered usb 1.1
&lt;br&gt;&amp;gt; host, if that's what you have. I don't know if you would get a 'not enough
&lt;br&gt;power' message - I seem to recall I
&lt;br&gt;&amp;gt; did. 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;Ok. Just added a external usb hub but now there are even more errors ;-)
&lt;br&gt;&lt;a href=&quot;http://pastebin.com/m37023ceb&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://pastebin.com/m37023ceb&lt;/a&gt;&lt;br&gt;perhaps it helps.
&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;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;</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-tp24718863p24720375.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24719878</id>
	<title>Re: zd1211rw couldn't load firmware. Error number	-145 with Kernel 2.6.30</title>
	<published>2009-07-29T06:53:58Z</published>
	<updated>2009-07-29T06:53:58Z</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; -145 is time out ('Use the source, Luke!'). mips is a bit exotic, not many
&lt;br&gt;people have that, and probably not
&lt;br&gt;&amp;gt; very well-tested; could try compat-wireless to see if there is any endian
&lt;br&gt;fixes. The other thing is, ohci
&lt;br&gt;&amp;gt; is a bit slow, and the ZyDAS chip draws a fair amount of power and doesn't
&lt;br&gt;really work on bus-powered usb 1.1
&lt;br&gt;&amp;gt; host, if that's what you have. I don't know if you would get a 'not enough
&lt;br&gt;power' message - I seem to recall I
&lt;br&gt;&amp;gt; did. 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;&lt;br&gt;Hi Hin-Tak
&lt;br&gt;&lt;br&gt;thanks for your fast answer.
&lt;br&gt;&lt;br&gt;The same stb only booted with a rt73usb wlan stick attached has no
&lt;br&gt;problems with the firmware upload and also wpa-supplicant connection and
&lt;br&gt;everything works on wlan0. &amp;nbsp;only problem are these two zd1211b usb sticks in the
&lt;br&gt;zd1211rw driver i have here.
&lt;br&gt;&lt;br&gt;the same stb running a kernel 2.6.12 and the original vendor driver 2.22.00
&lt;br&gt;works without problems..
&lt;br&gt;&lt;br&gt;i will take a look what happens with an externally powered usb hub.
&lt;br&gt;&lt;br&gt;Hope this helps. 
&lt;br&gt;If any other logs are needed i will provide them.
&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;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;</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-tp24718863p24719878.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24719549</id>
	<title>Re: zd1211rw couldn't load firmware. Error number -145 with Kernel 2.6.30</title>
	<published>2009-07-29T06:39:29Z</published>
	<updated>2009-07-29T06:39:29Z</updated>
	<author>
		<name>Hin-Tak Leung</name>
	</author>
	<content type="html">-145 is time out ('Use the source, Luke!'). mips is a bit exotic, not many people have that, and probably not very well-tested; could try compat-wireless to see if there is any endian fixes. The other thing is, ohci is a bit slow, and the ZyDAS chip draws a fair amount of power and doesn't really work on bus-powered usb 1.1 host, if that's what you have. I don't know if you would get a 'not enough power' message - I seem to recall I did. 
&lt;br&gt;&lt;br&gt;--- On Wed, 29/7/09, Mladen Horvat &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24719549&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; From: Mladen Horvat &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24719549&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; Subject: [zd1211-devs] zd1211rw couldn't load firmware. Error number -145 with Kernel 2.6.30
&lt;br&gt;&amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24719549&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;zd1211-devs@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Date: Wednesday, 29 July, 2009, 12:32 PM
&lt;br&gt;&amp;gt; Hello all,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; i am running Kernel 2.6.30 on a embedded linux stb and
&lt;br&gt;&amp;gt; trying with two
&lt;br&gt;&amp;gt; different zd1211b usb wlan sticks to get the zd1211rw
&lt;br&gt;&amp;gt; driver running.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; just as a remark: &amp;nbsp;an rt73usb stick works without
&lt;br&gt;&amp;gt; problems.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Dont know what you need. so here is some informations:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; uname -a
&lt;br&gt;&amp;gt; Linux dm7025 2.6.30-dm7025 #1 Tue Jul 28 20:25:28 CEST 2009
&lt;br&gt;&amp;gt; mips unknown
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; lsmod
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; Tainted: P
&lt;br&gt;&amp;gt; arc4 1536 2 - Live 0xc05c5000
&lt;br&gt;&amp;gt; ecb 2880 2 - Live 0xc05bc000
&lt;br&gt;&amp;gt; cryptomgr 87872 0 - Live 0xc059d000
&lt;br&gt;&amp;gt; crypto_hash 11840 1 cryptomgr, Live 0xc057a000
&lt;br&gt;&amp;gt; crypto_blkcipher 13232 2 ecb,cryptomgr, Live 0xc056c000
&lt;br&gt;&amp;gt; aead 7168 1 cryptomgr, Live 0xc0560000
&lt;br&gt;&amp;gt; pcompress 1952 1 cryptomgr, Live 0xc0558000
&lt;br&gt;&amp;gt; crypto_algapi 18176 7
&lt;br&gt;&amp;gt; arc4,ecb,cryptomgr,crypto_hash,crypto_blkcipher,aead,pcompress,
&lt;br&gt;&amp;gt; Live 0xc054a000
&lt;br&gt;&amp;gt; zd1211rw 78736 0 - Live 0xc0527000
&lt;br&gt;&amp;gt; mac80211 174976 1 zd1211rw, Live 0xc04d6000
&lt;br&gt;&amp;gt; crypto 13360 8
&lt;br&gt;&amp;gt; ecb,cryptomgr,crypto_hash,crypto_blkcipher,aead,pcompress,crypto_algapi,
&lt;br&gt;&amp;gt; mac80211, Live
&lt;br&gt;&amp;gt; 0xc048c000
&lt;br&gt;&amp;gt; cfg80211 79216 2 zd1211rw,mac80211, Live 0xc046e000
&lt;br&gt;&amp;gt; rfmod 3808 1 - Live 0xc0448000 (P)
&lt;br&gt;&amp;gt; dreambox_keyboard 5248 0 - Live 0xc043d000 (P)
&lt;br&gt;&amp;gt; dreambox_rc2 5248 1 dreambox_keyboard, Live 0xc0431000 (P)
&lt;br&gt;&amp;gt; xilleon 222592 6 - Live 0xc0185000 (P)
&lt;br&gt;&amp;gt; alps_bsbe1_c01a 19568 1 xilleon, Live 0xc0132000 (P)
&lt;br&gt;&amp;gt; alps_bsbe1 5264 1 xilleon, Live 0xc0124000 (P)
&lt;br&gt;&amp;gt; avs 11168 1 xilleon, Live 0xc0117000 (P)
&lt;br&gt;&amp;gt; alps_bsbe2 44480 1 xilleon, Live 0xc0103000 (P)
&lt;br&gt;&amp;gt; lnb_ctrl 5664 3 alps_bsbe1_c01a,alps_bsbe1,alps_bsbe2, Live
&lt;br&gt;&amp;gt; 0xc00f0000 (P)
&lt;br&gt;&amp;gt; tu1216 44912 1 xilleon, Live 0xc00de000
&lt;br&gt;&amp;gt; cu1216mk3 9504 1 xilleon, Live 0xc00c9000 (P)
&lt;br&gt;&amp;gt; stb_core 52704 10
&lt;br&gt;&amp;gt; dreambox_keyboard,dreambox_rc2,xilleon,alps_bsbe1_c01a,avs,alps_bsbe2,
&lt;br&gt;&amp;gt; lnb_ctrl,cu1216mk3,
&lt;br&gt;&amp;gt; Live 0xc00b1000 (P)
&lt;br&gt;&amp;gt; pata_xilleon 3888 1 - Live 0xc0095000
&lt;br&gt;&amp;gt; lcd 30800 1 - Live 0xc0084000 (P)
&lt;br&gt;&amp;gt; fp 21840 4 xilleon,avs,lcd, Live 0xc0072000 (P)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Output from DMESG:
&lt;br&gt;&amp;gt; [ &amp;nbsp;279.131000] cfg80211: Calling CRDA to update world
&lt;br&gt;&amp;gt; regulatory domain
&lt;br&gt;&amp;gt; [ &amp;nbsp;279.509000] zd1211rw usb_init()
&lt;br&gt;&amp;gt; [ &amp;nbsp;279.520000] usbcore: registered new interface
&lt;br&gt;&amp;gt; driver zd1211rw
&lt;br&gt;&amp;gt; [ &amp;nbsp;279.526000] zd1211rw initialized
&lt;br&gt;&amp;gt; [ &amp;nbsp;292.405000] usb 1-1: new full speed USB device
&lt;br&gt;&amp;gt; using ohci_hcd
&lt;br&gt;&amp;gt; &amp;nbsp;and address 2
&lt;br&gt;&amp;gt; [ &amp;nbsp;292.557000] usb 1-1: configuration #1 chosen from 1
&lt;br&gt;&amp;gt; choice
&lt;br&gt;&amp;gt; [ &amp;nbsp;292.573000] usb 1-1: print_id() 050d:705c v4810
&lt;br&gt;&amp;gt; full
&lt;br&gt;&amp;gt; [ &amp;nbsp;292.686000] usb 1-1: reset full speed USB device
&lt;br&gt;&amp;gt; using ohci_hcd 
&lt;br&gt;&amp;gt; and address 2
&lt;br&gt;&amp;gt; [ &amp;nbsp;292.829000] zd1211rw 1-1:1.0:
&lt;br&gt;&amp;gt; zd_chip_read_mac_addr_fw()
&lt;br&gt;&amp;gt; [ &amp;nbsp;293.308000] phy0: Selected rate control algorithm
&lt;br&gt;&amp;gt; 'pid'
&lt;br&gt;&amp;gt; [ &amp;nbsp;293.309000] zd1211rw 1-1:1.0: probe() successful
&lt;br&gt;&amp;gt; [ &amp;nbsp;293.309000] zd1211rw 1-1:1.0: phy0
&lt;br&gt;&amp;gt; [ &amp;nbsp;359.661000] warning: `vsftpd' uses 32-bit
&lt;br&gt;&amp;gt; capabilities (legacy support in use)
&lt;br&gt;&amp;gt; [ &amp;nbsp;408.957000] zd1211rw 1-1:1.0: zd_usb_init_hw()
&lt;br&gt;&amp;gt; [ &amp;nbsp;408.957000] usb 1-1: request_fw_file() fw name
&lt;br&gt;&amp;gt; zd1211/zd1211b_ub
&lt;br&gt;&amp;gt; [ &amp;nbsp;408.957000] usb 1-1: firmware: requesting
&lt;br&gt;&amp;gt; zd1211/zd1211b_ub
&lt;br&gt;&amp;gt; [ &amp;nbsp;409.022000] usb 1-1: upload_firmware() firmware
&lt;br&gt;&amp;gt; device id 0x4810 is equal 
&lt;br&gt;&amp;gt; to
&lt;br&gt;&amp;gt; the actual device id
&lt;br&gt;&amp;gt; [ &amp;nbsp;409.022000] usb 1-1: request_fw_file() fw name
&lt;br&gt;&amp;gt; zd1211/zd1211b_uphr
&lt;br&gt;&amp;gt; [ &amp;nbsp;409.022000] usb 1-1: firmware: requesting
&lt;br&gt;&amp;gt; zd1211/zd1211b_uphr
&lt;br&gt;&amp;gt; [ &amp;nbsp;409.079000] usb 1-1: upload_code() transfer size
&lt;br&gt;&amp;gt; 4018
&lt;br&gt;&amp;gt; [ &amp;nbsp;409.094000] usb 1-1: upload_code() firmware confirm
&lt;br&gt;&amp;gt; return value 0x01
&lt;br&gt;&amp;gt; [ &amp;nbsp;414.094000] zd1211rw 1-1:1.0: zd_usb_init_hw() 
&lt;br&gt;&amp;gt; couldn't reset configuration. Error number -145
&lt;br&gt;&amp;gt; [ &amp;nbsp;415.226000] zd1211rw 1-1:1.0: zd_usb_init_hw()
&lt;br&gt;&amp;gt; [ &amp;nbsp;415.226000] usb 1-1: request_fw_file() fw name
&lt;br&gt;&amp;gt; zd1211/zd1211b_ub
&lt;br&gt;&amp;gt; [ &amp;nbsp;415.226000] usb 1-1: firmware: requesting
&lt;br&gt;&amp;gt; zd1211/zd1211b_ub
&lt;br&gt;&amp;gt; [ &amp;nbsp;415.271000] usb 1-1: upload_firmware() 
&lt;br&gt;&amp;gt; firmware device id 0x4810 is equal to the actual device id
&lt;br&gt;&amp;gt; [ &amp;nbsp;415.271000] usb 1-1: request_fw_file() fw name
&lt;br&gt;&amp;gt; zd1211/zd1211b_uphr
&lt;br&gt;&amp;gt; [ &amp;nbsp;415.271000] usb 1-1: firmware: requesting
&lt;br&gt;&amp;gt; zd1211/zd1211b_uphr
&lt;br&gt;&amp;gt; [ &amp;nbsp;415.350000] usb 1-1: upload_code() transfer size
&lt;br&gt;&amp;gt; 4018
&lt;br&gt;&amp;gt; [ &amp;nbsp;416.350000] usb 1-1: USB control request for
&lt;br&gt;&amp;gt; firmware upload failed.
&lt;br&gt;&amp;gt; Error number -145
&lt;br&gt;&amp;gt; [ &amp;nbsp;416.358000] usb 1-1: Could not upload firmware code
&lt;br&gt;&amp;gt; uph. Error number -145
&lt;br&gt;&amp;gt; [ &amp;nbsp;416.365000] zd1211rw 1-1:1.0: couldn't load
&lt;br&gt;&amp;gt; firmware. Error number -145
&lt;br&gt;&amp;gt; [ &amp;nbsp;432.484000] zd1211rw 1-1:1.0: zd_usb_init_hw()
&lt;br&gt;&amp;gt; [ &amp;nbsp;432.484000] usb 1-1: request_fw_file() fw name
&lt;br&gt;&amp;gt; zd1211/zd1211b_ub
&lt;br&gt;&amp;gt; [ &amp;nbsp;432.484000] usb 1-1: firmware: requesting
&lt;br&gt;&amp;gt; zd1211/zd1211b_ub
&lt;br&gt;&amp;gt; [ &amp;nbsp;432.529000] usb 1-1: upload_firmware() 
&lt;br&gt;&amp;gt; firmware device id 0x4810 is equal to the actual device id
&lt;br&gt;&amp;gt; [ &amp;nbsp;432.529000] usb 1-1: request_fw_file() fw name
&lt;br&gt;&amp;gt; zd1211/zd1211b_uphr
&lt;br&gt;&amp;gt; [ &amp;nbsp;432.529000] usb 1-1: firmware: requesting
&lt;br&gt;&amp;gt; zd1211/zd1211b_uphr
&lt;br&gt;&amp;gt; [ &amp;nbsp;432.608000] usb 1-1: upload_code() transfer size
&lt;br&gt;&amp;gt; 4018
&lt;br&gt;&amp;gt; [ &amp;nbsp;433.608000] usb 1-1: USB control request for
&lt;br&gt;&amp;gt; firmware upload failed. 
&lt;br&gt;&amp;gt; Error number -145
&lt;br&gt;&amp;gt; [ &amp;nbsp;433.616000] usb 1-1: Could not upload firmware code
&lt;br&gt;&amp;gt; uph. Error number -145
&lt;br&gt;&amp;gt; [ &amp;nbsp;433.623000] zd1211rw 1-1:1.0: couldn't load
&lt;br&gt;&amp;gt; firmware. Error number -145
&lt;br&gt;&amp;gt; [ &amp;nbsp;434.827000] eth0: link up, 100Mbps, full-duplex,
&lt;br&gt;&amp;gt; lpa 0xC5E1
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; output from lsusb
&lt;br&gt;&amp;gt; Bus 001 Device 002: ID 050d:705c Belkin Components
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; the Firmware Files are located with correct right under
&lt;br&gt;&amp;gt; /lib/firmware/zd1211
&lt;br&gt;&amp;gt; any idea on this ?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Regards
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Mladen
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal
&lt;br&gt;&amp;gt; Reports 2008 30-Day 
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and
&lt;br&gt;&amp;gt; deployment - and focus on 
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's
&lt;br&gt;&amp;gt; new with 
&lt;br&gt;&amp;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;&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;&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;</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-tp24718863p24719549.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24718863</id>
	<title>zd1211rw couldn't load firmware. Error number -145 with Kernel 2.6.30</title>
	<published>2009-07-29T04:32:38Z</published>
	<updated>2009-07-29T04:32:38Z</updated>
	<author>
		<name>Mladen Horvat</name>
	</author>
	<content type="html">Hello all,
&lt;br&gt;&lt;br&gt;i am running Kernel 2.6.30 on a embedded linux stb and trying with two
&lt;br&gt;different zd1211b usb wlan sticks to get the zd1211rw driver running.
&lt;br&gt;&lt;br&gt;just as a remark: &amp;nbsp;an rt73usb stick works without problems.
&lt;br&gt;&lt;br&gt;Dont know what you need. so here is some informations:
&lt;br&gt;&lt;br&gt;uname -a
&lt;br&gt;Linux dm7025 2.6.30-dm7025 #1 Tue Jul 28 20:25:28 CEST 2009 mips unknown
&lt;br&gt;&lt;br&gt;lsmod
&lt;br&gt;&amp;nbsp; &amp;nbsp; Tainted: P
&lt;br&gt;arc4 1536 2 - Live 0xc05c5000
&lt;br&gt;ecb 2880 2 - Live 0xc05bc000
&lt;br&gt;cryptomgr 87872 0 - Live 0xc059d000
&lt;br&gt;crypto_hash 11840 1 cryptomgr, Live 0xc057a000
&lt;br&gt;crypto_blkcipher 13232 2 ecb,cryptomgr, Live 0xc056c000
&lt;br&gt;aead 7168 1 cryptomgr, Live 0xc0560000
&lt;br&gt;pcompress 1952 1 cryptomgr, Live 0xc0558000
&lt;br&gt;crypto_algapi 18176 7
&lt;br&gt;arc4,ecb,cryptomgr,crypto_hash,crypto_blkcipher,aead,pcompress, Live 0xc054a000
&lt;br&gt;zd1211rw 78736 0 - Live 0xc0527000
&lt;br&gt;mac80211 174976 1 zd1211rw, Live 0xc04d6000
&lt;br&gt;crypto 13360 8
&lt;br&gt;ecb,cryptomgr,crypto_hash,crypto_blkcipher,aead,pcompress,crypto_algapi,
&lt;br&gt;mac80211, Live
&lt;br&gt;0xc048c000
&lt;br&gt;cfg80211 79216 2 zd1211rw,mac80211, Live 0xc046e000
&lt;br&gt;rfmod 3808 1 - Live 0xc0448000 (P)
&lt;br&gt;dreambox_keyboard 5248 0 - Live 0xc043d000 (P)
&lt;br&gt;dreambox_rc2 5248 1 dreambox_keyboard, Live 0xc0431000 (P)
&lt;br&gt;xilleon 222592 6 - Live 0xc0185000 (P)
&lt;br&gt;alps_bsbe1_c01a 19568 1 xilleon, Live 0xc0132000 (P)
&lt;br&gt;alps_bsbe1 5264 1 xilleon, Live 0xc0124000 (P)
&lt;br&gt;avs 11168 1 xilleon, Live 0xc0117000 (P)
&lt;br&gt;alps_bsbe2 44480 1 xilleon, Live 0xc0103000 (P)
&lt;br&gt;lnb_ctrl 5664 3 alps_bsbe1_c01a,alps_bsbe1,alps_bsbe2, Live 0xc00f0000 (P)
&lt;br&gt;tu1216 44912 1 xilleon, Live 0xc00de000
&lt;br&gt;cu1216mk3 9504 1 xilleon, Live 0xc00c9000 (P)
&lt;br&gt;stb_core 52704 10
&lt;br&gt;dreambox_keyboard,dreambox_rc2,xilleon,alps_bsbe1_c01a,avs,alps_bsbe2,
&lt;br&gt;lnb_ctrl,cu1216mk3,
&lt;br&gt;Live 0xc00b1000 (P)
&lt;br&gt;pata_xilleon 3888 1 - Live 0xc0095000
&lt;br&gt;lcd 30800 1 - Live 0xc0084000 (P)
&lt;br&gt;fp 21840 4 xilleon,avs,lcd, Live 0xc0072000 (P)
&lt;br&gt;&lt;br&gt;Output from DMESG:
&lt;br&gt;[ &amp;nbsp;279.131000] cfg80211: Calling CRDA to update world regulatory domain
&lt;br&gt;[ &amp;nbsp;279.509000] zd1211rw usb_init()
&lt;br&gt;[ &amp;nbsp;279.520000] usbcore: registered new interface driver zd1211rw
&lt;br&gt;[ &amp;nbsp;279.526000] zd1211rw initialized
&lt;br&gt;[ &amp;nbsp;292.405000] usb 1-1: new full speed USB device using ohci_hcd
&lt;br&gt;&amp;nbsp;and address 2
&lt;br&gt;[ &amp;nbsp;292.557000] usb 1-1: configuration #1 chosen from 1 choice
&lt;br&gt;[ &amp;nbsp;292.573000] usb 1-1: print_id() 050d:705c v4810 full
&lt;br&gt;[ &amp;nbsp;292.686000] usb 1-1: reset full speed USB device using ohci_hcd 
&lt;br&gt;and address 2
&lt;br&gt;[ &amp;nbsp;292.829000] zd1211rw 1-1:1.0: zd_chip_read_mac_addr_fw()
&lt;br&gt;[ &amp;nbsp;293.308000] phy0: Selected rate control algorithm 'pid'
&lt;br&gt;[ &amp;nbsp;293.309000] zd1211rw 1-1:1.0: probe() successful
&lt;br&gt;[ &amp;nbsp;293.309000] zd1211rw 1-1:1.0: phy0
&lt;br&gt;[ &amp;nbsp;359.661000] warning: `vsftpd' uses 32-bit capabilities (legacy support in use)
&lt;br&gt;[ &amp;nbsp;408.957000] zd1211rw 1-1:1.0: zd_usb_init_hw()
&lt;br&gt;[ &amp;nbsp;408.957000] usb 1-1: request_fw_file() fw name zd1211/zd1211b_ub
&lt;br&gt;[ &amp;nbsp;408.957000] usb 1-1: firmware: requesting zd1211/zd1211b_ub
&lt;br&gt;[ &amp;nbsp;409.022000] usb 1-1: upload_firmware() firmware device id 0x4810 is equal 
&lt;br&gt;to
&lt;br&gt;the actual device id
&lt;br&gt;[ &amp;nbsp;409.022000] usb 1-1: request_fw_file() fw name zd1211/zd1211b_uphr
&lt;br&gt;[ &amp;nbsp;409.022000] usb 1-1: firmware: requesting zd1211/zd1211b_uphr
&lt;br&gt;[ &amp;nbsp;409.079000] usb 1-1: upload_code() transfer size 4018
&lt;br&gt;[ &amp;nbsp;409.094000] usb 1-1: upload_code() firmware confirm return value 0x01
&lt;br&gt;[ &amp;nbsp;414.094000] zd1211rw 1-1:1.0: zd_usb_init_hw() 
&lt;br&gt;couldn't reset configuration. Error number -145
&lt;br&gt;[ &amp;nbsp;415.226000] zd1211rw 1-1:1.0: zd_usb_init_hw()
&lt;br&gt;[ &amp;nbsp;415.226000] usb 1-1: request_fw_file() fw name zd1211/zd1211b_ub
&lt;br&gt;[ &amp;nbsp;415.226000] usb 1-1: firmware: requesting zd1211/zd1211b_ub
&lt;br&gt;[ &amp;nbsp;415.271000] usb 1-1: upload_firmware() 
&lt;br&gt;firmware device id 0x4810 is equal to the actual device id
&lt;br&gt;[ &amp;nbsp;415.271000] usb 1-1: request_fw_file() fw name zd1211/zd1211b_uphr
&lt;br&gt;[ &amp;nbsp;415.271000] usb 1-1: firmware: requesting zd1211/zd1211b_uphr
&lt;br&gt;[ &amp;nbsp;415.350000] usb 1-1: upload_code() transfer size 4018
&lt;br&gt;[ &amp;nbsp;416.350000] usb 1-1: USB control request for firmware upload failed.
&lt;br&gt;Error number -145
&lt;br&gt;[ &amp;nbsp;416.358000] usb 1-1: Could not upload firmware code uph. Error number -145
&lt;br&gt;[ &amp;nbsp;416.365000] zd1211rw 1-1:1.0: couldn't load firmware. Error number -145
&lt;br&gt;[ &amp;nbsp;432.484000] zd1211rw 1-1:1.0: zd_usb_init_hw()
&lt;br&gt;[ &amp;nbsp;432.484000] usb 1-1: request_fw_file() fw name zd1211/zd1211b_ub
&lt;br&gt;[ &amp;nbsp;432.484000] usb 1-1: firmware: requesting zd1211/zd1211b_ub
&lt;br&gt;[ &amp;nbsp;432.529000] usb 1-1: upload_firmware() 
&lt;br&gt;firmware device id 0x4810 is equal to the actual device id
&lt;br&gt;[ &amp;nbsp;432.529000] usb 1-1: request_fw_file() fw name zd1211/zd1211b_uphr
&lt;br&gt;[ &amp;nbsp;432.529000] usb 1-1: firmware: requesting zd1211/zd1211b_uphr
&lt;br&gt;[ &amp;nbsp;432.608000] usb 1-1: upload_code() transfer size 4018
&lt;br&gt;[ &amp;nbsp;433.608000] usb 1-1: USB control request for firmware upload failed. 
&lt;br&gt;Error number -145
&lt;br&gt;[ &amp;nbsp;433.616000] usb 1-1: Could not upload firmware code uph. Error number -145
&lt;br&gt;[ &amp;nbsp;433.623000] zd1211rw 1-1:1.0: couldn't load firmware. Error number -145
&lt;br&gt;[ &amp;nbsp;434.827000] eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1
&lt;br&gt;&lt;br&gt;output from lsusb
&lt;br&gt;Bus 001 Device 002: ID 050d:705c Belkin Components
&lt;br&gt;&lt;br&gt;the Firmware Files are located with correct right under /lib/firmware/zd1211
&lt;br&gt;any idea on this ?
&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;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;</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-tp24718863p24718863.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24198885</id>
	<title>zd1211rw successfully tested on &quot;SONY IFU-WLM2&quot;</title>
	<published>2009-06-25T01:08:20Z</published>
	<updated>2009-06-25T01:08:20Z</updated>
	<author>
		<name>Yevgen Kotikov</name>
	</author>
	<content type="html">Hi there.
&lt;br&gt;&lt;br&gt;I've successfully tested zd1211rw driver (compat-wireless-2.6-old) on
&lt;br&gt;&lt;br&gt;Brand/retail: SONY IFU-WLM2
&lt;br&gt;USB-IDs: Vendor: 0x054C Device: 0x0257
&lt;br&gt;chip ID: zd1211b chip 054c:0257 v4802 high 00-0b-6b AL2230_RF pa0 -----
&lt;br&gt;FCC ID: unknown
&lt;br&gt;&lt;br&gt;Thanks for your job.
&lt;br&gt;&lt;br&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;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/zd1211rw-successfully-tested-on-%22SONY-IFU-WLM2%22-tp24198885p24198885.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24177064</id>
	<title>Re: Latest version of zd1211b and its latest firmware</title>
	<published>2009-06-23T17:27:02Z</published>
	<updated>2009-06-23T17:27:02Z</updated>
	<author>
		<name>Hin-Tak Leung-3</name>
	</author>
	<content type="html">&lt;br&gt;--- On Tue, 23/6/09, Nazim Khan &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24177064&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;nazim.asad@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi Hin,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Thanks for the info.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; So far my 2.22 driver is working fine except one problem
&lt;br&gt;&amp;gt; that under
&lt;br&gt;&amp;gt; stress I get AP loss
&lt;br&gt;&amp;gt; (did not receive the beacon in the 5 seconds).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I was hoping that this issue may get fixed with the latest
&lt;br&gt;&amp;gt; driver
&lt;br&gt;&amp;gt; version but even 3.0.0.56 gave me the same
&lt;br&gt;&amp;gt; problem. I did not check your patch changes though.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I had same issue with 2.18 version also. I tested on PC as
&lt;br&gt;&amp;gt; well as on
&lt;br&gt;&amp;gt; my ARM based board but everywhere
&lt;br&gt;&amp;gt; I get the same problem.
&lt;/div&gt;&lt;br&gt;Next to the newer patchset is a similiar set for the older 2_22 at:
&lt;br&gt;ZD1211LnxDrv_2_22_0_0_2009May_pathset
&lt;br&gt;&lt;br&gt;(sorry I just realized I misspelled patchset during the upload for both!) I didn't want to advertise the older set since 2.22 itself is considered obsolete. As in 3.0, some of them are for porting to newer kernels, some are bug fixes, some are cosmetic, but the headers or even the name of each patch would say what each one does. The separation of patches for different purposes are less clear cut in the 2.22 series - or rather, after patching the 2.22 by trial and error, &amp;nbsp;when I was porting 3.0 to newer kernels, etc, I did it more cleanly.
&lt;br&gt;&lt;br&gt;&amp;nbsp; 
&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;_______________________________________________
&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;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Latest-version-of-zd1211b-and-its-latest-firmware-tp24147941p24177064.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24160617</id>
	<title>Re: Latest version of zd1211b and its latest firmware</title>
	<published>2009-06-22T23:04:12Z</published>
	<updated>2009-06-22T23:04:12Z</updated>
	<author>
		<name>Hin-Tak Leung-3</name>
	</author>
	<content type="html">&lt;br&gt;--- On Tue, 23/6/09, Nazim Khan &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24160617&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;nazim.asad@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; Looks like in 3.0.0.56 firmware is added as header files,
&lt;br&gt;&amp;gt; compared to
&lt;br&gt;&amp;gt; firmware upload from user space as it used to be in 2.22.
&lt;br&gt;&lt;br&gt;rw driver has them from user space, the vendor driver has always have them in header files.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;gt; Does you patches contains fix for moving to recent kernel
&lt;br&gt;&amp;gt; or does it
&lt;br&gt;&amp;gt; have any issue/problem fixes also ?
&lt;br&gt;&lt;br&gt;Both - there are about 7-8 parts, 2 or 3 of them move you to recent kernels, there is a big fix I think, and a couple of cosmetic things (e.g. cut down on too many messages). See the individual git log 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;------------------------------------------------------------------------------
&lt;br&gt;Are you an open source citizen? Join us for the Open Source Bridge conference!
&lt;br&gt;Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
&lt;br&gt;Need another reason to go? 24-hour hacker lounge. Register today!
&lt;br&gt;&lt;a href=&quot;http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org&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;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Latest-version-of-zd1211b-and-its-latest-firmware-tp24147941p24160617.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24160146</id>
	<title>Re: Latest version of zd1211b and its latest firmware</title>
	<published>2009-06-22T22:28:27Z</published>
	<updated>2009-06-22T22:28:27Z</updated>
	<author>
		<name>Nazim Khan-3</name>
	</author>
	<content type="html">Hi Hin,
&lt;br&gt;&lt;br&gt;Thanks for your quick response.
&lt;br&gt;I am using Vendor driver and rw driver because my platform is based on
&lt;br&gt;2.6.18 and I believe rewritten driver got added in the kernel
&lt;br&gt;in 2.6.21 or somewhere there.
&lt;br&gt;&lt;br&gt;Looks like in 3.0.0.56 firmware is added as header files, compared to
&lt;br&gt;firmware upload from user space as it used to be in 2.22.
&lt;br&gt;&lt;br&gt;Does you patches contains fix for moving to recent kernel or does it
&lt;br&gt;have any issue/problem fixes also ?
&lt;br&gt;&lt;br&gt;Thanks and regards,
&lt;br&gt;Nazim Khan
&lt;br&gt;&lt;br&gt;On Mon, Jun 22, 2009 at 8:06 PM, Hin-Tak
&lt;br&gt;Leung&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24160146&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;htl10@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 3.0 was hosted on the kernel web site.
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.kernel.org/pub/linux/kernel/people/mcgrof/zd1211/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.kernel.org/pub/linux/kernel/people/mcgrof/zd1211/&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; You might want to get my patch sets if you want to run 3.0 on more recent kernels than 2.6.26(?).
&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; The in-kernel rw driver works quite well so unless you want AP mode or antenna affinity, you probably should just use the rw driver.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Are you an open source citizen? Join us for the Open Source Bridge conference!
&lt;br&gt;Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
&lt;br&gt;Need another reason to go? 24-hour hacker lounge. Register today!
&lt;br&gt;&lt;a href=&quot;http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org&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;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Latest-version-of-zd1211b-and-its-latest-firmware-tp24147941p24160146.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24148751</id>
	<title>Re: Latest version of zd1211b and its latest firmware</title>
	<published>2009-06-22T07:36:57Z</published>
	<updated>2009-06-22T07:36:57Z</updated>
	<author>
		<name>Hin-Tak Leung-3</name>
	</author>
	<content type="html">&lt;br&gt;3.0 was hosted on the kernel web site.
&lt;br&gt;&lt;a href=&quot;http://www.kernel.org/pub/linux/kernel/people/mcgrof/zd1211/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.kernel.org/pub/linux/kernel/people/mcgrof/zd1211/&lt;/a&gt;&lt;br&gt;&lt;br&gt;You might want to get my patch sets if you want to run 3.0 on more recent kernels than 2.6.26(?).
&lt;br&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;&lt;br&gt;The in-kernel rw driver works quite well so unless you want AP mode or antenna affinity, you probably should just use the rw driver.
&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;Are you an open source citizen? Join us for the Open Source Bridge conference!
&lt;br&gt;Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
&lt;br&gt;Need another reason to go? 24-hour hacker lounge. Register today!
&lt;br&gt;&lt;a href=&quot;http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org&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;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Latest-version-of-zd1211b-and-its-latest-firmware-tp24147941p24148751.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24147941</id>
	<title>Latest version of zd1211b and its latest firmware</title>
	<published>2009-06-22T06:45:45Z</published>
	<updated>2009-06-22T06:45:45Z</updated>
	<author>
		<name>Nazim Khan-3</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;Currently I am using Vendor driver version 2.22 and firmware version
&lt;br&gt;1.4 for zd1211b chipset.
&lt;br&gt;Is there any latest version of this driver available?
&lt;br&gt;&lt;br&gt;I read in the mailing list someone mentioning vendor driver 3.0 but
&lt;br&gt;could not find it anywhere on net.
&lt;br&gt;&lt;br&gt;Thanks and regards,
&lt;br&gt;Nazim Khan
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Are you an open source citizen? Join us for the Open Source Bridge conference!
&lt;br&gt;Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
&lt;br&gt;Need another reason to go? 24-hour hacker lounge. Register today!
&lt;br&gt;&lt;a href=&quot;http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org&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;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Latest-version-of-zd1211b-and-its-latest-firmware-tp24147941p24147941.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24007513</id>
	<title>Zd1211rw successfully testet on &quot;Arcor Easy Stick A 50 WLAN&quot;</title>
	<published>2009-06-12T16:27:24Z</published>
	<updated>2009-06-12T16:27:24Z</updated>
	<author>
		<name>Hans Pontar</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;I'm using the zd1211rw driver (compat-wireless-2.6.30) successful on 
&lt;br&gt;&amp;quot;Arcor Easy Stick A 50 WLAN&amp;quot; (device manufactured by SMC for a German 
&lt;br&gt;ISP - SMC model name: WN4501H-LF-IR). General information and Windows 
&lt;br&gt;driver are available under
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.arcor.de/hilfe/neu/index.php?sid=&amp;aktion=anzeigen&amp;rubrik=004018140&amp;id=487&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.arcor.de/hilfe/neu/index.php?sid=&amp;aktion=anzeigen&amp;rubrik=004018140&amp;id=487&lt;/a&gt;&lt;br&gt;&lt;br&gt;(German only).
&lt;br&gt;&lt;br&gt;Device details:
&lt;br&gt;&lt;br&gt;USB-IDs: Vendor: 0x083A Device: 0xE503
&lt;br&gt;Chip ID: zd1211b chip 083a:e503 v4810 high 00-1d-19 AL2230S_RF pa0 g--N-
&lt;br&gt;&lt;br&gt;Data throughput is higher than under Windows.
&lt;br&gt;&lt;br&gt;Great job, thanks a lot!
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Crystal Reports - New Free Runtime and 30 Day Trial
&lt;br&gt;Check out the new simplified licensing option that enables unlimited
&lt;br&gt;royalty-free distribution of the report engine for externally facing 
&lt;br&gt;server and web deployment.
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/businessobjects&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/businessobjects&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;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Zd1211rw-successfully-testet-on-%22Arcor-Easy-Stick-A-50-WLAN%22-tp24007513p24007513.html" />
</entry>

</feed>
