[tulip] AT-2800TX, I give up
Donald Becker
becker@scyld.com
Wed Feb 20 14:05:01 2002
On Wed, 20 Feb 2002, Gert Doering wrote:
> > OOoops, I meant 'tulip-diag --reset -aemm'.
> > The code to reset the transceiver requires that the EEPROM table be read.
>
> ok, here we go... (ifconfig eth0 down first, otherwise it won't do
> anything)
Use '-f' or '--force' to do register operations even when the chip is
operating. This is mostly safe. You will likely only erase the current
packet error count. There is only a very slim chance that you will
cause an operational problem.
> EEPROM transceiver/media description table.
> Leaf node at offset 30, default media type 0800 (Autosense).
> 3 transceiver description blocks:
> Media MII, block type 3, length 19.
> MII interface PHY 0 (media type 11).
> 21143 MII initialization sequence is 0 words:.
> 21143 MII reset sequence is 3 words: 0807 0000 0002.
...
> Media Device Reset, block type 5, length 8.
> Transceiver Reset, sequence length 3: 0807 0000 0002.
> Performing a transceiver reset.
> New CSR15 value is 8ff00000.
OK, the transceiver reset happened. Curiously the CSR15 register is
slightly different now.
> No MII transceivers found!
But we still don't see a MII transceiver.
> Media PHY Shutdown, block type 6, length 11.
> Disconnect reset forLink fail, D1 sleep, D2 sleep, D3 sleep, sequence length 4: 0807 0000 0000 0002.
I'll have to tweak this new message.
> -> didn't help, no LEDs, no packets, same kernel message(s):
OK, lets just concentrate on getting the LED to light. That should
indicate that the transceiver is getting power.
This requires some detailed work.
[[ Professional driver <writer> on a closed course. Please don't try
this at home. ]]
The tulip-diag program has a special hack to write the GPIO general
purpose I/O pin register, CSR15. Pass -G <value> We can use this to set
the output pins to various values, and see if they control anything.
0x080-.... Says "set the pins to be outputs (bit == 1) or inputs (0)
0x000-.... Says "set the output pins to this value"
0x---1.... Means GEP0
0x---2.... Means GEP1
0x---4.... Means GEP2
0x---8.... Means GEP3
Watch the LED while doing the following.
Use this to set all GPIO pins to be outputs
tulip-diag -G 0x080f0000
Use this to try setting each output pin to '1' in order
tulip-diag -G 0x00010000
tulip-diag -G 0x00020000
tulip-diag -G 0x00040000
tulip-diag -G 0x00080000
Use this to set all GPIO pins to be inputs, and see their values.
tulip-diag -G 0x08000000
Donald Becker becker@scyld.com
Scyld Computing Corporation http://www.scyld.com
410 Severn Ave. Suite 210 Second Generation Beowulf Clusters
Annapolis MD 21403 410-990-9993