131 lines
3.0 KiB
Markdown
Vendored
131 lines
3.0 KiB
Markdown
Vendored
# UERANSIM CLI Handover 解决方案
|
||
|
||
## 问题解决
|
||
|
||
**错误**: `ERROR: No node found with name: 127.0.0.1`
|
||
|
||
**原因**: UERANSIM CLI 不使用IP地址连接,而是使用节点名称。
|
||
|
||
## 正确的CLI使用方法
|
||
|
||
### 1. 查看所有可用节点
|
||
```bash
|
||
cd /home/uenr-3.2.7/ueransim
|
||
./build/nr-cli --dump
|
||
```
|
||
|
||
输出示例:
|
||
```
|
||
UERANSIM-gnb-286-1-1
|
||
imsi-286010000000001
|
||
imsi-286010000000002
|
||
imsi-286010000000003
|
||
imsi-286010000000004
|
||
imsi-286010000000005
|
||
```
|
||
|
||
### 2. 连接到gNB节点
|
||
```bash
|
||
# 错误的方法 (不要使用IP地址)
|
||
./build/nr-cli 127.0.0.1 -e help # ❌ 这会失败
|
||
|
||
# 正确的方法 (使用节点名称)
|
||
./build/nr-cli UERANSIM-gnb-286-1-1 -e commands # ✅ 正确
|
||
```
|
||
|
||
### 3. 查看可用命令
|
||
```bash
|
||
./build/nr-cli UERANSIM-gnb-286-1-1 -e commands
|
||
```
|
||
|
||
输出:
|
||
```
|
||
info | Show some information about the gNB
|
||
status | Show some status information about the gNB
|
||
amf-list | List all AMFs associated with the gNB
|
||
amf-info | Show some status information about the given AMF
|
||
ue-list | List all UEs associated with the gNB
|
||
ue-count | Print the total number of UEs connected the this gNB
|
||
ue-release | Request a UE context release for the given UE
|
||
handover | Trigger handover for a UE to target gNB
|
||
```
|
||
|
||
### 4. 使用Handover命令
|
||
|
||
#### 查看handover语法:
|
||
```bash
|
||
./build/nr-cli UERANSIM-gnb-286-1-1 -e "handover"
|
||
```
|
||
|
||
输出:
|
||
```
|
||
Trigger handover for a UE to target gNB
|
||
Usage:
|
||
handover <ue-id> <target-gnb-id>
|
||
```
|
||
|
||
#### 实际触发handover:
|
||
```bash
|
||
# 语法: handover <UE-ID> <目标gNB-ID>
|
||
./build/nr-cli UERANSIM-gnb-286-1-1 -e "handover 1 2"
|
||
```
|
||
|
||
## 完整的测试流程
|
||
|
||
### 步骤1: 启动环境
|
||
确保gNB和UE都在运行:
|
||
```bash
|
||
# 终端1: 启动gNB
|
||
./build/nr-gnb -c config/custom-gnb.yaml
|
||
|
||
# 终端2: 启动UE
|
||
./build/nr-ue -c config/custom-ue.yaml
|
||
```
|
||
|
||
### 步骤2: 检查连接状态
|
||
```bash
|
||
# 查看gNB信息
|
||
./build/nr-cli UERANSIM-gnb-286-1-1 -e "info"
|
||
|
||
# 查看连接的UE数量
|
||
./build/nr-cli UERANSIM-gnb-286-1-1 -e "ue-count"
|
||
|
||
# 列出连接的UE
|
||
./build/nr-cli UERANSIM-gnb-286-1-1 -e "ue-list"
|
||
```
|
||
|
||
### 步骤3: 触发Handover
|
||
```bash
|
||
# 格式: handover <ue-id> <target-gnb-id>
|
||
./build/nr-cli UERANSIM-gnb-286-1-1 -e "handover 1 2"
|
||
```
|
||
|
||
## 重要说明
|
||
|
||
1. **节点发现机制**: UERANSIM使用进程表 `/tmp/UERANSIM.proc-table/` 来发现节点,不直接使用IP地址
|
||
2. **节点名称**: 必须使用确切的节点名称,如 `UERANSIM-gnb-286-1-1`
|
||
3. **UE状态**: UE必须处于已注册并连接到gNB的状态才能执行handover
|
||
4. **目标gNB**: 需要有另一个运行的gNB作为handover目标
|
||
|
||
## 常用命令参考
|
||
|
||
```bash
|
||
# 列出所有节点
|
||
./build/nr-cli --dump
|
||
|
||
# 连接到gNB查看命令
|
||
./build/nr-cli UERANSIM-gnb-286-1-1 -e commands
|
||
|
||
# 查看gNB信息
|
||
./build/nr-cli UERANSIM-gnb-286-1-1 -e info
|
||
|
||
# 查看UE列表
|
||
./build/nr-cli UERANSIM-gnb-286-1-1 -e ue-list
|
||
|
||
# 触发handover
|
||
./build/nr-cli UERANSIM-gnb-286-1-1 -e "handover <ue-id> <target-gnb-id>"
|
||
|
||
# 查看UE状态
|
||
./build/nr-cli imsi-286010000000001 -e status
|
||
```
|