On 2023-10-16 21:20, Igor Cicimov wrote:


On Tue, Oct 17, 2023 at 12:12 PM Gary Dale <g...@extremeground.com> wrote:

    On 2023-10-16 18:52, Igor Cicimov wrote:
    Hi,

    On Tue, Oct 17, 2023, 8:00 AM Gary Dale <g...@extremeground.com>
    wrote:

        I'm trying to configure network bonding on an AMD64 system
        running
        Debian/Trixie. I've got a wired connection and a wifi
        connection, both
        of which work individually. I'd like them to work together to
        improve
        the throughput but for now I'm just trying to get the bond to
        work.
        However when I configure them, the wifi interface always
        shows down.

        # ip addr
        1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state
        UNKNOWN
        group default qlen 1000
             link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
             inet 127.0.0.1/8 <http://127.0.0.1/8> scope host lo
                valid_lft forever preferred_lft forever
             inet6 ::1/128 scope host noprefixroute
                valid_lft forever preferred_lft forever
        2: enp10s0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500
        qdisc mq
        master bond0 state UP group default qlen 1000
             link/ether 3c:7c:3f:ef:15:47 brd ff:ff:ff:ff:ff:ff
        4: wlxc4411e319ad5: <BROADCAST,MULTICAST> mtu 1500 qdisc noop
        state DOWN
        group default qlen 1000
             link/ether c4:41:1e:31:9a:d5 brd ff:ff:ff:ff:ff:ff
        7: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500
        qdisc
        noqueue state UP group default qlen 1000
             link/ether 3c:7c:3f:ef:15:47 brd ff:ff:ff:ff:ff:ff
             inet 192.168.1.20/24 <http://192.168.1.20/24> brd
        192.168.1.255 scope global bond0
                valid_lft forever preferred_lft forever
             inet6 fe80::3e7c:3fff:feef:1547/64 scope link proto
        kernel_ll
                valid_lft forever preferred_lft forever

        It does this even if I pull the cable from the wired
        connection. The
        wifi never comes up.

        Here's the /etc/network/interfaces file:

        auto lo
        iface lo inet loopback

        auto enp10s0
        iface enp10s0 inet manual
             bond-master bond0
             bond-mode 1

        auto wlxc4411e319ad5
        iface wlxc4411e319ad5 inet manual
             bond-master bond0
             bond-mode 1

        auto bond0
        iface bond0 inet static
             address 192.168.1.20
             netmask 255.255.255.0
             network 192.168.1.0
             gateway 192.168.1.1
             bond-slaves enp10s0 wlxc4411e319ad5
             bond-mode 1
             bond-miimon 100
             bond-downdelay 200
             bond-updelay 200


        I'd like to get it to work in a faster mode but for now the
        backup at
        least allows the networking to start without the wifi. Other
        modes seem
        to disable networking until both interfaces come up, which is
        not a good
        design decision IMHO. At least with mode 1, the network starts.

        Any ideas on how to get the wifi to work in bonding?


    Probably your wifi card does not support MII, check with:

    ~]# ethtool  wlxc4411e319ad5 | grep "Link detected:"

    and:

    ~]# cat /proc/net/bonding/bind0


    I'm assuming that no output is bad here. Still, I don't see why a
    device that works shouldn't be able to participate in a bond. As a
    network interface, the wifi device produces and responds to
    network traffic. Are you saying the bonding takes place below the
    driver level?


I'm saying the bonding driver is doing its own link detection on the presented interfaces for failover purposes. It can use ARP or MII. You can not enable MII on an interface that does not support that functionality. Use mii-tool to check both interfaces and see the difference.

Apparently neither interface supports it. According to what I have read, calling mii-tool with no parameters should return a terse list of all interfaces that support it. However, when I try that, I get "No interface specified". Moreover,

# mii-tool  enp10s0
SIOCGMIIPHY on 'enp10s0' failed: Operation not supported

# mii-tool wlxc4411e319ad5
SIOCGMIIPHY on 'wlxc4411e319ad5' failed: Operation not supported

which seems weird given that I have a recent, mainstream ASUS mainboard with a generic realtek onboard NIC that seems to be participating in the bonding.

I've also not seen any warnings that bonding requires a specific (and apparently rare) type of NIC. Indeed, my laptop seems to fail over nicely between ethernet and wifi.

Perhaps mii-tool is broken on Trixie?

Reply via email to