Port-amiga archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: strange ne2000ish card on A1200



Ok, I looke at some code.

On Sun, Mar 22, 2020 at 12:09:57AM +0100, Karoly Balogh (Charlie/SGR) wrote:

> > > pcmcia0 at pccard0
> > > pcmcia0 function 0: (PCMCIA, Fast-Ethernet, , ) (manufacturer 0xffff,
> > > product 0x1090)
> > >  not configured
> > >
> > > I wonder if the hardware is broken, as that manufacturer ID seems
> > > suspicious,

Lots of pcmcia cards have supsicious or missing numeric vendor and/or
product codes. Our pcmcia driver's match routine (if no chipset-specific 
one is used) as well as the if_ne_pcmcia.c match routine don't use 
vendor/product, but use the strings in the CIS. They're not very
specific here - somebody wanted to make sure never to be found by a
revengeful user I guess, or didn't want to do the letwork of replacing
the generic info in the chip's prom by card-specific info - but we an try

> > > just as the missing vendor info, but the fact is, is still
> > > works under AmigaOS.

hehe. The reason is, that as far as I can tell, cnet.device doesn't do
any check on anything card-specific. If a card function type is provided
as network card, it believes it. If no card function type is provided,
it believes it is a network card, too.

If a different function type is provided, it rejects it (fortunately).

But if it is a network card with a different chipset, it will be very
confused. Try to put a 3c589 in oneday. Or better- don't try. 

> 00:40:F4:18:A2:E9. This actually matches the label on the card, which
> shows the same MAC. Also I just went back and verified if the card is
> still functional under AmigaOS, and it is.

I came up with this quick one-file patch. To go officially in, we'd
put definitions into pcmciadevs, recompile the derived files, and use
the symbols in the driver, but for a test it will work fine. Go to the
top of your source tree, and pipe this e-mail into

patch -p0

or add the three line marked with +, without the plusses, after line 
183 in netbsd-current; then recompile the kernel. 

Index: sys/dev/pcmcia/if_ne_pcmcia.c
===================================================================
RCS file: /cvsroot/src/sys/dev/pcmcia/if_ne_pcmcia.c,v
retrieving revision 1.161
diff -u -r1.161 if_ne_pcmcia.c
--- sys/dev/pcmcia/if_ne_pcmcia.c	27 Dec 2019 08:01:58 -0000	1.161
+++ sys/dev/pcmcia/if_ne_pcmcia.c	23 Mar 2020 20:54:40 -0000
@@ -181,6 +181,9 @@
       PCMCIA_CIS_GENIUS_ME3000II,
       0, -1, { 0x00, 0x40, 0x95 }, 0 },
 
+    { PCMCIA_VENDOR_INVALID, 0x1090,
+      { "PCMCIA", "Fast-Ethernet", NULL, NULL},
+      0, -1, { 0x00, 0x40, 0xf4 }, 0},
 
     /*
      * You have to add new entries which contains

If this doesn't work, compile a kernel with
options PCMCIAVERBOSE

and report what it says about the card, or run cnet.device's program
card_info on AmigaOS and report what that one says. (Pipe into a file
and send the file!)

Regards,
	-is


Home | Main Index | Thread Index | Old Index