Date: Sat, 13 Jul 2013 22:30:40 +0200 From: Andreas Longwitz <longwitz@incore.de> To: pyunyh@gmail.com Cc: freebsd-net@freebsd.org Subject: Re: sis(4) flow control Message-ID: <51E1B8F0.5030100@incore.de> In-Reply-To: <20130711002557.GA6697@michelle.cdnetworks.com> References: <51DC1599.8040805@incore.de> <20130710023512.GB2753@michelle.cdnetworks.com> <51DDDDAB.6070100@incore.de> <20130711002557.GA6697@michelle.cdnetworks.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Yonghyeon PYUN wrote: >>> Try attached patch and let me know how it works. >> Thanks for your patch. I will test it on next update of my soekris boxes >> with sis interfaces. Because they are all remote far away this will need >> some time. > > Ok. Make sure to check established link before testing > flow-control. 'ifconfig sis0' will show current media and you > should have something like the following. > ... > media: Ethernet autoselect <flowcontrol> (100baseTX <full-duplex,flowcontrol,rxpause,txpause>) > > If you don't see 'rxpause', re-negotiate flow-control with > 'ifconfig sis0 mediaopt flow'. Because sis(4) (soekris 4801) is not available for me at the moment, I tried with vr(4) (soekris 5501). In production I run both types of boxes with FreeBSD 6 and a simple SETBIT patch to honor RX pause frames. Now I want to go with FreeBSD 8 Stable and eliminate my patch. "ifconfig vr0" gives media: Ethernet autoselect (100baseTX <full-duplex>), therefore I tried (using serial console) "ifconfig vr0 flow" and now "ifconfig vr0" as expected gives media: Ethernet autoselect <flowcontrol> (100baseTX <full-duplex,flowcontrol,rxpause,txpause>), but the interface vr0 hangs. Outgoing packets are ok, but all incoming packets are blocked. In this situation I can give "ifconfig vr0 -mediaopt flowcontrol" and see after "ifconfig vr0" media: Ethernet autoselect (none) status: no carrier and one second later media: Ethernet autoselect (100baseTX <full-duplex>) status: active and interface works correct again. >From console: vr0: <VIA VT6105M Rhine III 10/100BaseTX> port 0xe100-0xe1ff mem 0xa0004000-0xa00040ff irq 11 at device 6.0 on pci0 vr0: Quirks: 0x2 vr0: Revision: 0x96 miibus0: <MII bus> on vr0 ukphy0: <Generic IEEE 802.3u media interface> PHY 1 on miibus0 ukphy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto, auto-flow vr0: Ethernet address: 00:00:24:cb:1e:34 vr0: [ITHREAD] My switch is D-Link DGS-1008D green Ethernet (has support for IEEE 802.3x Flow-Control). On the same switch I have connected two other machines using msk driver (88E8050 and 88E8055) and "ifconfig msk0" gives always media: Ethernet autoselect (1000baseT <full-duplex,flowcontrol,rxpause,txpause>) Maybe there is a bug in vr(4) that generates the hang, but why is negotiation of flowcontrol on vr(4) not done at boot time as shown for msk(4) ? If you need more information about the hang let me know. -- Andreas Longwitz
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?51E1B8F0.5030100>