luci
luci copied to clipboard
RPCError
RPC call to luci/getFeatures failed with error -32000: Object not found
It might be the same as: https://github.com/openwrt/luci/issues/4555
Run service rpcd restart
and check logread
for errors. Also run ucode /usr/share/rpcd/ucode/luci
and see if this returns without output.
Run
service rpcd restart
and checklogread
for errors. Also runucode /usr/share/rpcd/ucode/luci
and see if this returns without output.
nothing is output
Sampe problem
Is rpcd-mod-ucode
installed?
@jow-
Please provide the output of ubus -v list
. Also mention the OpenWrt target
@jow-
my lagency luci code cannot run: https://github.com/x-wrt/com.x-wrt/blob/201a40c0f1eca3f0d68fdc08e286fac4eb736b37/luci-app-natcap/files/luci/controller/natcap.lua#L175-L211
function get_openvpn_client_udp()
local reader = ltn12_popen("sh /usr/share/natcapd/natcapd.openvpn.sh gen_client_udp")
luci.http.header('Content-Disposition', 'attachment; filename="natcap-client-udp.ovpn"')
luci.http.prepare_content("application/x-openvpn-profile")
luci.ltn12.pump.all(reader, luci.http.write)
end
function ltn12_popen(command)
local fdi, fdo = nixio.pipe()
local pid = nixio.fork()
if pid > 0 then
fdo:close()
local close
return function()
local buffer = fdi:read(2048)
local wpid, stat = nixio.waitpid(pid, "nohang")
if not close and wpid and stat == "exited" then
close = true
end
if buffer and #buffer > 0 then
return buffer
elseif close then
fdi:close()
return nil
end
end
elseif pid == 0 then
nixio.dup(fdo, nixio.stdout)
fdi:close()
fdo:close()
nixio.exec("/bin/sh", "-c", command)
end
end
error in logread:
Fri Nov 11 06:04:36 2022 daemon.info uwsgi-luci: sed: write error
Fri Nov 11 06:04:36 2022 daemon.info uwsgi-luci: sh: write error: Broken pipe
Fri Nov 11 06:04:36 2022 daemon.info uwsgi-luci: cat: write error: Broken pipe
Fri Nov 11 06:04:36 2022 daemon.info uwsgi-luci: sh: write error: Broken pipe
Fri Nov 11 06:04:36 2022 daemon.info uwsgi-luci: cat: write error: Broken pipe
Fri Nov 11 06:04:36 2022 daemon.info uwsgi-luci: sh: write error: Broken pipe
Fri Nov 11 06:04:36 2022 daemon.info uwsgi-luci: cat: write error: Broken pipe
Fri Nov 11 06:04:36 2022 daemon.info uwsgi-luci: sh: write error: Broken pipe
Fri Nov 11 06:04:36 2022 daemon.info uwsgi-luci: cat: write error: Broken pipe
Fri Nov 11 06:04:36 2022 daemon.info uwsgi-luci: sh: write error: Broken pipe
Fri Nov 11 06:05:06 2022 daemon.info uwsgi-luci: sed: write error
Fri Nov 11 06:05:06 2022 daemon.info uwsgi-luci: sh: write error: Broken pipe
Fri Nov 11 06:05:06 2022 daemon.info uwsgi-luci: cat: write error: Broken pipe
Fri Nov 11 06:05:06 2022 daemon.info uwsgi-luci: sh: write error: Broken pipe
Fri Nov 11 06:05:06 2022 daemon.info uwsgi-luci: cat: write error: Broken pipe
Fri Nov 11 06:05:06 2022 daemon.info uwsgi-luci: sh: write error: Broken pipe
Fri Nov 11 06:05:06 2022 daemon.info uwsgi-luci: cat: write error: Broken pipe
Fri Nov 11 06:05:06 2022 daemon.info uwsgi-luci: sh: write error: Broken pipe
Fri Nov 11 06:05:06 2022 daemon.info uwsgi-luci: cat: write error: Broken pipe
Fri Nov 11 06:05:06 2022 daemon.info uwsgi-luci: sh: write error: Broken pipe
hmm, I should open an new issue?
Please provide the output of
ubus -v list
. Also mention the OpenWrt target
root@SnakWu-OpenWrt:~# ubus -v list
'dhcp' @ad719314
"ipv4leases":{}
"ipv6leases":{}
"add_lease":{"ip":"String","mac":"String","duid":"String","hostid":"String","leasetime":"String","name":"String"}
'dnsmasq' @5d120a16
"metrics":{}
"set_connmark_allowlist":{"mark":"Integer","mask":"Integer","patterns":"Array"}
'dnsmasq.dns' @36aeb29b
'file' @9a3e035e
"read":{"path":"String","base64":"Boolean","ubus_rpc_session":"String"}
"write":{"path":"String","data":"String","append":"Boolean","mode":"Integer","base64":"Boolean","ubus_rpc_session":"String"}
"list":{"path":"String","ubus_rpc_session":"String"}
"stat":{"path":"String","ubus_rpc_session":"String"}
"md5":{"path":"String","ubus_rpc_session":"String"}
"remove":{"path":"String","ubus_rpc_session":"String"}
"exec":{"command":"String","params":"Array","env":"Table","ubus_rpc_session":"String"}
'hotplug.dhcp' @07d8d6ed
"call":{"env":"Array"}
'hotplug.iface' @dfef3157
"call":{"env":"Array"}
'hotplug.neigh' @9f4f5410
"call":{"env":"Array"}
'hotplug.net' @215495a6
"call":{"env":"Array"}
'hotplug.ntp' @818c934d
"call":{"env":"Array"}
'hotplug.tftp' @c6f62bda
"call":{"env":"Array"}
'iwinfo' @babb5594
"devices":{}
"info":{"device":"String"}
"scan":{"device":"String"}
"assoclist":{"device":"String","mac":"String"}
"freqlist":{"device":"String"}
"txpowerlist":{"device":"String"}
"countrylist":{"device":"String"}
"survey":{"device":"String"}
"phyname":{"section":"String"}
'log' @1a2c5c3b
"read":{"lines":"Integer","stream":"Boolean","oneshot":"Boolean"}
"write":{"event":"String"}
'luci-rpc' @952c05c2
"getNetworkDevices":{}
"getWirelessDevices":{}
"getHostHints":{}
"getDUIDHints":{}
"getBoardJSON":{}
"getDHCPLeases":{"family":"Integer"}
'luci.ddns' @763185ec
"get_services_log":{"service_name":"String"}
"get_env":{}
"get_ddns_state":{}
"get_services_status":{}
'network' @6d7ab89e
"restart":{}
"reload":{}
"add_host_route":{"target":"String","v6":"Boolean","interface":"String","exclude":"Boolean"}
"get_proto_handlers":{}
"add_dynamic":{"name":"String"}
"netns_updown":{"jail":"String","start":"Boolean"}
'network.device' @df4af68e
"status":{"name":"String"}
"set_alias":{"alias":"Array","device":"String"}
"set_state":{"name":"String","defer":"Boolean","auth_status":"Boolean"}
"stp_init":{}
'network.interface' @679ca21c
"up":{}
"down":{}
"renew":{}
"status":{}
"prepare":{}
"dump":{}
"add_device":{"name":"String","link-ext":"Boolean","vlan":"Array"}
"remove_device":{"name":"String","link-ext":"Boolean","vlan":"Array"}
"notify_proto":{}
"remove":{}
"set_data":{}
'network.interface.iptv' @7c0632ce
"up":{}
"down":{}
"renew":{}
"status":{}
"prepare":{}
"dump":{}
"add_device":{"name":"String","link-ext":"Boolean","vlan":"Array"}
"remove_device":{"name":"String","link-ext":"Boolean","vlan":"Array"}
"notify_proto":{}
"remove":{}
"set_data":{}
'network.interface.lan' @3cfa522f
"up":{}
"down":{}
"renew":{}
"status":{}
"prepare":{}
"dump":{}
"add_device":{"name":"String","link-ext":"Boolean","vlan":"Array"}
"remove_device":{"name":"String","link-ext":"Boolean","vlan":"Array"}
"notify_proto":{}
"remove":{}
"set_data":{}
'network.interface.loopback' @5395e1bb
"up":{}
"down":{}
"renew":{}
"status":{}
"prepare":{}
"dump":{}
"add_device":{"name":"String","link-ext":"Boolean","vlan":"Array"}
"remove_device":{"name":"String","link-ext":"Boolean","vlan":"Array"}
"notify_proto":{}
"remove":{}
"set_data":{}
'network.interface.modem' @03dec105
"up":{}
"down":{}
"renew":{}
"status":{}
"prepare":{}
"dump":{}
"add_device":{"name":"String","link-ext":"Boolean","vlan":"Array"}
"remove_device":{"name":"String","link-ext":"Boolean","vlan":"Array"}
"notify_proto":{}
"remove":{}
"set_data":{}
'network.interface.wan' @7a968697
"up":{}
"down":{}
"renew":{}
"status":{}
"prepare":{}
"dump":{}
"add_device":{"name":"String","link-ext":"Boolean","vlan":"Array"}
"remove_device":{"name":"String","link-ext":"Boolean","vlan":"Array"}
"notify_proto":{}
"remove":{}
"set_data":{}
'network.interface.wan6' @eb860d86
"up":{}
"down":{}
"renew":{}
"status":{}
"prepare":{}
"dump":{}
"add_device":{"name":"String","link-ext":"Boolean","vlan":"Array"}
"remove_device":{"name":"String","link-ext":"Boolean","vlan":"Array"}
"notify_proto":{}
"remove":{}
"set_data":{}
'network.rrdns' @bc48c243
"lookup":{"addrs":"Array","timeout":"Integer","server":"String","port":"(unknown)","limit":"Integer"}
'network.wireless' @6adb1e95
"up":{}
"down":{}
"reconf":{}
"status":{}
"notify":{}
"get_validate":{}
'rc' @8dbe92ce
"list":{}
"init":{"name":"String","action":"String"}
'rpc-sys' @4ca58df0
"packagelist":{"all":"Boolean"}
"password_set":{"user":"String","password":"String"}
"upgrade_test":{}
"upgrade_start":{"keep":"Boolean"}
"upgrade_clean":{}
"factory":{}
"reboot":{}
'service' @90172790
"set":{"name":"String","script":"String","instances":"Table","triggers":"Array","validate":"Array","autostart":"Boolean","data":"Table"}
"add":{"name":"String","script":"String","instances":"Table","triggers":"Array","validate":"Array","autostart":"Boolean","data":"Table"}
"list":{"name":"String","verbose":"Boolean"}
"delete":{"name":"String","instance":"String"}
"signal":{"name":"String","instance":"String","signal":"Integer"}
"update_start":{"name":"String"}
"update_complete":{"name":"String"}
"event":{"type":"String","data":"Table"}
"validate":{"package":"String","type":"String","service":"String"}
"get_data":{"name":"String","instance":"String","type":"String"}
"state":{"spawn":"Boolean","name":"String"}
"watchdog":{"mode":"Integer","timeout":"Integer","name":"String","instance":"String"}
'session' @b92edece
"create":{"timeout":"Integer"}
"list":{"ubus_rpc_session":"String"}
"grant":{"ubus_rpc_session":"String","scope":"String","objects":"Array"}
"revoke":{"ubus_rpc_session":"String","scope":"String","objects":"Array"}
"access":{"ubus_rpc_session":"String","scope":"String","object":"String","function":"String"}
"set":{"ubus_rpc_session":"String","values":"Table"}
"get":{"ubus_rpc_session":"String","keys":"Array"}
"unset":{"ubus_rpc_session":"String","keys":"Array"}
"destroy":{"ubus_rpc_session":"String"}
"login":{"username":"String","password":"String","timeout":"Integer"}
'system' @cd51e573
"board":{}
"info":{}
"reboot":{}
"watchdog":{"frequency":"Integer","timeout":"Integer","magicclose":"Boolean","stop":"Boolean"}
"signal":{"pid":"Integer","signum":"Integer"}
"validate_firmware_image":{"path":"String"}
"sysupgrade":{"path":"String","force":"Boolean","backup":"String","prefix":"String","command":"String","options":"Table"}
'uci' @6e8b5fce
"configs":{}
"get":{"config":"String","section":"String","option":"String","type":"String","match":"Table","ubus_rpc_session":"String"}
"state":{"config":"String","section":"String","option":"String","type":"String","match":"Table","ubus_rpc_session":"String"}
"add":{"config":"String","type":"String","name":"String","values":"Table","ubus_rpc_session":"String"}
"set":{"config":"String","section":"String","type":"String","match":"Table","values":"Table","ubus_rpc_session":"String"}
"delete":{"config":"String","section":"String","type":"String","match":"Table","option":"String","options":"Array","ubus_rpc_session":"String"}
"rename":{"config":"String","section":"String","option":"String","name":"String","ubus_rpc_session":"String"}
"order":{"config":"String","sections":"Array","ubus_rpc_session":"String"}
"changes":{"config":"String","ubus_rpc_session":"String"}
"revert":{"config":"String","ubus_rpc_session":"String"}
"commit":{"config":"String","ubus_rpc_session":"String"}
"apply":{"rollback":"Boolean","timeout":"Integer","ubus_rpc_session":"String"}
"confirm":{"ubus_rpc_session":"String"}
"rollback":{"ubus_rpc_session":"String"}
"reload_config":{}
root@SnakWu-OpenWrt:~#
Please install strace and provide the output of service rpcd stop; strace /sbin/rpcd
Also: ubus call system board
i can't install strace and provide,I can't install the mission software right now
Please install strace and provide the output of
service rpcd stop; strace /sbin/rpcd
Also:
ubus call system board
Sorry,i can't install strace and provide,I can't install the mission software right now
the same problem
the same questions
the same questions
{ "kernel": "5.10.159", "hostname": "OpenWrt", "system": "MediaTek MT7628AN ver:1 eco:2", "model": "Easywayphy DTU03_S", "board_name": "Easywayphy,DTU03_S", "rootfs_type": "squashfs", "release": { "distribution": "OpenWrt", "version": "SNAPSHOT", "revision": "unknown", "target": "ramips/mt76x8", "description": "OpenWrt SNAPSHOT unknown" } }
"set_data":{}
'network.interface.wifi6' @c2e635f2 "up":{} "down":{} "renew":{} "status":{} "prepare":{} "dump":{} "add_device":{"name":"String","link-ext":"Boolean","vlan":"Array"} "remove_device":{"name":"String","link-ext":"Boolean","vlan":"Array"} "notify_proto":{} "remove":{} "set_data":{} 'network.wireless' @fd64f66e "up":{} "down":{} "reconf":{} "status":{} "notify":{} "get_validate":{} 'service' @56b7f3ba "set":{"name":"String","script":"String","instances":"Table","triggers":"Array","validate":"Array","autostart":"Boolean","data":"Table"} "add":{"name":"String","script":"String","instances":"Table","triggers":"Array","validate":"Array","autostart":"Boolean","data":"Table"} "list":{"name":"String","verbose":"Boolean"} "delete":{"name":"String","instance":"String"} "signal":{"name":"String","instance":"String","signal":"Integer"} "update_start":{"name":"String"} "update_complete":{"name":"String"} "event":{"type":"String","data":"Table"} "validate":{"package":"String","type":"String","service":"String"} "get_data":{"name":"String","instance":"String","type":"String"} "state":{"spawn":"Boolean","name":"String"} "watchdog":{"mode":"Integer","timeout":"Integer","name":"String","instance":"String"} 'system' @e5a800c0 "board":{} "info":{} "reboot":{} "watchdog":{"frequency":"Integer","timeout":"Integer","magicclose":"Boolean","stop":"Boolean"} "signal":{"pid":"Integer","signum":"Integer"} "validate_firmware_image":{"path":"String"} "sysupgrade":{"path":"String","force":"Boolean","backup":"String","prefix":"String","command":"String","options":"Table"} 'wpa_supplicant' @5a54d93e "config_add":{"driver":"String","iface":"String","bridge":"String","hostapd_ctrl":"String","ctrl":"String","config":"String"} "config_remove":{"iface":"String"}
Got same problem
RPC call to luci/getFeatures failed with error -32000: Object not found
at handleCallReply (http://192.168.1.102/luci-static/resources/rpc.js?v=git-22.361.69865-deed682:11:3)
And it is still the same questions. All people reporting this issue seem to lack the luci
object in ubus. This object is hosted by rpcd and implemented using an ucode script. Maybe your builds don't have rpcd-mod-ucode installed. I requested an strace of the rpcd startup sequence a while back, haven't received it yet.
Also asked for the OpenWrt version of affected devices and the output presented contained "revision": "unknown"
so I guess this is proprietary, non-official OpenWrt builds exhibiting this behavior.
Another thing you can try is executing the following command, it should return without error and no output:
ucode /usr/share/rpcd/ucode/luci
@jow- I can confirm the rpcd-mod-ucode
have already installed, still don't know why get this exception.
Another thing you can try is executing the following command, it should return without error and no output:
ucode /usr/share/rpcd/ucode/luci
ucode /usr/share/rpcd/ucode/luci
@jow- Yep, no output with this command.
After I installed luci-app-dawn, luci-mod-dashboard, luci-theme-openwrt-2020
, the exception is thrown.
The please run service rpcd stop; service rcpd start; ubus call luci getFeatures
The please run
service rpcd stop; service rcpd start; ubus call luci getFeatures
I will try this on the weekend :)
@jow- Really weird, I recompile the firmware with latest commit version of OP & Luci, the exception has been gone.
The please run
service rpcd stop; service rcpd start; ubus call luci getFeatures
As you see,Not work By the way,I built this firmware on 2023.1.16.This error also occurred in the firmware I built a few months ago OpenWrt SNAPSHOT r21807-09f313bfd7
Maybe we can save this error for the Spring Festival : )
Run
service rpcd restart
and checklogread
for errors. Also runucode /usr/share/rpcd/ucode/luci
and see if this returns without output.
![]()
nothing is output
I found something wrong...
Sun Jan 15 12:43:53 2023 daemon.notice netifd: wan (2087): Command failed: ubus call network.interface notify_proto { "action": 0, "link-up": false, "keep": false, "interface": "wan" }
The please run
service rpcd stop; service rcpd start; ubus call luci getFeatures
ubus -v list: 'container' @d5d957db "set":{"name":"String","script":"String","instances":"Table","triggers":"Array","validate":"Array","autostart":"Boolean","data":"Table"} "add":{"name":"String","script":"String","instances":"Table","triggers":"Array","validate":"Array","autostart":"Boolean","data":"Table"} "list":{"name":"String","verbose":"Boolean"} "delete":{"name":"String","instance":"String"} "state":{"spawn":"Boolean","name":"String"} "get_features":{} "console_set":{"name":"String","instance":"String"} "console_attach":{"name":"String","instance":"String"} 'dawn' @ab324f6f "add_mac":{"addrs":"Array"} "get_hearing_map":{} "get_network":{} "reload_config":{} 'dhcp' @be0181c9 "ipv4leases":{} "ipv6leases":{} "add_lease":{"ip":"String","mac":"String","duid":"String","hostid":"String","leasetime":"String","name":"String"} 'dnsmasq' @51589253 "metrics":{} 'dnsmasq.dns' @5b9b2a49 'file' @e9879f6d "read":{"path":"String","base64":"Boolean","ubus_rpc_session":"String"} "write":{"path":"String","data":"String","append":"Boolean","mode":"Integer","base64":"Boolean","ubus_rpc_session":"String"} "list":{"path":"String","ubus_rpc_session":"String"} "stat":{"path":"String","ubus_rpc_session":"String"} "md5":{"path":"String","ubus_rpc_session":"String"} "remove":{"path":"String","ubus_rpc_session":"String"} "exec":{"command":"String","params":"Array","env":"Table","ubus_rpc_session":"String"} 'hostapd' @b12e0815 "config_add":{"iface":"String","config":"String"} "config_remove":{"iface":"String"} 'hotplug.dhcp' @c42d4717 "call":{"env":"Array"} 'hotplug.ieee80211' @7e98961e "call":{"env":"Array"} 'hotplug.iface' @7228ecb1 "call":{"env":"Array"} 'hotplug.neigh' @e9af9f37 "call":{"env":"Array"} 'hotplug.net' @7dc29955 "call":{"env":"Array"} 'hotplug.ntp' @2a35069a "call":{"env":"Array"} 'hotplug.tftp' @ef21e244 "call":{"env":"Array"} 'hotplug.usb' @ffd114d6 "call":{"env":"Array"} 'iwinfo' @d2e4b6fc "devices":{} "info":{"device":"String"} "scan":{"device":"String"} "assoclist":{"device":"String","mac":"String"} "freqlist":{"device":"String"} "txpowerlist":{"device":"String"} "countrylist":{"device":"String"} "survey":{"device":"String"} "phyname":{"section":"String"} 'log' @bc26a7f5 "read":{"lines":"Integer","stream":"Boolean","oneshot":"Boolean"} "write":{"event":"String"} 'luci-rpc' @1025f597 "getNetworkDevices":{} "getWirelessDevices":{} "getHostHints":{} "getDUIDHints":{} "getBoardJSON":{} "getDHCPLeases":{"family":"Integer"} 'network' @bcd144d0 "restart":{} "reload":{} "add_host_route":{"target":"String","v6":"Boolean","interface":"String","exclude":"Boolean"} "get_proto_handlers":{} "add_dynamic":{"name":"String"} "netns_updown":{"jail":"String","start":"Boolean"} 'network.device' @591f883a "status":{"name":"String"} "set_alias":{"alias":"Array","device":"String"} "set_state":{"name":"String","defer":"Boolean","auth_status":"Boolean"} "stp_init":{} 'network.interface' @ed0d0b85 "up":{} "down":{} "renew":{} "status":{} "prepare":{} "dump":{} "add_device":{"name":"String","link-ext":"Boolean","vlan":"Array"} "remove_device":{"name":"String","link-ext":"Boolean","vlan":"Array"} "notify_proto":{} "remove":{} "set_data":{} 'network.interface.lan' @3b55e1c4 "up":{} "down":{} "renew":{} "status":{} "prepare":{} "dump":{} "add_device":{"name":"String","link-ext":"Boolean","vlan":"Array"} "remove_device":{"name":"String","link-ext":"Boolean","vlan":"Array"} "notify_proto":{} "remove":{} "set_data":{} 'network.interface.loopback' @ad2ab20e "up":{} "down":{} "renew":{} "status":{} "prepare":{} "dump":{} "add_device":{"name":"String","link-ext":"Boolean","vlan":"Array"} "remove_device":{"name":"String","link-ext":"Boolean","vlan":"Array"} "notify_proto":{} "remove":{} "set_data":{} 'network.interface.wan' @03646933 "up":{} "down":{} "renew":{} "status":{} "prepare":{} "dump":{} "add_device":{"name":"String","link-ext":"Boolean","vlan":"Array"} "remove_device":{"name":"String","link-ext":"Boolean","vlan":"Array"} "notify_proto":{} "remove":{} "set_data":{} 'network.interface.wan6' @b7616f09 "up":{} "down":{} "renew":{} "status":{} "prepare":{} "dump":{} "add_device":{"name":"String","link-ext":"Boolean","vlan":"Array"} "remove_device":{"name":"String","link-ext":"Boolean","vlan":"Array"} "notify_proto":{} "remove":{} "set_data":{} 'network.rrdns' @bfa58658 "lookup":{"addrs":"Array","timeout":"Integer","server":"String","port":"(unknown)","limit":"Integer"} 'network.wireless' @1d129af9 "up":{} "down":{} "reconf":{} "status":{} "notify":{} "get_validate":{} 'rc' @5564cc07 "list":{} "init":{"name":"String","action":"String"} 'rpc-sys' @a7f365a9 "packagelist":{"all":"Boolean"} "password_set":{"user":"String","password":"String"} "upgrade_test":{} "upgrade_start":{"keep":"Boolean"} "upgrade_clean":{} "factory":{} "reboot":{} 'service' @260e1ad9 "set":{"name":"String","script":"String","instances":"Table","triggers":"Array","validate":"Array","autostart":"Boolean","data":"Table"} "add":{"name":"String","script":"String","instances":"Table","triggers":"Array","validate":"Array","autostart":"Boolean","data":"Table"} "list":{"name":"String","verbose":"Boolean"} "delete":{"name":"String","instance":"String"} "signal":{"name":"String","instance":"String","signal":"Integer"} "update_start":{"name":"String"} "update_complete":{"name":"String"} "event":{"type":"String","data":"Table"} "validate":{"package":"String","type":"String","service":"String"} "get_data":{"name":"String","instance":"String","type":"String"} "state":{"spawn":"Boolean","name":"String"} "watchdog":{"mode":"Integer","timeout":"Integer","name":"String","instance":"String"} 'session' @a17e4816 "create":{"timeout":"Integer"} "list":{"ubus_rpc_session":"String"} "grant":{"ubus_rpc_session":"String","scope":"String","objects":"Array"} "revoke":{"ubus_rpc_session":"String","scope":"String","objects":"Array"} "access":{"ubus_rpc_session":"String","scope":"String","object":"String","function":"String"} "set":{"ubus_rpc_session":"String","values":"Table"} "get":{"ubus_rpc_session":"String","keys":"Array"} "unset":{"ubus_rpc_session":"String","keys":"Array"} "destroy":{"ubus_rpc_session":"String"} "login":{"username":"String","password":"String","timeout":"Integer"} 'system' @cf0b43ed "board":{} "info":{} "reboot":{} "watchdog":{"frequency":"Integer","timeout":"Integer","magicclose":"Boolean","stop":"Boolean"} "signal":{"pid":"Integer","signum":"Integer"} "validate_firmware_image":{"path":"String"} "sysupgrade":{"path":"String","force":"Boolean","backup":"String","prefix":"String","command":"String","options":"Table"} 'uci' @e3843ad2 "configs":{} "get":{"config":"String","section":"String","option":"String","type":"String","match":"Table","ubus_rpc_session":"String"} "state":{"config":"String","section":"String","option":"String","type":"String","match":"Table","ubus_rpc_session":"String"} "add":{"config":"String","type":"String","name":"String","values":"Table","ubus_rpc_session":"String"} "set":{"config":"String","section":"String","type":"String","match":"Table","values":"Table","ubus_rpc_session":"String"} "delete":{"config":"String","section":"String","type":"String","match":"Table","option":"String","options":"Array","ubus_rpc_session":"String"} "rename":{"config":"String","section":"String","option":"String","name":"String","ubus_rpc_session":"String"} "order":{"config":"String","sections":"Array","ubus_rpc_session":"String"} "changes":{"config":"String","ubus_rpc_session":"String"} "revert":{"config":"String","ubus_rpc_session":"String"} "commit":{"config":"String","ubus_rpc_session":"String"} "apply":{"rollback":"Boolean","timeout":"Integer","ubus_rpc_session":"String"} "confirm":{"ubus_rpc_session":"String"} "rollback":{"ubus_rpc_session":"String"} "reload_config":{} 'umdns' @55f47a51 "set_config":{"interfaces":"Array","keep":"Boolean"} "query":{"question":"String","interface":"String","type":"Integer"} "fetch":{"question":"String","interface":"String","type":"Integer"} "update":{} "browse":{} "hosts":{} "reload":{} 'wpa_supplicant' @9f548ce3 "config_add":{"driver":"String","iface":"String","bridge":"String","hostapd_ctrl":"String","ctrl":"String","config":"String"} "config_remove":{"iface":"String"}
But there is no luci getFeatures