Subject: kern/6382: D-Link DE650 probe fails with "enet addr has incorrect vendor code"
To: None <gnats-bugs@gnats.netbsd.org>
From: Andreas Gustafsson <gson@araneus.fi>
List: netbsd-bugs
Date: 10/31/1998 11:00:33
>Number:         6382
>Category:       kern
>Synopsis:       D-Link DE650 probe fails with "enet addr has incorrect vendor code"
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people (Kernel Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Oct 31 01:05:00 1998
>Last-Modified:
>Originator:     Andreas Gustafsson
>Organization:
Araneus Information Systems Oy
>Release:        NetBSD 1.3H, 19981030
>Environment:

System: NetBSD gulag.araneus.fi 1.3H NetBSD 1.3H (GULAG) #2: Fri Oct 30 15:39:55 EET 1998 gson@gulag.araneus.fi:/usr/src/sys/arch/i386/compile/GULAG i386

>Description:

After building a kernel from yesterday's SUP, autoconfiguration of the
D-Link DE650 PCMCIA Ethernet card in my IBM ThinkPad 365XD fails with
the following messages:

  pcmcia0 at pcic0 controller 0 socket 0
  pcmcia0: CIS version PCMCIA 2.0 or 2.1
  pcmcia0: CIS info: D-Link, DE-650, Ver 01.00
  pcmcia0: Manufacturer code 0x149, product 0x265
  pcmcia0: function 0: network adapter, ccr addr 400 mask b
  pcmcia0: function 0, config table entry 32: I/O card; irq mask befc; iomask 5, iospace 0-1f; mwait_required rdybsy_active wp_active bvd_active io16 irqlevel
  ne0 at pcmcia0 function 0 port 0x400-0x40f port 0x410-0x41f
  ne0: enet addr has incorrect vendor code
  ne0: (4c:69:6e should be 00:80:c8)

Interestingly enough, the alleged vendor code of 4c:69:6e happens to
be the ASCII encoding of the letters "Lin" (as in Linksys?).
With my previous kernel, NetBSD 1.3G of 19980828, the card was 
(mis)identified as a Linksys card but worked:

  pcmcia0 at pcic0 controller 0 socket 0
  pcmcia0: CIS version PCMCIA 2.0 or 2.1
  pcmcia0: CIS info: D-Link, DE-650, Ver 01.00
  pcmcia0: Manufacturer code 0x149, product 0x265
  pcmcia0: function 0: network adapter, ccr addr 400 mask b
  pcmcia0: function 0, config table entry 32: I/O card; irq mask befc; iomask 5, iospace 0-1f; mwait_required rdybsy_active wp_active bvd_active io16 irqlevel
  ne0 at pcmcia0 function 0 port 0x400-0x40f port 0x410-0x41f
  ne0: Linksys EthernetCard Ethernet
  ne0: Ethernet address 00:80:c8:85:70:21

>How-To-Repeat:

See above.

>Fix:

Apply the following patch.

*** if_ne_pcmcia.c.orig	Sat Oct 31 10:18:29 1998
--- if_ne_pcmcia.c	Sat Oct 31 10:17:05 1998
***************
*** 101,107 ****
      { PCMCIA_STR_DLINK_DE650,
        PCMCIA_VENDOR_INVALID, PCMCIA_PRODUCT_INVALID,
        PCMCIA_CIS_DLINK_DE650,
!       0, 0x0040, { 0x00, 0x80, 0xc8 } },
  
      { PCMCIA_STR_DLINK_DE660,
        PCMCIA_VENDOR_INVALID, PCMCIA_PRODUCT_INVALID,
--- 101,107 ----
      { PCMCIA_STR_DLINK_DE650,
        PCMCIA_VENDOR_INVALID, PCMCIA_PRODUCT_INVALID,
        PCMCIA_CIS_DLINK_DE650,
!       0, -1, { 0x00, 0x80, 0xc8 } },
  
      { PCMCIA_STR_DLINK_DE660,
        PCMCIA_VENDOR_INVALID, PCMCIA_PRODUCT_INVALID,

>Audit-Trail:
>Unformatted: