Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 07 Nov 2022 20:50:12 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 266973] [e1000] incorrect behavior when media and mediaopt are set to 100BaseTX full-duplex
Message-ID:  <bug-266973-227-bBsuvdnziz@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-266973-227@https.bugs.freebsd.org/bugzilla/>
References:  <bug-266973-227@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D266973

--- Comment #2 from Kristof Provost <kp@freebsd.org> ---
We've taken a look at the PHY interactions with this dtrace snippet:

dtrace -n 'fbt::e1000_read_phy_reg_82580:entry { printf("read(%#x)", arg1);
self->data =3D arg2; }' -n 'fbt::e1000_read_phy_reg_82580:return { printf("=
=3D>
%#x", *(uint16_t *)self->data); }' -n 'fbt::e1000_write_phy_reg_82580:entry=
 {
printf("write(%#x, %#x)", arg1, arg2); }' -c "ifconfig igb0 media 100BaseTX
mediaopt full-duplex"


It's a bit strange that running the command to force 100-full with dtrace d=
oes
not entail the problem. but running again ifconfig igb1 media auto; ifconfig
igb1 media 100BaseTX mediaopt full-duplex; entails the problem again. See t=
he
bellow output:

[root@r640fw7m ~]# ifconfig igb1 media auto
[root@r640fw7m ~]# ifconfig igb1
igb1: flags=3D8863<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
=C2=A0=C2=A0=20
options=3D4e100bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCS=
UM,VLAN_HWFILTER,RXCSUM_IPV6,TXCSUM_IPV6,NOMAP>
=C2=A0=C2=A0 =C2=A0ether e4:43:4b:de:53:03
=C2=A0=C2=A0 =C2=A0inet 10.2.7.141 netmask 0xffff0000 broadcast 10.2.255.255
=C2=A0=C2=A0 =C2=A0media: Ethernet autoselect (100baseTX )
=C2=A0=C2=A0 =C2=A0status: active
=C2=A0=C2=A0 =C2=A0nd6 options=3D1
[root@r640fw7m ~]# dtrace -n 'fbt::e1000_read_phy_reg_82580:entry {
printf("read(%#x)", arg1); self->data =3D arg2; }' -n
'fbt::e1000_read_phy_reg_82580:return { printf("=3D> %#x", *(uint16_t
*)self->data); }' -n 'fbt::e1000_write_phy_reg_82580:entry { printf("write(=
%#x,
%#x)", arg1, arg2); }' -c "ifconfig igb1 media 100BaseTX mediaopt full-dupl=
ex"
dtrace: description 'fbt::e1000_read_phy_reg_82580:entry ' matched 1 probe
dtrace: description 'fbt::e1000_read_phy_reg_82580:return ' matched 1 probe
dtrace: description 'fbt::e1000_write_phy_reg_82580:entry ' matched 1 probe
dtrace: pid 31422 has exited
CPU=C2=A0=C2=A0=C2=A0=C2=A0 ID=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 FUNCT=
ION:NAME
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x16)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7f08
=C2=A026=C2=A0=C2=A0 4925=C2=A0 e1000_write_phy_reg_82580:entry write(0x16,=
 0xff08)
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x12)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x840a
=C2=A026=C2=A0=C2=A0 4925=C2=A0 e1000_write_phy_reg_82580:entry write(0x12,=
 0x840a)
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x9)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x600
=C2=A026=C2=A0=C2=A0 4925=C2=A0 e1000_write_phy_reg_82580:entry write(0x9, =
0x600)
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x1040
=C2=A026=C2=A0=C2=A0 4925=C2=A0 e1000_write_phy_reg_82580:entry write(0, 0x=
2100)
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x16)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7f08
=C2=A026=C2=A0=C2=A0 4925=C2=A0 e1000_write_phy_reg_82580:entry write(0x16,=
 0xff08)
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x12)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x840a
=C2=A026=C2=A0=C2=A0 4925=C2=A0 e1000_write_phy_reg_82580:entry write(0x12,=
 0x840a)
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x9)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x600
=C2=A026=C2=A0=C2=A0 4925=C2=A0 e1000_write_phy_reg_82580:entry write(0x9, =
0x600)
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x1040
=C2=A026=C2=A0=C2=A0 4925=C2=A0 e1000_write_phy_reg_82580:entry write(0, 0x=
2100)
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A026=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)
=C2=A026=C2=A0=C2=A0 4924=C2=A0 e1000_read_phy_reg_82580:return =3D> 0x7949
=C2=A0 2=C2=A0=C2=A0 4923=C2=A0=C2=A0 e1000_read_phy_reg_82580:entry read(0=
x1)

[root@r640fw7m ~]# ifconfig igb1
igb1: flags=3D8863<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
=C2=A0=C2=A0=20
options=3D4e100bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCS=
UM,VLAN_HWFILTER,RXCSUM_IPV6,TXCSUM_IPV6,NOMAP>
=C2=A0=C2=A0 =C2=A0ether e4:43:4b:de:53:03
=C2=A0=C2=A0 =C2=A0inet 10.2.7.141 netmask 0xffff0000 broadcast 10.2.255.255
=C2=A0=C2=A0 =C2=A0media: Ethernet 100baseTX=20
=C2=A0=C2=A0 =C2=A0status: active
=C2=A0=C2=A0 =C2=A0nd6 options=3D1
[root@r640fw7m ~]# ifconfig igb1 media 100BaseTX mediaopt full-duplex
[root@r640fw7m ~]# ifconfig igb1
igb1: flags=3D8863<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
=C2=A0=C2=A0=20
options=3D4e100bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCS=
UM,VLAN_HWFILTER,RXCSUM_IPV6,TXCSUM_IPV6,NOMAP>
=C2=A0=C2=A0 =C2=A0ether e4:43:4b:de:53:03
=C2=A0=C2=A0 =C2=A0inet 10.2.7.141 netmask 0xffff0000 broadcast 10.2.255.255
=C2=A0=C2=A0 =C2=A0media: Ethernet 100baseTX=20
=C2=A0=C2=A0 =C2=A0status: active
=C2=A0=C2=A0 =C2=A0nd6 options=3D1
[root@r640fw7m ~]# ifconfig igb1 media auto
[root@r640fw7m ~]# ifconfig igb1 media 100BaseTX mediaopt full-duplex
[root@r640fw7m ~]# ifconfig igb1
igb1: flags=3D8863<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
=C2=A0=C2=A0=20
options=3D4e100bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCS=
UM,VLAN_HWFILTER,RXCSUM_IPV6,TXCSUM_IPV6,NOMAP>
=C2=A0=C2=A0 =C2=A0ether e4:43:4b:de:53:03
=C2=A0=C2=A0 =C2=A0inet 10.2.7.141 netmask 0xffff0000 broadcast 10.2.255.255
=C2=A0=C2=A0 =C2=A0media: Ethernet 100baseTX  (autoselect)
=C2=A0=C2=A0 =C2=A0status: no carrier
=C2=A0=C2=A0 =C2=A0nd6 options=3D1

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-266973-227-bBsuvdnziz>