From 88fc1eee615e1b5a2c95f553f2425fd062e82a8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josef=20S=C3=B6ntgen?= Date: Mon, 9 Mar 2015 14:31:26 +0100 Subject: [PATCH] wifi_drv: add verbose attribute in config node Among others, the driver will now print the MAC address of the wireless device when 'verbose="yes"' is added to . Issue #1439. --- repos/dde_linux/src/drivers/wifi/main.cc | 5 +++++ repos/dde_linux/src/lib/wifi/nic.cc | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/repos/dde_linux/src/drivers/wifi/main.cc b/repos/dde_linux/src/drivers/wifi/main.cc index 4577af01d..05008200f 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 4af56cb96..da5ed2f27 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);