0

我正在尝试使用 libuci 编辑路由器 ssid 的选项。我可以正确阅读,但不知道如何编辑。通过以下链接的参考,我可以阅读但如何编辑(例如,如果我想更改 network.lan.proto)。

如何找出eth0模式是静态还是dhcp?

4

3 回答 3

3

如果要使用 C API for UCI,可以使用以下代码:

#include <uci.h>

void main()
{
   char path[]="network.lan.proto";
   char buffer[80];
   struct  uci_ptr ptr;
   struct  uci_context *c = uci_alloc_context();

   if(!c) return;

   if ((uci_lookup_ptr(c, &ptr, path, true) != UCI_OK) ||
         (ptr.o==NULL || ptr.o->v.string==NULL)) 
   { 
     uci_free_context(c);
     return;
   }

   if(ptr.flags & UCI_LOOKUP_COMPLETE)
      strcpy(buffer, ptr.o->v.string);

   printf("%s\n", buffer);

   // setting UCI values
   // -----------------------------------------------------------
   // this will set the value to 1234
   ptr.value = "1234";
   // commit your changes to make sure that UCI values are saved
   if (uci_commit(c, &ptr.p, false) != UCI_OK)
   {
      uci_free_context(c);
      uci_perror(c,"UCI Error");
      return;
   }

   uci_free_context(c);
}

参考来自这篇文章:OpenWrt LibUbi implementation

于 2015-10-13T21:03:35.210 回答
1

openwrt wiki 上有很多文档:

http://wiki.openwrt.org/doc/uci

要从命令行更改 network.lan.proto,您可以使用:

uci 设置 network.lan.proto=dhcp

哦,然后您将要提交更改并重新启动网络:

uci 提交网络 /etc/init.d/network restart

于 2013-10-25T04:50:19.620 回答
-1

网络配置位于 /etc/config/network。以下是您可以使用的配置示例:

config wifi-iface
    option 'device'     'radio0'
    option 'mode'       'sta'
    option 'ssid'       'Some Wireless Network'
    option 'encryption' 'psk2'
    option 'key'        '12345678'
    option 'network'    'wwan'

您可以在此处找到更多文档:OpenWRT 网络配置

于 2016-03-24T12:17:26.200 回答