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: [EMAIL PROTECTED] N-0133 Oslo URL: http://www.communique.no
--- /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
--- /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)