e1000 stops receiving packets
Posted: Sun Aug 18, 2013 8:18 pm
My e1000 driver seems to enter a sleep state after a minute of two of not receiving any packets. If I disconnect and reconnect the network cable from the box I see the link go down/up and everything works great until this mysterious timer puts it to sleep again.
I've tried everything I could find in the manual to disable powersave:
If I leave multicast promiscuous mode enabled it works great, not surprising because it's always seeing packets, but I'd like to filter these out.
I've tried everything I could find in the manual to disable powersave:
Code: Select all
e1000_reg_set(e, E1000_REG_ECTRL, E1000_REG_ECTRL_PHY_PWRMGT); //disable power management
e1000_reg_set(e, E1000_REG_WAKEUP_CTRL, E1000_REG_WAKEUP_CTRL_APME); //enable advanced management for filters
e1000_reg_set(e, E1000_REG_WAKEUP_FILTER, E1000_REG_WAKEUP_FILTER_EX |
E1000_REG_WAKEUP_FILTER_MC | E1000_REG_WAKEUP_FILTER_BC
| E1000_REG_WAKEUP_FILTER_ARP); //set it to wakeup on just about everything
If I leave multicast promiscuous mode enabled it works great, not surprising because it's always seeing packets, but I'd like to filter these out.