From: Ben Greear <greearb@candelatech.com>
To: Richard Dawe <rich@phekda.gotadsl.co.uk>
Cc: Francois Romieu <romieu@fr.zoreil.com>,
Linux netdev <netdev@oss.sgi.com>
Subject: Re: [PATCH] r8169: support restricting speed+duplex in autonegotiation
Date: Fri, 27 May 2005 16:59:53 -0700 [thread overview]
Message-ID: <4297B479.1080404@candelatech.com> (raw)
In-Reply-To: <4297A0F7.5070209@phekda.gotadsl.co.uk>
Richard Dawe wrote:
> Hello.
>
> Attached is a patch for drivers/net/r8169.c against Linux 2.6.11 that
> allows adjustment of the speed and duplex advertised via
> autonegotiation. Example usage:
>
> ethtool -s eth0 autoneg on speed 10 duplex half
>
> Also attached is a test script which tries various combinations of
> autoneg, speed and duplex. There is also a log of the test run attache.d
> While the test ran I had an ssh session running "while true; do sleep 1;
> date; done". The ssh session did not drop. Note that I don't have GigE,
> so that part of the test was bogus.
>
> I also tried various speed tests, to check that the speed and duplex
> were actually changed. They were.
>
> Bye, Rich
>
> r8169: Allow adjustment of speed and duplex advertised via autonegotiation
>
> Signed-off-by: Richard Dawe <rich@phekda.gotadsl.co.uk>
>
>
> ------------------------------------------------------------------------
>
> --- r8169.c.orig 2005-05-27 21:12:21.000000000 +0100
> +++ r8169.c 2005-05-27 22:14:59.000000000 +0100
> @@ -407,7 +407,9 @@ struct rtl8169_private {
> #ifdef CONFIG_R8169_VLAN
> struct vlan_group *vlgrp;
> #endif
> - int (*set_speed)(struct net_device *, u8 autoneg, u16 speed, u8 duplex);
> + int (*set_speed)(struct net_device *,
> + u8 autoneg, u16 speed, u8 duplex,
> + u32 advertising);
> void (*get_settings)(struct net_device *, struct ethtool_cmd *);
> void (*phy_reset_enable)(void __iomem *);
> unsigned int (*phy_reset_pending)(void __iomem *);
> @@ -549,7 +551,9 @@ static void rtl8169_check_link_status(st
> spin_unlock_irqrestore(&tp->lock, flags);
> }
>
> -static void rtl8169_link_option(int idx, u8 *autoneg, u16 *speed, u8 *duplex)
> +static void rtl8169_link_option(int idx,
> + u8 *autoneg, u16 *speed, u8 *duplex,
> + u32 *advertising)
> {
> struct {
> u16 speed;
> @@ -579,6 +583,23 @@ static void rtl8169_link_option(int idx,
> *autoneg = p->autoneg;
> *speed = p->speed;
> *duplex = p->duplex;
> +
> + if (p->media == _10_Half)
> + *advertising = ADVERTISED_10baseT_Half;
> + if (p->media == _10_Full)
> + *advertising = ADVERTISED_10baseT_Full;
> + if (p->media == _100_Half)
> + *advertising = ADVERTISED_100baseT_Half;
> + if (p->media == _100_Full)
> + *advertising = ADVERTISED_100baseT_Full;
> + if (p->media == _1000_Full)
> + *advertising = ADVERTISED_1000baseT_Full;
> + if (p->media == 0xff)
> + *advertising = ADVERTISED_10baseT_Half |
> + ADVERTISED_10baseT_Full |
> + ADVERTISED_100baseT_Half |
> + ADVERTISED_100baseT_Full |
> + ADVERTISED_1000baseT_Full;
> }
So, is there no way to advert just 100Mbps-half and -full ?
Seems like you should be able to set each flag by itself and
create a bit-mask of the particular flags that you want...
Ben
--
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc http://www.candelatech.com
next prev parent reply other threads:[~2005-05-27 23:59 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-27 22:36 [PATCH] r8169: support restricting speed+duplex in autonegotiation Richard Dawe
2005-05-27 23:59 ` Ben Greear [this message]
2005-05-28 13:28 ` Richard Dawe
2005-05-28 14:42 ` Francois Romieu
2005-05-28 20:39 ` Richard Dawe
2005-05-29 22:54 ` Francois Romieu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4297B479.1080404@candelatech.com \
--to=greearb@candelatech.com \
--cc=netdev@oss.sgi.com \
--cc=rich@phekda.gotadsl.co.uk \
--cc=romieu@fr.zoreil.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).