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
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
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
--
I'll also need the first 3 bytes of the ethernet address (the vendor
part of the address).
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,
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.
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
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 ...
We'll need more details about the chip used by this adapter.
Is there any way to get a more verbose message from linux ?
I looked in the linux pc_net driver code for NE 2000 compatible...
christos
So did I. 0x00, 0xa0, 0x0c doens't match the ethernet address reported
by Javier.
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
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 ?
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.