4G模块使用说明
移远通信LTE Standard EM05系列是一款专为IoT/M2M应用而设计的LTE Cat 4模块。采用节省空间的M.2(NGFF)封装类型,超薄、紧凑的设计使其更易于嵌入到小尺寸产品中。
EM05系列支持最大下行速率150 Mbps,最大上行速率50 Mbps,包含三个型号:EM05-CN、EM05-E和EM05-G。支持LTE-FDD、LTE-TDD、DC-HSDPA、HSPA+、HSDPA、HSUPA、WCDMA和CDMA等多种网络制式。
要在Jetson系列上使用EM-05模块需要重新编译系统内核并刷入新编译的系统。
一、替换新内核
1.1 拉取编译好的资料
1.2 修改设备树配置文件
1.3 移动内核和驱动到指定位置
1.4 应用更改并重启验证
二、编译刷入完整系统
2.1 获取源码和工具链
- 创建工具链放置目录
mkdir $HOME/l4t-gcc-toolchain
cd $HOME/l4t-gcc-toolchain
- 下载并解压交叉编译工具链
wget https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v3.0/toolchain/aarch64--glibc--stable-2022.08-1.tar.bz2
tar xf aarch64--glibc--stable-2022.08-1.tar.bz2
- 进入到缓存好的刷机固件目录
cd $HOME/nvidia/nvidia_sdk/JetPack_6.2.1_Linux_JETSON_ORIN_NANO_TARGETS/Linux_for_Tegra/source #根据实际目录进行修改
- 根据 release tag 拉取源码。Jetson Linux Archive | NVIDIA Developer
./source_sync.sh -k -t <release-tag> #<release-tag>替换为你自己的发行版本如 jetpack_36.4.3
2.2 修改内核源码
2.3 编译内核
此步骤可能需要进行半个小时以上
- 安装编译依赖工具
sudo apt install build-essential bc
sudo apt-get install git bison flex libssl-dev zip libncurses-dev make
sudo apt-get install build-essential bc
- 创建输出目录
cd ../../
mkdir kernel_out
- 编译安装内核
export CROSS_COMPILE=$HOME/l4t-gcc-toolchain/aarch64--glibc--stable-2022.08-1/bin/aarch64-buildroot-linux-gnu- #设置交叉编译工具
make -C kernel #构建 Jetson Linux 内核镜像
sudo -E make install -C kernel #安装内核模块和树内模块
- 将内核镜像复制到刷机目录下
cp kernel/kernel-jammy-src/arch/arm64/boot/Image ../Linux_for_Tegra/kernel/Image
- 构建NVIDIA树外模块(驱动程序)
export CROSS_COMPILE=$HOME/l4t-gcc-toolchain/aarch64--glibc--stable-2022.08-1/bin/aarch64-buildroot-linux-gnu-
export KERNEL_HEADERS=$PWD/kernel/kernel-jammy-src
make modules
- 安装到刷机目录下
export INSTALL_MOD_PATH=$HOME/nvidia/nvidia_sdk/JetPack_6.2.1_Linux_JETSON_ORIN_NANO_TARGETS/Linux_for_Tegra/rootfs/ #根据实际目录进行修改
sudo -E make modules_install
- 开始构建DTB
export CROSS_COMPILE=$HOME/l4t-gcc-toolchain/aarch64--glibc--stable-2022.08-1/bin/aarch64-buildroot-linux-gnu-
export KERNEL_HEADERS=$PWD/kernel/kernel-jammy-src
make dtbs
- 将生成的dtb文件拷贝到刷机目录
cp kernel-devicetree/generic-dts/dtbs/* /Linux_for_Tegra/kernel/dtb/
2.4 刷入系统
- 进入刷机固件缓存目录
cd $HOME/nvidia/nvidia_sdk/JetPack_6.2.1_Linux_JETSON_ORIN_NANO_TARGETS/Linux_for_Tegra/source #根据实际目录进行修改
使用命令行刷机
- super模式
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c tools/kernel_flash/flash_l4t_t234_nvme.xml -p "-c bootloader/generic/cfg/flash_t234_qspi.xml" --showlogs --network usb0 jetson-orin-nano-devkit-super internal
- 普通模式
sudo ./flash.sh jetson-orin-nano-devkit-nvme internal