FreeBSD-5.2-RC2 & Davicom ethernet

Vyacheslav Silakov seal at
Tue Dec 30 05:11:12 PST 2003

> Marius Strobl wrote:
>> On Tue, Dec 02, 2003 at 05:33:19PM +0100, Maxime Henrion wrote:
>> > Marius Strobl wrote:
>> > > On Tue, Dec 02, 2003 at 04:21:16PM +0100, Maxime Henrion wrote:
>> > > > 
>> > > > This is expected for now.  I coudln't find the time to add support for
>> > > > getting the MAC address from the OpenFirmware in dc(4) yet.  With a bit
>> > > > of luck, this will be working soon, though probably not before
>> > > > 5.3-RELEASE, unless someone else tackles this issue.
>> > > > 
>> > > 
>> > > A while ago I already sent you a patch similar to the attached one which
>> > > gets the MAC address for Sun onboard NICs via OpenFirmware in dc(4). But
>> > > you didn't like the MD ifdefs in if_dc.c and wanted to implement it some
>> > > layers above.
>> > 
>> > Yes, I remember it.  But as I said, it's an ugly hack, and needs to be
>> > done better.  If people really need a MAC address they could use an
>> > "ifconfig dc0 ether xx:xx:xx:xx:xx:xx" command.  Besides, there have
>> I agree that this is not the best way to do it, on the other hand what
>> did you have in mind when you wrote "via OpenFirmware in dc(4)"?
> My formulation wasn't appropriate, I didn't mean that I intend to add
> that code to dc(4) itself.
>> One could leave the check for local-mac-address out for now and just
>> call OF_getetheraddr(), dc(4) then should compile as a module and
>> people would get a working MAC address, also the same on all interfaces,
>> until the proper way is implemented.
>> > been reports of crashes with dc(4) cards under sparc64 at high load.  So
>> > I'm really reluctant to commit this.  Which makes me wonder : do you
>> > experience these crashes?
>> No. When they were reported shortly after you commited the busdma
>> conversion of dc(4) I tried to reproduce them by transfering large
>> files and running buildworld via NFS but had no problems.
>> As a side note, from the reports I read it was never clear to me if
>> those crashes happend with onboard Davicom NICs or with other dc(4)
>> NICs. There now also seem to be several people that use onboard
>> Davicom NICs with FreeBSD/sparc64 and there where no new reports of
>> such crashes. In if_dc.c revision 1.122 and 1.123 mbr@ fixed a
>> Davicom-related bug, maybe it was also the cause for those crashes.
> That's definitely good news.  The reports I had about crashes were with
> other dc(4) NICs plugged into a PCI slot, not with onboard Davicom NICs
> if I remember correctly, but I could be wrong.  This changes the deal
> quite a bit, it may make sense to add this code so that users of Sun
> boxes with integrated Davicom cards are happy with 5.2-RELEASE.  I was
> reluctant because I thought the problem was with all cards.  I'll talk
> to re@ about that.
> Cheers,
> Maxime

Just remind you ;) that FreeBSD 5.2-RC2 still doesn't work properly with
Sun Netra X1 integrated Davicom ethernet cards:

Copyright (c) 1992-2003 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD 5.2-RC2 #0: Tue Dec 23 08:20:06 GMT 2003
    root at
Preloaded elf kernel "/boot/kernel/kernel" at 0xc0852000.
Preloaded mfs_root "/boot/mfsroot" at 0xc0852190.
Timecounter "tick" frequency 400000000 Hz quality 0
real memory  = 268435456 (256 MB)
avail memory = 242909184 (231 MB)
cpu0: Sun Microsystems UltraSparc-IIe Processor (400.00 MHz CPU)
nexus0: <OpenFirmware Nexus device>
pcib0: <U2P UPA-PCI bridge> on nexus0
pcib0: Sabre, impl 0, version 0, ign 0x7c0, bus A
pcib0: [FAST]
pcib0: [FAST]
DVMA map: 0x60000000 to 0x63ffffff
pci0: <OFW PCI bus> on pcib0
isab0: <PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
pci0: <old, non-VGA display device> at device 3.0 (no driver attached)
pci0: <old, non-VGA display device> at device 3.0 (no driver attached)
dc0: <Davicom DM9102A 10/100BaseTX> port 0x10000-0x100ff at device 12.0 on pci0
dc0: Ethernet address: 00:00:00:00:00:00
miibus0: <MII bus> on dc0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
dc1: <Davicom DM9102A 10/100BaseTX> port 0x10100-0x101ff mem 0x2000-0x20ff at de
vice 5.0 on pci0
dc1: Ethernet address: 00:00:00:00:00:00
miibus1: <MII bus> on dc1
ukphy1: <Generic IEEE 802.3u media interface> on miibus1
ukphy1:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
stray vector interrupt 2014
pci0: <serial bus, USB> at device 10.0 (no driver attached)
atapci0: <AcerLabs Aladdin UDMA66 controller> port 0x10220-0x1022f,0x10208-0x102
0b,0x10210-0x10217,0x10218-0x1021b,0x10200-0x10207 at device 13.0 on pci0
atapci0: [MPSAFE]
ata2: at 0x10200 on atapci0
ata2: [MPSAFE]
ata3: at 0x10210 on atapci0
ata3: [MPSAFE]
Timecounters tick every 10.000 msec
md0: Preloaded image </boot/mfsroot> 4194304 bytes at 0xc044e440
GEOM: create disk ad0 dp=0xfffff800607b60a0
ad0: 152627MB <ST3160021A> [310101/16/63] at ata2-master UDMA66
acd0: CDRW <LG CD-ROM CRD-8522B> at ata3-master PIO4
Mounting root from ufs:/dev/md0
warning: no time-of-day clock registered, system time will not be set accurately
/stand/sysinstall running as init on serial console

More information about the freebsd-sparc64 mailing list