Seewer Philippe wrote:


Don Fry wrote:
On Mon, Feb 20, 2006 at 04:30:22PM +0100, Seewer Philippe wrote:
Basic result: Works perfectly (exceptions see below) out of the box

Problem 1: During probe1, lp->options is silently overwritten with PCNET32_PORT_MII. Even setting the statement to lp->options |= doesn't help mutch, the eeprom defaults of the card are used always.


The options are ignored for multi-phy cards.  The option might be valid
for the fiber port, but not what you want for the copper port, for
example.  If you have a better suggestion I would be very interrested.
Perhaps the defaults should only be used if no parameters are set.

I've been fiddling with the code a bit to see wether i could configure all connected phys according to module parameters but can't get it to work. Any suggestions how to tackle this?


Problem 2: Switching only works if the cards eeprom is programmed to use the fiber port as default. Otherwise the fiber port is seen (output says yes, i've got two phys) but not used.

I am very ignorant of the eeprom settings, so I probably  missed many
things in my testing.  When I was playing around with the interfaces, I
would bring up the interface, unplug one cable and plug in the other.

I also used ethtool to force full and half duplex and speed, to see how
the interface would behave.

What do you use to display/change the eeprom settings of a card?
Allied Telesyn provides a dos tool (dxdiag.exe) with which eeprom-settings can be changed (including default port and speed/duplex)

If the fiber card was just seen but not used, what did the registers of
the card contain?
Which registers are you interested in?


OK, found it.

The code in pcnet32_open assigns XCVR_INTERNAL to ecmd.port instead of ecmd.transceiver, making mii_ethtool_sset fail and leaving all phys configured to defaults.

On the Allied Telesyn FTX cards this means to use autoneg on tp when default is fiber and 10/half on fiber when tp is default. Thats why the fiber port didn't work, because it only supports 100Mbit. Overriding the speed/duplex with ethtool makes it work though.

Assigning XCRV_INTERNAL to the correct attribute introduces a new problem: Since all options are ignored the code forces all phys to 10/half, so ethtool is needed again to reconfigure the settings.

Changing the option override in probe1 to |= works and configures all phy's with the correct options (except for autoneg of course, which is still specifically ignored).

I don't know whether it was the intention of the patch to force usage of ethtool or not... Any suggestions?

Regards
Philippe Seewer








-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to