Hi, When stopping ethercat on a Linux 3.14 kernel while using the ec_r8169,the MAC address of the Realtek Ethernet Controller is cleared. It becomes 00:00:00:00:00:00.
The card can still be used, but you have to specify the new null MAC address when loading ec_master the next time. The only way to restore the original MAC address is to power off the computer.
After many tests, I have discovered that: - this bug does not happen on 3.4 kernel - this bug does not happen with ec_e1000e - this bug does not happen with ec_generic + r8169 - this bug happens on i386 and x86_64 architectures with a 3.14 kernel- this bug happens on any computer I have (Beckhoff c6920-0040, Beckhoff c6920-0050, Shuttle DS47 ) - this bug happens on any Realtek boards I have. ( two different RTL8168E [TP-Link TG3468 V2] and one RTL8111G [Shuttle DS47] ) - the bug happens only if ec_master and ec_r8169 are both loaded (if you just load/unload ec_r8169 alone, the MAC address is not destroyed)
If you have a Realtek Ethernet Controller and a 3.14 kernel, you can reproduce the bug with the attached script. Just specify the MAC address as argument. For example
# ./ec_r8169_bug.sh 60:e3:27:01:68:4d If you wish additional information, I can run other tests. Additional details =================== I use - EtherCAT: Master driver 1.5.2 0f4b7d799c44 with kernel 3.14.65-rt68 i686 - EtherCAT: Master driver 1.5.2 2eff7c993a63 with kernel 3.4.4-rt13 i686 - EtherCAT: Master driver 1.5.2 with kernel 3.14.39-rt37 x86_64My distribution are Debian 7 with a 3.4rt kernel (i386) and Debian 8 with a 3.14rt kernel (i686 and amd64 architecture)
This is the output of "lspci -v" for a RTL8168E on a TP-Link TG3468V205:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)
Subsystem: Device 7470:3468 Flags: bus master, fast devsel, latency 0, IRQ 53 I/O ports at d000 [size=256] Memory at f7c00000 (64-bit, non-prefetchable) [size=4K] Memory at f0000000 (64-bit, prefetchable) [size=16K] Capabilities: [40] Power Management version 3 Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+ Capabilities: [70] Express Endpoint, MSI 01 Capabilities: [b0] MSI-X: Enable- Count=4 Masked- Capabilities: [d0] Vital Product Data Capabilities: [100] Advanced Error Reporting Capabilities: [140] Virtual Channel Capabilities: [160] Device Serial Number 6d-12-00-00-68-4c-e0-00 Kernel driver in use: ec_r8169 This is the output of "lspci -v" for a RTL8111G in my Shuttle DS4704:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)
Subsystem: Holco Enterprise Co, Ltd/Shuttle Computer Device 4018 Flags: bus master, fast devsel, latency 0, IRQ 41 I/O ports at c000 [size=256] Memory at f7800000 (64-bit, non-prefetchable) [size=4K] Memory at f0000000 (64-bit, prefetchable) [size=16K] Capabilities: [40] Power Management version 3 Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+ Capabilities: [70] Express Endpoint, MSI 01 Capabilities: [b0] MSI-X: Enable- Count=4 Masked- Capabilities: [d0] Vital Product Data Capabilities: [100] Advanced Error Reporting Capabilities: [140] Virtual Channel Capabilities: [160] Device Serial Number 01-00-00-00-68-4c-e0-00 Capabilities: [170] Latency Tolerance Reporting Kernel driver in use: ec_r8169 best regards, -- Sebastien BLANCHET
ec_r8169_bug.sh
Description: application/shellscript
_______________________________________________ etherlab-dev mailing list etherlab-dev@etherlab.org http://lists.etherlab.org/mailman/listinfo/etherlab-dev