Support for D-Link DGE-530T C1

2012-09-13 Thread Ryan Freeman
Hey tech@,

I think I found some low-hanging fruit, the following diff works
for my friend that recently purchased the DGE-530T at my recommendation
only to find out its no-longer supported by the sk driver as of the C1
revision, they changed the chip entirely to realtek 8169.

I found the relevant info already existing in pcidevs.h and
pcidevs_data.h.  The following diff adds the card to re(4).

Note that I used 5.1's release to do this as its what he was
running the diff below is for -current (though it pretty much
looks like nothing has changed there between 5.1 and now)

any tips or hints are welcome

ifconfig output and dmesg from friends machine in question showing
a now-working card attached :)


Index: sys/dev/pci/if_re_pci.c
===
RCS file: /cvs/src/sys/dev/pci/if_re_pci.c,v
retrieving revision 1.34
diff -u -p -u -p -r1.34 if_re_pci.c
--- sys/dev/pci/if_re_pci.c 9 Jun 2011 19:34:42 -   1.34
+++ sys/dev/pci/if_re_pci.c 13 Sep 2012 18:14:12 -
@@ -72,6 +72,7 @@ const struct pci_matchid re_pci_devices[
{ PCI_VENDOR_REALTEK, PCI_PRODUCT_REALTEK_RT8169SC },
{ PCI_VENDOR_COREGA, PCI_PRODUCT_COREGA_CGLAPCIGT },
{ PCI_VENDOR_DLINK, PCI_PRODUCT_DLINK_DGE528T },
+   { PCI_VENDOR_DLINK, PCI_PRODUCT_DLINK_DGE530T_C1 },
{ PCI_VENDOR_USR2, PCI_PRODUCT_USR2_USR997902 },
{ PCI_VENDOR_TTTECH, PCI_PRODUCT_TTTECH_MC322 }
 };
IFCONFIG

lo0: flags=8049UP,LOOPBACK,RUNNING,MULTICAST mtu 33196
priority: 0
groups: lo
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
inet 127.0.0.1 netmask 0xff00
fxp0: flags=8802BROADCAST,SIMPLEX,MULTICAST mtu 1500
lladdr 00:03:47:d2:47:a8
priority: 0
media: Ethernet autoselect (none)
status: no carrier
sk0: flags=8843UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST mtu 1500
lladdr 00:24:01:00:2d:f5
priority: 0
groups: egress
media: Ethernet autoselect (1000baseT full-duplex,rxpause,txpause)
status: active
inet6 fe80::224:1ff:fe00:2df5%sk0 prefixlen 64 scopeid 0x2
inet 192.168.0.14 netmask 0xff00 broadcast 192.168.0.255
re0: flags=8843UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST mtu 1500
lladdr 28:10:7b:c9:5d:b1
priority: 0
media: Ethernet autoselect (1000baseT full-duplex,rxpause,txpause)
status: active
inet 10.0.0.1 netmask 0xff00 broadcast 10.255.255.255
inet6 fe80::2a10:7bff:fec9:5db1%re0 prefixlen 64 scopeid 0x3
enc0: flags=0
priority: 0
groups: enc
status: active
pflog0: flags=141UP,RUNNING,PROMISC mtu 33196
priority: 0
groups: pflog


DMESG before:

OpenBSD 5.1 (GENERIC.MP) #188: Sun Feb 12 09:55:11 MST 2012
dera...@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC.MP
cpu0: Intel(R) Pentium(R) 4 CPU 2.80GHz (GenuineIntel 686-class) 1.40 GHz
cpu0: 
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,CNXT-ID,xTPR
real mem  = 2146758656 (2047MB)
avail mem = 2101518336 (2004MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 10/31/01, BIOS32 rev. 0 @ 0xfda74, SMBIOS 
rev. 2.3 @ 0xf0fd0 (57 entries)
bios0: vendor Intel Corp. version PT84510A.15A.0003.P01.0110311619 date 
10/31/2001
bios0: Gateway E-3600
acpi0 at bios0: rev 0
acpi0: sleep states S0 S1 S3 S4 S5
acpi0: tables DSDT FACP APIC SSDT
acpi0: wakeup devices PBTN(S4) PCI1(S4) UAR1(S4) USB_(S3) USB2(S3) AC9_(S4) 
SMB_(S4)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpimadt0 at acpi0 addr 0xfee0: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: apic clock running at 99MHz
cpu1 at mainbus0: apid 1 (application processor)
cpu1: Intel(R) Pentium(R) 4 CPU 2.80GHz (GenuineIntel 686-class) 1.40 GHz
cpu1: 
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,CNXT-ID,xTPR
ioapic0 at mainbus0: apid 2 pa 0xfec0, version 20, 24 pins
ioapic0: misconfigured as apic 0, remapped to apid 2
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 2 (PCI1)
acpicpu0 at acpi0
acpicpu1 at acpi0
acpipwrres0 at acpi0: FDDP
acpipwrres1 at acpi0: URP1
acpipwrres2 at acpi0: URP2
acpipwrres3 at acpi0: LPTP
acpibtn0 at acpi0: PBTN
bios0: ROM list: 0xc/0xa800 0xca800/0x1000 0xcb800/0x1000
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 Intel 82845 Host rev 0x04
intelagp0 at pchb0
agp0 at intelagp0: aperture at 0xf800, size 0x400
ppb0 at pci0 dev 1 function 0 Intel 82845 AGP rev 0x04
pci1 at ppb0 bus 1
vga1 at pci1 dev 0 function 0 NVIDIA GeForce2 MX 100 rev 0xb2
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
ppb1 at pci0 dev 30 function 0 Intel 82801BA Hub-to-PCI rev 0x05
pci2 at ppb1 bus 2
fxp0 at pci2 dev 8 function 0 Intel 82562 rev 

Re: Support for D-Link DGE-530T C1

2012-09-13 Thread Ryan Freeman
On Thu, Sep 13, 2012 at 11:53:01AM -0700, Ryan Freeman wrote:
 Hey tech@,
 
 I think I found some low-hanging fruit, the following diff works
 for my friend that recently purchased the DGE-530T at my recommendation
 only to find out its no-longer supported by the sk driver as of the C1
 revision, they changed the chip entirely to realtek 8169.
 
 I found the relevant info already existing in pcidevs.h and
 pcidevs_data.h.  The following diff adds the card to re(4).
 
 Note that I used 5.1's release to do this as its what he was
 running the diff below is for -current (though it pretty much
 looks like nothing has changed there between 5.1 and now)
 
 any tips or hints are welcome
 
 ifconfig output and dmesg from friends machine in question showing
 a now-working card attached :)

I have updated the diff to include a man-page update as well.

Also, per sthen@, I have requested a multicast test with his
instructions.  I will post the results as soon as I have them.

-ryan


Index: sys/dev/pci/if_re_pci.c
===
RCS file: /cvs/src/sys/dev/pci/if_re_pci.c,v
retrieving revision 1.34
diff -u -p -u -p -r1.34 if_re_pci.c
--- sys/dev/pci/if_re_pci.c 9 Jun 2011 19:34:42 -   1.34
+++ sys/dev/pci/if_re_pci.c 13 Sep 2012 23:20:29 -
@@ -72,6 +72,7 @@ const struct pci_matchid re_pci_devices[
{ PCI_VENDOR_REALTEK, PCI_PRODUCT_REALTEK_RT8169SC },
{ PCI_VENDOR_COREGA, PCI_PRODUCT_COREGA_CGLAPCIGT },
{ PCI_VENDOR_DLINK, PCI_PRODUCT_DLINK_DGE528T },
+   { PCI_VENDOR_DLINK, PCI_PRODUCT_DLINK_DGE530T_C1 },
{ PCI_VENDOR_USR2, PCI_PRODUCT_USR2_USR997902 },
{ PCI_VENDOR_TTTECH, PCI_PRODUCT_TTTECH_MC322 }
 };
Index: share/man/man4/re.4
===
RCS file: /cvs/src/share/man/man4/re.4,v
retrieving revision 1.47
diff -u -p -u -p -r1.47 re.4
--- share/man/man4/re.4 13 Mar 2011 21:32:29 -  1.47
+++ share/man/man4/re.4 13 Sep 2012 23:20:29 -
@@ -63,6 +63,8 @@ Corega CG-LAPCIGT (8169S)
 .It
 D-Link DGE-528T (8169S)
 .It
+D-Link DGE-530T C1 (8169/8110SB)
+.It
 D-Link DGE-660TD (8169/8110SB)
 .It
 Gigabyte 7N400 Pro2 Integrated Gigabit Ethernet (8110S)