>Mikael wrote:
>> Ok.. I took a clean 1.3.13 sourcetree, applied Linus axp-diff-1.3.10 and
>> Davids axp-diff-1.3.10-noname. After that I applied your 8390 patches.
>> No rejects.
>>
Ok. New Try. Added your last patch (for 3c503.c).
>> I have access to an 8bit 3c503 card, (configed to bnc,irq 5,0x280,0xc8000,
>> 8k RAM), and the only included ethernet adapter was the 3c503 (I normally
>> compile in the ne2k driver,but I thought they might collide or something..).
>> If I dont send the "ether" parameters at the bootpromt, the kernel dies
>> with a "Unable to handle kernel paging request at virtual adress 0x000ddffc"
>> when it probes for the the card. (It also dumps the registers and stuff,
>> if you want the output or want me to try something, plz mail me.)
Paul wrote:
> other cards, and then post an update to the alpha channel. Perhaps I should
> subscribe to it if it is reasonably low traffic...
Might be a good idea. Not so much traffic. Or you can read the mails on
the linuxnetserver on http://homer.ncm.com/ which saves all mails (and
also makes its own type of "digests") for all the big linux lists at vger.
> There were still a couple of direct memory dereferences in the 3c503
> driver that I missed. The fatal one that Mikael Nykvist hit was fairly
> obvious. The others were in the ifdef EL2MEMEST, which isn't used by
> default. However it may be useful in debugging, so it now uses the
> approriate readl/writel() calls as well. Adding a "#define EL2MEMTEST"
> at the top of 3c503.c may prove useful in testing things on an Alpha.
> If the memory test fails, the driver falls back to using the card in
> PIO mode, similar to a ne2k.
Ok. The autoprobe still fails (kernel dies) with a message of:
"Unable to handle kernel paging request at virtual adress 0xffff7c020607ee00"
This looks better than the last one, mainly because it is a real virtual
adress (the previous one was a isa physical one).
So, I rebooted and specifed the "ether=" line at the bootprompt. Voila! =)
Works "almost" perfect (se the perf note later down).
Ok. I also tried enabling the EL2MEMTEST, which also passes wo a problem
if I specify the card at the bootprompt.
I also tried disabling the ram on the card (to try out the "fail-back-to-
pio" mode). I cant get this to work. It doesnt matter if I specify the
card or not, it always hangs when booting. (As a side note, I couldnt either
get card to work in a pc here, wo enabling the ram, so it might be a hw bug).
I will try to add dozens of printks tomorrow to debug the probe and why the
kernel dies when using piomode (which really should be the mode that would
work).
So the perfnote. My alpha is routed to the net thro a pc (486sx25) running
FreeBSD... If I have the ne2k(16 bit) card in my alpha and the 3c503
(*8* bit) in the pc, I have ftp transfer rates of about 350-400k/s both way.
When I switch cards, I have about 300-350k/s sending from the alpha, but
only about 40k/s when receiving.. =(
I can see 3 reasons.
1. The Linux driver for 3c503 cards (maybe the 8bit version) sux when
receiving.
2. Something really bad is happening when using the driver on Linux/Alpha.
3. The driver for the ne2k card for FreeBSD (I have tried both a 2.0.5 and
a very fresh 2.1.0 kernel) sux when sending.
Keep up the good job guys!
Great job with the 3c503 driver paul! (I will send you an message tommorow
with my results of printk debugging.)
/Mikael
-- Mikael Nykvist, viper@ludd.luth.se Running Linux/Alpha at 233Mhz!!!. http://www.ludd.luth.se/~viper/