2013/04/23

[工作點滴] wireless module development newbie

I've started collecting the information around the end of 2010 because the wireless technology advanced to much higher bandwidth for multimedia streaming.
There are two conditions of the development that I thought.
1. To develop the whole wireless part by ourselves.
2. To buy the module directly from the supplier.
But some important factors that make me just 'collect information' at that moment.
For 1, the expense is very horrible.
- We have to pay chip vendor for NRE.
- We are new to be the player and we have no credit to the chip vendor.
- We have no equipment and we have to invest a lot to do it.
- There are lots of tasks need for the regulation.
To sum up, this is a money game for surveillance company and we see no market at that moment.
For 2, we could leverage a lot tasks to supplier but we still have to prepare equipment to verify the whole system and get the experience of the regulation. However, the module cost and performance ratio could not meet our requirement. It is quite challenge for me to persuade my boss to do it.
So what I can do is just keep attention on wireless technology.
Until now, I have the chance to do the development finally.
Although I'm newbie for wireless, it's not too hard to enter this area. The reason is the technology become much mature and we can make it work even we do not know much about wireless. So, let's just do it.
The module I use is based on Atheros AR6103 and AR6003. The driver of these two chips are similar.
The documents I study is are mainly from Atheros. I also reference the IEEE specification and search on Google.

The equipment and wireless module board
- Power meter is Agilent E4416A EPM-P single channel power meter.
  This equipment can only measure the power from the wireless module from 50MHz~6GHz.
  We could not know the power is generated om which frequency.

- Attenuator to avoid the large power.
- The AR6003 module board
- To connect the module board to evaluation board and power meter.
- Without power output.
- With power output.
If we want to know the power is contribute from which frequency channel and band. We need Spectrum Analyzer to check further. But for quick check the driver is working or not, this is already enough. 

The tools from Atheros 'athtestcmd'.
Atheros test tool 'athtestcmd': We have to insmod the driver with parameter 'testmode=1' or we could not use this command.
  '-i device': example, '-i eth1', '-i wlan0'.
  '--tx frame': Continuous modulated Tx, AIFS(arbitration interframe space) can be set with the option --aifsn.
  '--tx tx99': Continuous modulated Tx, AIFS is fixed to 0.
  '--tx tx100': Continuous modulated but unframed Tx.
  '--tx off': Disable continuous Tx.
  '--tx freq': Channel frequency in MHz, but this frequency does not mean center frequency.
  '--txrate <rate index>': Reference as below.
  '--txpwr': tx power.
  '--txantenna': 1 for antenna 1, 2 for antenna 2, 0 is auto. default is auto.
  '--txpktsz': tx packet size.
  '--txpattern': Tx frame bits pattern. The pattern of PN7/PN9/PN15 stands for pseudo noise code of length 2^7/2^9/2^15 bits.
                 Because the length of PN15 is large than max packet size, it's sent by 4 continuous packets.
                 The '--txpktsz' option is ignored when setting pattern to PN15.
  '--ani': Enable ANI. The ANI is disabled if this option is not specified.
  '--scrambleroff': When set, the frames cannot be sniffered.
  '--aifsn': AIFS slots number. For '--tx frame' mode only.
  '--shortguard': Short guard interval 400ns, the guard interval is 800ns if this option is not specified.
  '--mode': the --tx
  '--setlongpreamble': 
   
  '--numpackets': the total number of the packet.


Please make sure you use the correct board data from the supplier and replace it in the driver.

More task like the porting the driver for specific SoC interface, driver hacking, script setup tool and configuration application like wpa_supplicant...etc, these will be discuss later.
  

沒有留言: