Subject: Re: e1000 speed/duplex error

From: Auke Kok <[email-masked]>
Date: Wed, 02 Aug 2006 09:19:03 -0700

a1 wrote:
> Hi, Auke.
> 
> Auke Kok wrote:
> AK> Here's that part of the driver documentation:
> 
> AK> $ modprobe e1000 AutoNeg=0x08
> AK> e1000: 0000:00:00.0: e1000_validate_option: AutoNeg advertising 100/FD
> 
> 
> AK>   99 /* Auto-negotiation Advertisement Override
> AK> 100  *
> AK> 101  * Valid Range: 0x01-0x0F, 0x20-0x2F (copper); 0x20 (fiber)
> AK> 102  *
> AK> 103  * The AutoNeg value is a bit mask describing which speed and duplex
> AK> 104  * combinations should be advertised during auto-negotiation.
> AK> 105  * The supported speed and duplex modes are listed below
> AK> 106  *
> AK> 107  * Bit           7     6     5      4      3     2     1      0
> AK> 108  * Speed (Mbps)  N/A   N/A   1000   N/A    100   100   10     10
> AK> 109  * Duplex                    Full          Full  Half  Full   Half
> AK> 110  *
> AK> 111  * Default Value: 0x2F (copper); 0x20 (fiber)
> AK> 112  */
> 
> This is not what I'm thinking of. Say, for example, I have a bunch of
> e1000 adapters in my box and want to dynamically change one's spd/dplx.
> For that works in the way you described I need to stop all of them and
> load with autoneg parameter (can I pass this parameter only to single
> card?) and loose all connection I had on other adapters.

you can pass these parameters per card as such:

$ modprobe e1000 AutoNeg=0x2f,0x28,0x2f,0x2f

this way card #2 will see the non-default value, the other 3 will run with the 
default value (0x2f).

Auke