From: Ivo van Doorn <ivdoorn@gmail.com>
To: Andy Green <andy@warmcat.com>
Cc: linux-wireless <linux-wireless@vger.kernel.org>
Subject: Re: [PATCH] rt73usb-add-bluenext-148f-2573
Date: Tue, 31 Jul 2007 16:11:26 +0200 [thread overview]
Message-ID: <200707311611.26683.IvDoorn@gmail.com> (raw)
In-Reply-To: <46AF3AAE.4010908@warmcat.com>
> > At which rate should the other box be sending the frames?
>
> 54Mbps, I am a couple of metres from the AP.
Ok. That means we can at least assume several frames should
be send with higher rates then 1 Mbs. ;)
> >> # while [ 1 ] ; do ls -l / ; done
> >>
> >> over an ssh link which is being carried on another wireless device on
> >> the same box associated on to channel 6...
> >
> > Could you enable debugfs and do inside the "rt73usb" folder within the
> > mac80211 debugfs entry do:
> >
> > echo 16 > csr_offset
> > cat csr_value
> >
> > This will read the TXRX_CSR0 register of rt73usb which controls the filtering
> > of the frames. That will help determining if the missing frames have been
> > droppen in the hardware or not.
>
> I have to add debugfs in my .config for that, it is rebuilding.
Thanks.
> However, I added the following debug line inside the loop at
> rt2x00_dev.c function
> void rt2x00lib_rxdone(struct data_entry *entry, char *data,
> const int size, const int signal, const int rssi, const int ofdm)
>
> printk("signal=%d, ofdm=%d, rate->val=%d, val=%d\n", signal, ofdm,
> rate->val, val);
>
> and ran tcpdump at the same time. What I see is that even though
> tcpdump on ch 6 is only willing to show 1Mbps packets, packets with
> other rates passed through here, eg,
>
> signal=20, ofdm=0, rate->val=4106, val=10
> signal=20, ofdm=0, rate->val=16789524, val=20
> signal=110, ofdm=0, rate->val=4106, val=10
> signal=110, ofdm=0, rate->val=16789524, val=20
> signal=110, ofdm=0, rate->val=33583159, val=55
> signal=110, ofdm=0, rate->val=50393198, val=110
>
> but ALWAYS ofdm is 0, ie, it only sees CCK packets.
>
> If I look over on channel 11, my neighbour has an 80211b device
> apparently, I see data packets at 11Mbps, again CCK.
I think I have an idea why mac80211 always reports 1 MBs,
rt2x00 checks if PREAMBLE was enabled or not. If that is the case it sets
the rate value to rate->val2
Mac80211 in turn only compares the value against rate->val which
means that it won't find the rate and assume the lowest possible rate.
I'll fix this by always setting the rate->val value instead (It isn't really
important for mac80211 to know if the preamble bit was set anyway).
> after the echo, catting that spews
>
> 0x007eb162
>
> repeatedly to the console.
And here is a big problem..
This register is defined as:
#define TXRX_CSR0_DROP_CRC FIELD32(0x00020000)
#define TXRX_CSR0_DROP_PHYSICAL FIELD32(0x00040000)
#define TXRX_CSR0_DROP_CONTROL FIELD32(0x00080000)
#define TXRX_CSR0_DROP_NOT_TO_ME FIELD32(0x00100000)
#define TXRX_CSR0_DROP_TO_DS FIELD32(0x00200000)
#define TXRX_CSR0_DROP_VERSION_ERROR FIELD32(0x00400000)
#define TXRX_CSR0_DROP_MULTICAST FIELD32(0x00800000)
#define TXRX_CSR0_DROP_BORADCAST FIELD32(0x01000000)
#define TXRX_CSR0_DROP_ACK_CTS FIELD32(0x02000000)
Which means it will only pass multicast, broadcast and ACK_CTS frames. :S
Always dropping CRC errors is correct, since enabling that will greatly upset
any monitoring tool listening to the interface.
To see if it helps try:
echo 16 > csr_offset
echo 0x0002b162 > csr_value
This will disable all DROP bits (except for the CRC error) and thus should
trigger more frames to be received by your interface. In the mean time I'll search
why those bits weren't cleared when enabling the interface in monitor mode.
Which version are you using?
wireless-dev
rt2x00.git
rt2x00 cvs
Ivo
next prev parent reply other threads:[~2007-07-31 14:07 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-31 11:54 [PATCH] rt73usb-add-bluenext-148f-2573 warmcat
2007-07-31 12:12 ` Ivo van Doorn
2007-07-31 12:19 ` Andy Green
2007-07-31 12:27 ` Ivo van Doorn
2007-07-31 12:38 ` Andy Green
2007-07-31 12:58 ` Ivo van Doorn
2007-07-31 13:35 ` Andy Green
2007-07-31 14:11 ` Ivo van Doorn [this message]
2007-07-31 14:34 ` Andy Green
2007-07-31 14:50 ` Ivo van Doorn
2007-07-31 15:06 ` Ivo van Doorn
2007-07-31 15:14 ` Andy Green
2007-07-31 22:37 ` Andy Green
2007-08-01 16:50 ` Ivo van Doorn
2007-07-31 13:49 ` Andy Green
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200707311611.26683.IvDoorn@gmail.com \
--to=ivdoorn@gmail.com \
--cc=andy@warmcat.com \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).