On Mon, Mar 19, 2018 at 12:31 PM, Ran Shalit <ransha...@gmail.com> wrote:
> On Mon, Mar 19, 2018 at 6:27 PM, Alexander Duyck
> <alexander.du...@gmail.com> wrote:
>> On Mon, Mar 19, 2018 at 9:07 AM, Ran Shalit <ransha...@gmail.com> wrote:
>>> Hello,
>>>
>>>
>>>
>>> I am using igb driver:
>>>
>>> cat output/build/linux-4.10.17/.config | grep IGB
>>>
>>> CONFIG_IGB=y
>>>
>>> CONFIG_IGB_HWMON=y
>>>
>>> CONFIG_IGBVF=y
>>>
>>>
>>>
>>> But every boot is takes a lot of time till ethernet is ready.
>>>
>>> I try to disable auto negotiation, but nothing helps yet, the device
>>> resist, and keep resets phy.
>>>
>>> adapter->fc_autoneg = false;
>>>
>>> hw->mac.autoneg = false;
>>>
>>> hw->phy.autoneg_advertised = 0;
>>>
>>>
>>> I tried more flags, but nothing helps.
>>> The phy always disabled/reset at boot (led is off for 1 second and then on).
>>>
>>> Is there a way to disable auto-negotiation with igb driver ?
>>> I use buildroot with kernel 4.10.81.
>>>
>>>
>>> Thank you for any suggestion,
>>>
>>> ran
>>
>> Instead of trying to disable it in the driver why not just change your
>> system configuration to disable it? You should be able to configure
>> things in either Network Manager, or via the network init scripts so
>> that you instead just used a forced speed/duplex combination. If
>> nothing else you can go through and drop support for any other
>> advertised speed/duplex and that should improve the speed of autoneg
>> itself.
>>
>
> I think I tried it and it did not work, but I shall try again.
> Where should I put it ? in init.d startup scripts ?
> I think I tried, and yet , I have seen that in reset, the leds of the
> phy are always turned off for a ~1.5 second and then on again.
> This is actually what I am trying to overcome, this strange reset of
> phy every powerup.

So it sounds like what you may want to disable would not be the phy
autoneg, but the phy reset itself. If that is what you are looking for
then you might try modifying igb_reset_phy, or at least when we invoke
it in igb_power_up_link. You could look at adding a private flag to
the igb driver to disable it for your use case if that is the issue.

>> You could refer to something like this for more information:
>> https://www.shellhacks.com/change-speed-duplex-ethernet-card-linux/
>>
>> Thanks.
>>
>> - Alex
>
> Thank you very much,
> ran

Now I am not so certain if this will solve you issue. What you may
want to do instead is take a look at the function igb_power_up_link in
igb_main.c and possibly consider adding a flag check to allow you to
disable it on the systems you need to disable it on, or if this is for
just one driver you could comment the line out and see if that will
solve the issue.

Thanks.

- Alex

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel&#174; Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to