igb_power_up_phy_copper(9)
π igb_power_up_phy_copper(9) β the glow-up page π
okay so this is a page from the Kernel API Manual, and it's all about igb_power_up_phy_copper β the function that gives your copper link its lil resurrection moment β¨ like it literally brings the link back from the dead (well, from power-down), and honestly? iconic behaviour π«Ά
β¨ SYNOPSIS β¨
void igb_power_up_phy_copper (struct e1000_hw *hw );
bestie it returns void, so don't go looking for a return value, there isn't one, periodt π
π ARGUMENTS π
hwβ pointer to the HW structure. that's it, that's the whole argument list. one (1) pointer, pointing at your hardware struct, and it's carrying the entire operation fr fr π¦
πΈ DESCRIPTION πΈ
okay so picture this: your PHY went into power down π΄ β maybe to save power, maybe because the driver was unloading and it turned off the link. either way the link is off and the vibe is not immaculate.
this function restores the link to its previous settings π so it's not setting up something brand new, it's not renegotiating your whole life, it's just putting the copper link back exactly how it was. lowkey the most loyal function in the file ngl π
heads up: this is specifically the power-up counterpart to the power-down situation β think of it as the "you up?" text but for ethernet PHYs π
π¦ SEE ALSO π¦
all the siblings, cousins, and adjacent besties you should also be friends with β and yes, I'm listing every single one because we do not skip people in this group chat π
- Kernel file
./drivers/net/ethernet/intel/igb/e1000_phy.c
and the whole crew, in order:
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_copper_link_autoneg(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_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)
like, that's the whole friend group and every one of them is valid π β¨
π the sign-off π
this lil beauty lives in ./drivers/net/ethernet/intel/igb, it's dated October 2026, and it's served up fresh from the Kernel API Manual. read it, love it, cite it in your bug report ππ«Ά bye bestie, go restore some links π
π¦ 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