bsdconfig - can't setup network interface using "default" option

Environment:
  • FreeBSD version: 13.2-RELEASE
  • hardware: Raspberry Pi 400
  • ethernet cable: cat 5e

Bug Description:
  • In bsdconfig(8), the "default" option in networking management can't setup the network interface correctly if the previous state of the network link is "no carrier" caused by unsupported option. Even using "#service netif restart" won't help.

Steps to Reproduce Bug:
  1. In bsdconfig(8) > Networking Management > Network Interfaces > <link_name> > options
  2. Select "media 1000baseT mediaopt full-duplex,master instance 1" and bring up interface during confirmation. This option is not supported by Raspberry Pi 400, so when you exit the bsdconfig(8) and type ifconfig(8), the status of <link_name> shows "no carrier".
  3. Repeat step 1 but choose "default" option and bring up interface during confirmation.
  4. ifconfig(8) shows the status of <link_name> to be "no carrier". The setting in "/etc/rc.conf" file for <link_name> is correct. Run "#service netif restart" won't work.
  5. Repeat step 1 but choose "media 100baseTX" option and bring up interface during confirmation.
  6. Exit the bsdconfig(8) and use ifconfig(8) to show network interface info, the status of <link_name> becomes "active". However, when you try to ping other IP addresses (such as 192.168.0.1), it shows "no route to host". This bug is described in bug#276197.
  7. Use service(8) with command "#service netif restart" to restart netif, the ifconfig(8) shows the link as "active", now you are able to ping other ip addresses and connect to other hosts.
  8. Now, open bsdconfig(8) again and choose "default" option. After that, ifconfig(8) shows the status is "active" and you can successfully ping / connect to other hosts.

Expected Result:
  1. Changing option "media 1000baseT mediaopt full-duplex,master instance 1" -> "default" should work, at least the network interface should work after running "#service netif restart". However, it is only working by changing it following "media 1000baseT mediaopt full-duplex,master instance 1" -> "media 100baseTX" -> "default".
  2. The issue of not setting up "media 100baseTX" after exiting bsdconfig(8) is described by bug#276197.
 
Back
Top