vge0 not autonegotiating to 1000baseTX full duplex in 7.1

I tried this port with a gigabit port on another computer and a gigabit switch, but either way, it wouldn't autonegotiate up to gigabit speeds, but instead to 100baseTX, half duplex. Forcing it to 1000baseTX with ifconfig causes connections to drop and pings to fail.

Code:
vge0: <VIA Networking Gigabit Ethernet> port 0xe800-0xe8ff mem 0xfeaffc00-0xfeaffcff irq 28 at device 0.0 on pci3

This seems to be a known issue, but there wasn't really a fix:

http://lists.freebsd.org/pipermail/freebsd-current/2008-April/084625.html

I looked at the verbose boot messages, but there's only one ukphy, and it is used by vr, not vge:
Code:
vr0: Reserved 0x100 bytes for rid 0x10 type 4 at 0xc800
miibus1: <MII bus> on vr0
ukphy0: <Generic IEEE 802.3u media interface> PHY 1 on miibus1
ukphy0: OUI 0x004063, model 0x0032, rev. 10
ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto

Ideas?
 
Code:
vge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=1b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING>
        ether 00:40:63:xx:xx:xx
        inet 10.0.0.130 netmask 0xfffffc00 broadcast 10.0.3.255
        media: Ethernet 1000baseTX (100baseTX <full-duplex,flag0,flag1>)
        status: no carrier

Here's what it looks like when I force the media to 1000baseT (dunno why it says TX).
 
Back
Top