ath5k_hw_re...rfgain_probe(9)
π ath5k_hw_request_rfgain_probe β a Kernel API Manual moment (yes, section 9, we're fancy)
okay so bestie, welcome to the ath5k corner of the kernel, where we're talking about one tiny function that lives in the middle of the PHY drama. This is ath5k_hw_request_rfgain_probe(9), straight out of the Kernel API Manual, and it's honestly giving "small but crucial supporting character" energy. π
β¨ NAME β¨
ath5k_hw_request_rfgain_probe β literally just: Request a PAPD probe packet. That's the whole gig. She does one thing and she does it cute. π
πΈ SYNOPSIS πΈ
void ath5k_hw_request_rfgain_probe (struct ath5k_hw *ah );
π¦ ARGUMENTS π¦
ahβ thestruct ath5k_hw. your whole hardware situation in one pointer, bestie. everything she needs, nothing she doesn't. π«Ά
π« DESCRIPTION π«
So what she actually does: she schedules a gain probe check on the next transmitted packet. Like, she's not doing the measuring herself, she's just putting it on the calendar for the next packet out the door. π β¨
And that means our next packet is going to be sent with lower tx power, and then a Peak to Average Power Detector (PAPD) swings in and tries to measure the gain. It's a whole little operation. The next packet is basically doing double duty β traffic and science. iykyk. π₯
TODO (and she said it herself, no cap): Force a tx packet (bypassing PCU arbitrator etc) just after we enable the probe so that we don't mess with standard traffic. so yeah β right now the probe rides along with regular traffic, which is lowkey not ideal, and the fix is to shove a dedicated tx packet through instead. noted. π
π SEE ALSO π
Okay this is the part where she tags literally everyone in the group chat. Cue the mass mention, because the whole ath5k PHY friend group is here:
- Kernel file
./drivers/net/wireless/ath/ath5k/phy.cPHY related functions(9) 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_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)
like, that's the entire extended friend group and honestly? iconic. π
and that's the tea π
this page lives at ./drivers/net/wireless/ath/ath5k and it's stamped October 2026 β so when you cite her, cite her right, bestie. 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