genphy_c45_config_aneg(9)
π genphy_c45_config_aneg(9) π
okay so bestie, welcome to the Kernel API Manual β this is a page about one tiny little function that kicks your Ethernet PHY into gear. literally the "get up and negotiate" button. let's go π¦
β¨ NAME β¨
genphy_c45_config_aneg β restart auto-negotiation, or force a setup if auto-neg isn't the vibe π
β¨ SYNOPSIS β¨
int genphy_c45_config_aneg (struct phy_device *phydev );
like, it takes one thing and gives you back an int. simple. iconic. no cap. π
β¨ ARGUMENTS β¨
phydevβ the targetphy_devicestruct π«Ά that's the PHY we're doing this whole thing to, bestie. that's the main character.
β¨ DESCRIPTION β¨
okay so here's the tea β β this function has two moods and it picks based on whether auto-negotiation is on:
- if auto-negotiation is enabled β we configure the advertising (yes, we're telling the link what we can do πββοΈ), and then we restart auto-negotiation. glow-up complete.
- if it's not enabled β then we force a configuration. no negotiating, just vibes and hardcoded settings, periodt.
so basically: it either restarts the negotiation or forces the setup. that's it. that's the function. ngl it's lowkey elegant β¨
β¨ SEE ALSO β¨
we're in the kernel file ./drivers/net/phy/phy-c45.c and honestly the whole friend group is here π β go say hi to:
genphy_c45_baset1_able(9)genphy_c45_pma_can_sleep(9)genphy_c45_pma_resume(9)genphy_c45_pma_suspend(9)genphy_c45_pma_baset1_setup_master_slave(9)genphy_c45_pma_setup_forced(9)genphy_c45_an_config_aneg(9)genphy_c45_an_disable_aneg(9)genphy_c45_restart_aneg(9)genphy_c45_check_and_restart_aneg(9)genphy_c45_pma_soft_reset(9)genphy_c45_an_setup_master_slave(9)genphy_c45_read_master_slave(9)genphy_c45_aneg_done(9)genphy_c45_read_link(9)genphy_c45_read_lpa(9)genphy_c45_pma_baset1_read_master_slave(9)genphy_c45_read_pma(9)genphy_c45_read_mdix(9)genphy_c45_write_eee_adv(9)genphy_c45_read_eee_adv(9)genphy_c45_read_eee_lpa(9)genphy_c45_read_eee_cap1(9)genphy_c45_read_eee_cap2(9)genphy_c45_read_eee_abilities(9)genphy_c45_an_config_eee_aneg(9)genphy_c45_pma_baset1_read_abilities(9)genphy_c45_pma_read_ext_abilities(9)genphy_c45_pma_read_abilities(9)genphy_c45_read_status(9)genphy_c45_fast_retrain(9)genphy_c45_plca_get_cfg(9)genphy_c45_plca_set_cfg(9)genphy_c45_plca_get_status(9)genphy_c45_eee_is_active(9)genphy_c45_ethtool_get_eee(9)genphy_c45_ethtool_set_eee(9)oatc14_cable_test_get_result_code(9)genphy_c45_oatc14_cable_test_get_status(9)genphy_c45_oatc14_cable_test_start(9)oatc14_update_sqi_capability(9)genphy_c45_oatc14_get_sqi_max(9)genphy_c45_oatc14_get_sqi(9)
like, that's a whole roster π and every single one of them is a real one. iykyk π
π reminder bestie: this is kernel API, not a casual shell command. read the code, don't guess at behaviour. that's the whole rule. π§
anywayyy that's the page!! sourced straight from ./drivers/net/phy, dated October 2026, and it's literally in the genphy_c45_config_aneg(9) manual section. slay, go configure your PHY, you got this ππβ¨πΈ
π¦ 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