rt2x00.serialmonkey.com

Support forum for the rt2x00 project
It is currently Sun May 26, 2013 2:06 am

All times are UTC




Post new topic Reply to topic  [ 13 posts ] 
Author Message
PostPosted: Tue May 12, 2009 8:03 am 
Offline

Joined: Tue May 12, 2009 7:41 am
Posts: 8
Hello,
I'm student in the university of Poitiers (France) and my project consist to calculate the Binary Error Rate in Ad'Hoc mode. In first I have disable the CRC (but it is not a good solution...). Now, I want to have the data before the CRC calcultation. I have use the function "filp_open, write and close " and i have a file with all packets but not with error !!!! I do that in rtmp_data.c and STARxDoneInterruptHandle function. Can you help me please ??? (I use 802.11a protocol and udp mode).
Thanks and i am sorry for my bad english......


Top
 Profile  
 
PostPosted: Tue May 12, 2009 9:54 am 
Offline
Site Admin

Joined: Sun Jun 05, 2005 1:01 pm
Posts: 5905
Location: Haarlem, The Netherlands
See register RX_FILTER_CFG for passing packets with CRC errors to driver.

_________________
Regards,
Ivo van Doorn
Project Administrator
http://rt2x00.serialmonkey.com


Top
 Profile  
 
PostPosted: Tue May 12, 2009 12:31 pm 
Offline

Joined: Tue May 12, 2009 7:41 am
Posts: 8
Thanks !

So i must install patch and use RX_FILTER_CFG_DROP_CRC_ERROR, isn' it? And for use RX_FILTER, do you have documentation for this? (i have RT2860 driver 2.1.1.0)
(I'm sorry but i don't find RX_FILTER_CFG doc on google..... So i refer to you... :( )
thanks and sorry


Top
 Profile  
 
PostPosted: Tue May 12, 2009 3:25 pm 
Offline
Site Admin

Joined: Sun Jun 05, 2005 1:01 pm
Posts: 5905
Location: Haarlem, The Netherlands
I would recommend using 'grep' to search through the code for the RX_FILTER_CFG usage, there you can see how to change that register value.

_________________
Regards,
Ivo van Doorn
Project Administrator
http://rt2x00.serialmonkey.com


Top
 Profile  
 
PostPosted: Tue May 12, 2009 4:30 pm 
Offline

Joined: Tue May 12, 2009 7:41 am
Posts: 8
My problem is that i have a module driver (not include in kernel) and the RX_FILTER_CFG is not include. The patch is used for the driver in kernel, is'nt it? Do you know that a must do it ? thanks.


Top
 Profile  
 
PostPosted: Tue May 12, 2009 5:39 pm 
Offline
Site Admin

Joined: Sun Jun 05, 2005 1:01 pm
Posts: 5905
Location: Haarlem, The Netherlands
Right, I forgot the Ralink driver contains a typo on this register. Search for RX_FILTR_CFG

_________________
Regards,
Ivo van Doorn
Project Administrator
http://rt2x00.serialmonkey.com


Top
 Profile  
 
PostPosted: Tue May 12, 2009 7:19 pm 
Offline

Joined: Tue May 12, 2009 7:41 am
Posts: 8
Ok ! thanks. For dop the CRC error, i must change this integer DropCRCErr:1, no? I have change to DropCRCErr:0 but the command make failed. have you got a solution?


Top
 Profile  
 
PostPosted: Tue May 12, 2009 7:59 pm 
Offline

Joined: Tue May 12, 2009 7:41 am
Posts: 8
I have find how do it. Thank you for your help!!
Matthieu


Top
 Profile  
 
PostPosted: Fri May 15, 2009 7:30 am 
Offline

Joined: Tue May 12, 2009 7:41 am
Posts: 8
Hello,

I have another problem. In fact, I have found this code for disable CRC :

Code:
RX_FILTR_CFG = 0x17f97
in rtmp_init.c

Code:
#define RX_FILTR_CFG 0x1400
//
// RX_FILTR_CFG:  /RX configuration register
//
#ifdef RT_BIG_ENDIAN
typedef   union   RX_FILTR_CFG_STRUC   {
   struct   {
      UINT32      :15;      
      UINT32       DropRsvCntlType:1;

           UINT32          DropBAR:1;       // 
      UINT32      DropBA:1;      // 
      UINT32      DropPsPoll:1;      // Drop Ps-Poll
      UINT32      DropRts:1;      // Drop Ps-Poll

      UINT32      DropCts:1;      // Drop Ps-Poll
      UINT32      DropAck:1;      // Drop Ps-Poll
      UINT32      DropCFEnd:1;      // Drop Ps-Poll
      UINT32      DropCFEndAck:1;      // Drop Ps-Poll

      UINT32      DropDuplicate:1;      // Drop duplicate frame
      UINT32      DropBcast:1;      // Drop broadcast frames
      UINT32      DropMcast:1;      // Drop multicast frames
      UINT32      DropVerErr:1;       // Drop version error frame

      UINT32      DropNotMyBSSID:1;         // Drop fram ToDs bit is true
      UINT32      DropNotToMe:1;      // Drop not to me unicast frame
      UINT32      DropPhyErr:1;      // Drop physical error
      UINT32      DropCRCErr:1;      // Drop CRC error
   }   field;
   UINT32         word;
}   RX_FILTR_CFG_STRUC, *PRX_FILTR_CFG_STRUC;
#else
typedef   union   _RX_FILTR_CFG_STRUC   {
   struct   {
      UINT32      DropCRCErr:1;      // Drop CRC error
      UINT32      DropPhyErr:1;      // Drop physical error
      UINT32      DropNotToMe:1;      // Drop not to me unicast frame
      UINT32      DropNotMyBSSID:1;         // Drop fram ToDs bit is true

      UINT32      DropVerErr:1;       // Drop version error frame
      UINT32      DropMcast:1;      // Drop multicast frames
      UINT32      DropBcast:1;      // Drop broadcast frames
      UINT32      DropDuplicate:1;      // Drop duplicate frame

      UINT32      DropCFEndAck:1;      // Drop Ps-Poll
      UINT32      DropCFEnd:1;      // Drop Ps-Poll
      UINT32      DropAck:1;      // Drop Ps-Poll
      UINT32      DropCts:1;      // Drop Ps-Poll

      UINT32      DropRts:1;      // Drop Ps-Poll
      UINT32      DropPsPoll:1;      // Drop Ps-Poll
      UINT32      DropBA:1;      // 
           UINT32          DropBAR:1;       // 

      UINT32          DropRsvCntlType:1;
      UINT32      :15;
   }   field;
   UINT32         word;
}   RX_FILTR_CFG_STRUC, *PRX_FILTR_CFG_STRUC;
#endif

in rtmp_mac.h

I have do the correspondence with "0x17f97" and the stuct, so i have change the last bit(or the fist bit) to 1 for drop the CRC but i am not sure that it is good. In the first simulation i have coding :
Code:
RX_FILTR_CFG = 0x17f94
(for drop CRC abnd Phy error)
and after
Code:
RX_FILTR_CFG = 0xd7f97
(for drop CRC abnd Phy error)
But the result is maybe not good....
Thanks for your help and have a good day !


Top
 Profile  
 
PostPosted: Fri May 15, 2009 12:09 pm 
Offline
Site Admin

Joined: Sun Jun 05, 2005 1:01 pm
Posts: 5905
Location: Haarlem, The Netherlands
With that filter you need to *clear* a bit to disable the filter and thus to allow frames through.

_________________
Regards,
Ivo van Doorn
Project Administrator
http://rt2x00.serialmonkey.com


Top
 Profile  
 
PostPosted: Fri May 15, 2009 1:25 pm 
Offline

Joined: Tue May 12, 2009 7:41 am
Posts: 8
clear like this ?
Code:
typedef   union   _RX_FILTR_CFG_STRUC   {
   struct   {
     /* UINT32      DropCRCErr:1;      // Drop CRC error */
      UINT32      DropPhyErr:1;      // Drop physical error


or like this ?

Code:
RX_FILTR_CFG = 0x00000


Top
 Profile  
 
PostPosted: Fri May 15, 2009 4:53 pm 
Offline
Site Admin

Joined: Sun Jun 05, 2005 1:01 pm
Posts: 5905
Location: Haarlem, The Netherlands
You have to change the value written to RX_FILTR_CFG

_________________
Regards,
Ivo van Doorn
Project Administrator
http://rt2x00.serialmonkey.com


Top
 Profile  
 
PostPosted: Wed May 20, 2009 5:03 pm 
Offline

Joined: Tue May 12, 2009 7:41 am
Posts: 8
I have clear RX_FILTR_CFG to '0x00000' for drop CRC (i now, i must just clear 1 bit but if i clear all, i clear this bit).
So it don't work ! I had clear value written to STANORMAL, ... too, it don't work.
I have change the all value (STANORMAL..., RX_FILTR_CFG to 0x17f94 but it don't work). Can you say me if change this values (STANORMAL,..., RX_FILTR_CFG) to 0x17f94 is correct ? Maybe the 4 correspond to :
...
dropNotmybssid : to '1'
dropPhyErr : to '0'
dropCrcErr : to '0'

thank you !


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 13 posts ] 

All times are UTC


Who is online

Users browsing this forum: Google [Bot] and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group