igb_copper_link_autoneg(9)
β¨ igb_copper_link_autoneg β¨
okay bestie, so this one is a page from the Kernel API Manual (yes, that's the manual name, we're fancy now π ) and it's all about getting your copper link to, like, introduce itself properly. Let's go π«Ά
πΈ NAME πΈ
igb_copper_link_autoneg β setup/enable autoneg for copper link
like literally the function that makes your copper PHY and its link partner sit down and agree on how fast they're gonna talk β¨
π¦ SYNOPSIS π¦
s32 igb_copper_link_autoneg (struct e1000_hw *hw );
that's the whole vibe check right there π
π ARGUMENTS π
hwβ pointer to the HW structure. that's it, that's the argument π
β DESCRIPTION β
okay so here's what she does π
She performs initial bounds checking on the autoneg advertisement parameter first β gotta make sure the numbers actually make sense before we go shouting them at the link partner, no cap π§
Then she configures stuff to advertise the full capability β like, telling the world everything she can do. main character energy fr fr π
Then she sets up the PHY to autoneg and restarts the negotiation process between the link and the link partner β so the two of them can sort out their whole situationship π
And if autoneg_wait_to_complete is set? She waits for autoneg to complete before exiting. polite queen behavior, she doesn't just dip mid-conversation πΈ
π₯ SEE ALSO π₯
Kernel file ./drivers/net/ethernet/intel/igb/e1000_phy.c β that's where she lives, go say hi π
and the whole extended friend group π«Ά:
igb_check_reset_block(9)igb_get_phy_id(9)igb_phy_reset_dsp(9)igb_read_phy_reg_mdic(9)igb_write_phy_reg_mdic(9)igb_read_phy_reg_i2c(9)igb_write_phy_reg_i2c(9)igb_read_sfp_data_byte(9)igb_read_phy_reg_igp(9)igb_write_phy_reg_igp(9)igb_copper_link_setup_82580(9)igb_copper_link_setup_m88(9)igb_copper_link_setup_m88_gen2(9)igb_copper_link_setup_igp(9)igb_phy_setup_autoneg(9)igb_setup_copper_link(9)igb_phy_force_speed_duplex_igp(9)igb_phy_force_speed_duplex_m88(9)igb_phy_force_speed_duplex_setup(9)igb_set_d3_lplu_state(9)igb_check_downshift(9)igb_check_polarity_m88(9)igb_check_polarity_igp(9)igb_wait_autoneg(9)igb_phy_has_link(9)igb_get_cable_length_m88(9)igb_get_cable_length_igp_2(9)igb_get_phy_info_m88(9)igb_get_phy_info_igp(9)igb_phy_sw_reset(9)igb_phy_hw_reset(9)igb_phy_init_script_igp3(9)igb_initialize_M88E1512_phy(9)igb_initialize_M88E1543_phy(9)igb_power_up_phy_copper(9)igb_power_down_phy_copper(9)igb_check_polarity_82580(9)igb_phy_force_speed_duplex_82580(9)igb_get_phy_info_82580(9)igb_get_cable_length_82580(9)igb_set_master_slave_mode(9)
ngl that's a long list but she knows everyone π iconic social network of functions honestly
mwah π this lil page lives in the kernel source tree at ./drivers/net/ethernet/intel/igb and the version/date stamp on it is October 2026 β so yeah, keep that in mind, bestie. bye bye, go autoneg responsibly π¦β¨π
π¦ 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