8139c+ mii bug?

Paul mirnshi at 163.com
Tue Apr 26 21:36:10 PDT 2005


[posted and mailed]

On 26 ËÄÔÂ 2005, you wrote in dragonfly.bugs:

> On Tue, Apr 26, 2005 at 02:56:28PM +0000, Paul wrote:
>> Today I test the DragonFly on a box, the nic is 8139c+.
>> But the driver of 8139c+ can not detect the status of link.
>> FreeBSD 4.11 is same.
> 
> First of all, are you using rl(4) or re(4)? Which PHY is reported?
> 
> Joerg

I checked the test log. 
First I got in trouble while using "re" driver.
I modified the rl driver to fit the 8139c+ nic, the nic is good. 
So I modified the "ukphy_subr.c". 

Part of the test log:

###### boot messages: ######
DragonFly 1.3-DEVELOPMENT #12: Wed Apr 26 13:33:40 CST 2005
    root at bs:/TINY
TSC clock: 531946851 Hz, i8254 clock: 1193118 Hz
CPU: VIA C3 Samuel 2 (531.98-MHz 686-class CPU)
  Origin = "CentaurHauls"  Id = 0x673  Stepping = 3
  Features=0x803035<FPU,DE,TSC,MSR,MTRR,PGE,MMX>
real memory  = 58720256 (57344K bytes)
avail memory = 51986432 (50768K bytes)
Preloaded elf kernel "kernel" at 0xc03a4000.
md0: Malloc disk
pcibios: BIOS version 2.10
Using $PIR table, 12 entries at 0xc00fdeb0
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> at pcibus 0 on motherboard
pci0: <PCI bus> on pcib0
pcib1: <PCI to PCI bridge (vendor=1106 device=8601)> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <Trident model 8500 VGA-compatible display device> at 0.0
isab0: <VIA 82C686 PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 82C686 ATA100 controller> port 0xd000-0xd00f at device 7.1 on 
pci0
ata0: at 0x1f0 irq 14 on atapci0
installed MI handler for int 14
ata1: at 0x170 irq 15 on atapci0
installed MI handler for int 15
pci0: <VIA 83C572 USB controller> at 7.2 irq 10
pci0: <unknown card> (vendor=0x1106, dev=0x3057) at 7.4
re0: <RealTek 8139C+ 10/100BaseTX> port 0xdc00-0xdcff mem 0xe7000000-
0xe70000ff irq 5 at device 9.0 on pci0
miibus0: <MII bus> on re0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
re0: MAC address: 00:90:fb:04:19:9d
installed MI handler for int 5
re1: <RealTek 8139C+ 10/100BaseTX> port 0xe000-0xe0ff mem 0xe7001000-
0xe70010ff irq 10 at device 10.0 on pci0
miibus1: <MII bus> on re1
ukphy1: <Generic IEEE 802.3u media interface> on miibus1
ukphy1:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
re1: MAC address: 00:90:fb:04:19:9c
installed MI handler for int 10
re2: <RealTek 8139C+ 10/100BaseTX> port 0xe400-0xe4ff mem 0xe7002000-
0xe70020ff irq 11 at device 11.0 on pci0
miibus2: <MII bus> on re2
ukphy2: <Generic IEEE 802.3u media interface> on miibus2
ukphy2:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
re2: MAC address: 00:90:fb:04:19:9b
installed MI handler for int 11
. .....
# ifconfig -a
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=18<>
        inet 192.168.1.17 netmask 0xffffff00 broadcast 192.168.1.255
        ether 00:90:fb:04:19:9d
        media: Ethernet autoselect (none)
re1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        options=18<>
        ether 00:90:fb:04:19:9c
        media: Ethernet autoselect (none)
re2: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        options=18<>
        ether 00:90:fb:04:19:9b
        media: Ethernet autoselect (none)
faith0: flags=8002<BROADCAST,MULTICAST> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet 127.0.0.1 netmask 0xff000000 
# ping 192.168.1.2
PING 192.168.1.2 (192.168.1.2): 56 data bytes
64 bytes from 192.168.1.2: icmp_seq=0 ttl=64 time=0.751 ms
64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=0.170 ms
^C
---------------------------

Then, I modified /sys/dev/netif/mii_layer/ukphy_subr.c.

###### boot messages: ######
. .....
re0: <RealTek 8139C+ 10/100BaseTX> port 0xdc00-0xdcff mem 0xe7000000-
0xe70000ff irq 5 at device 9.0 on pci0
miibus0: <MII bus> on re0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
re0: MAC address: 00:90:fb:04:19:9d
installed MI handler for int 5
re1: <RealTek 8139C+ 10/100BaseTX> port 0xe000-0xe0ff mem 0xe7001000-
0xe70010ff irq 10 at device 10.0 on pci0
miibus1: <MII bus> on re1
ukphy1: <Generic IEEE 802.3u media interface> on miibus1
ukphy1:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
re1: MAC address: 00:90:fb:04:19:9c
installed MI handler for int 10
re2: <RealTek 8139C+ 10/100BaseTX> port 0xe400-0xe4ff mem 0xe7002000-
0xe70020ff irq 11 at device 11.0 on pci0
miibus2: <MII bus> on re2
ukphy2: <Generic IEEE 802.3u media interface> on miibus2
ukphy2:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
re2: MAC address: 00:90:fb:04:19:9b
installed MI handler for int 11
. .....

# ifconfig -a
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=18<>
        inet 192.168.1.17 netmask 0xffffff00 broadcast 192.168.1.255
        ether 00:90:fb:04:19:9d
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
re1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        options=18<>
        ether 00:90:fb:04:19:9c
        media: Ethernet autoselect (10baseT/UTP)
        status: no carrier
re2: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        options=18<>
        ether 00:90:fb:04:19:9b
        media: Ethernet autoselect (10baseT/UTP)
        status: no carrier
faith0: flags=8002<BROADCAST,MULTICAST> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet 127.0.0.1 netmask 0xff000000 
# ping 192.168.1.2
PING 192.168.1.2 (192.168.16.2): 56 data bytes
64 bytes from 192.168.1.2: icmp_seq=0 ttl=64 time=0.397 ms
64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=0.176 ms
64 bytes from 192.168.1.2: icmp_seq=2 ttl=64 time=0.148 ms
64 bytes from 192.168.1.2: icmp_seq=3 ttl=64 time=0.146 ms
^C
--- 192.168.1.2 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.146/0.217/0.397/0.105 ms

-- end of test log






More information about the Bugs mailing list