当前位置: 首页 > news >正文

移远 5G RG255AA-CN 调试

5G模块引脚配置与识别流程

一、相关引脚配置

在软件部分,需要配置如下引脚状态,并检查模块供电是否正常使能,以及使用万用表确认供电情况。如果配置正确,lusb 工具可以检测到该5G模块对应的 PID 和 VID。

硬件连接说明

根据硬件连接,5G模块的 RESET、5G_KEY、AIRPLA_EN 均由 MCU 控制。
相关代码示例(根据实际情况进行配置,此处只是做个别示例)
#include "eh.h"
#include "eh_debug.h"
#include "eh_module.h"#include "gd32f10x.h"
#include "io-ctrl.h"
#include "gd32f10x_gpio.h"
#include <stdbool.h>// 信号定义
EH_DEFINE_SIGNAL(signal_io_smi_change);// 电源控制函数
void io_ctrl_mpu_power_set(bool is_on){gpio_bit_write(GPIOE, GPIO_PIN_8, is_on ? SET : RESET );
}
void io_ctrl_lte_power_set(bool is_on){gpio_bit_write(GPIOE, GPIO_PIN_7, is_on ? SET : RESET );
}
void io_ctrl_5g_reset_set(bool is_on){gpio_bit_write(GPIOE, GPIO_PIN_14, is_on ? SET : RESET );
}
void io_ctrl_airplane_mode_set(bool is_on){gpio_bit_write(GPIOE, GPIO_PIN_11, is_on ? SET : RESET );
}
void io_ctrl_5g_key_set(bool is_on){gpio_bit_write(GPIOE, GPIO_PIN_10, is_on ? SET : RESET );
}// SMI状态检测
extern bool io_ctrl_smi_status(void){return gpio_input_bit_get(GPIOD, GPIO_PIN_0);
}// 初始化函数
static __init int io_ctrl_init(void){rcu_periph_clock_enable(RCU_AF);rcu_periph_clock_enable(RCU_GPIOE);rcu_periph_clock_enable(RCU_GPIOD);gpio_init(GPIOE, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_8);eh_minfofl(IO_CTRL, "io_ctrl_mpu_power_set true");io_ctrl_mpu_power_set(true);gpio_init(GPIOD, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_0);nvic_irq_enable(EXTI0_IRQn, 0U, 2U);gpio_exti_source_select(GPIO_PORT_SOURCE_GPIOD, GPIO_PIN_SOURCE_0);exti_init(EXTI_0, EXTI_INTERRUPT, EXTI_TRIG_BOTH);exti_interrupt_flag_clear(EXTI_0);gpio_init(GPIOE, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_7);eh_minfofl(IO_CTRL, "io_ctrl_lte_power_set true");io_ctrl_lte_power_set(true);gpio_init(GPIOE, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_10);eh_minfofl(IO_CTRL, "io_ctrl_5g_key_set true");io_ctrl_5g_key_set(true);gpio_init(GPIOE, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_11);eh_minfofl(IO_CTRL, "io_ctrl_airplane_mode_set true");io_ctrl_airplane_mode_set(true);gpio_init(GPIOE, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_13);gpio_init(GPIOE, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_14);eh_minfofl(IO_CTRL, "io_ctrl_5g_reset_set true");io_ctrl_5g_reset_set(false);return 0;
}void io_ctrl_exit(void){// 退出处理
}eh_module_level1_export(io_ctrl_init, io_ctrl_exit);

二、查看 PID 与 VID

使用 lusb 等工具确认模块已正常识别,检查 PID 和 VID 是否正确。

三、添加 PID 和 VID

在 MPU 内核代码 drivers/usb/serial/option.c 文件的 option_ids 数组下方,添加 RG255AA 模块的 VID 和 PID:

#define QUECTEL_VENDOR_ID                      0x2c7c
#define QUECTEL_PRODUCT_RG255AA                0x600b

四、在内核中启用 USB SERIAL 配置

请确保在内核配置中启用如下选项:

CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_WWAN=y
CONFIG_USB_SERIAL_OPTION=y
CONFIG_USB_ACM=y
CONFIG_USB_NET_DRIVERS=y
CONFIG_USB_USBNET=y
CONFIG_USB_NET_CDCETHER=y

五、添加 option_ids

在 option_ids 列表内增加 RG255AA 的 PID/VID,以便系统能够识别该 USB 设备为串口设备。

// /kernel/linux-5.15/drivers/usb/serial/option.c
static const struct usb_device_id option_ids[] = {......{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200A, 0xff, 0, 0) },{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RG255AA, 0xff, 0, 0) },{ USB_DEVICE_AND_INTERFACE_INFO(AWQUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_AW190, 0xff, 0, 0) },......
}

六、测试与验证

  1. 查看日志是否正常
  1. 检查串口设备是否正常枚举
  1. 检查5G网卡设备是否生成
  1. 联网测试

总结:按照上述步骤配置和检查后,可实现5G模块的正常识别与联网功能。如遇问题,建议逐步排查硬件连接、驱动配置及内核日志。
http://www.dtcms.com/a/592806.html

相关文章:

  • PyTorch3D从CUDA到CPU环境的完整迁移指南
  • 移动通信网络建设-实验2:5G站点选型与设备部署
  • 【自然语言处理】预训练06:子词嵌入
  • 地球的螺旋运动、四季轮回与椭圆轨道:统一场论下的宇宙新图景
  • html格式网站与网站开发有关的岗位是哪些
  • 底层视觉及图像增强-项目实践(十六-0-(6):线性映射技术在LED显示驱动中的工程实践与创新):从奥运大屏,到手机小屏,快来挖一挖里面都有什么
  • 2.7 模型评估与 A/B 测试
  • 政务终端一体化安全解决方案
  • 模板工程的建立
  • 开发者实践:电梯梯控的 非侵入式 与安全模块的电气解耦
  • Redis 高可用集群部署实战:单Docker实现1主2从3
  • 成都在线制作网站作文网入口
  • 想更新公司网站怎么做利于优化的wordpress模板
  • APP开发技术选型:原生 vs 跨端 (Flutter/React Native) 对比与适配场景
  • 智能指针在仓颉技术中的深度实践:从原理到架构的全维解析
  • Flutter开发全攻略:从入门到精通
  • Flutter持续健康发展的多维度分析
  • Flutter架构解析:从引擎层到应用层
  • 六大 API 架构风格
  • LoRA: Low-Rank Adaptation of Large Language Models及其反思
  • 搜索网站做淘宝客怎么在电脑上建立自己的网站
  • 股票投资方法论
  • SSE通信技术详解:Node.js实现服务器端事件推送
  • 广州市建设工程定额管理网站重写路由 wordpress
  • 有什么做兼职的医疗网站做网站应选那个主题
  • Visual Basic创建工具栏
  • IDEA的Code Style配置(使用google的Java Code Stytle)
  • 一个网站空间如何放两个网站内容
  • Vue 绑定class样式
  • LeetCode 153.寻找旋转排序数组中的最小值