分享:
rndis是一种技术,将tcp/ip封装在usb报文,实现网络通信基于USB实现RNDIS实际上就是TCP/IP over USB,就是在USB设备上跑TCP/IP,让USB设备看上去像一块网卡;
一、 RV1103 引脚图

二、登录
方式一:通过 USB 连接使用静态 IP ssh进行登录
1、先关闭笔记本防火墙;
2、配置网卡ip(同一网段即可)


3、通过moba登录
登录账号:root
登录密码:luckfox
静态IP地址:172.32.0.93
方式二:通过调试串口二登录
选择对应串口,波特率设置为115200,输入对应账号和密码即可;

三、编译环境搭建
下载Ubuntu22.04镜像,VMware安装;
1、依赖环境:
sudo apt update
sudo apt-get install -y git ssh make gcc gcc-multilib g++-multilib module-assistant expect g++ gawk texinfo libssl-dev bison flex fakeroot cmake unzip gperf autoconf device-tree-compiler libncurses5-dev pkg-config bc python-is-python3 passwd openssl openssh-server openssh-client vim file cpio rsync
2、获取最新的SDK:
git clone LuckfoxTECH/luckfox-pico
3、SDK目录结构:
├── build.sh -> project/build.sh ---- SDK编译脚本
├── media --------------------------- 多媒体编解码、ISP等算法相关(可独立SDK编译)
├── sysdrv -------------------------- U-Boot、kernel、rootfs目录(可独立SDK编译)
├── project ------------------------- 参考应用、编译配置以及脚本目录
├── output -------------------------- SDK编译后镜像文件存放目录
└── tools --------------------------- 烧录镜像打包工具以及烧录工具
4、编译命令:
全部编译:
./build.sh lunch
./build.sh
单独编译内核:
./build.sh clean kernel
./build.sh kernel
四、内核修改项
1、设备树修改
a、进入对应目录:
Luckfox Pico Mini B:<SDK目录>/sysdrv/source/kernel/arch/arm/boot/dts/rv1103g-luckfox-pico-mini-b.dts
b、修改对应设备树:
usb为例:
&usbdrd_dwc3 {
status = "okay";
dr_mode = "host";
};
通用:
“okay” :使能 "disabled":未使能
对于usb:
“host” :主模式 “peripheral“:从模式
c、查看usb模式
cat /sys/devices/platform/ff3e0000.usb2-phy/otg_mode
2、源码修改:
在瑞芯微官方SDK源码不做任何配置或修改再编译的话,开发板是不能正确识别4G模块的,为此做出相应修改。不同的4G模块有不同的VID和PID,合宙Cat1 Air724UG的VID和PID为(0x1782,0x4e00)
添加以下代码:
a、<SDK目录>/sysdrv/source/kernel/drivers/usb/serial/option.c



b、<SDK目录>/sysdrv/source/kernel/drivers/usb/serial/usb_wwan.c

3、make menuconfig图形化配置
a、保存文件,清除编译重新编译
cd ~/SDK目录/sysdrv/source/kernel
cp ./arch/arm/configs/luckfox_rv1106_linux_defconfig .config
b、配置项修改
make ARCH=arm menuconfig
进入到图形化界面后

按下“/”进入搜索栏

分别搜索以下选项,并使能
”SCSI“
“SCSI_UFSHCD”
”BLK_DEV_SD“
“USB_STORAGE”
”USB_MASS_STORAGE“
“USB_EHCI_HCD” ”RNDIS“的所有项
例如:按下“1”选择对应先项"SCSI"

按“y”或者“空格键“使能该功能,最后要Save保存

单独几项需要查找对应目录使能
USBNET 功能:
-> Device Drivers
-> -*- Network device support
-> USB Network Adapters
-> -*- Multi-purpose USB Networking Framework
USB 串口GSM、CDMA 驱动:
-> Device Drivers
-> [*] USB support
-> <*> USB Serial Converter support
-> <*> USB driver for GSM and CDMA modems
USB 的CDC ACM 模式:
-> Device Drivers
-> [*] USB support
-> <*> Support for Host-side USB
-> <*> USB Modem (CDC ACM) support
c、保存config,回到SDK目录下,并重新编译内核
make ARCH=arm savedefconfig
cp defconfig arch/arm/configs/luckfox_rv1106_linux_defconfig
cd ~/SDK目录
./build.sh kernel
执行编译内核后,会进行选择:
对应型号例如:RV1103_Luckfox_Pico_Mini_B;
选择启动媒介:SPI_NAND
选择系统版本 :Buildroot
编译完的 boot.img镜像在<SDK目录>/sysdrv/source/kernel/路径下
五、内核烧录
烧录工具: https://pan.baidu.com/s/13oeDHzwQ9EMoyKcylFSTEQ 提取码: cemu
驱动助手DriverAssitant:https://pan.baidu.com/s/1r0oDJf5mkKEfvddkJObt8g 提取码: gezv
usb线一端连接电脑,另一端连接LuckFox Pico Mini B的type-c口
1、如果是 LuckFox Pico Mini B开发板就选择 RV1103

2、LuckFox Pico Mini B 在 Windows下载固件库方法:
① 按住 BOOT 键后连接电脑后,松开 BOOT 键,瑞芯微刷机工具就会显示 MaskRom 设备。
② 加载固件的存放目录,重载 env 文件,勾选所有项。
③ 点击下载。(如果只烧录内核,勾选DownloadBin和boot)

如果遇到SocToolKit 无法识别usb,建议关闭电脑杀毒软件、更换高品质的 Type-C ;
六、验证
上电后,ifconfig能查看到4g模块的IP;



774

被折叠的 条评论
为什么被折叠?



