This is a discussion on Help with ALI M5263 LAN on dc(4) within the mailing.openbsd.tech forums, part of the OpenBSD category; --> Hello tech@ I am looking for help with supporting the ALI M5263 LAN with dc(4). I have an Asus ...
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| Hello tech@ I am looking for help with supporting the ALI M5263 LAN with dc(4). I have an Asus K8U-X motherboard. The M5263 is part of the highly integrated M1689 single chip chipset. The PHY is an external Realtek RTL8201CL on mii bus. With the following diff against 4.1rel running amd64 I can send and receive packets with one exception. There is a problem sending fragmented packets. When the packets appear on the wire there are double the expected frames. The first frame consists of the correct ethernet header and is padded to 60 bytes with 0x00. The next frame is a continuation of the previous frame starting with the IP header and data (no ethernet header). Only the first frame is split between the ethernet and IP headers. Remaining fragment frames are split between the IP header and the data. Packets that do not need fragmentation are transmitted fine. Receive is not affected. I'm wondering if someone familiar with the dc driver can offer some suggestions. Jan --- /usr/src/sys/dev/pci/if_dc_pci.c Wed Feb 14 13:07:58 2007 +++ if_dc_pci.c Sun Jul 29 12:20:25 2007 @@ -1,4 +1,4 @@ -/* $OpenBSD: if_dc_pci.c,v 1.56 2007/02/13 10:38:00 jsg Exp $ */ +/* $OpenBSD: if_dc_pci.c, 2007/07/29 12:03:00 jsg Exp $ */ /* * Copyright (c) 1997, 1998, 1999 @@ -87,6 +87,7 @@ * Various supported device vendors/types and their names. */ struct dc_type dc_devs[] = { + { PCI_VENDOR_ALI, PCI_PRODUCT_ALI_M5263 }, { PCI_VENDOR_DEC, PCI_PRODUCT_DEC_21140 }, { PCI_VENDOR_DEC, PCI_PRODUCT_DEC_21142 }, { PCI_VENDOR_DAVICOM, PCI_PRODUCT_DAVICOM_DM9009 }, @@ -129,6 +130,13 @@ dc_pci_match(parent, match, aux) struct dc_type *t; /* + * Support for ALI M5263. + */ + if (PCI_VENDOR(pa->pa_id) == PCI_VENDOR_ALI && + PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_ALI_M5263) + return (1); + + /* * Support for the 21140 chip is experimental. If it works for you, * that's great. By default, this chip will use de. */ @@ -276,6 +284,15 @@ void dc_pci_attach(parent, self, aux) dc_eeprom_width(sc); switch (PCI_VENDOR(pa->pa_id)) { + case PCI_VENDOR_ALI: + if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_ALI_M5263) { + found = 1; + sc->dc_type = DC_TYPE_21143; + sc->dc_flags |= DC_TX_INTR_ALWAYS; + sc->dc_flags |= DC_REDUCED_MII_POLL; + dc_read_srom(sc, sc->dc_romwidth); + } + break; case PCI_VENDOR_DEC: if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_DEC_21140 || PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_DEC_21142) { OpenBSD 4.1 (GENERIC) #26: Sun Jul 29 12:52:48 EDT 2007 root@proton.pb.local:/usr/src/sys/arch/amd64/compile/GENERIC real mem = 2146889728 (2096572K) avail mem = 1834754048 (1791752K) using 22937 buffers containing 214896640 bytes (209860K) of memory mainbus0 (root) bios0 at mainbus0: SMBIOS rev. 2.3 @ 0xf0500 (58 entries) bios0: ASUSTeK Computer INC. K8U-X acpi at mainbus0 not configured cpu0 at mainbus0: (uniprocessor) cpu0: AMD Sempron(tm) Processor 3400+, 2000.14 MHz cpu0: CPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,P GE,MCA,CMOV,PAT, PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SSE3,NXE,MMXX,FFXSR ,LONG,3DNOW2,3DNOW cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 256KB 64b/line 16-way L2 cache cpu0: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative cpu0: DTLB 32 4KB entries fully associative, 8 4MB entries fully associative cpu0: Cool'n'Quiet K8 2000 MHz: speeds: 2000 1800 1000 MHz cpu0: AMD erratum 89 present, BIOS upgrade may be required pci0 at mainbus0 bus 0: configuration mode 1 pchb0 at pci0 dev 0 function 0 "Acer Labs M1689 PCI" rev 0x00 ppb0 at pci0 dev 1 function 0 "Acer Labs M5246 AGP" rev 0x00 pci1 at ppb0 bus 1 ppb1 at pci0 dev 2 function 0 "Acer Labs M5249 PCI-PCI" rev 0x00 pci2 at ppb1 bus 2 vga1 at pci2 dev 5 function 0 "ATI Mach64 GU" rev 0x9a wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) wsdisplay0: screen 1-5 added (80x25, vt100 emulation) pcib0 at pci0 dev 3 function 0 "Acer Labs M1563 ISA" rev 0x70 "Acer Labs M7101 Power" rev 0x00 at pci0 dev 3 function 1 not configured dc0 at pci0 dev 13 function 0 "Acer Labs M5263 LAN" rev 0x40: irq 11, address 00:15:f2:72:7a:51 dcphy0 at dc0 phy 31: internal PHY pciide0 at pci0 dev 14 function 0 "Acer Labs M5229 UDMA IDE" rev 0xc7: DMA, channel 0 configured to compatibility, channel 1 configured to compatibility wd0 at pciide0 channel 0 drive 0: <ST340824A> wd0: 16-sector PIO, LBA, 38166MB, 78165360 sectors wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5 atapiscsi0 at pciide0 channel 1 drive 0 scsibus0 at atapiscsi0: 2 targets cd0 at scsibus0 targ 0 lun 0: <SONY, DVD-ROM DDU1621, S1.6> SCSI0 5/cdrom removable cd0(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 2 "Acer Labs M5289 SATA" rev 0x10 at pci0 dev 14 function 1 not configured ohci0 at pci0 dev 15 function 0 "Acer Labs M5237 USB" rev 0x03: irq 5, version 1.0, legacy support usb0 at ohci0: USB revision 1.0 uhub0 at usb0 uhub0: Acer Labs OHCI root hub, rev 1.00/1.00, addr 1 uhub0: 3 ports with 3 removable, self powered ohci1 at pci0 dev 15 function 1 "Acer Labs M5237 USB" rev 0x03: irq 3, version 1.0, legacy support usb1 at ohci1: USB revision 1.0 uhub1 at usb1 uhub1: Acer Labs OHCI root hub, rev 1.00/1.00, addr 1 uhub1: 3 ports with 3 removable, self powered ohci2 at pci0 dev 15 function 2 "Acer Labs M5237 USB" rev 0x03: irq 11, version 1.0, legacy support usb2 at ohci2: USB revision 1.0 uhub2 at usb2 uhub2: Acer Labs OHCI root hub, rev 1.00/1.00, addr 1 uhub2: 3 ports with 3 removable, self powered ehci0 at pci0 dev 15 function 3 "Acer Labs M5239 USB2" rev 0x01: irq 5 usb3 at ehci0: USB revision 2.0 uhub3 at usb3 uhub3: Acer Labs EHCI root hub, rev 2.00/1.00, addr 1 uhub3: 8 ports with 8 removable, self powered pchb1 at pci0 dev 24 function 0 "AMD AMD64 HyperTransport" rev 0x00 pchb2 at pci0 dev 24 function 1 "AMD AMD64 Address Map" rev 0x00 pchb3 at pci0 dev 24 function 2 "AMD AMD64 DRAM Cfg" rev 0x00 pchb4 at pci0 dev 24 function 3 "AMD AMD64 Misc Cfg" rev 0x00 isa0 at pcib0 isadma0 at isa0 com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo pckbc0 at isa0 port 0x60/5 pckbd0 at pckbc0 (kbd slot) pckbc0: using irq 1 for kbd slot wskbd0 at pckbd0: console keyboard, using wsdisplay0 pcppi0 at isa0 port 0x61 midi0 at pcppi0: <PC speaker> spkr0 at pcppi0 lpt0 at isa0 port 0x378/4 irq 7 it2 at isa0 port 0xd00/8: IT87 fdc0 at isa0 port 0x3f0/6 irq 6 drq 2 dkcsum: wd0 matches BIOS drive 0x80 root on wd0a |