Holtek HT80232 NIC unrecognized on FreeBSD 5.4-RELEASE

jackqq jackqqpro at gmail.com
Sat Jul 23 07:48:27 GMT 2005


My ethernet adapter's chip is Holtek's HT80232. It seems to be not
recognized by the GENERIC kernel or any if_*.ko module.

I looked for its driver for FreeBSD. Googling "holtek" "ht80232"
"freebsd", I was shown some clues that FreeBSD seemed to support this
chip. The clue was found in /usr/src/share/misc/pci_vendors, where it
said

12C3    Holtek Microelectronics Inc.
        0058    HT80232 LAN Adapter (NE2000-compatible)
        5598    HT80229 Ethernet Adapter (NE2000-compatible)

Later, I found that the driver ed(4) supported NE2000 NICs, and, it
was included in the GENERIC kernel. But when the machine booting with
GENERIC, the card was not attatched with that driver or even any other
driver. My dmesg(1) is excerpted below:

pcib2: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pcib2:   secondary bus     2
pcib2:   subordinate bus   2
pcib2:   I/O decode        0xc000-0xcfff
pcib2:   memory decode     0xee000000-0xefffffff
pcib2:   prefetched decode 0xfff00000-0xfffff
pcib2:   Subtractively decoded bridge.
ACPI PCI link initial configuration:
pci2: <ACPI PCI bus> on pcib2
pci2: physical bus=2
        map[10]: type 1, range 32, base ef000000, size 17, enabled
pcib2: device (null) requested decoded memory range 0xef000000-0xef01ffff
        map[14]: type 4, range 32, base 0000c000, size  3, enabled
pcib2: device (null) requested decoded I/O range 0xc000-0xc007
        map[18]: type 4, range 32, base 0000c400, size  3, enabled
pcib2: device (null) requested decoded I/O range 0xc400-0xc407
pcib2: matched entry for 2.1.INTA
pcib2: slot 1 INTA hardwired to IRQ 21
found-> vendor=0x12eb, dev=0x0001, revid=0x02
        bus=2, slot=1, func=0
        class=04-01-00, hdrtype=0x00, mfdev=0
        cmdreg=0x0007, statreg=0x0290, cachelnsz=8 (dwords)
        lattimer=0x20 (960 ns), mingnt=0x02 (500 ns), maxlat=0x0c (3000 ns)
        intpin=a, irq=21
        powerspec 1  supports D0 D2 D3  current D0
        map[10]: type 4, range 32, base 0000c800, size  6, enabled
pcib2: device (null) requested decoded I/O range 0xc800-0xc83f
pcib2: matched entry for 2.4.INTA
pcib2: slot 4 INTA hardwired to IRQ 18
found-> vendor=0x12c3, dev=0x0058, revid=0x00
        bus=2, slot=4, func=0
        class=02-00-00, hdrtype=0x00, mfdev=0
        cmdreg=0x0003, statreg=0x0280, cachelnsz=0 (dwords)
        lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
        intpin=a, irq=18
pci2: <multimedia, audio> at device 1.0 (no driver attached)
pci2: <network, ethernet> at device 4.0 (no driver attached)

I noticed that the card was found on pcib2 slot 4, because the vendor
and device codes matched the ones in the FreeBSD source code. Then, I
discovered ed.0 was disabled in /boot/driver.hints, so I modified that
file like this:

# hint.ed.0.at="isa"
# hint.ed.0.disabled="1"
# hint.ed.0.port="0x280"
# hint.ed.0.irq="10"
# hint.ed.0.maddr="0xd8000"
hint.ed.0.at="pci"

However, this didn't work either.

Could somebody give me some suggestions on what I should read or where
I should check next? Thanks in advance!

-- 
jackqq :-)


More information about the freebsd-questions mailing list