Tool/software: Linux
Hello,
I have a customer board with a keystone 2 and 6 1Gbe Ethernet interfaces.
I use a dhcp server on interface eth1 and it works if all interfaces are available on hardware.
dmesg on good case:
[ 20.819884] net eth1: netcp device eth1 opened [ 20.819894] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 20.826255] net eth1: adding address ff:ff:ff:ff:ff:ff, type 4 [ 20.826267] net eth1: adding address 02:18:31:7e:3e:00, type 1 [ 20.831714] net eth1: adding address 33:33:00:00:00:01, type 3 [ 20.831778] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 20.838143] net eth1: adding address 01:00:5e:00:00:01, type 3 [ 20.838158] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready [ 20.847444] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 20.867225] net eth2: opened RX channel: eeb69c90 [ 20.952381] netcp-1.0 2620110.netcp eth2: Link is Down [ 20.957723] net eth2: netcp device eth2 opened [ 20.957733] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 20.964094] net eth2: adding address ff:ff:ff:ff:ff:ff, type 4 [ 20.964107] net eth2: adding address 1e:f3:64:ea:cc:40, type 1 [ 20.969557] net eth2: adding address 33:33:00:00:00:01, type 3 [ 20.969622] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 20.975982] net eth2: adding address 01:00:5e:00:00:01, type 3 [ 20.976002] IPv6: ADDRCONF(NETDEV_UP): eth2: link is not ready [ 20.985345] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 21.005559] net eth3: opened RX channel: eeb69d10 [ 21.592370] netcp-1.0 2620110.netcp eth3: Link is Down [ 21.597707] net eth3: netcp device eth3 opened [ 21.597717] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 21.604082] net eth3: adding address ff:ff:ff:ff:ff:ff, type 4 [ 21.604094] net eth3: adding address ee:44:f2:06:72:7a, type 1 [ 21.609541] net eth3: adding address 33:33:00:00:00:01, type 3 [ 21.609603] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 21.615966] net eth3: adding address 01:00:5e:00:00:01, type 3 [ 21.615981] IPv6: ADDRCONF(NETDEV_UP): eth3: link is not ready [ 21.625500] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 21.645740] net eth6: opened RX channel: eeb69f10 [ 22.158100] netcp-1.0 2620110.netcp: phy not found on slave 6 [ 22.163878] net eth6: module open failed [ 22.535632] net eth6: opened RX channel: eeb69f10 [ 23.047821] netcp-1.0 2620110.netcp: phy not found on slave 6 [ 23.053581] net eth6: module open failed [ 23.452606] net eth7: opened RX channel: eeb6d890 [ 23.455992] PHY: Marvell 88X3120 [ 23.460213] netcp-1.0 soc:netcp@2f00000 eth7: Link is Down [ 23.465733] netcp-1.0 soc:netcp@2f00000: link_recover process initiated: eth7 slave 0 [ 23.473973] pps pps1: new PPS source ptp1 [ 23.478001] cpts rftclk: sel(0),rate(625000000 HZ),mult(4096),shift(9),div(5) [ 23.486647] net eth7: netcp device eth7 opened [ 23.486660] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 23.493024] net eth7: adding address ff:ff:ff:ff:ff:ff, type 4 [ 23.493037] net eth7: adding address ae:c4:34:32:08:65, type 1 [ 23.493837] net eth7: adding address 33:33:00:00:00:01, type 3 [ 23.494705] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 23.501053] net eth7: adding address 01:00:5e:00:00:01, type 3 [ 23.501890] IPv6: ADDRCONF(NETDEV_UP): eth7: link is not ready [ 23.511331] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 23.531590] net eth8: opened RX channel: eeb6dc90 [ 23.531615] netcp-1.0 soc:netcp@2f00000 eth8: Link is Down [ 23.537220] netcp-1.0 soc:netcp@2f00000: link_recover process initiated: eth8 slave 1 [ 23.546548] net eth8: netcp device eth8 opened [ 23.546559] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 23.552925] net eth8: adding address ff:ff:ff:ff:ff:ff, type 4 [ 23.552937] net eth8: adding address 7e:0f:fa:4d:b3:fa, type 1 [ 23.553738] net eth8: adding address 33:33:00:00:00:01, type 3 [ 23.553866] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 23.560215] net eth8: adding address 01:00:5e:00:00:01, type 3 [ 23.560227] IPv6: ADDRCONF(NETDEV_UP): eth8: link is not ready [ 23.569568] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 23.812322] kserdes_phy_enable_rx [ 23.815781] netcp-1.0 2620110.netcp eth1: Link is Up - 100Mbps/Full - flow control rx/tx [ 23.823932] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready [ 23.830734] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 23.837222] net eth1: adding address 33:33:ff:7e:3e:00, type 3 [ 23.988753] random: sshd: uninitialized urandom read (32 bytes read, 8 bits of entropy available) [ 24.227969] random: nonblocking pool is initialized [ 24.341988] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 24.952220] kserdes_phy_enable_rx [ 24.955539] netcp-1.0 2620110.netcp eth2: Link is Up - 1Gbps/Full - flow control rx/tx [ 24.963481] IPv6: ADDRCONF(NETDEV_CHANGE): eth2: link becomes ready [ 24.969851] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 24.976222] net eth2: adding address 33:33:ff:ea:cc:40, type 3
if some interfaces are not available and then I use eth1 for dhcp server the service doesn't get the incoming news.
But if I switch the interface eth1 in promiscuous mode it works like case one:
The command to switch mode:
ifconfig eth1 promisc
dmesg on error case:
[ 20.705957] net eth0: netcp device eth0 opened [ 20.705970] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 20.712335] net eth0: adding address ff:ff:ff:ff:ff:ff, type 4 [ 20.712347] net eth0: adding address b4:99:4c:01:3f:f5, type 1 [ 20.717793] net eth0: adding address 33:33:00:00:00:01, type 3 [ 20.723296] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 20.729643] net eth0: adding address 01:00:5e:00:00:01, type 3 [ 20.735106] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready [ 20.744640] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 20.764676] net eth1: opened RX channel: eeb69c10 [ 20.901879] cpts: unable to obtain a time stamp [ 21.352397] netcp-1.0 2620110.netcp eth1: Link is Down [ 21.357568] netcp-1.0 2620110.netcp: opened tx pipe tx-pipe-2620110 [ 21.359541] netcp-1.0 2620110.netcp: opened tx pipe tx-pipe-2620110 [ 21.359578] netcp-1.0 2620110.netcp: opened tx pipe tx-pipe-2620110 [ 21.359613] netcp-1.0 2620110.netcp: opened tx pipe tx-pipe-2620110 [ 21.359647] netcp-1.0 2620110.netcp: opened tx pipe tx-pipe-2620110 [ 21.359681] netcp-1.0 2620110.netcp: opened tx pipe tx-pipe-2620110 [ 21.359714] netcp-1.0 2620110.netcp: opened tx pipe tx-pipe-2620110 [ 21.359918] net eth1: netcp device eth1 opened [ 21.359928] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 21.366290] net eth1: adding address ff:ff:ff:ff:ff:ff, type 4 [ 21.366302] net eth1: adding address 02:18:31:7e:3e:00, type 1 [ 21.371751] net eth1: adding address 33:33:00:00:00:01, type 3 [ 21.371816] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 21.378179] net eth1: adding address 01:00:5e:00:00:01, type 3 [ 21.378195] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready [ 21.387457] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 21.407543] net eth2: opened RX channel: eeb69c90 [ 21.919860] netcp-1.0 2620110.netcp: phy not found on slave 2 [ 21.925619] net eth2: module open failed [ 22.315906] net eth2: opened RX channel: eeb69c90 [ 22.828837] netcp-1.0 2620110.netcp: phy not found on slave 2 [ 22.834600] net eth2: module open failed [ 23.212505] net eth3: opened RX channel: eeb69d10 [ 23.725923] netcp-1.0 2620110.netcp: phy not found on slave 3 [ 23.731665] net eth3: module open failed [ 24.095707] net eth3: opened RX channel: eeb69d10 [ 24.352222] kserdes_phy_enable_rx [ 24.355539] netcp-1.0 2620110.netcp eth1: Link is Up - 100Mbps/Full - flow control rx/tx [ 24.609041] netcp-1.0 2620110.netcp: phy not found on slave 3 [ 24.614800] net eth3: module open failed [ 24.971909] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready [ 24.978270] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 24.985916] net eth1: adding address 33:33:ff:7e:3e:00, type 3 [ 25.001865] net eth6: opened RX channel: eeb69f10 [ 25.513932] netcp-1.0 2620110.netcp: phy not found on slave 6 [ 25.519674] net eth6: module open failed [ 25.925956] net eth6: opened RX channel: eeb69f10 [ 26.437722] netcp-1.0 2620110.netcp: phy not found on slave 6 [ 26.443483] net eth6: module open failed [ 26.812619] net eth7: opened RX channel: eeb6d890 [ 26.816009] PHY: Marvell 88X3120 [ 26.820229] netcp-1.0 soc:netcp@2f00000 eth7: Link is Down [ 26.825723] netcp-1.0 soc:netcp@2f00000: link_recover process initiated: eth7 slave 0 [ 26.833905] pps pps0: new PPS source ptp0 [ 26.837931] cpts rftclk: sel(0),rate(625000000 HZ),mult(4096),shift(9),div(5) [ 26.846567] net eth7: netcp device eth7 opened [ 26.846581] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 26.852941] net eth7: adding address ff:ff:ff:ff:ff:ff, type 4 [ 26.852952] net eth7: adding address 3a:b4:0f:74:2c:85, type 1 [ 26.853753] net eth7: adding address 33:33:00:00:00:01, type 3 [ 26.854627] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 26.860975] net eth7: adding address 01:00:5e:00:00:01, type 3 [ 26.861776] IPv6: ADDRCONF(NETDEV_UP): eth7: link is not ready [ 26.871260] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 26.891355] net eth8: opened RX channel: eeb6dc90 [ 26.891380] netcp-1.0 soc:netcp@2f00000 eth8: Link is Down [ 26.896876] netcp-1.0 soc:netcp@2f00000: link_recover process initiated: eth8 slave 1 [ 26.906180] net eth8: netcp device eth8 opened [ 26.906191] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 26.912552] net eth8: adding address ff:ff:ff:ff:ff:ff, type 4 [ 26.912563] net eth8: adding address 3e:45:9a:6e:b8:c5, type 1 [ 26.913364] net eth8: adding address 33:33:00:00:00:01, type 3 [ 26.913429] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 26.919777] net eth8: adding address 01:00:5e:00:00:01, type 3 [ 26.919789] IPv6: ADDRCONF(NETDEV_UP): eth8: link is not ready [ 26.929235] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c [ 27.347245] random: sshd: uninitialized urandom read (32 bytes read, 11 bits of entropy available) [ 27.583594] random: nonblocking pool is initialized [ 27.697445] netcp_set_rx_mode: Caller is __dev_set_rx_mode+0x64/0x9c
If I remove slave 2 and slave 3 it works again.
Can some help me?
Why does the incoming news only go to eth1 if i use the promisc mode, if slave 2 and slave 3 is not available?