Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

PCMCIA ne2000 compatible Ethernet card driver

5 views
Skip to first unread message

Javier Steinaker

unread,
Mar 7, 2008, 10:36:07 AM3/7/08
to netbs...@netbsd.org
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

unread,
Mar 7, 2008, 11:00:58 AM3/7/08
to netbs...@netbsd.org
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

Manuel Bouyer

unread,
Mar 7, 2008, 3:19:40 PM3/7/08
to Javier Steinaker, netbs...@netbsd.org

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 <bou...@antioche.eu.org>
NetBSD: 26 ans d'experience feront toujours la difference
--

Manuel Bouyer

unread,
Mar 7, 2008, 3:31:47 PM3/7/08
to Javier Steinaker, netbs...@netbsd.org
On Fri, Mar 07, 2008 at 09:19:17PM +0100, Manuel Bouyer wrote:
> 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).

Javier Steinaker

unread,
Mar 9, 2008, 8:09:44 PM3/9/08
to Manuel Bouyer, netbs...@netbsd.org
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,

Manuel Bouyer

unread,
Mar 11, 2008, 5:23:32 PM3/11/08
to Javier Steinaker, netbs...@netbsd.org
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
> -------------------------------------------------
>
> 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 ?

diff

Javier Steinaker

unread,
Mar 12, 2008, 1:28:27 PM3/12/08
to Manuel Bouyer, netbs...@netbsd.org
--- Manuel Bouyer <bou...@antioche.eu.org> escribió:

> 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.

Christos Zoulas

unread,
Mar 12, 2008, 3:01:36 PM3/12/08
to netbs...@netbsd.org
In article <2008031121...@antioche.eu.org>,
Manuel Bouyer <bou...@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 },
>+
>+ { PCMCIA_VENDOR_INVALID, PCMCIA_PRODUCT_INVALID,
> PCMCIA_CIS_SYNERGY21_S21810,
> 0, -1, { 0x00, 0x48, 0x54 }, 0 },
>

christos

Manuel Bouyer

unread,
Mar 12, 2008, 5:33:58 PM3/12/08
to Christos Zoulas, netbs...@netbsd.org
On Wed, Mar 12, 2008 at 06:44:58PM +0000, Christos Zoulas wrote:
> In article <2008031121...@antioche.eu.org>,
> Manuel Bouyer <bou...@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 ...

Manuel Bouyer

unread,
Mar 12, 2008, 5:34:52 PM3/12/08
to Javier Steinaker, netbs...@netbsd.org
On Wed, Mar 12, 2008 at 12:41:22PM -0300, Javier Steinaker wrote:
> --- Manuel Bouyer <bou...@antioche.eu.org> escribió:
> > 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?

We'll need more details about the chip used by this adapter.
Is there any way to get a more verbose message from linux ?

Christos Zoulas

unread,
Mar 12, 2008, 5:48:24 PM3/12/08
to Manuel Bouyer, netbs...@netbsd.org
On Mar 12, 10:33pm, bou...@antioche.eu.org (Manuel Bouyer) wrote:
-- Subject: Re: PCMCIA ne2000 compatible Ethernet card driver

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

christos

Manuel Bouyer

unread,
Mar 12, 2008, 6:09:18 PM3/12/08
to Christos Zoulas, netbs...@netbsd.org

So did I. 0x00, 0xa0, 0x0c doens't match the ethernet address reported
by Javier.

Javier Steinaker

unread,
Mar 13, 2008, 2:13:07 PM3/13/08
to Manuel Bouyer, netbs...@netbsd.org
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

unread,
Mar 13, 2008, 4:22:23 PM3/13/08
to Javier Steinaker, netbs...@netbsd.org
On Thu, Mar 13, 2008 at 01:25:58PM -0300, Javier Steinaker wrote:
> 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 ?

diff

Javier Steinaker

unread,
Mar 18, 2008, 11:29:38 AM3/18/08
to Manuel Bouyer, netbs...@netbsd.org
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?

Manuel Bouyer

unread,
Mar 18, 2008, 5:42:03 PM3/18/08
to Javier Steinaker, netbs...@netbsd.org
On Tue, Mar 18, 2008 at 10:42:39AM -0300, Javier Steinaker wrote:
> 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?

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.

0 new messages