From: Pavel Machek <hidden> Date: 2006-06-07 14:01:28
zd1201 likes to start up shouting, interfering with all wifis in
range. It is capable of stopping ipw2200 up-to few meters away, and
stops other cards at smaller distances, too.
This works around it. Only forcing ZD1201_CMDCODE_DISABLE is not
enough to prevent interference.
From: Jirka Benc <redacted>
Signed-off-by: Pavel Machek <redacted>
@@ -1835,6 +1835,8 @@zd->dev->name);usb_set_intfdata(interface,zd);+zd1201_enable(zd);/* zd1201 likes to startup shouting, interfering */+zd1201_disable(zd);/* with all the wifis in range */return0;err_net:
From: Daniel Drake <hidden> Date: 2006-06-07 16:21:20
Pavel Machek wrote:
Well, I'll try _enable() alone, but it seems to me that _enable()
command is needed to initialize radio properly. I do not think we can
get much further without firmware sources...
If you can formulate a proper and technical description of the issue
(and exactly what is needed to workaround it), I can contact ZyDAS for
you. They have been very helpful with ZD1211.
Daniel
From: Pavel Machek <hidden> Date: 2006-06-08 07:06:13
Hi!
quoted
Well, I'll try _enable() alone, but it seems to me that _enable()
command is needed to initialize radio properly. I do not think we can
get much further without firmware sources...
If you can formulate a proper and technical description of the issue
(and exactly what is needed to workaround it), I can contact ZyDAS for
you. They have been very helpful with ZD1211.
Okay, the issue is:
if you plug zd1201 into USB, it starts jamming radio,
immediately. Enable/disable, or iwlist wlan0 scan, or basically any
operation unjams the radio. This patch works it around:
@@ -1835,8 +1835,8 @@ static int zd1201_probe(struct usb_interzd->dev->name);usb_set_intfdata(interface,zd);-zd1201_enable(zd);-zd1201_disable(zd);+zd1201_enable(zd);/* zd1201 likes to startup enabled, interfering */+zd1201_disable(zd);/* with all the wifis in range */return0;err_net:
From: Pavel Machek <hidden> Date: 2006-06-08 07:13:57
Hi!
quoted
quoted
Well, I'll try _enable() alone, but it seems to me that _enable()
command is needed to initialize radio properly. I do not think we can
get much further without firmware sources...
If you can formulate a proper and technical description of the issue
(and exactly what is needed to workaround it), I can contact ZyDAS for
you. They have been very helpful with ZD1211.
Okay, the issue is:
if you plug zd1201 into USB, it starts jamming radio,
immediately. Enable/disable, or iwlist wlan0 scan, or basically any
operation unjams the radio. This patch works it around:
Of course, the patch should have been:
diff --git a/drivers/net/wireless/zd1201.c b/drivers/net/wireless/zd1201.c
index 335eaf3..dcc7bc7 100644
--- a/drivers/net/wireless/zd1201.c
+++ b/drivers/net/wireless/zd1201.c
@@ -1835,6 +1835,8 @@ static int zd1201_probe(struct usb_inter
zd->dev->name);
usb_set_intfdata(interface, zd);
+ zd1201_enable(zd); /* zd1201 likes to startup enabled, interfering */
+ zd1201_disable(zd); /* with all the wifis in range */
return 0;
err_net:
....question is "is that right solution, or is something different
needed to solve that problem properly"?
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
From: Daniel Drake <hidden> Date: 2006-06-09 21:48:03
Pavel Machek wrote:
if you plug zd1201 into USB, it starts jamming radio,
immediately. Enable/disable, or iwlist wlan0 scan, or basically any
operation unjams the radio. This patch works it around:
Can we be any more specific?
What is the interference - is it transmitting random packets, or just
emitting a magical cloud of invisible anti-wifi?
At which precise point does the interference start? Does it happen even
without the driver loaded?
Which operation is the one which stops the interference, the enable or
the disable?
Does this happen on every plug in, or just sometimes? Is it affected by
usage patterns such as having the device plugged in throughout boot,
reloading the module, etc?
Thanks,
Daniel
From: Pavel Machek <hidden> Date: 2006-06-09 22:38:51
Hi!
I'll try to.
quoted
if you plug zd1201 into USB, it starts jamming radio,
immediately. Enable/disable, or iwlist wlan0 scan, or basically any
operation unjams the radio. This patch works it around:
Can we be any more specific?
What is the interference - is it transmitting random packets, or just
emitting a magical cloud of invisible anti-wifi?
Magical cloud, I'm afraid.
At which precise point does the interference start?
When the card is inserted.
Does it happen even
without the driver loaded?
Will try.
Which operation is the one which stops the interference, the enable or
the disable?
Disable alone was not enough to stop interference.
Does this happen on every plug in, or just sometimes?
In 70% or so.
Is it affected by
usage patterns such as having the device plugged in throughout boot,
reloading the module, etc?
From: John W. Linville <hidden> Date: 2006-06-15 20:10:51
On Sat, Jun 10, 2006 at 12:38:04AM +0200, Pavel Machek wrote:
quoted
Which operation is the one which stops the interference, the enable or
the disable?
Disable alone was not enough to stop interference.
I'm going to drop this patch for now, in the hopes that with Daniel's
ZyDas contacts you can devise a more palatable solution.
Thanks,
John
--
John W. Linville
linville@tuxdriver.com
From: Pavel Machek <hidden> Date: 2006-06-15 21:01:00
Hi!
Pavel Machek wrote:
quoted
if you plug zd1201 into USB, it starts jamming radio,
immediately. Enable/disable, or iwlist wlan0 scan, or basically any
operation unjams the radio. This patch works it around:
Can we be any more specific?
At which precise point does the interference start? Does it happen even
without the driver loaded?
Which operation is the one which stops the interference, the enable or
the disable?
enable alone is enough to stop the interference, but leaving card
enabled after load seems like a dirty hack.
Does this happen on every plug in, or just sometimes? Is it affected by
usage patterns such as having the device plugged in throughout boot,
reloading the module, etc?