#
a2a8420c |
| 04-Aug-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Don't enable TSO by default. Users of RTL8169/8110 reported watchdog timeout issues and the root cause seems to stem from silicon bug of controller. Personally I couldn't reproduce it on RTL8169 cont
Don't enable TSO by default. Users of RTL8169/8110 reported watchdog timeout issues and the root cause seems to stem from silicon bug of controller. Personally I couldn't reproduce it on RTL8169 controller but it seems it's dependent on usage pattern. For newer PCIe based controllers I have no TSO complaints but turning off TSO would be more safe. Users who are sure that their controller works with TSO can still reenable the TSO with ifconfig(8).
Reported by: Oliver Lehmann (lehmann at ans-netz dot de), Eugene Butusov (ebutusov at gmail dot com)
show more ...
|
#
ae644087 |
| 04-Aug-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
The number of bits reserved for MSS in RealTek controllers is 11bits. This limits the maximum interface MTU size in TSO case as upper stack should not generate TCP segments with MSS greater than the
The number of bits reserved for MSS in RealTek controllers is 11bits. This limits the maximum interface MTU size in TSO case as upper stack should not generate TCP segments with MSS greater than the limit. Armed with this information, disable TSO if interface MTU is greater than the limit.
show more ...
|
#
b1d62f0f |
| 09-Jul-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Add driver support for RTL8102E and RTL8102EL which is the second generation of RTL810x PCIe fast ethernet controller. Note, Tx/Rx descriptor format is different from that of first generation of RTL8
Add driver support for RTL8102E and RTL8102EL which is the second generation of RTL810x PCIe fast ethernet controller. Note, Tx/Rx descriptor format is different from that of first generation of RTL8101E series. Jumbo frame is not supported for RTL810x family.
Tested by: NAGATA Shinya ( maya AT negeta DOT com )
show more ...
|
#
47fac8e5 |
| 09-Jul-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Disable jumbo frame support for RTL810x fast ethernet controllers.
|
#
715922d7 |
| 02-Jul-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Add a new RTL8169 variant, 8169SB(L)/8110SB(L).
Reported by: nork Tested by: nork
|
#
deb5c680 |
| 02-Jul-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Add basic support for RTL8168C, RTL8168CP, RTL8111C and RTL8111CP. ATM Tx/Rx checksum offload is supported but TSO and jumbo frame is not yet supported. Because these newer controllers use different
Add basic support for RTL8168C, RTL8168CP, RTL8111C and RTL8111CP. ATM Tx/Rx checksum offload is supported but TSO and jumbo frame is not yet supported. Because these newer controllers use different descriptor formats, a flag RL_FLAG_DESCV2 flag was introduced to handle that case in Tx/Rx handler. Also newer controllers seems to require to not touch 'enable Tx/Rx bit' in RL_CPLUS_CMD register so don't blindly try to set that bits.
Note, it seems that there is still power-saving related issue where driver fails to attach PHY. Rebooting seems to fix that issue but number of required reboots varys.
Many thanks to users that helped during developement. I really appreciate their patient and test/feedbacks.
show more ...
|
#
a810fc83 |
| 02-Jul-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Display detected chip revision in device attach. This will help to diagnose revision specific issues in future. Also add 0x to notify that the revision number is in hex form.
|
#
4d2bf239 |
| 02-Jul-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
If MSI is not active make sure to disable MSI in EEPROM.
|
#
81cf2eb6 |
| 02-Jul-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
In device detach don't access ifnet structure unless device is attached. This fixes NULL pointer dereference when polling(9) is active and unsupported hardware is detected in device attach.
|
#
3021aef8 |
| 02-Jul-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Toggling IFF_ALLMULTI flag does not require full interface reintialization.
|
#
351a76f9 |
| 02-Jul-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Instead of allocating variables for each events/hardware flags, use a dedicated flag that represents controller capabilities/events. This will simplify many part of code that requires different worka
Instead of allocating variables for each events/hardware flags, use a dedicated flag that represents controller capabilities/events. This will simplify many part of code that requires different workaround for each controller revisions and will enhance readability. While I'm here move PHY wakeup code up before mii_phy_probe() which seems to help to wake PHY in some cases.
show more ...
|
#
ace7ed5d |
| 02-Jul-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Switch to memory space register mapping over IO space. If that mapping fails fall back to traditional IO space access.
|
#
f98dd8cf |
| 02-Jul-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
While accessing EEPROM command register use pre-defined constant instead of hardcoded value.
|
#
9dfcacbe |
| 02-Jul-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
After the change of r176757 re(4) no longer relys on reading RL_TXCFG register to identify a device in device probe. Reflect the fact by modifing device description with general ethernet controller f
After the change of r176757 re(4) no longer relys on reading RL_TXCFG register to identify a device in device probe. Reflect the fact by modifing device description with general ethernet controller family. Note, rl_basetype in struct rl_type is not used and the more detailed information is provided with rl_hwrev structure.
show more ...
|
#
dd6bd666 |
| 02-Jul-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Remove duplicated H/W revision check.
|
#
339a44fb |
| 15-Apr-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Don't touch MSI enable bit in RL_CFG2 register. For unknown reason clearing MSI enable bit for MSI capable hardwares resulted in Tx problems. MSI enable bit is set only when MSI is requested from use
Don't touch MSI enable bit in RL_CFG2 register. For unknown reason clearing MSI enable bit for MSI capable hardwares resulted in Tx problems. MSI enable bit is set only when MSI is requested from user.
Tested by: remko
show more ...
|
#
a4148af5 |
| 31-Mar-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Padding more bytes than necessary one broke another variants of PCIe RealTek chips. Only pad IP packets if the payload is less than 28 bytes.
Obtained from: NetBSD PR: kern/122221
|
#
99c8ae87 |
| 28-Mar-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
In revision 1.70, 1.71 and 1.84 re(4) tried to workaround checksum offload bugs by manual padding for short IP/UDP frames. Unfortunately it seems that these workaround does not work reliably on newer
In revision 1.70, 1.71 and 1.84 re(4) tried to workaround checksum offload bugs by manual padding for short IP/UDP frames. Unfortunately it seems that these workaround does not work reliably on newer PCIe variants of RealTek chips.
To workaround the hardware bug, always pad short frames if Tx IP checksum offload is requested. It seems that the hardware has a bug in IP checksum offload handling. NetBSD manually pads short frames only when the length of IP frame is less than 28 bytes but I chose 60 bytes to safety. Also unconditionally set IP checksum offload bit in Tx descriptor if any TCP or UDP checksum offload is requested. This is the same way as Linux does but it's not mentioned in data sheet.
Obtained from: NetBSD Tested by: remko, danger
show more ...
|
#
2000cf6c |
| 23-Mar-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
MSI handling on some RealTek chips are broken so disable it by default.
Reported by: Giulio Ferro ( auryn AT zirakzigil DOT org ) Tested by: Giulio Ferro ( auryn AT zirakzigil DOT org )
|
#
03ca7ae8 |
| 23-Mar-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
For MSI capable hardwares, enable MSI enable bit in RL_CFG2 register. If MSI was disabled by hw.re.msi_disable tunable expliclty clear the MSI enable bit.
|
#
ce628393 |
| 23-Mar-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Some RealTek chips are known to be buggy on DAC handling, so disable DAC by default.
|
#
ccf34c81 |
| 23-Mar-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
VLAN hardware tag information should be set for all desciptors of a multi-descriptor transmission attempt. Datasheet said nothing about this requirements. This should fix a long-standing VLAN hardwar
VLAN hardware tag information should be set for all desciptors of a multi-descriptor transmission attempt. Datasheet said nothing about this requirements. This should fix a long-standing VLAN hardware tagging issues with re(4).
Reported by: Giulio Ferro ( auryn AT zirakzigil DOT org ) Tested by: Giulio Ferro ( auryn AT zirakzigil DOT org )
show more ...
|
#
70acaecf |
| 23-Mar-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Always honor configured VLAN/checksum offload capabilities. Previously re(4) used to blindly enable VLAN hardware tag stripping and Rx checksum offload regardless of enabled optional features of inte
Always honor configured VLAN/checksum offload capabilities. Previously re(4) used to blindly enable VLAN hardware tag stripping and Rx checksum offload regardless of enabled optional features of interface.
show more ...
|
#
dfdb409e |
| 03-Mar-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Don't map memory/IO resource in device probe and just use PCI vendor/revision/sub device id of the hardware to probe it. This is the same way as NetBSD does and it enhances readabilty a lot.
|
#
c1d0b573 |
| 03-Mar-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Don't allow jumbo frame on 8139C+ controller. While I'm here add a check for minimal MTU length.
|