From 29e287b0e8dc179a07d217d7f4b81e878c3e324d Mon Sep 17 00:00:00 2001 From: paulr Date: Tue, 20 Sep 2011 03:45:30 +1000 Subject: [PATCH] more hardware probes. --- libcbfwr/config.php | 27 ++++++++++++++++----------- 1 files changed, 16 insertions(+), 11 deletions(-) diff --git a/libcbfwr/config.php b/libcbfwr/config.php index e63f13c..d9a8eb2 100644 --- a/libcbfwr/config.php +++ b/libcbfwr/config.php @@ -36,10 +36,10 @@ class Config { } if($this->config["status"] == "conf") { + $this->loadConfig($this->config_file); - print_r($this->config); - $this->config = array(); $this->findHardware(); + print_r($this->config); $this->applyConfig(); } else { @@ -57,18 +57,23 @@ class Config { // first, network interfaces $dh = opendir("/sys/class/net/"); while(($fname = readdir($dh)) !== false) { - if($fname != "." && $fname != ".." && $fname != "lo") { - $this->config["hardware"]["netdev"][$fname]["int"] = true; + if($fname != "." && $fname != ".." && $fname != "lo" && is_dir("/sys/class/net/$fname/")) { + $this->config["hardware"]["netdev"][$fname]["name"] = $fname; // now read drive name if you can - $fp = fopen("/sys/class/net/$fname/device/uevent", "r"); - if($fp) while(!feof($fp)) { - $line = trim(fgets($fp)); - $lpl = explode("=", $line); - if($lpl[0] == "DRIVER") { - $this->config["hardware"]["netdev"][$fname]["driver"] = $lpl[1]; + if(file_exists("/sys/class/net/$fname/device/uevent")) $fp = fopen("/sys/class/net/$fname/device/uevent", "r"); + else $fp = false; + if($fp) { + while(!feof($fp)) { + $line = trim(fgets($fp)); + $lpl = explode("=", $line); + if($lpl[0] == "DRIVER") { + $this->config["hardware"]["netdev"][$fname]["driver"] = $lpl[1]; + } } + fclose($fp); } - fclose($fp); + if(file_exists("/sys/class/net/$fname/bonding")) $this->config["hardware"]["netdev"][$fname]["bonding"] = true; + if(file_exists("/sys/class/net/$fname/bridge")) $this->config["hardware"]["netdev"][$fname]["bridge"] = true; } } } -- 1.7.0.4