PHY RELATED FUNCTIONS(9)
π¦ PHY related functions π¦
okay so this is from the Kernel API Manual, section (9), and bestieβ¦ it's a lot. buckle up π
β¨ DESCRIPTION β¨
so basically this page is all about the low-level functions that handle baseband and the analog frontend (RF) parts. and like β ngl β this is by far the most complex part of the hw code π so pls pls pls make sure you actually know what you're doing before you touch anything. this is not the vibe to fake it through π«Ά
here's the rundown of what this whole thing covers:
- Channel setting/switching β the classic bop between channels π
- Automatic Gain Control (AGC) calibration β gain but make it self-regulating β¨
- Noise Floor calibration β figuring out how quiet the quiet actually is π
- I/Q imbalance calibration (QAM correction) β fixing that little offset situation π
- Calibration due to thermal changes (gain_F) β because she gets warm and needs a minute π‘οΈ
- Spur noise mitigation β yeeting the spurious noise, as one does π
- RF/PHY initialization for the various operating modes and bwmodes β getting her ready for every mood and every bwmode π
- Antenna control β antennas being main characters, as they should π
- TX power control per channel/rate/packet type β power levels, but make them specific β‘
also keep in mind (and this is so real of us) we never got documentation for most of these functions π what we have comes mostly from Atheros's code, reverse engineering and patent docs/presentations etc. so likeβ¦ we're all just doing our best here fr fr π
π SEE ALSO π
the kernel file lives at ./drivers/net/wireless/ath/ath5k/phy.c β go read it, bestie, it's giving primary source π
and here's everyone else you should go say hi to:
ath5k_hw_radio_revision(9)ath5k_channel_ok(9)ath5k_hw_chan_has_spur_noise(9)ath5k_hw_rfb_op(9)ath5k_hw_write_ofdm_timings(9)ath5k_hw_phy_disable(9)ath5k_hw_wait_for_synth(9)RF Gain optimization(9)ath5k_hw_rfgain_opt_init(9)ath5k_hw_request_rfgain_probe(9)ath5k_hw_rf_gainf_corr(9)ath5k_hw_rf_check_gainf_readback(9)ath5k_hw_rf_gainf_adjust(9)ath5k_hw_gainf_calibrate(9)ath5k_hw_rfgain_init(9)ath5k_hw_rfregs_init(9)ath5k_hw_rf5110_chan2athchan(9)ath5k_hw_rf5110_channel(9)ath5k_hw_rf5111_chan2athchan(9)ath5k_hw_rf5111_channel(9)ath5k_hw_rf5112_channel(9)ath5k_hw_rf2425_channel(9)ath5k_hw_channel(9)PHY Calibration routines(9)ath5k_hw_read_measured_noise_floor(9)ath5k_hw_init_nfcal_hist(9)ath5k_hw_update_nfcal_hist(9)ath5k_hw_get_median_noise_floor(9)ath5k_hw_update_noise_floor(9)ath5k_hw_rf5110_calibrate(9)ath5k_hw_rf511x_iq_calibrate(9)ath5k_hw_phy_calibrate(9)ath5k_hw_set_spur_mitigation_filter(9)Antenna control(9)ath5k_hw_set_def_antenna(9)ath5k_hw_set_fast_div(9)ath5k_hw_set_antenna_switch(9)ath5k_hw_set_antenna_mode(9)ath5k_get_interpolated_value(9)ath5k_get_linear_pcdac_min(9)ath5k_create_power_curve(9)ath5k_get_chan_pcal_surrounding_piers(9)ath5k_get_rate_pcal_data(9)ath5k_get_max_ctl_power(9)Power to PCDAC table functions(9)ath5k_fill_pwr_to_pcdac_table(9)ath5k_combine_linear_pcdac_curves(9)ath5k_write_pcdac_table(9)Power to PDADC table functions(9)ath5k_combine_pwr_to_pdadc_curves(9)ath5k_write_pwr_to_pdadc_table(9)ath5k_setup_channel_powertable(9)ath5k_write_channel_powertable(9)Per-rate tx power setting(9)ath5k_setup_rate_powertable(9)ath5k_hw_txpower(9)ath5k_hw_set_txpower_limit(9)ath5k_hw_phy_init(9)
π that's the whole page, bestie β you ate that π
this lil slice of lore comes to you from ./drivers/net/wireless/ath/ath5k, dated October 2026 π go forth and calibrate responsibly, mwah π«Άβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms