Discussion:
PCMCIA ne2000 compatible Ethernet card driver
(too old to reply)
Javier Steinaker
2008-03-07 15:36:07 UTC
Permalink
Hi,

First of all, sorry for my english. I'm from
Argentina, and a newbie in NetBSD (Linux user).
I'm having a problem with the EXP ThinLAN 100 card I
own: NetBSD doesn't recognize it. Under Linux, it
works perfect.
You can see the card here:
http://www.expnet.com/product.nsf/price+for+calculation/ThinLan-100
As you can see, the card is an NE-2000 compatible. In
fact, under Linux works with the ne2000 driver. But
NetBSD doesn't load the driver. dmesg shows the kernel
knows there's an Ethernet card in pcmcia0, but
apparently doesn't know which card it is. The line is
the next:
pcmcia0 function 0: <PCMCIA LAN, Ethernet, A,
004743118001> (manufacturer 0xffffffff, product
0xffffffff)
not configured

As I understand, there are two possibilites:
* The kernel knows what card it is, but doesn't know
which driver load. In that case, I've heard that would
be relatively easy to tell the kernel "the truth",
modifying a table in the source code. I've looked the
source, but I cannot understand it very well.
* The kernel doesn't recognize the card at all. In
that case, I don't know what I should do (but I hope
you know).

Can you tell me about what case we 're talking? And
provide me a solution?

Many thanks,
Javier


Yahoo! Encuentros.

Ahora encontrar pareja es mucho más fácil, probá el nuevo Yahoo! Encuentros http://yahoo.cupidovirtual.com/servlet/NewRegistration
Ari Constancio
2008-03-07 16:00:58 UTC
Permalink
Hi Javier,

Probably the card's entry is commented in
/usr/src/sys/arch/<ARCH>/conf/GENERIC (I haven't checked, though).

See http://netbsd.org/docs/kernel/index.html#how_to_build_a_kernel and
http://netbsd.org/docs/kernel/index.html#new_pcmcia_device .

Cheers,
Ari Constancio

On Fri, Mar 7, 2008 at 2:34 PM, Javier Steinaker
Post by Javier Steinaker
Hi,
First of all, sorry for my english. I'm from
Argentina, and a newbie in NetBSD (Linux user).
I'm having a problem with the EXP ThinLAN 100 card I
own: NetBSD doesn't recognize it. Under Linux, it
works perfect.
http://www.expnet.com/product.nsf/price+for+calculation/ThinLan-100
As you can see, the card is an NE-2000 compatible. In
fact, under Linux works with the ne2000 driver. But
NetBSD doesn't load the driver. dmesg shows the kernel
knows there's an Ethernet card in pcmcia0, but
apparently doesn't know which card it is. The line is
pcmcia0 function 0: <PCMCIA LAN, Ethernet, A,
004743118001> (manufacturer 0xffffffff, product
0xffffffff)
not configured
* The kernel knows what card it is, but doesn't know
which driver load. In that case, I've heard that would
be relatively easy to tell the kernel "the truth",
modifying a table in the source code. I've looked the
source, but I cannot understand it very well.
* The kernel doesn't recognize the card at all. In
that case, I don't know what I should do (but I hope
you know).
Can you tell me about what case we 're talking? And
provide me a solution?
Many thanks,
Javier
Yahoo! Encuentros.
Ahora encontrar pareja es mucho más fácil, probá el nuevo Yahoo! Encuentros http://yahoo.cupidovirtual.com/servlet/NewRegistration
Manuel Bouyer
2008-03-07 20:19:40 UTC
Permalink
Post by Javier Steinaker
Hi,
First of all, sorry for my english. I'm from
Argentina, and a newbie in NetBSD (Linux user).
I'm having a problem with the EXP ThinLAN 100 card I
own: NetBSD doesn't recognize it. Under Linux, it
works perfect.
http://www.expnet.com/product.nsf/price+for+calculation/ThinLan-100
As you can see, the card is an NE-2000 compatible. In
fact, under Linux works with the ne2000 driver. But
NetBSD doesn't load the driver. dmesg shows the kernel
knows there's an Ethernet card in pcmcia0, but
apparently doesn't know which card it is. The line is
pcmcia0 function 0: <PCMCIA LAN, Ethernet, A,
004743118001> (manufacturer 0xffffffff, product
0xffffffff)
not configured
* The kernel knows what card it is, but doesn't know
which driver load. In that case, I've heard that would
be relatively easy to tell the kernel "the truth",
modifying a table in the source code. I've looked the
source, but I cannot understand it very well.
* The kernel doesn't recognize the card at all. In
that case, I don't know what I should do (but I hope
you know).
Can you tell me about what case we 're talking? And
provide me a solution?
The first, most probably. Adding it to the table should be easy.
Can you send me the linux dmesg when it probes this card ?
--
Manuel Bouyer <***@antioche.eu.org>
NetBSD: 26 ans d'experience feront toujours la difference
--
Manuel Bouyer
2008-03-07 20:31:47 UTC
Permalink
Post by Manuel Bouyer
The first, most probably. Adding it to the table should be easy.
Can you send me the linux dmesg when it probes this card ?
I'll also need the first 3 bytes of the ethernet address (the vendor
part of the address).
--
Manuel Bouyer <***@antioche.eu.org>
NetBSD: 26 ans d'experience feront toujours la difference
--
Javier Steinaker
2008-03-10 00:09:44 UTC
Permalink
Hi again,

Under Puppy Linux, I ejected the card and inserted it
again. The results in dmesg:

-------------------------------------------------
pccard: card ejected from slot 0
pccard: PCMCIA card inserted into slot 0
pcmcia: registering new device pcmcia0.0
eth0: NE2000 Compatible: io 0x300, irq 3, hw_addr
00:C0:0C:03:78:F1
-------------------------------------------------

As you can see, the hardware address is in the last
line.
One more thing: the driver, in Linux, is called
pcnet-cs.

Greetings,
Javier


Yahoo! Encuentros.

Ahora encontrar pareja es mucho más fácil, probá el nuevo Yahoo! Encuentros http://yahoo.cupidovirtual.com/servlet/NewRegistration
Manuel Bouyer
2008-03-11 21:23:32 UTC
Permalink
Post by Javier Steinaker
Hi again,
Under Puppy Linux, I ejected the card and inserted it
-------------------------------------------------
pccard: card ejected from slot 0
pccard: PCMCIA card inserted into slot 0
pcmcia: registering new device pcmcia0.0
eth0: NE2000 Compatible: io 0x300, irq 3, hw_addr
00:C0:0C:03:78:F1
-------------------------------------------------
As you can see, the hardware address is in the last
line.
One more thing: the driver, in Linux, is called
pcnet-cs.
OK, could you try the attached patch ?
--
Manuel Bouyer <***@antioche.eu.org>
NetBSD: 26 ans d'experience feront toujours la difference
--
Javier Steinaker
2008-03-12 17:28:27 UTC
Permalink
Post by Manuel Bouyer
OK, could you try the attached patch ?
Tried. The good news? The kernel now recognizes the
card! In fact, the lines in dmesg are:
----------------------------------------------------
ne0 at pcmcia0 function 0: <PCMCIA LAN, Ethernet, A,
004743118001>
ne0: where did the card go?
----------------------------------------------------
The bad news? The second line. As the ne(4) man page
says about the line: "The driver found the card, but
was unable to make the card respond to complete the
configuration sequence."
So, the card isn't working at the time. Any ideas?

Greetings,
Javier

PS: thank you for your GREAT job. Really.


Yahoo! Encuentros.

Ahora encontrar pareja es mucho más fácil, probá el nuevo Yahoo! Encuentros http://yahoo.cupidovirtual.com/servlet/NewRegistration
Manuel Bouyer
2008-03-12 21:34:52 UTC
Permalink
Post by Javier Steinaker
Post by Manuel Bouyer
OK, could you try the attached patch ?
Tried. The good news? The kernel now recognizes the
----------------------------------------------------
ne0 at pcmcia0 function 0: <PCMCIA LAN, Ethernet, A,
004743118001>
ne0: where did the card go?
----------------------------------------------------
The bad news? The second line. As the ne(4) man page
says about the line: "The driver found the card, but
was unable to make the card respond to complete the
configuration sequence."
So, the card isn't working at the time. Any ideas?
We'll need more details about the chip used by this adapter.
Is there any way to get a more verbose message from linux ?
--
Manuel Bouyer <***@antioche.eu.org>
NetBSD: 26 ans d'experience feront toujours la difference
--
Christos Zoulas
2008-03-12 19:01:36 UTC
Permalink
-=-=-=-=-=-
Post by Javier Steinaker
Hi again,
Under Puppy Linux, I ejected the card and inserted it
-------------------------------------------------
pccard: card ejected from slot 0
pccard: PCMCIA card inserted into slot 0
pcmcia: registering new device pcmcia0.0
eth0: NE2000 Compatible: io 0x300, irq 3, hw_addr
00:C0:0C:03:78:F1
-------------------------------------------------
{ PCMCIA_VENDOR_INVALID, PCMCIA_PRODUCT_INVALID,
+ PCMCIA_CIS_EXP_THINLAN100,
+ 0, -1, { 0x00, 0xc0, 0x0c }, 0 },
I think the above line should be:

0, 0x0ff0, { 0x00, 0xa0, 0x0c }, 0 },
+
+ { PCMCIA_VENDOR_INVALID, PCMCIA_PRODUCT_INVALID,
PCMCIA_CIS_SYNERGY21_S21810,
0, -1, { 0x00, 0x48, 0x54 }, 0 },
christos
Manuel Bouyer
2008-03-12 21:33:58 UTC
Permalink
Post by Christos Zoulas
-=-=-=-=-=-
Post by Javier Steinaker
Hi again,
Under Puppy Linux, I ejected the card and inserted it
-------------------------------------------------
pccard: card ejected from slot 0
pccard: PCMCIA card inserted into slot 0
pcmcia: registering new device pcmcia0.0
eth0: NE2000 Compatible: io 0x300, irq 3, hw_addr
00:C0:0C:03:78:F1
-------------------------------------------------
{ PCMCIA_VENDOR_INVALID, PCMCIA_PRODUCT_INVALID,
+ PCMCIA_CIS_EXP_THINLAN100,
+ 0, -1, { 0x00, 0xc0, 0x0c }, 0 },
0, 0x0ff0, { 0x00, 0xa0, 0x0c }, 0 },
Linux reports 00:c0:0c as mac address ...
And I guess if this was the issue, he wouldn't get "were did the card go"
error, it would fail before that ...
--
Manuel Bouyer <***@antioche.eu.org>
NetBSD: 26 ans d'experience feront toujours la difference
--
Christos Zoulas
2008-03-12 21:48:24 UTC
Permalink
On Mar 12, 10:33pm, ***@antioche.eu.org (Manuel Bouyer) wrote:
-- Subject: Re: PCMCIA ne2000 compatible Ethernet card driver

| On Wed, Mar 12, 2008 at 06:44:58PM +0000, Christos Zoulas wrote:
| > In article <***@antioche.eu.org>,
| > Manuel Bouyer <***@antioche.eu.org> wrote:
| > >-=-=-=-=-=-
| > >
| > >On Sun, Mar 09, 2008 at 09:09:19PM -0300, Javier Steinaker wrote:
| > >> Hi again,
| > >>
| > >> Under Puppy Linux, I ejected the card and inserted it
| > >> again. The results in dmesg:
| > >>
| > >> -------------------------------------------------
| > >> pccard: card ejected from slot 0
| > >> pccard: PCMCIA card inserted into slot 0
| > >> pcmcia: registering new device pcmcia0.0
| > >> eth0: NE2000 Compatible: io 0x300, irq 3, hw_addr
| > >> 00:C0:0C:03:78:F1
| > >> -------------------------------------------------
| > >>
| > >
| > > { PCMCIA_VENDOR_INVALID, PCMCIA_PRODUCT_INVALID,
| > >+ PCMCIA_CIS_EXP_THINLAN100,
| > >+ 0, -1, { 0x00, 0xc0, 0x0c }, 0 },
| >
| > I think the above line should be:
| >
| > 0, 0x0ff0, { 0x00, 0xa0, 0x0c }, 0 },
|
| Linux reports 00:c0:0c as mac address ...
| And I guess if this was the issue, he wouldn't get "were did the card go"
| error, it would fail before that ...

I looked in the linux pc_net driver code for NE 2000 compatible...

christos
Manuel Bouyer
2008-03-12 22:09:18 UTC
Permalink
Post by Christos Zoulas
-- Subject: Re: PCMCIA ne2000 compatible Ethernet card driver
| > >-=-=-=-=-=-
| > >
| > >> Hi again,
| > >>
| > >> Under Puppy Linux, I ejected the card and inserted it
| > >>
| > >> -------------------------------------------------
| > >> pccard: card ejected from slot 0
| > >> pccard: PCMCIA card inserted into slot 0
| > >> pcmcia: registering new device pcmcia0.0
| > >> eth0: NE2000 Compatible: io 0x300, irq 3, hw_addr
| > >> 00:C0:0C:03:78:F1
| > >> -------------------------------------------------
| > >>
| > >
| > > { PCMCIA_VENDOR_INVALID, PCMCIA_PRODUCT_INVALID,
| > >+ PCMCIA_CIS_EXP_THINLAN100,
| > >+ 0, -1, { 0x00, 0xc0, 0x0c }, 0 },
| >
| >
| > 0, 0x0ff0, { 0x00, 0xa0, 0x0c }, 0 },
|
| Linux reports 00:c0:0c as mac address ...
| And I guess if this was the issue, he wouldn't get "were did the card go"
| error, it would fail before that ...
I looked in the linux pc_net driver code for NE 2000 compatible...
So did I. 0x00, 0xa0, 0x0c doens't match the ethernet address reported
by Javier.
--
Manuel Bouyer <***@antioche.eu.org>
NetBSD: 26 ans d'experience feront toujours la difference
--
Javier Steinaker
2008-03-13 18:13:07 UTC
Permalink
Some news.
I tried the solution provided by Christos. Same
problem ("Where did the card go?"). I verified, in
many sites, that the MAC address start with 00:c0:0c.
That address belongs to Relia Technologies, as
http://www.coffer.com/mac_find/?string=00%3Ac0%3A0c
says. In fact, when Puppy Linux is booting, displays a
message about the Relia 2408T, which seems to be
compatible with my card (or my card is, internally, a
Relia), and this time I'm sure!
OpenBSD knows this card, or that shows the pcmciadevs
file in the CVS tree
(http://www.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/dev/pcmcia/pcmciadevs?rev=1.131&content-type=text/plain).
The messages showed here are identical to the messages
my card shows (PCMCIA LAN, Ethernet, etc).
Linux seems to knows Relia, too.

One more thing. "cardctl ident" shows:
PRODID_1="PCMCIA LAN"
PRODID_2="Ethernet"
PRODID_3="A"
PRODID_4="004743118001"
MANFID=0000,0000
FUNCID=6

Again... any ideas?
Thank you very much for your help, guys.

Greetings,
Javier


Tarjeta de crédito Yahoo! de Banco Supervielle.
Solicitá tu nueva Tarjeta de crédito. De tu PC directo a tu casa. www.tuprimeratarjeta.com.ar
Manuel Bouyer
2008-03-13 20:22:23 UTC
Permalink
Post by Javier Steinaker
Some news.
I tried the solution provided by Christos. Same
problem ("Where did the card go?"). I verified, in
many sites, that the MAC address start with 00:c0:0c.
That address belongs to Relia Technologies, as
http://www.coffer.com/mac_find/?string=00%3Ac0%3A0c
says. In fact, when Puppy Linux is booting, displays a
message about the Relia 2408T, which seems to be
compatible with my card (or my card is, internally, a
Relia), and this time I'm sure!
OpenBSD knows this card, or that shows the pcmciadevs
file in the CVS tree
(http://www.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/dev/pcmcia/pcmciadevs?rev=1.131&content-type=text/plain).
The messages showed here are identical to the messages
my card shows (PCMCIA LAN, Ethernet, etc).
Linux seems to knows Relia, too.
This is a good point, I should have checked it :)
I suspect it's really a DL10019 chip then. can you check if it works
with the new patch I attached ?
--
Manuel Bouyer <***@antioche.eu.org>
NetBSD: 26 ans d'experience feront toujours la difference
--
Javier Steinaker
2008-03-18 15:29:38 UTC
Permalink
Hi again, and sorry for the delay.
We (well, you, really) are more close to the solution.
The card isn't working, but the kernel now shows:
ne0 at pcmcia0 function 0: <PCMCIA LAN, Ethernet, A,
004743118001>
ne0: can't match ethernet vendor code

I also tried to modify the line
+product RELIA RE2408T { "PCMCIA&spLAN", Ethernet",
"A", NULL } Relia RE2408T ethernet adapter
by
+product RELIA RE2408T { "PCMCIA&spLAN", Ethernet",
"A", "004743118001" } Relia RE2408T ethernet adapter
.. but the result is the same.

I think the solution is close to us, but... I cannot
find it. Ideas?

Greetings,
Javier


Tarjeta de crédito Yahoo! de Banco Supervielle.
Solicitá tu nueva Tarjeta de crédito. De tu PC directo a tu casa. www.tuprimeratarjeta.com.ar
Manuel Bouyer
2008-03-18 21:42:03 UTC
Permalink
Post by Javier Steinaker
Hi again, and sorry for the delay.
We (well, you, really) are more close to the solution.
ne0 at pcmcia0 function 0: <PCMCIA LAN, Ethernet, A,
004743118001>
ne0: can't match ethernet vendor code
I also tried to modify the line
+product RELIA RE2408T { "PCMCIA&spLAN", Ethernet",
"A", NULL } Relia RE2408T ethernet adapter
by
+product RELIA RE2408T { "PCMCIA&spLAN", Ethernet",
"A", "004743118001" } Relia RE2408T ethernet adapter
... but the result is the same.
I think the solution is close to us, but... I cannot
find it. Ideas?
I'm not sure it's closer than before. It couldn't find the ethernet address
while before it didn't even check it (if I read the code properly).

Can you add some printf() to ne_pcmcia_attach() to see what's going on ?
The interesting part if between again: and the last 'goto again'.
it should enter the (ne_dev->flags & NE2000DVF_DL10019) if, and
call ne_pcmcia_dl10019_get_enaddr(). Either ne_pcmcia_dl10019_get_enaddr()
didn't work, or it didn't return the mac address we expect.

You could also try changing {0x00, 0xc0, 0x0c} with {0xff,0xff,0xff} in
the PCMCIA_CIS_RELIA_RE2408T entry.
--
Manuel Bouyer <***@antioche.eu.org>
NetBSD: 26 ans d'experience feront toujours la difference
--
Loading...