Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Oct 2001 02:40:55 +0200 (CEST)
From:      Are Bryne <are.bryne@communique.no>
To:        freebsd-stable@freebsd.org
Subject:   rl driver: need help in adding new chipset
Message-ID:  <Pine.BSF.4.05.10110260239060.21516-300000@rune.communique.no>

index | next in thread | raw e-mail

[-- Attachment #1 --]
Hello,

I'm trying to get an SMC 1211TX/WL with a EN5030C chip (labeled SMC, but
actually Accton?) (07294T1 030B) to work.

With a kernel having compiled in the rl device driver (as well as the
miibus) I get this boot message:

pci0: <unknown card> (vendor=0x1113, dev=0x1011) at 18.0 irq 11

So I thought I could just add the above details to the relevant if_rl.c
and if_rlreg.h files, as the EN5030C shouldn't be too different from the
EN5030 (for which there is support). The patches I came up with are
attached.

However, when the computer boots with the new kernel, even though it
recognizes the chip, it tells me:

rl0: <Accton MPX 5030C 10/100BaseTX> port 0x6000-0x60ff mem 0xe0000000-0xe00000ff irq 11 at device 18.0 on pci0
rl0: Ethernet address: 04:20:00:00:15:10
rl0: unknown device ID: 0
device_probe_and_attach: rl0 attach returned 6

or on another boot:

rl0: <Accton MPX 5030C 10/100BaseTX> port 0x6000-0x60ff mem 0xe0000000-0xe00000ff irq 11 at device 18.0 on pci0
rl0: Ethernet address: 00:02:01:41:00:43
rl0: unknown device ID: 1000
device_probe_and_attach: rl0 attach returned 6

Notice that both the 'unknown device ID' and the ethernet address
changes... I tried booting verbosely, but then for some reason I got a
fatal trap 12: page fault while in kernel mode (supervisor read, page not
present), and I was not able to get the relevant parts wrt. rl0.

# pciconf -l
chip0@pci0:0:0: class=0x060000 card=0x00000000 chip=0x70308086 rev=0x01 hdr=0x00
isab0@pci0:7:0: class=0x060100 card=0x00000000 chip=0x70008086 rev=0x01 hdr=0x00
atapci0@pci0:7:1:       class=0x010180 card=0x00000000 chip=0x70108086 rev=0x00 hdr=0x00
none0@pci0:18:0:        class=0x000000 card=0x10111113 chip=0x10111113 rev=0x10 hdr=0x00

This is on a 4.4-STABLE system, cvsup'ed on Sep. 29.

Could anyone help out?

Thanks in advance.

Regards,
Are Bryne
-- 
Communiqué DA                            Phone:        +47 22 44 33 99
Postboks 9050 Grønland                   E-mail:   admin@communique.no
N-0133 Oslo                              URL: http://www.communique.no

[-- Attachment #2 --]
--- /usr/src/sys/pci/if_rlreg.h.orig	Fri Sep 21 23:10:07 2001
+++ /usr/src/sys/pci/if_rlreg.h	Thu Oct 25 00:21:16 2001
@@ -413,6 +413,11 @@
 #define ACCTON_DEVICEID_5030			0x1211
 
 /*
+ * Accton MPX 5030C device ID.
+ */
+#define ACCTON_DEVICEID_5030C			0x1011
+
+/*
  * Delta Electronics Vendor ID.
  */
 #define DELTA_VENDORID				0x1500

[-- Attachment #3 --]
--- /usr/src/sys/pci/if_rl.c.orig	Fri Sep 21 23:10:07 2001
+++ /usr/src/sys/pci/if_rl.c	Thu Oct 25 00:28:22 2001
@@ -145,6 +145,8 @@
 		"RealTek 8139 10/100BaseTX" },
 	{ ACCTON_VENDORID, ACCTON_DEVICEID_5030,
 		"Accton MPX 5030/5038 10/100BaseTX" },
+	{ ACCTON_VENDORID, ACCTON_DEVICEID_5030C,
+		"Accton MPX 5030C 10/100BaseTX" },
 	{ DELTA_VENDORID, DELTA_DEVICEID_8139,
 		"Delta Electronics 8139 10/100BaseTX" },
 	{ ADDTRON_VENDORID, ADDTRON_DEVICEID_8139,
@@ -900,7 +902,8 @@
 	rl_read_eeprom(sc, (caddr_t)&rl_did, RL_EE_PCI_DID, 1, 0);
 
 	if (rl_did == RT_DEVICEID_8139 || rl_did == ACCTON_DEVICEID_5030 ||
-	    rl_did == DELTA_DEVICEID_8139 || rl_did == ADDTRON_DEVICEID_8139 ||
+	    rl_did == ACCTON_DEVICEID_5030C || rl_did == DELTA_DEVICEID_8139 ||
+	    rl_did == ADDTRON_DEVICEID_8139 ||
 	    rl_did == DLINK_DEVICEID_530TXPLUS)
 		sc->rl_type = RL_8139;
 	else if (rl_did == RT_DEVICEID_8129)
help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.10110260239060.21516-300000>