Wake on LAN of bge NIC driver is supported?

Can you show the output of "ifconfig bge0"?

1. According to the bug report, WoL is not supported. There is a patch (on github?) to implement WoL. But it has one bug. That is why they did not commit the patch yet.

2. *Edit*
This patch (https://reviews.freebsd.org/D31834) was accepted, but not committed.

3. The commit history on github doesn't mention wol: https://github.com/freebsd/freebsd-src/commits/main/sys/dev/bge/if_bge.c

4. A text search in the if_bge.c driver source file for "wol" returns nothing.

5. My conclusion is that wol is not supported.
 
Can you show the output of "ifconfig bge0"?

Code:
root@gen10:~ # ifconfig
bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=c019b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,VLAN_HWTSO,LINKSTATE>
        ether b8:83:03:46:05:3c
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
bge1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=c019b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,VLAN_HWTSO,LINKSTATE>
        ether b8:83:03:46:05:3c
        hwaddr b8:83:03:46:05:3d
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
        inet 127.0.0.1 netmask 0xff000000
        groups: lo
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=c019b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,VLAN_HWTSO,LINKSTATE>
        ether b8:83:03:46:05:3c
        inet 192.168.2.10 netmask 0xffffff00 broadcast 192.168.2.255
        laggproto loadbalance lagghash l3,l4
        laggport: bge0 flags=4<ACTIVE>
        laggport: bge1 flags=4<ACTIVE>
        groups: lagg
        media: Ethernet autoselect
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>

I am sure I have had several successful WOLs, but I am still unable to find the steps to use WOLs again.
 
Can you show the output of "ifconfig bge0"?

1. According to the bug report, WoL is not supported. There is a patch (on github?) to implement WoL. But it has one bug. That is why they did not commit the patch yet.

2. *Edit*
This patch (https://reviews.freebsd.org/D31834) was accepted, but not committed.

3. The commit history on github doesn't mention wol: https://github.com/freebsd/freebsd-src/commits/main/sys/dev/bge/if_bge.c

4. A text search in the if_bge.c driver source file for "wol" returns nothing.

5. My conclusion is that wol is not supported.

I find something weird.

If I use 'ether b8:83:03:46:05:3c' of bge0, bge1, and lagg0 as the WoL target address. WoL not works.
But If I use 'hwaddr b8:83:03:46:05:3d' of bge1. (bge0 and lagg0 have no 'hwaddr'.) WoL works.

'ether' and 'hwaddr' can be found in ifconfig output above.

Why?
 
As described in the title, I have HPE Microserver Gen10 with BCM 5720 dual-port NIC which uses bge driver in FreeBSD 13.2-p2.

I found that https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=218579 said bge driver does not support WoL.

Is it right?
The OP of the bug report refers to a "HP ProLiant MicroServer" in general terms, AFAIK there are at least four generations of hp microservers in one form or another. If your microserver is a microserver gen 10, like this one: https://tweakers.net/pricewatch/968695/hpe-proliant-microserver-gen10-873830-421/specificaties/, then (as you already noticed) it has WOL (this must be enabled in the BIOS settings for the target NIC). For a correct working of FreeBSD in combination with all USB ports verify that you have the latest BIOS version; I have:
Code:
Core Version 5.12
Project Version ZA10A380
Build Dtae and Time 01/19/2020
Earlier versions did have some USB problems for the fast USB ports on FreeBSD.

Btw, in principle WOL at the microserver gen 10 side has little to do with what OS is installed; WOL takes action before any OS boots*. What matters is how the magic packet (for WOL) is sent to the intended target system.

___
* it's a little more complicated, but anyway WOL and successive boot on a HP microserver gen 10 as referenced works.
 
Core Version 5.12 Project Version ZA10A380 Build Dtae and Time 01/19/2020
Yes, my gen10 is the same as described in the link. I had already updated all firmware (BIOS and NICs) to the latest version.

And I found that after using link aggregation in FreeBSD, the MAC address of a network card capable of receiving WoL packets was represented by the "hwaddr" value, not the "ether" value.

But I can not find the description of "hwaddr" in ifconfig man page.

What happened to "hwaddr" and "ether"?
 
Back
Top