diff --git a/repos/dde_linux/src/drivers/wifi/main.cc b/repos/dde_linux/src/drivers/wifi/main.cc
index 4577af01d9..05008200f2 100644
--- a/repos/dde_linux/src/drivers/wifi/main.cc
+++ b/repos/dde_linux/src/drivers/wifi/main.cc
@@ -15,6 +15,7 @@
#include
#include
#include
+#include
#include
#include
@@ -27,6 +28,7 @@ extern void wifi_init(Server::Entrypoint &, Genode::Lock &);
extern "C" void wpa_conf_reload(void);
extern "C" ssize_t wpa_write_conf(char const *, Genode::size_t);
+bool config_verbose = false;
static Genode::Lock &wpa_startup_lock()
{
@@ -222,6 +224,9 @@ struct Main
:
_ep(ep)
{
+ try {
+ config_verbose = Genode::config()->xml_node().attribute("verbose").has_value("yes");
+ } catch (...) { }
_wpa = new (Genode::env()->heap()) Wpa_thread(wpa_startup_lock());
_wpa->start();
diff --git a/repos/dde_linux/src/lib/wifi/nic.cc b/repos/dde_linux/src/lib/wifi/nic.cc
index 4af56cb966..da5ed2f271 100644
--- a/repos/dde_linux/src/lib/wifi/nic.cc
+++ b/repos/dde_linux/src/lib/wifi/nic.cc
@@ -30,6 +30,7 @@
# include
#include
+extern bool config_verbose;
enum {
HEAD_ROOM = 128, /* XXX guessed value but works */
@@ -409,6 +410,11 @@ extern "C" int register_netdevice(struct net_device *ndev)
/* set mac adress */
Genode::memcpy(ndev->perm_addr, ndev->ieee80211_ptr->wiphy->perm_addr, ETH_ALEN);
+ if (config_verbose)
+ PINF("mac_address: %02x:%02x:%02x:%02x:%02x:%02x",
+ ndev->perm_addr[0], ndev->perm_addr[1], ndev->perm_addr[2],
+ ndev->perm_addr[3], ndev->perm_addr[4], ndev->perm_addr[5]);
+
int err = ndev->netdev_ops->ndo_open(ndev);
if (err) {
PERR("ndev->netdev_ops->ndo_open(ndev): %d", err);