Re: NDD-a-like

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jan 22, 2002 at 08:56:59AM -0500, Jeff Garzik wrote:
> Simon Stewart wrote:
> > 
> > On Tue, Jan 22, 2002 at 01:56:41PM +0100, Andi Kleen wrote:
> > > On Mon, Jan 21, 2002 at 05:56:25PM +0000, Simon Stewart wrote:

<snip "how to determine link status, speed, etc. of nics">

> > > > In addition, it would be handy to be able to force some of these
> > > > settings (such as connection speed) should I need to. There are tools
> > > > such as mii-diag out there, but these appear to be specific to each
> > > > net device driver, and are therefore wholly unsuitable for automated
> > > > testing (such as by a generic script run from a cron-job)
> > >
> > > mii-tool can do all that for most drivers (but not all because they need to
> > > support some special ioctls) It should be included in newer distributions.
> > 
> > I stand corrected. mii-diag does do what I need. Thanks! It looks like
> > there's not much call for a procfs based alternative, is there? Might
> > still be a nice starter project to get into kernel hacking, though....
> 
> Actually, "ethtool" is the desired tool for this job. 
> http://sf.net/projects/gkernel/
> 
> mii-diag only works for a subset of ethernet hardware, the hardware that
> supports MII interface properly.  Further, the SIOCxMIIxxx interface
> does not support all the NIC diagnostic and tuning one would like to
> do.  That's why ethtool interface was created.
> 
> Now, with that said, it should be noted that like mii-diag, not all
> drivers yet support this interface.

Just downloaded and run ethtool, and it's a lot less functional than
mii-diag, at least for my eepro100:

sms@lauren:~/src/ethtool-1.4$ sudo ./ethtool eth0
Settings for eth0:
No data available

sms@lauren:~/src/ethtool-1.4$ sudo ./ethtool -i eth0
driver: eepro100
version: eepro100.c:v1.09j-t 9/29/99 Don
firmware-version:
bus-info: 00:0f.0

sms@lauren:~/src/ethtool-1.4$ sudo mii-diag
Using the default interface 'eth0'.
Basic registers of MII PHY #1:  3000 782d 02a8 0150 05e1 40a1 0001 ffff.
 The autonegotiated capability is 00a0.
The autonegotiated media type is 100baseTx.
 Basic mode control register 0x3000: Auto-negotiation enabled.
 You have link beat, and everything is working OK.
 Your link partner advertised 40a1: 100baseTx 10baseT.
   End of basic transceiver informaion.

mii-diag provides a lot more diagnostic information, which is what I
really want, unless I'm missing something _really_ obvious. So, in
order to get the information that I want from the system, I need to
run the (not necessaryily supported) mii-diag to determine its current
state, and then the (not necessarily supported) ethtool to set various
parameters?

It would be a lot simpler to do something like this to see which
features of the card are supported:

$ ls /proc/net/devices/eth0
speed_10	speed_100	speed_auto	link_status
full_duplex	half_duplex	media_type

And then to see what's being used atm:

$ cat /proc/net/devices/eth0/speed_*
0
1
0

Then, in order to set an attribute, something like:

$ echo 1 > /proc/net/devices/eth0/speed_10
$ cat /proc/net/devices/eth0/speed_*
1
0
0

Okay, so the proposed interface isn't consistant, but you get the
basic idea? Assuming that I get some free time over the next couple of
days, I might attempt to put together a simple module that does some
of this (if only read-only) Would I just be wasting my time, or do any
of you think that this is a handy thing to have in the kernel?

Cheers,

Simon

-- 
Basically, a tool is an object that enables you to take advantage of the
laws of physics and mechanics in such a way that you can seriously injure
yourself.  - Dave Barry, "The Taming of the Screw"
-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux