Hello,
I am trying to enable MAC loopback with an 82574L device. The code looks
roughly as follows:
u32 rctl, ctrl;
ctrl = E1000_READ_REG(&adapter->hw, E1000_CTRL);
ctrl |= (E1000_CTRL_FRCSPD | E1000_CTRL_SPD_1000);
ctrl |= (E1000_CTRL_FRCDPX | E1000_CTRL_FD);
rctl = E1000_READ_REG(&adapter->hw, E1000_RCTL);
rctl |= E1000_RCTL_LBM_MAC;
E1000_WRITE_REG(&adapter->hw, E1000_RCTL, rctl);
E1000_WRITE_REG(&adapter->hw, E1000_CTRL, ctrl);
This appears to work if the interface already has link (a cable is plugged in).
However, it does not work if a cable is not plugged in. I do not get link
interrupts, and packets I try to send disappear into the ether. The values of
CTRL and RCTL after the steps above end up being 0x40101a49 and 0x04008042,
respectively. Incidentally, the same steps do work with an i350 card.
I would appreciate if anyone had any suggestions.
Thanks,
Ray
------------------------------------------------------------------------------
Better than sec? Nothing is better than sec when it comes to
monitoring Big Data applications. Try Boundary one-second
resolution app monitoring today. Free.
http://p.sf.net/sfu/Boundary-dev2dev
_______________________________________________
E1000-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel® Ethernet, visit
http://communities.intel.com/community/wired