2002-06-08 20:04:43

by Andries E. Brouwer

[permalink] [raw]
Subject: eth problems

Two flaws and a problem:

Flaw 1:
The boot messages reveal what cards have been assigned what
ethN number for some, but not all cards. E.g.,

# dmesg | grep eth
eth0: 3c5x9 at 0x300, 10baseT port, address ..., IRQ 10.
eth2: RealTek RTL8139 Fast Ethernet at 0xd080d000, ..., IRQ 9
eth2: Identified 8139 chip type 'RTL-8139A'
eth3: i82596 ...
#

What is eth1? This information seems not easily available.

I once gave a patch - can dig it up again if there is any interest.
The kernel should report, preferably in a uniform way,
ethN: Vendor Model, MAC address, ...

Flaw 2:
Debugging output:

phy=0, phyx=24, mii_status=0xffff
phy=1, phyx=0, mii_status=0xffff
...
phy=24, phyx=23, mii_status=0xffff
phy=25, phyx=25, mii_status=0xffff
...
phy=31, phyx=31, mii_status=0xffff
***WARNING*** No MII transceivers found!


Problem:
[The above two flaws apply to many kernel versions.
However, today, upon booting 2.5.20 net connection failed.]

...
3c59x: Donald Becker and others. http://www.scyld.com/network/vortex.html
00:0d.0: 3Com PCI 3c590 Vortex 10Mbps at 0xb400. Vers LK1.1.17
00:0d.0: Overriding PCI latency timer (CFLT) setting of 32, new value is 248.
...
NETDEV WATCHDOG: eth1: transmit timed out
eth1: transmit timed out, tx_status 00 status e000.
diagnostics: net 0cc0 media 88c0 dma 00000021 fifo 0000
Flags; bus-master 1, dirty 0(0) current 16(0)
...
eth1: Resetting the Tx ring pointer.
...

Andries


2002-06-08 20:28:35

by David Lang

[permalink] [raw]
Subject: Passthrough kernel module?

I am attempting to reverse engineer the interface for a piece of equipment
and it would be extreamly handy to have a kernel module that I could load
that I could then point a /dev entry and and have the module echo
everything that is sent to it (reads/writes/ioctls) to the real device,
recording the request and response.

Does such a module exist? Is there a better way to do this that I'm
missing?

David Lang

2002-06-09 12:55:17

by Gilad Ben-Yossef

[permalink] [raw]
Subject: Re: Passthrough kernel module?

On Sat, 2002-06-08 at 23:24, David Lang wrote:
> I am attempting to reverse engineer the interface for a piece of equipment
> and it would be extreamly handy to have a kernel module that I could load
> that I could then point a /dev entry and and have the module echo
> everything that is sent to it (reads/writes/ioctls) to the real device,
> recording the request and response.
>
> Does such a module exist? Is there a better way to do this that I'm
> missing?

Much better way:

1. Grab the CVS version of syscall-track from
http://syscalltrack.sourceforge.net/ (AFAIK the stable version doesn't
support read/write yet).
2. Define logging rules on read/write/ioctl on the specific device.
3. Enjoy ;-)

Gilad.

--
Gilad Ben-Yossef <[email protected]>
Code mangler, senior coffee drinker and VP SIGSEGV
Qlusters ltd.

"A billion flies _can_ be wrong - I'd rather eat lamb chops than shit."
-- Linus Torvalds on lkml