Physical carrier sensing (CCA)
Hi,
I am working on measuring channel load which requires knowledge of carrier sensing.
I am comfortable with virtual carrier sensing but not with physical carrier sensing. I tried to google it but didn't get more than basics. I want to know about physical carrier sensing in detail and where code for physical sensing is present.
Is it in driver or in firmware?
I am using atheros pci-express card and ath9k driver.
Please help me. Thanks in advance.
Regards,
Gaurav
Quoted 5 lines · Gaurav Kumar Chauhan
I tried to google it but didn't get more than basics. I want to know about physical carrier
sensing in detail and where code for physical sensing is present.Is it in driver or in firmware?
Had similar question before, and after some survey, my understanding is physical carrier sensing is done by hardware, and in firmware you only need to read some status register find out sensing result. Correct me if I am wrong.
Hi,
2014-06-05 12:57 GMT+04:00 Gaurav Kumar Chauhan <[email protected]>:
Quoted 11 lines
I am working on measuring channel load which requires knowledge of carrier sensing.
I am comfortable with virtual carrier sensing but not with physical carrier sensing.
I tried to google it but didn't get more than basics. I want to know about physical carrier
sensing in detail and where code for physical sensing is present.Is it in driver or in firmware?
I am using atheros pci-express card and ath9k driver.
Physical and virtual carrier sensing are both realized in hardware at least in AR9xxx chips. Chip provides some knobs to control both of them (on/off, setup levels, etc.) and allows retrieve some statistics (see channel survey code of ath9k driver for example).
Signature · 2 lines
BR, Sergey
A message that is not in the archive (sent off-list or not yet received): [email protected]
2014-06-12 15:44 GMT+04:00 Gaurav Kumar Chauhan <[email protected]>:
Quoted 31 lines
Quoted 13 lines · Sergey Ryazanov
Quoted 12 lines
2014-06-05 12:57 GMT+04:00 Gaurav Kumar Chauhan
<[email protected]>:I am working on measuring channel load which requires knowledge of carrier sensing.
I am comfortable with virtual carrier sensing but not with physical carrier sensing.
I tried to google it but didn't get more than basics. I want to know about physical carrier
sensing in detail and where code for physical sensing is present.Quoted 8 lines
Quoted 2 lines
Is it in driver or in firmware?
I am using atheros pci-express card and ath9k driver.Physical and virtual carrier sensing are both realized in hardware at least in AR9xxx chips. Chip provides some knobs to control both of them (on/off, setup levels, etc.) and allows retrieve some statistics (see channel survey code of ath9k driver for example).
Hi Sergey,
Thanks for replying. Your information really helped me a lot.
In
ath9k/main.cthere is one function calledath9k_get_survey()which inter callsath_update_survey_stats()function.
Inath_update_survey_stats(), structsurvey_infomembers a getting initialized.
Quoted 5 lines
One of the member is
channel_time_busy: amount of time the primary channel was sensed busy.
I want to confirm if this member holds the channel busy time value returned by physical carrier sensing mechanism.
AR9xxx measure four values and export them via appropriate registers:
- Tx time
- Rx time
- Channel busy time
- Total measurement period time
And I don't know is Tx/Rx time accounted by the busy time counter or not. Seems that busy time counter considers whole busy time, but you need to investigate this by yourself or ask somebody who know.
And please don't mail me privately.
Signature · 2 lines
BR, Sergey