コード例 #1
0
ファイル: bsc_wlan.php プロジェクト: jhbsz/DIR-850L_A1
<?php

include "/htdocs/phplib/phyinf.php";
$hostname = query("/device/hostname");
$mac = PHYINF_getmacsetting("LAN-1");
$mac4 = cut($mac, 4, ":");
$mac5 = cut($mac, 5, ":");
$hostnamemac = $hostname . $mac4 . $mac5;
?>
<script type="text/javascript">
function Page() {}
Page.prototype =
{	
	services: "WIFI.PHYINF,PHYINF.WIFI,DEVICE.LAYOUT",
	OnLoad: function() {},
	OnUnload: function() {},
	OnSubmitCallback: function (code, result)
	{
				BODY.ShowContent();
		var url = null;
		var hostname= "<?php 
echo $hostname;
?>
";
		var hostnamemac= "<?php 
echo $hostnamemac;
?>
";
		switch (code)
		{
		case "OK":
コード例 #2
0
ファイル: LAYOUT.php プロジェクト: jhbsz/DIR-850L_A1
function layout_router($mode)
{
    SHELL_info($START, "LAYOUT: Start router layout ...");
    $Wan_index_number = query("/device/router/wanindex");
    /* Start .......................................................................... */
    /* Config RTL8367 as router mode layout. (1 WAN + 4 LAN) */
    setup_switch("router");
    //+++ hendry, for wifi topology
    $p = XNODE_getpathbytarget("", "phyinf", "uid", "ETH-1", 0);
    set($p . "/bridge/ports/entry:1/uid", "MBR-1");
    set($p . "/bridge/ports/entry:1/phyinf", "BAND24G-1.1");
    set($p . "/bridge/ports/entry:2/uid", "MBR-2");
    set($p . "/bridge/ports/entry:2/phyinf", "BAND5G-1.1");
    $p = XNODE_getpathbytarget("", "phyinf", "uid", "ETH-2", 0);
    set($p . "/bridge/ports/entry:1/uid", "MBR-1");
    set($p . "/bridge/ports/entry:1/phyinf", "BAND24G-1.2");
    set($p . "/bridge/ports/entry:2/uid", "MBR-2");
    set($p . "/bridge/ports/entry:2/phyinf", "BAND5G-1.2");
    //--- hendry
    /* Setup MAC address */
    $wanmac = PHYINF_getmacsetting("WAN-1");
    $lanmac = PHYINF_getmacsetting("LAN-1");
    setup_vlaninf("eth2", "1", $lanmac);
    setup_vlaninf("eth2", "2", $wanmac);
    /* set smaller tx queue len */
    startcmd("ifconfig eth2 txqueuelen 200");
    /* Create bridge interface. */
    startcmd("brctl addbr br0; brctl stp br0 off; brctl setfd br0 0");
    startcmd("brctl addif br0 eth2.1");
    //startcmd("brctl addif br0 wifig0");
    //startcmd("brctl addif br0 wifig0.1");
    startcmd("ip link set br0 up");
    if ($mode == "1W2L") {
        startcmd("brctl addbr br1; brctl stp br1 off; brctl setfd br1 0");
        //hendry, we let guestzone to bring br1 up
        //startcmd("ip link set br1 up");;
    }
    /* Setup the runtime nodes. */
    if ($mode == "1W1L") {
        PHYINF_setup("ETH-1", "eth", "br0");
        PHYINF_setup("ETH-2", "eth", "eth2.2");
        /* set Service Alias */
        startcmd('service PHYINF.ETH-1 alias PHYINF.LAN-1');
        startcmd('service PHYINF.ETH-2 alias PHYINF.WAN-1');
        /* WAN: set extension nodes for linkstatus */
        $path = XNODE_getpathbytarget("/runtime", "phyinf", "uid", "ETH-2", 0);
        startcmd('xmldbc -x ' . $path . '/linkstatus "get:psts -i ' . $Wan_index_number . '"');
    } else {
        if ($mode == "1W2L") {
            PHYINF_setup("ETH-1", "eth", "br0");
            PHYINF_setup("ETH-2", "eth", "br1");
            PHYINF_setup("ETH-3", "eth", "eth2.2");
            /* set Service Alias */
            startcmd('service PHYINF.ETH-1 alias PHYINF.LAN-1');
            startcmd('service PHYINF.ETH-2 alias PHYINF.LAN-2');
            startcmd('service PHYINF.ETH-3 alias PHYINF.WAN-1');
            /* WAN: set extension nodes for linkstatus */
            $path = XNODE_getpathbytarget("/runtime", "phyinf", "uid", "ETH-3", 0);
            startcmd('xmldbc -x ' . $path . '/linkstatus "get:psts -i ' . $Wan_index_number . '"');
        }
    }
    //+++ hendry
    $p = XNODE_getpathbytarget("/runtime", "phyinf", "uid", "ETH-1", 0);
    add($p . "/bridge/port", "BAND24G-1.1");
    add($p . "/bridge/port", "BAND5G-1.1");
    $p = XNODE_getpathbytarget("/runtime", "phyinf", "uid", "ETH-2", 0);
    add($p . "/bridge/port", "BAND24G-1.2");
    add($p . "/bridge/port", "BAND5G-1.2");
    //--- hendry
    /* LAN: set extension nodes for linkstatus */
    $path = XNODE_getpathbytarget("/runtime", "phyinf", "uid", "ETH-1", 0);
    startcmd('xmldbc -x ' . $path . '/linkstatus:1 "get:psts -i 4"');
    startcmd('xmldbc -x ' . $path . '/linkstatus:2 "get:psts -i 3"');
    startcmd('xmldbc -x ' . $path . '/linkstatus:3 "get:psts -i 2"');
    startcmd('xmldbc -x ' . $path . '/linkstatus:4 "get:psts -i 1"');
    /* Done */
    startcmd("xmldbc -s /runtime/device/layout router");
    startcmd("xmldbc -s /runtime/device/router/mode " . $mode);
    startcmd("usockc /var/gpio_ctrl ROUTER");
    startcmd("service PHYINF.ETH-1 start");
    startcmd("service PHYINF.ETH-2 start");
    if ($mode == "1W2L") {
        startcmd("service PHYINF.ETH-3 start");
    }
    /* Stop ........................................................................... */
    SHELL_info($STOP, "LAYOUT: Stop router layout ...");
    if ($mode == "1W2L") {
        stopcmd("service PHYINF.ETH-3 stop");
        stopcmd('service PHYINF.LAN-2 delete');
    }
    stopcmd("service PHYINF.ETH-2 stop");
    stopcmd("service PHYINF.ETH-1 stop");
    stopcmd('service PHYINF.WAN-1 delete');
    stopcmd('service PHYINF.LAN-1 delete');
    stopcmd('xmldbc -s /runtime/device/layout ""');
    stopcmd('/etc/scripts/delpathbytarget.sh /runtime phyinf uid ETH-1');
    stopcmd('/etc/scripts/delpathbytarget.sh /runtime phyinf uid ETH-2');
    stopcmd('/etc/scripts/delpathbytarget.sh /runtime phyinf uid ETH-3');
    //stopcmd('brctl delif br0 wifig0');
    stopcmd('brctl delif br0 eth2.1');
    //stopcmd('brctl delif br1 wifig0.1');
    stopcmd('ip link set eth2.1 down');
    stopcmd('ip link set eth2.2 down');
    stopcmd('brctl delbr br0; brctl delbr br1');
    stopcmd('vconfig rem eth2.1; vconfig rem eth2.2');
    return 0;
}