[zd1211-devs] Disconnection during ftp upload

I'm using the zd1211rw module from compat-wireless bleeding edge in
Ubuntu Karmic. I'm experiencing very frequent disconnections (every 10'
or so) when uploading at high speeds (200Kio/s) with the message :
No probe response from AP 5e:42:1a:7b:55:14 after 500ms, disconnecting.
I can however download at 2 Mio/s without any problem.
Let me know what tests I can run to debug this problem.
Julien.

Thread view

I'm using the zd1211rw module from compat-wireless bleeding edge in
Ubuntu Karmic. I'm experiencing very frequent disconnections (every 10'
or so) when uploading at high speeds (200Kio/s) with the message :
No probe response from AP 5e:42:1a:7b:55:14 after 500ms, disconnecting.
I can however download at 2 Mio/s without any problem.
Let me know what tests I can run to debug this problem.
Julien.

julien cubizolles a écrit :
> I'm using the zd1211rw module from compat-wireless bleeding edge in
> Ubuntu Karmic. I'm experiencing very frequent disconnections (every 10'
> or so) when uploading at high speeds (200Kio/s) with the message :
>
> No probe response from AP 5e:42:1a:7b:55:14 after 500ms, disconnecting.
>
> I can however download at 2 Mio/s without any problem.
>
> Let me know what tests I can run to debug this problem.
>
> Julien.
>
What is the size of your file? Do you experiment the same issue with scp?
I think a capture could help diagnose the problem (but without the data!).
Regards,
Benoit

Le lundi 01 février 2010 à 18:44 +0100, Benoit PAPILLAULT a écrit :
> What is the size of your file?
around 1Go
> Do you experiment the same issue with scp?
No problem with scp.
ftp upload fails to :
* another Ubuntu machine
* a freeboxHD (video recorder running Linux)
I couldn't try scp to the FreeboxHD since it doesn't run a ssh server.
> I think a capture could help diagnose the problem (but without the data!).
What should I do to get this capture ?

julien cubizolles a écrit :
> Le lundi 01 février 2010 à 18:44 +0100, Benoit PAPILLAULT a écrit :
>
>
>> What is the size of your file?
>>
> around 1Go
>
>
>> Do you experiment the same issue with scp?
>>
> No problem with scp.
>
> ftp upload fails to :
> * another Ubuntu machine
> * a freeboxHD (video recorder running Linux)
>
> I couldn't try scp to the FreeboxHD since it doesn't run a ssh server.
>
>
>> I think a capture could help diagnose the problem (but without the data!).
>>
> What should I do to get this capture ?
>
>
The best would be to have another PC with a wireless card in monitor
mode and only capture beacon frames. But I don't know exactly how to do
that...
Regards,
Benoit

julien cubizolles a écrit :
>
> Anybody has an idea ? Or a way to at least limit this problem. I'm
> getting fed up to use a USB key to transfer files...
>
> Julien.
>
What could be tried as a workaround is to comment the code that trigger
the disconnect and see what happens. The code is located in
net/mac80211/mlme.c : comment ieee80211_set_disassoc(sdata);
Regards,
Benoit

julien cubizolles a écrit :
> Le mercredi 03 février 2010 à 23:53 +0100, Benoit PAPILLAULT a écrit :
>
>> julien cubizolles a écrit :
>>
>> What could be tried as a workaround is to comment the code that trigger
>> the disconnect and see what happens. The code is located in
>> net/mac80211/mlme.c : comment ieee80211_set_disassoc(sdata);
>>
>
> I tried, it didn't help. The connection still gets dropped but the
> driver crashes...
>
> I'm back to the stock driver from 2.6.31-18 in ubuntu (no backports
> modules, no compat-wireless package) : it never disconnects. I managed
> to fix the only problem (bitrate of 1Mb/s) by tweaking
> /etc/NetworkManager/dispatcher.d/01ifupdown
> to set it to 48M by default. I can live with that. Maybe I'll look at
> the differences in the disassociation code when I have the time.
>
> Amitiés,
>
> Julien.
>
I've checked the difference between 2.6.31-18 and 2.6.33-rc6-wl which
I'm using and do not found much differences in the driver code except :
rate table (needed by minstrel), retry count register (reduced from 2 to
0), BSSID (only in my tree). For mac80211, there are lots of
differences, so I cannot tell.
I've run an iperf client on my laptop for several hours and :
- first disconnect after 2h30
- second disconnect after 3h (some beacon loss messages after only 2h)
- third disconnect after 15min
My feeling is that either something is wrong in the RX path (so beacons
are properly sent by the AP, but not received by zd1211rw and as such,
not received by mac80211) or we transmit so much that the AP cannot
transmit beacon anymore.
I'll do more test. What TX throughput do you achieve (specifically
during ftp upload) ?
Regards,
Benoit

Hmm, there are anecdotal evidence that pid works better than minstrel for mac80211-based drivers when the AP is a bit weak. Minstrel is the default from 2.6.30(31?) onwards, but you can choose pid with a module parameter in modprobe.conf - see if that helps. The details are in two bug reports on bugzilla.kernel.org filed against the rtl8187 driver.
--- On Fri, 5/2/10, Benoit PAPILLAULT <benoit.papillault@...> wrote:
> julien cubizolles a écrit :
> > Le mercredi 03 février 2010 à 23:53 +0100, Benoit
> PAPILLAULT a écrit :
> >
> >> julien cubizolles a écrit :
> >>
> >> What could be tried as a workaround is to comment
> the code that trigger
> >> the disconnect and see what happens. The code is
> located in
> >> net/mac80211/mlme.c : comment
> ieee80211_set_disassoc(sdata);
> >>
> >
> > I tried, it didn't help. The connection still gets
> dropped but the
> > driver crashes...
> >
> > I'm back to the stock driver from 2.6.31-18 in ubuntu
> (no backports
> > modules, no compat-wireless package) : it never
> disconnects. I managed
> > to fix the only problem (bitrate of 1Mb/s) by tweaking
>
> > /etc/NetworkManager/dispatcher.d/01ifupdown
> > to set it to 48M by default. I can live with that.
> Maybe I'll look at
> > the differences in the disassociation code when I have
> the time.
> >
> > Amitiés,
> >
> > Julien.
> >
> I've checked the difference between 2.6.31-18 and
> 2.6.33-rc6-wl which
> I'm using and do not found much differences in the driver
> code except :
> rate table (needed by minstrel), retry count register
> (reduced from 2 to
> 0), BSSID (only in my tree). For mac80211, there are lots
> of
> differences, so I cannot tell.
>
> I've run an iperf client on my laptop for several hours and
> :
> - first disconnect after 2h30
> - second disconnect after 3h (some beacon loss messages
> after only 2h)
> - third disconnect after 15min
>
>
> My feeling is that either something is wrong in the RX path
> (so beacons
> are properly sent by the AP, but not received by zd1211rw
> and as such,
> not received by mac80211) or we transmit so much that the
> AP cannot
> transmit beacon anymore.
>
> I'll do more test. What TX throughput do you achieve
> (specifically
> during ftp upload) ?
>
> Regards,
> Benoit

Le lundi 01 février 2010 à 23:36 +0100, Benoit PAPILLAULT a écrit :
> julien cubizolles a écrit :
> > Le lundi 01 février 2010 à 18:44 +0100, Benoit PAPILLAULT a écrit :
> >
> >
> >> What is the size of your file?
> >>
> > around 1Go
> >
> >
> >> Do you experiment the same issue with scp?
> >>
> > No problem with scp.
I just noticed that the problem exists also when using bittorrent, when
the upload speed gets too high.
>
> The best would be to have another PC with a wireless card in monitor
> mode and only capture beacon frames. But I don't know exactly how to do
> that...
Anybody has an idea ? Or a way to at least limit this problem. I'm
getting fed up to use a USB key to transfer files...
Julien.

Le mercredi 03 février 2010 à 23:53 +0100, Benoit PAPILLAULT a écrit :
> julien cubizolles a écrit :
> >
>
> What could be tried as a workaround is to comment the code that trigger
> the disconnect and see what happens. The code is located in
> net/mac80211/mlme.c : comment ieee80211_set_disassoc(sdata);
I tried, it didn't help. The connection still gets dropped but the
driver crashes...
I'm back to the stock driver from 2.6.31-18 in ubuntu (no backports
modules, no compat-wireless package) : it never disconnects. I managed
to fix the only problem (bitrate of 1Mb/s) by tweaking
/etc/NetworkManager/dispatcher.d/01ifupdown
to set it to 48M by default. I can live with that. Maybe I'll look at
the differences in the disassociation code when I have the time.
Amitiés,
Julien.