Port-sandpoint archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Synology PPCBoot SK98 network bug fix
Hi,
> The problem is that PPCBoot uses the Linux SK98 driver, which configures
> the Genesis interface to automatically revert the bytes in all
> descriptors. This is a bit in the PCI config space, which is unaffected
> by any chip reset our drivers are doing, so the receive- and transmit-
> descriptors are not working.
Good catch!
> I have uploaded an updated altboot at
> ftp://ftp.netbsd.org/pub/NetBSD/misc/phx/sandpoint/altboot.bin.gz
>
> Please, anybody running a Synology with network problems, try it and
> report back if it helps. The new altboot will just reset the byte-reverse
> bit in config space.
With this altboot.bin:
transmit works in altboot (I see bootp requests and reply to them)
receive fails in altboot (I see 4 "timeout" and 1 "bootp: no reply")
both transmit and receive work in the kernel (I can use an NFS root)
So, I'm slightly puzzled why it works in the kernel, but not in altboot.
I would guess that either the chip doesn't think that the packet is for
us (wrong MAC address loaded?) or that we are not getting receive interrupts.
The latter seems unlikely, but I notice that the kernel driver also sets up
Source Address {Low|Middle|High} #2 and the multicast filters. I will try
adding those to altboot tomorrow.
Also, on finding somewhere to place altboot on the flash, my ppcboot reports:
_MPC824X > flinfo
Bank # 1:
Brand: AMD Type: SPANSION S29AL032D (32 Mbit)
Size: 4096 KB in 71 Sectors
Sector Start Addresses: 0xffc00000
FFC00000 RO FFC10000 RO FFC20000 RO FFC30000 RO FFC40000 RO
FFC50000 RO FFC60000 RO FFC70000 RO FFC80000 RO FFC90000 RO
FFCA0000 RO FFCB0000 RO FFCC0000 RO FFCD0000 RO FFCE0000 RO
FFCF0000 RO FFD00000 RO FFD10000 RO FFD20000 RO FFD30000 RO
FFD40000 RO FFD50000 RO FFD60000 RO FFD70000 RO FFD80000 RO
FFD90000 RO FFDA0000 E RO FFDB0000 E RO FFDC0000 E RO FFDD0000 E RO
FFDE0000 E RO FFDF0000 E RO FFE00000 RO FFE10000 RO FFE20000 RO
FFE30000 RO FFE40000 RO FFE50000 RO FFE60000 RO FFE70000 RO
FFE80000 RO FFE90000 RO FFEA0000 RO FFEB0000 RO FFEC0000 RO
FFED0000 RO FFEE0000 RO FFEF0000 RO FFF00000 RO FFF10000 RO
FFF20000 RO FFF30000 RO FFF40000 RO FFF50000 RO FFF60000 RO
FFF70000 E RO FFF80000 E RO FFF90000 E RO FFFA0000 E RO FFFB0000 E RO
FFFC0000 E RO FFFD0000 E RO FFFE0000 E RO FFFF0000 RO FFFF2000 E
FFFF4000 E FFFF6000 E RO FFFF8000 E RO FFFFA000 E FFFFC000 E RO
FFFFE000 E
_MPC824X > printenv bootcmd
bootcmd=bootm FFC00000 FFE00000
so, it's easy to see the empty sectors (they are marked with an 'E' and
contain only 0xff.
Thanks,
J
--
My other computer also runs NetBSD / Sailing at Newbiggin
http://www.netbsd.org/ / http://www.newbigginsailingclub.org/
Home |
Main Index |
Thread Index |
Old Index