sis driver in RELENG_8

Pyun YongHyeon pyunyh at gmail.com
Mon Apr 12 20:33:51 UTC 2010


On Mon, Apr 12, 2010 at 03:52:01PM -0400, Mike Tancsa wrote:
> At 02:32 PM 4/12/2010, Pyun YongHyeon wrote:
> >>         media: Ethernet 10baseT/UTP <full-duplex> (10baseT/UTP
> >>         <half-duplex>)
> >>         status: active
> >> 0[to]#
> >>
> >> What does the half-duplex portion mean ?
> >>
> >
> >The current configured link with ifconfig(8) is 10baseT/UDP and
> >current option is full-duplex(<> part) and actually negotiated
> >link/option is 10baseT/UDP half-duplex. Because these are
> >different you will encounter duplex mismatch which in turn may
> >yield large number of input errors.
> >
> >If link partner is configured to 'auto' and link was resolved to
> >half-duplex even though you specified full-duplex, it could be
> >normal. Parallel detection normally resolves to half-duplex if
> >link partner use 'auto'.
> >Does link partner also use 10baseT/UTP full-duplex instead of
> >'auto'?
> 
> 
> The other side, which I dont control, is supposedly set to 10 Full 
> Manual as well.  I think I will have to get a box in the lab and test 
> for myself to see how it works where I can control both ends.
> 
> 
> >> I am seeing errors as well in netstat
> >>
> >> Name    Mtu Network       Address              Ipkts Ierrs
> >> Idrop    Opkts Oerrs  Coll
> >> sis0   1500
> >> <Link#1>      00:00:24:d8:aa:e0   281215     0     0   269930  2560 10478
> >>
> >
> >Show me dmesg output related with sis(4) and PHY driver. Also post
> >the output of "devinfo -rv | grep phy".
> 
> 
> sis0: <NatSemi DP8381[56] 10/100BaseTX> port 0xe100-0xe1ff mem 
> 0xa0000000-0xa0000fff irq 10 at device 6.0 on pci0
> sis0: Silicon Revision: DP83816A
> miibus0: <MII bus> on sis0
> nsphyter0: <DP83815 10/100 media interface> PHY 0 on miibus0
> nsphyter0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
> sis0: Ethernet address: 00:00:24:c8:fa:e0
> sis0: [ITHREAD]
> sis1: <NatSemi DP8381[56] 10/100BaseTX> port 0xe200-0xe2ff mem 
> 0xa0001000-0xa0001fff irq 10 at device 7.0 on pci0
> sis1: Silicon Revision: DP83816A
> miibus1: <MII bus> on sis1
> nsphyter1: <DP83815 10/100 media interface> PHY 0 on miibus1
> nsphyter1:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
> sis1: Ethernet address: 00:00:24:c8:fa:e1
> sis1: [ITHREAD]
> sis2: <NatSemi DP8381[56] 10/100BaseTX> port 0xe300-0xe3ff mem 
> 0xa0002000-0xa0002fff irq 10 at device 8.0 on pci0
> sis2: Silicon Revision: DP83816A
> miibus2: <MII bus> on sis2
> nsphyter2: <DP83815 10/100 media interface> PHY 0 on miibus2
> nsphyter2:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
> sis2: Ethernet address: 00:00:24:c8:fa:e2
> sis2: [ITHREAD]
> 
> 
>         sis0 pnpinfo vendor=0x100b device=0x0020 subvendor=0x100b 
> subdevice=0x0020 class=0x020000 at slot=6 function=0
>             Interrupt request lines:
>                 10
>             I/O ports:
>                 0xe100-0xe1ff
>           miibus0
>             nsphyter0 pnpinfo oui=0x80017 model=0x2 rev=0x1 at phyno=0
>         sis1 pnpinfo vendor=0x100b device=0x0020 subvendor=0x100b 
> subdevice=0x0020 class=0x020000 at slot=7 function=0
>             Interrupt request lines:
>                 10
>             I/O ports:
>                 0xe200-0xe2ff
>           miibus1
>             nsphyter1 pnpinfo oui=0x80017 model=0x2 rev=0x1 at phyno=0
>         sis2 pnpinfo vendor=0x100b device=0x0020 subvendor=0x100b 
> subdevice=0x0020 class=0x020000 at slot=8 function=0
>             Interrupt request lines:
>                 10
>             I/O ports:
>                 0xe300-0xe3ff
>           miibus2
>             nsphyter2 pnpinfo oui=0x80017 model=0x2 rev=0x1 at phyno=0
> 
> sis0 at pci0:0:6:0:        class=0x020000 card=0x0020100b 
> chip=0x0020100b rev=0x00 hdr=0x00
>     vendor     = 'National Semiconductors'
>     device     = 'DP83815/16 Fast Ethernet Adapter (MacPhyter/MacPhyter-II)'
>     class      = network
>     subclass   = ethernet
>     cap 01[40] = powerspec 2  supports D0 D1 D2 D3  current D0
> sis1 at pci0:0:7:0:        class=0x020000 card=0x0020100b 
> chip=0x0020100b rev=0x00 hdr=0x00
>     vendor     = 'National Semiconductors'
>     device     = 'DP83815/16 Fast Ethernet Adapter (MacPhyter/MacPhyter-II)'
>     class      = network
>     subclass   = ethernet
>     cap 01[40] = powerspec 2  supports D0 D1 D2 D3  current D0
> sis2 at pci0:0:8:0:        class=0x020000 card=0x0020100b 
> chip=0x0020100b rev=0x00 hdr=0x00
>     vendor     = 'National Semiconductors'
>     device     = 'DP83815/16 Fast Ethernet Adapter (MacPhyter/MacPhyter-II)'
>     class      = network
>     subclass   = ethernet
>     cap 01[40] = powerspec 2  supports D0 D1 D2 D3  current D0
> 
> 
> 
> On another box at the lab, I did confirm that if I set the NIC to 10 
> full manual
> 
> # ifconfig sis2
> sis2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
>         options=8<VLAN_MTU>
>         ether 00:00:24:c8:fa:de
>         inet 1.1.1.1 netmask 0xffffff00 broadcast 1.1.1.255
>         media: Ethernet 10baseT/UTP <full-duplex>
>         status: active
> 
> 
> and the switch port is set to
> 
> interface FastEthernet0/33
>  duplex full
>  speed 10
> 
> it seems to work.... I wonder if the media converter I plug into is 
> really set to 10 Full....
> 

Thanks for the info.
I thought ukphy(4) might be used on sis(4). nsphyter(4) will report
correct status so if manual media configuration does not work that
would be a bug in sis(4).
I'm under the impression that link state handling does not look
right on sis(4). It seems sis(4) reinitializes controller whenever
link state change event is delivered. And driver didn't change
current media to configured one which may/may not work under certain
conditions. Unfortunately changing driver to follow correct way
would be hard because several PHY workarounds for various revision
requires a lot of testing and confirmation from users.


More information about the freebsd-stable mailing list