Re: X-surf driver
At 08:25 +0100 3/1/01, Øyvin Halfdan Thuv wrote:
Erik van Roode wrote:
At 03:33 PM 2/28/01 +0200, yvin Halfdan Thuv wrote:
>Does any one have a driver for the X-surf ehternetboard for amiga?
There is a patch file available at:
http://www.jschoenfeld.com/support/support_e.htm
but is seems to be a source patch for 2.4 kernel.
Yeah, I saw that. It's a patch for the Ariadne driver...
>And will
>it need a recompile of the kernel to install?
Yes. Unless someone is kind enough to do it for you. I haven't actually
tried to do it for a 2.2.17 kernel, but I'll try tonight.
hmmm. could take *ages* on a 030/50 FPU then... but I've never
actually tried to
compile a kernel, so I suppose I should give it a try. Though it
would be nice if
anyone already had a prepayched ariadnedriver, so I just need a
kernel-recompile,
not to begin tweaking to much with the code...
That "I'll try tonight" was delayed a bit, but today I finally managed
to get my wife to go shopping alone ;) The changes that need to be
made to ariadne2.c are so trivial, I'm almost ashamed it took me
so much time to figure it out.
What I did:
- installed source packages linux-kernel-source-2.2.17 and
kernel-patch-2.2.17-m68k
- patched the kernel source with patches
- applied 2 patches: (appended at bottom of this message)
- patch drivers/net/ariadne2.c to get xsurf card working
- patch arch/m68k/amiga/config.c to handle A2000 hardware
clock that only stores 2 digit years
- currently building a kernel-image
I only did minimal testing on the xsurf. I installed wu-ftpd, and
transfered a few files from my a2000 to a powermac g4. For a 17MB
file I got about 300K/sec (but a2000 was compiling kernel, so
transfer rate might be better under less loaded conditions).
I am not a debian developer. From a security standpoint
downloading binaries made by me is unwise. I suggest you
compile your own kernel. If you need some help on how to compile
a kernel with my patches, send me a note. Compiling is going to
take hours thought ... I am building a .deb that you could get
a copy of if you trust me (I have to admit I would not trust
me if I were in your position).
Anyway, the patches are for 2.2.17pre6. One of these days I'll
try a newer version
Erik
--- ariadne2.c.orig Sun Mar 18 21:08:17 2001
+++ ariadne2.c Sun Mar 18 21:08:08 2001
@@ -39,6 +39,7 @@
#define ARIADNE2_BASE 0x0300
+#define XSURF_BASE 0x8600
#define ARIADNE2_BOOTROM 0xc000
@@ -89,7 +90,7 @@
u_long board;
int err;
- if ((key = zorro_find(ZORRO_PROD_VILLAGE_TRONIC_ARIADNE2, 0, 0))) {
+ if ((key = zorro_find(0x12121700, 0, 0))) {
cd = zorro_get_board(key);
if ((board = (u_long)cd->cd_BoardAddr)) {
if ((err = ariadne2_init(dev, key, ZTWO_VADDR(board))))
@@ -112,7 +113,7 @@
0x00, 0x02, 0x04, 0x06, 0x08, 0x0a, 0x0c, 0x0e,
0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e,
};
- int ioaddr = board+ARIADNE2_BASE*2;
+ int ioaddr = board+XSURF_BASE;
if (load_8390_module("ariadne2.c"))
return -ENOSYS;
--- config.c.orig Sun Mar 18 21:07:14 2001
+++ config.c Sun Mar 18 21:07:10 2001
@@ -591,6 +591,10 @@
t->mon = tod->month1 * 10 + tod->month2 - 1;
t->year = tod->year1 * 10 + tod->year2;
+ if (t->year < 78) {
+ t->year += 100;
+ }
+
if (!(tod->cntrl3 & TOD2000_CNTRL3_24HMODE)){
if (!(tod->hour1 & TOD2000_HOUR1_PM)
&& t->hour == 12)
t->hour = 0;
@@ -598,6 +602,8 @@
t->hour += 12;
}
} else {
+ t->year %= 100; /* breaks in 2078 - EvR */
+
tod->second1 = t->sec / 10;
tod->second2 = t->sec % 10;
tod->minute1 = t->min / 10;
Reply to: