openvela radio/modem 命令
一、概述
在 openvela 的 NSH 命令行中,可以通过进入 telephonytool 命令工具的 Console,来执行所有与调制解调器(modem)和无线电(radio)管理相关的操作。
二、前提条件
确保已打开 telephonytool 工具。
ap> telephonytool
执行上述命令后,进入 telephonytool 控制台,准备执行相关操作。
三、命令
1、list-modem
命令说明
列出所有可用的 modem。
命令格式
list-modem
示例
命令输入
telephonytool> list-modem
输出信息
telephonytool> [ 1050.782500] [31] [ DEBUG] [ap] modem_list_query_complete :
[ 1050.782800] [31] [ DEBUG] [ap] result->status : 0
[ 1050.783000] [31] [ DEBUG] [ap] modem found with path -> /ril_0
2、listen-modem
命令说明
设置监听特定的 modem 事件。
命令格式
listen-modem [slot_id] [event_id]
- slot_id:设置要监听的 slot,目前仅支持 0。
- event_id:要监听的事件 ID。
支持的事件 ID 列表
event_id 用于指定要监听的事件。以下是支持的事件分类及其对应的事件 ID。
-
通用事件 (Generic Indication Message)
- MSG_RADIO_STATE_CHANGE_IND = 0
- MSG_PHONE_STATE_CHANGE_IND
- MSG_OEM_HOOK_RAW_IND
- MSG_MODEM_RESTART_IND
- MSG_DEVICE_INFO_CHANGE_IND
- MSG_AIRPLANE_MODE_CHANGE_IND
-
呼叫事件 (Call Indication Message)
- MSG_CALL_STATE_CHANGE_IND:呼叫状态变化通知
- MSG_CALL_RING_BACK_TONE_IND:回铃音通知
- MSG_ECC_LIST_CHANGE_IND:紧急呼叫列表变化通知
- MSG_DEFAULT_VOICECALL_SLOT_CHANGE_IND:默认语音呼叫 slot 变化通知
-
网络事件 (Network Indication Message)
- MSG_NETWORK_STATE_CHANGE_IND
- MSG_VOICE_REGISTRATION_STATE_CHANGE_IND
- MSG_CELLINFO_CHANGE_IND
- MSG_SIGNAL_STRENGTH_CHANGE_IND
- MSG_NITZ_STATE_CHANGE_IND
-
数据事件 (Data Indication Message)
- MSG_DATA_ENABLED_CHANGE_IND
- MSG_DATA_REGISTRATION_STATE_CHANGE_IND
- MSG_DATA_NETWORK_TYPE_CHANGE_IND
- MSG_DATA_CONNECTION_STATE_CHANGE_IND
- MSG_DEFAULT_DATA_SLOT_CHANGE_IND
-
SIM 卡事件 (SIM Indication Message)
- MSG_SIM_STATE_CHANGE_IND
- MSG_SIM_UICC_APP_ENABLED_CHANGE_IND
- MSG_SIM_ICCID_CHANGE_IND
-
STK 事件 (STK Indication Message)
- MSG_STK_AGENT_DISPLAY_TEXT_IND
- MSG_STK_AGENT_REQUEST_DIGIT_IND
- MSG_STK_AGENT_REQUEST_KEY_IND
- MSG_STK_AGENT_REQUEST_CONFIRMATION_IND
- MSG_STK_AGENT_REQUEST_INPUT_IND
- MSG_STK_AGENT_REQUEST_DIGITS_IND
- MSG_STK_AGENT_PLAY_TONE_IND
- MSG_STK_AGENT_LOOP_TONE_IND
- MSG_STK_AGENT_REQUEST_SELECTION_IND
- MSG_STK_AGENT_REQUEST_QUICK_DIGIT_IND
- MSG_STK_AGENT_CONFIRM_CALL_SETUP_IND
- MSG_STK_AGENT_DISPLAY_ACTION_INFORMATION_IND
- MSG_STK_AGENT_CONFIRM_LAUNCH_BROWSER_IND
- MSG_STK_AGENT_DISPLAY_ACTION_IND
- MSG_STK_AGENT_CONFIRM_OPEN_CHANNEL_IND
- MSG_STK_AGENT_RELEASE_IND
- MSG_STK_AGENT_CANCEL_IND
-
短信事件 (SMS Indication Message)
- MSG_INCOMING_MESSAGE_IND
- MSG_IMMEDIATE_MESSAGE_IND
- MSG_STATUS_REPORT_MESSAGE_IND
- MSG_DEFAULT_SMS_SLOT_CHANGED_IND
-
CBS 事件 (CBS Indication Message)
- MSG_INCOMING_CBS_IND
- MSG_EMERGENCY_CBS_IND
-
SS 事件 (SS Indication Message)
- MSG_CALL_BARRING_PROPERTY_CHANGE_IND
- MSG_USSD_NOTIFICATION_RECEIVED_IND
- MSG_USSD_REQUEST_RECEIVED_IND
- MSG_USSD_PROPERTY_CHANGE_IND
-
IMS 事件 (IMS Indication Message)
- MSG_IMS_REGISTRATION_MESSAGE_IND
-
Modem 状态变化事件 (Modem State Change Message)
- MSG_MODEM_STATE_CHANGE_IND
-
其他事件
- MSG_DATA_LOGING_IND
- MSG_MODEM_ECC_LIST_CHANGE_IND = 61
示例
命令输入
telephonytool> listen-modem 0 0
输出信息
telephonytool> listen-modem 0 0
[ 1632.199400] [35] [ DEBUG] [ap] start to watch radio event : 0 , return watch_id : 75
3、unlisten-modem
命令说明
取消监听指定的 modem 事件。
命令格式
unlisten-modem [watch_id]
- watch_id:监听 ID,来源于 listen-modem 命令的返回值。
示例
命令输入
telephonytool> unlisten-modem 75
输出信息
以下是执行 unlisten-modem 命令的完整示例:
telephonytool> listen-modem 0 0
[ 1632.199400] [35] [ DEBUG] [ap] start to watch radio event : 0 , return watch_id : 75
telephonytool> unlisten-modem 75
[ 2050.331400] [35] [ DEBUG] [ap] stop to watch radio event with watch_id : 75 with return value : 0
telephonytool>
4、get-radio-cap
命令说明
查询 modem 的功能支持情况。
命令格式
get-radio-cap [feature_type]
- feature_type:指定要查询的功能类型。
- 0:语音(voice)
- 1:数据(data)
- 2:短信(sms)
- 3:IMS(IP Multimedia Subsystem)
示例
命令输入
telephonytool> get-radio-cap 0
输出信息
以下是执行 get-radio-cap 命令的完整示例:
telephonytool> get-radio-cap 0
[ 2145.490400] [35] [ DEBUG] [ap] radio feature type : 0 is supported ? 1
telephonytool> get-radio-cap 1
[ 2164.658700] [35] [ DEBUG] [ap] radio feature type : 1 is supported ? 1
5、set-radio-power
命令说明
设置指定 slot 的无线电(radio)电源状态,对应飞行模式的关闭和开启。
命令格式
set-radio-power [slot_id][state]
- slot_id:指定要设置的 slot,目前仅支持 0。
- state:无线电电源状态:
- 0:关闭无线电(radio off)
- 1:开启无线电(radio on)
示例
命令输入
telephonytool> set-radio-power 0 0
输出信息
以下是执行 set-radio-power 命令的完整示例:
telephonytool> set-radio-power 0 0
[ 2322.660700] [35] [ DEBUG] [ap] telephonytool_cmd_set_radio_power, slotId : 0 target_state: 0
telephonytool> set-radio-power 0 1
[ 2324.918200] [35] [ DEBUG] [ap] telephonytool_cmd_set_radio_power, slotId : 0 target_state: 1
6、get-radio-power
命令说明
获取指定 slot 的无线电(radio)电源状态。
命令格式
get-radio-power [slot_id]
示例
命令输入
telephonytool> get-radio-power 0
输出信息
以下是执行 get-radio-power 命令的完整示例:
telephonytool> get-radio-power 0
[ 2480.612100] [35] [ DEBUG] [ap] telephonytool_cmd_get_radio_power, slotId : 0 value : 1
7、set-rat-mode
命令说明
设置指定 slot 的无线接入技术(RAT,Radio Access Technology)模式。
命令格式
set-rat-mode [slot_id] [mode]
- slot_id:指定要设置的 slot,目前仅支持 0。
- mode:目标网络模式,支持以下值:
- 0:UMTS
- 1:GSM only
- 2:WCDMA only
- 9:LTE/GSM/WCDMA
- 11:LTE only
- 12:LTE/WCDMA
示例
命令输入
telephonytool> set-rat-mode 0 9
输出信息
telephonytool> set-rat-mode 0 11
[ 48.155000] [35] [ DEBUG] [ap] telephonytool_cmd_set_rat_mode, slotId : 0 target_state: 11
[ 53.549600] [21] [ INFO] [ap] [0,0059]> RIL_REQUEST_SET_PREFERRED_NETWORK_TYPE (11)
[ 54.717700] [21] [ INFO] [ap] [0,0059]< RIL_REQUEST_SET_PREFERRED_NETWORK_TYPE
8、get-rat-mode
命令说明
获取指定 slot 的无线接入技术(RAT,Radio Access Technology)模式。
命令格式
get-rat-mode [slot_id]
- slot_id:指定要查询的 slot,目前仅支持 0。
示例
命令输入
telephonytool> get-rat-mode 0
输出信息
telephonytool> get-rat-mode 0
[ 184.550000] [35] [ DEBUG] [ap] telephonytool_cmd_get_rat_mode, slotId : 0 value :11
9、get-imei
命令说明
获取设备的 IMEI(国际移动设备识别码)信息。
命令格式
set-rat-mode [slot_id]
slot_id:设置要监听的slot,当前只支持0
- slot_id:指定要查询的 slot,目前仅支持 0。
示例
命令输入
telephonytool> get-imei 0
输出信息
以下是执行 get-imei 命令的完整示例:
telephonytool> get-imei 0
[ 236.301900] [35] [ DEBUG] [ap] telephonytool_cmd_get_imei, slotId : 0 imei : 8674000******7199
10、get-imeisv
命令说明
获取设备的 IMEISV(国际移动设备识别码软件版本)信息。
命令格式
get-imeisv [slot_id]
- slot_id:指定要查询的 slot,目前仅支持 0。
示例
命令输入
telephonytool> get-imeisv 0
输出信息
telephonytool> get-imeisv 0
[ 401.567800] [35] [ DEBUG] [ap] telephonytool_cmd_get_imeisv, slotId : 0 imeisv : 8674000******7901
11、get-phone-state
命令说明
获取设备的电话状态信息。
命令格式
get-phone-state [slot_id]
- slot_id:指定要查询的 slot,目前仅支持 0。
示例
命令输入
telephonytool> get-phone-state 0
输出信息
telephonytool> get-phone-state 0
[ 9427.739300] [35] [ DEBUG] [ap] telephonytool_cmd_get_phone_state, slotId : 0 state : 0
12、send-modem-power
命令说明
控制 Modem 模块的开关状态。
命令格式
send-modem-power[slot_id] [on]
- slot_id:指定要操作的 slot,目前仅支持 0。
- on:设置 Modem 的目标状态:
- 0:关闭 Modem
- 1:开启 Modem
示例
命令输入
telephonytool> send-modem-power 0 0
输出信息
以下是执行 send-modem-power 命令的完整示例:
telephonytool> send-modem-power 0 0
[ 9461.379300] [35] [ DEBUG] [ap] telephonytool_cmd_send_modem_power, slotId : 0 target_state: 0
telephonytool> [ 9461.415300] [21] [ INFO] [ap] modem_change_state, old state: 2, new state: 0
[ 9461.415900] [21] [ INFO] [ap] flush_atoms
[ 9461.421100] [21] [ INFO] [ap] free_contexts
13、get-radio-state
命令说明
获取设备的无线电(Radio)状态信息。
命令格式
get-radio-state [slot_id]
- slot_id:指定要查询的 slot,目前仅支持 0。
示例
命令输入
telephonytool> get-radio-state 0
输出信息
以下是执行 get-radio-state 命令的完整示例:
telephonytool> get-radio-state 0
[ 9486.517900] [35] [ DEBUG] [ap] telephonytool_cmd_get_radio_state, slotId : 0 state : 1
14、get-modem-revision
命令说明
获取 Modem 的基带版本信息。
命令格式
get-modem-revision [slot_id]
- slot_id:指定要查询的 slot,目前仅支持 0。
示例
命令输入
telephonytool> get-modem-revision 0
输出信息
以下是执行 get-modem-revision 命令的完整示例:
telephonytool> get-modem-revision 0
[ 9505.417900] [35] [ DEBUG] [ap] telephonytool_cmd_get_modem_revision, slotId : 0 value : 1.0.*.*
15、get-msisdn
命令说明
获取本地电话号码信息
命令格式
get-msisdn [slot_id]
- slot_id:指定要查询的 slot,目前仅支持 0。
示例
命令输入
telephonytool> get-msisdn 0
输出信息
以下是执行 get-msisdn 命令的完整示例:
telephonytool> get-msisdn 0
[ 9529.024200] [35] [ INFO] [ap] get phone number from UICC.
[ 9529.025200] [35] [ DEBUG] [ap] telephonytool_cmd_get_phone_number, slotId : 0 number : +1555******67
16、get-modem-activity-info
命令说明
获取 Modem 的活动信息。
命令格式
get-modem-activity-info [slot_id]
- slot_id:指定要查询的 slot,目前仅支持 0。
示例
命令输入
telephonytool> get-modem-activity-info 0
输出信息
以下是执行 get-modem-activity-info 命令的完整示例:
telephonytool> get-modem-activity-info 0
[ 9743.317300] [35] [ DEBUG] [ap] telephonytool_cmd_get_modem_activity_info, slotId : 0
17、enable-modem
命令说明
启用或关闭 Modem。
命令格式
enable-modem[slot_id] [state]
- slot_id:指定要操作的 slot,目前仅支持 0。
- state:设置 Modem 的目标状态:
- 0:关闭 Modem
- 1:开启 Modem
示例
命令输入
telephonytool> enable-modem 0 1
输出信息
以下是执行 enable-modem 命令的完整示例:
telephonytool> enable-modem 0 1
[ 15.700700] [28] [ DEBUG] [ap] telephonytool_cmd_enable_modem, slotId : 0 target_state: 1
18、get-modem-status
命令说明
获取 Modem 的状态信息。
命令格式
get-modem-status [slot_id]
- slot_id:指定要查询的 slot,目前仅支持 0。
示例
命令输入
telephonytool> get-modem-status 0
输出信息
以下是执行 get-modem-status 命令的完整示例:
telephonytool> get-modem-status 0
[ 782.186200] [28] [ DEBUG] [ap] telephonytool_cmd_get_modem_status, slotId : 0
19、oem-req-raw
命令说明
直接发送格式化的 16 进制字符给 Modem,用于 eSIM 文件下载、eSIM 文件内容读取等操作。
命令格式
oem-req-raw [slot_id][request_data][data_length]
- slot_id:指定要操作的 slot,目前仅支持 0。
- request_data:16 进制字符串,表示要发送的原始数据。
- data_length:request_data 的字节数。
示例
命令输入
telephonytool> oem-req-raw 0 01A0B023 4
输出信息
telephonytool> oem-req-raw 0 01A0B023 4
[ 854.969700] [28] [ DEBUG] [ap] telephonytool_cmd_oem_ril_req_raw, slot_id: 0 oem_req: 01A0B023 length: 4
20、oem-req-strings
命令说明
直接发送字符串到 Modem,例如 AT 命令。
命令格式
oem-req-strings [slot_id][request_data][data_length]
- slot_id:指定要操作的 slot,目前仅支持 0。
- request_data:要发送的字符串,例如 AT 命令。
- data_length:request_data 的字节数。
示例
命令输入
telephonytool> oem-req-strings 0 AT+CPIN? 1
输出信息
telephonytool> oem-req-strings 0 AT+CPIN? 1
[ 870.751200] [28] [ DEBUG] [ap] telephonytool_cmd_oem_ril_req_strings, slot_id: 0 length: 1
21、send-command
命令说明
直接发送内部的 RIL(Radio Interface Layer)消息。
命令格式
send-command [slot_id][atom id][ril request id]
- slot_id:指定要操作的 slot,目前仅支持 0。
- atom_id:Atom ID 信息,用于标识目标模块。
- ril_request_id:内部的 Request ID 信息,用于指定请求类型。
示例
命令输入
telephonytool> send-command 0 16 57
输出信息
telehonytool>
telephonytool> send-command 0 16 57
[ 882.733000] [28] [ DEBUG] [ap] telephonytool_cmd_send_command, slot_id: 0 atom: 16 command: 57
22、send-screen-state
命令说明
设置屏幕开关状态信息给modem
命令格式
send-screen-state [slot_id][][screen_state]
- slot_id:指定要操作的 slot,目前仅支持 0。
- screen_state:屏幕状态:
- 0:屏幕关闭状态
- 1:屏幕开启状态
示例
命令输入
telephonytool> send-screen-state 0 1
输出信息
telephonytool>
telephonytool> send-screen-state 0 1
telephonytool> [ 927.719000] [21] [ INFO] [ap] Set fast_dormancy: 1

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐
所有评论(0)