[Etherboot-developers] 3c900 not working ...
Brought to you by:
marty_connor,
stefanhajnoczi
|
From: Paul M. <pa...@as...> - 2002-12-12 22:22:45
|
Hi,
I've been trying to get an old 3c900(B?) combo card working with
etherboot-5.0.8, initially via a floppy boot.
Etherboot detected the card correctly, chose to use the UTP media option
and got as far as attempting to send its first ethernet frame (DHCP
discovery) before hanging.
Being of an inquisitive nature, I tracked the problem down to line 206 of
3c595.c If I understand this correctly, this is a tight loop that waits
for the FIFO buffer to become sufficiently free that it has space for the
first packet. The problem is FREE_TX is always returning 0 :^/
I was using the Linux driver as a comparison (to try and figure out how
things worked) and I noticed something odd. In 2.4.19 (what I had to
hand), there's a discrepancy between what Linux uses for the offset and
what etherboot does. In Linux (3c59x.c line 626)
> /* Register window 1 offsets, the window used in normal operation.
> On the Vortex this window is always mapped at offsets 0x10-0x1f. */
> enum Window1 {
> TX_FIFO = 0x10, RX_FIFO = 0x10, RxErrors = 0x14,
> RxStatus = 0x18, Timer=0x1A, TxStatus = 0x1B,
> TxFree = 0x1C, /* Remaining free bytes in Tx buffer. */
> };
Also, the Linux driver never sets the Window to 1. So Window 1 could be
repeated, at the slightly higher offsets for (my) Boomerang card, not just
the Vortex.
Whereas, in etherboot, there's (3c595.h line 137 onwards)
> /*
> * Window 1 registers. Operating Set.
> */
[...]
> #define VX_W1_FREE_TX 0x0c
The etherboot driver *does* change the Window to 1. This could explain the
discrepancy in offsets.
I tried changing VX_W1_FREE_TX to 0x1c, but the card still returned 0x0
for each query of FREE_TX.
Any suggestions?
Cheers,
Paul.
PS
The card works perfectly under Linux, btw.
PPS
Please CC emails to me as I'm not subscribed to the list
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Particle Physics (Theory & Experimental) Groups Paul Millar
Department of Physics and Astronomy pa...@as...
University of Glasgow pa...@ph...
Glasgow, G12 8QQ, Scotland http://www.astro.gla.ac.uk/users/paulm
+44 (0)141 330 4717 A54C A9FC 6A77 1664 2E4E 90E3 FFD2 704B BF0F 03E9
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|