Implementing 802.11 with Microcontrollers: Wireless Networking for Embedded Systems Designers

Chapter 11: Processing 802.11b Frames with the AirDrop

Our AirDrop wireless LAN module has successfully negotiated its way onto our little AIR- DROP_NETWORK wireless LAN. The addition of the last five lines of AirDrop 802.11b driver source code to the AirDrop 802.11b driver main function in Sub Snippet 11.1 gets the AirDrop wireless LAN station involved with the other members of the AIRDROP_NETWORK BSS.

Sub Snippet 11.1
**********************************************************void main(void){ unsigned int i,temp,evstat_data; char rc; init_USART1(); init_cf_card(); airdrop_cfg(BSS); airdrop_cfg(SSID); airdrop_cfg(MAX_DATALEN); airdrop_cfg(NIC_RATE); temp = rid_read(RID_cfgOwnMACAddress); for(i=0;i<6;i++) {  if(i%2)   macaddrc[i] = fidrid_buffer[2+i/2]>>8; else  macaddrc[i] = fidrid_buffer[2+i/2]& 0xFF; } for(i=0;i<3;++i)  macaddri[i] = fidrid_buffer[i+2]; ipaddri[0] = make16(ipaddrc[1],ipaddrc[0]); ipaddri[1] = make16(ipaddrc[3],ipaddrc[2]); allocate_xmit_buffers(); wr_cf_io16(0xFFFF, EvAck_Register); if(rc=send_command(EnableMAC_Cmd,0))  printf("MAC Enable Error\r\n"); do{      temp=rid_read(RID_PortStatus);    }while(fidrid_buffer[2]!=4);<a name="390"></a><a name="page168"></a> temp = rid_read(RID_CurrentBSSID); for(i=0;i<6;i++) {  if(i%2)   bssidc[i] = fidrid_buffer[2+i/2]>>8;  else   bssidc[i] = fidrid_buffer[2+i/2]& 0xFF; }  for(i=0;i<3;++i)   bssidi[i] = fidrid_buffer[i+2];<span style="background-color:dadada">  while(1){     do{                 evstat_data = rd_cf_io16(EvStat_Register);                }while(!(evstat_data & EvStat_Rx_Bit_Mask));            get_frame();  }}</span>**********************************************************

AirDrop Frame Structure

The easiest and most logical way to look at an 802.11b frame as it relates to an AirDrop is to send a frame from the SNOOPER laptop and capture that frame with both the Netasyst Sniffer...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Waveplates and Retardation Plates
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.