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