Re: DS-207 network failure
Frank Wille <[email protected]> Sun, 29 May 2011 13:07:07 +0200
| Newsgroups | gmane.os.netbsd.ports.sandpoint |
|---|---|
| Organization | Privates Internet Ostwestfalen/Lippe e.V. |
| Message-ID | <[email protected]> |
On Sun, 29 May 2011 07:21:04 +0100 Julian Coleman <[email protected]> wrote: > > Before we start manipulating registers we should also check their > > status after the chip reset. A modified altboot can be downloaded from > > After a reset, the difference is: > > --- sk-reset.works.text 2011-05-29 07:01:51.000000000 +0100 > +++ sk-reset.fails.text 2011-05-29 07:01:37.000000000 +0100 > @@ -61,2 +61,2 @@ > -03c0: 00 00 f0 05 00 80 a0 01 01 50 02 fe 00 2e 00 0c > -03d0: 03 00 00 80 00 00 00 00 00 00 04 00 00 00 00 00 > +03c0: 00 00 f0 05 04 80 a0 01 01 50 02 fe 00 2e 00 0c > +03d0: 03 00 fc 80 00 00 00 78 00 00 04 00 00 00 00 00 > > This is in the PCI configuration registers. I wonder if it is relevant, > or if we need to dump out more registers. I will start looking through > the manuals: > > http://people.freebsd.org/~wpaul/SysKonnect/techmanual-ge.pdf Thanks! That manual is very useful! In chapter 10.4 it describes the device specific configuration space registers starting at offset 0x40, as shown above. The differences between offset 0x52 (0x3d2) and 0x57 are irrelevant, because they contain the VPD address and data register, used to read the vital product data from a ROM. But the difference at offset 0x44 (0x3c4) is very interesting! According to the Genesis documentation bit 2 of OurReg2 is Rev_Bytes_Desc: "Revert byte order in any descriptor's 32-bit words". This would explain why our transmit and receive descriptors no longer work. The chip assumes a different endianess! I will investigate and try to prepare a patch... -- _ Frank Wille ([email protected]) _ // http://sun.hasenbraten.de/~frank/ \X/ Phx @ #AmigaGer