====== Использование сервисов Крокс через ubus ====== ===== Пример использования ubus ===== root@kndrt31r27:~# ubus Usage: ubus [] [arguments...] Options: -s : Set the unix domain socket to connect to -t : Set the timeout (in seconds) for a command to complete -S: Use simplified output (for scripts) -v: More verbose output -m : (for monitor): include a specific message type (can be used more than once) -M (for monitor): only capture received or transmitted traffic Commands: - list [] List objects - call [] Call an object method - listen [...] Listen for events - send [] Send an event - wait_for [...] Wait for multiple objects to appear on ubus - monitor Monitor ubus traffic ===== Получение списка работающих сервисов ===== root@kndrt41r1:~# ubus list container dhcp dnsmasq dnsmasq.dns file hostapd hostapd.ap1001 hostapd.ap1002 hotplug.dhcp hotplug.firmware hotplug.ieee80211 hotplug.iface hotplug.ipsec hotplug.neigh hotplug.net hotplug.ntp hotplug.tftp hotplug.tty hotplug.usb hotplug.usbmisc hotplug.wwan iwinfo kroks.config kroks.dev.modem kroks.dev.modem.bearer kroks.dev.modem.cell kroks.dev.modem.message kroks.dev.modem.simcard kroks.dev.modem.ussd kroks.net.check log luci luci-rpc luci.wireguard network network.device network.interface network.interface.lan network.interface.loopback network.interface.modem1 network.interface.wan network.interface.wan6 network.rrdns network.wireless rc service session system uci wpa_supplicant ===== Обращение к сервису ===== root@kndrt41r1:~# ubus call kroks.dev.modem process { "modem1": { "execute": false, "stateChanged": false, "stateChangedTime": 96, "busy": false, "connectedReconnectCount": 0, "timestamp": 11774, "configuredStage": 1, "configuredCount": 1, "configured": true, "executeMessage": false, "state": "connected", "busyMessage": false, "locked": false, "stateDuration": 11678 } } ===== Смена SIM-карты ===== root@kndrt41r1:~# ubus call kroks.dev.modem.simcard change "{'modem':'modem1','simcard':'modem1sim2'}" { "modem1": { "modem1sim2": { "dbus": "/org/freedesktop/ModemManager1/SIM/2", "imsi": "250202107244361", "iccid": "89701202145600345827", "operator": { "code": "25020", "name": "Tele2" }, "enabled": true, "simchange": [ ] } } } ===== Получить список аргументов для modem1 ===== root@kndrt41r1:~# ubus -v list kroks.dev.modem 'kroks.dev.modem' @4920124a "command":{"payload":"String","method":"String","modem":"String"} "reload":{} "device":{} "config":{} "process":{}