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

Reply via email to