说明:在移植交换机软件到rtk系列交换机上遇到的一些问题总结在此留一个备份

1、在原厂提供的SDK中会报错mknod时会出现权限不够的问题

解决方法:修改kernel中编译nod的makefile,在其中加入权限

2、uboot是2011年的古董,在使用make envtools命令后在env文件夹下没有生成lib.a那么在程序中调用env方面的函数是不行的

解决方法:下载一个2018的uboot使用make envtools命令会生成lib.a但是这个库直接使用是不行的,因为通过查看源代码会发现访问fw_env.config这个文件的实现方法,2018和2011有一些不同,因为去修改2011会涉及太多的函数,直接修改2018的函数然后重新make envtools就可以了

3、在根目录下通过make rtusr-so命令生成动态库,当然前提是打开了diag否则会报错将生成的库放入文件系统的lib中,那么就可以在程序中调用了,当然也需要修改程序的makefile使其识别到该库

4、文件系统中没有fstab,自己自行创建该文件,然后在启动shell中使用mount -a挂载

仅供参考

# <file system>    <mount pt>    <type>    <options> <dump>    <pass>
/dev/root   /       ext2    rw,noauto   0   1
proc        /proc       proc    defaults    0   0
devpts      /dev/pts    devpts  defaults,gid=5,mode=620,ptmxmode=0666    0   0
tmpfs       /dev/shm    tmpfs   mode=0777  0   0
tmpfs       /tmp        tmpfs   mode=1777  0   0
tmpfs       /run        tmpfs   mode=0755,nosuid,nodev 0   0
sysfs       /sys        sysfs   defaults    0   0
/dev/mtdblock3 /data           jffs2  defaults        0       0
#/dev/mtdblock2 /var/lock       jffs2  defaults        0       0

启动shell(rc文件)仅供参考

#!/bin/sh#
# create essential directory
#
mkdir /var/empty
mkdir /dev/pts
mkdir /dev/shm#
# mount process
#
mount -t devpts devpts /dev/pts
mount -t proc proc /proc
#mount -t jffs2 -o rw,sync /dev/mtdblock3 /mntecho "5 4 1 7" > /proc/sys/kernel/printk#
# insert kernel module if exist
# default path is /lib/modules/X.X.XX/kernel
#
if [ -d "/lib/modules/X.X.XX/kernel" ]; then
cd /lib/modules/X.X.XX/kernel
ficat /proc/meminfo > /tmp/mem_log_rtsdk_startRESULT=1
if [ -f "drivers/net/switch/rtcore/rtcore.ko" ]; theninsmod drivers/net/switch/rtcore/rtcore.koRESULT=$?
elseif [ -f "/lib/modules/rtcore.ko" ]; theninsmod /lib/modules/rtcore.koRESULT=$?fi
fiif [ $RESULT -eq 0 ] && [ -f "drivers/net/switch/rtk/rtk.ko" ]; theninsmod drivers/net/switch/rtk/rtk.koRESULT=$?
elseif [ $RESULT -eq 0 ] && [ -f "/lib/modules/rtk.ko" ]; theninsmod /lib/modules/rtk.koRESULT=$?fi
fiif [ $RESULT -eq 0 ] && [ -f "drivers/net/switch/rtnic/rtnic.ko" ]; theninsmod drivers/net/switch/rtnic/rtnic.koRESULT=$?
elseif [ $RESULT -eq 0 ] && [ -f "/lib/modules/rtnic.ko" ]; theninsmod /lib/modules/rtnic.koRESULT=$?fi
fiif [ $RESULT -eq 0 ] && [ -f "/lib/model/model.ko" ]; theninsmod /lib/model/model.koRESULT=$?
fiif [ $RESULT -eq 0 ] && [ -f "net/switch/rtdrv/rtdrv.ko" ]; theninsmod net/switch/rtdrv/rtdrv.koRESULT=$?
elseif [ $RESULT -eq 0 ] && [ -f "/lib/modules/rtdrv.ko" ]; theninsmod /lib/modules/rtdrv.koRESULT=$?fi
fiif [ $RESULT -eq 0 ] && [ -f "/lib/modules/rise.ko" ]; theninsmod /lib/modules/rise.koRESULT=$?
fiif [ -f "/lib/modules/rlapp.ko" ]; theninsmod /lib/modules/rlapp.koRESULT=$?
ficd /cat /proc/meminfo > /tmp/mem_log_rtsdk_finishmount -a
#
# network interface configuration
#
# print logo
clear
uname -nrsv
cat /etc/motdifconfig lo 127.0.0.1
route add -net 127.0.0.0 netmask 255.255.255.0 loifconfig eth0 192.168.1.1#
# start application
#
if [ $RESULT -eq 0 ] && [ -f "/bin/switch" ]; thenswitch
fi

5、内核没有使能jffs2文件支持,需要手动在内核中启用,如果没有这个无法挂载和访问它给的cfg和log分区那么就无法写入和读取配置了,重启之后配置就丢失了。

6、当然还少不了tmpfs的支持了,在kernel中开启 File systems > Pseudo filesystems

ps:由于使用不了turnkey命令那么busybox只能手动编写config文件,然后删除.config文件才能将功能启用,比如sync,route等等命令的启用,当然还有一些更恶心的东西,比如hwclock命令你在busybox中启用了但是会无法通过编译,这玩意还要在内核中启用ptp才行

总结:rtk搞的这套古董,uboot是2011年的,给的内核也是古董,什么东西都没有还不如直接放到buildroot里面,搭建这破环境都用了我半个月,能用了之后一看api也是古董,插拔反应还这么慢,真的比不上marvell和broadcom半根毛,也就在低端玩玩了凸m凸

瑞昱RTL8382交换机软件开发方案遇到的问题相关推荐

  1. Imagination和瑞昱半导体携手推出全球首款具有图像压缩功能的数字电视SoC

    IMG BXE-4-32 GPU现已用于半导体面向大众市场的数字电视解决方案中 英国伦敦 – 2022年3月 – Imagination Technologies宣布:具有 IMGIC图像压缩技术的I ...

  2. esxi 7.0 封装瑞昱网卡驱动_小科普 | 无线网卡怎么选?

    从电话线到光纤入户,有线网络的体验改变了我们的生活方式,但我们的行动空间也往往被这么一根线牵制,无线便给了我们更多自由.那么无线网卡,有什么讲究呢? ▌类型 从类型上来看,无线网卡大致可以分为三种:U ...

  3. 免驱无线网卡插到电脑上突然驱动变成瑞昱网卡了无法正常联网

    环境: 电脑:戴尔台式主机 系统:Windows 10 专业版 64位 网卡:S星UD6H(免驱版)高增益650M双频无线USB网卡 硬件版本:V2 问题描述: S星免驱无线网卡插到电脑上突然驱动变成 ...

  4. 瑞昱网卡linux通用驱动下载,Realtek网卡驱动Win10-Realtek瑞昱通用网卡驱动Win10版下载 v10.003.0728.2015官方版--pc6下载站...

    Realtek瑞昱通用网卡驱动Win10版是瑞昱官方发布第一款官方Win10网卡驱动程序,版本号为10.003.0728.2015,支持32位和64位Windows10系统. 相关软件软件大小版本说明 ...

  5. APP手机软件开发方案怎么做?

    企业在进行APP软件开发的时候,要做好充分的准备工作,制定出详细具体的开发方案,这样才能在APP软件开发的过程中更加高效,应该怎么制定详细的APP软件开发方案呢,七猫网络给大家讲解一下: 一.用户分析 ...

  6. 核酸检测软件开发方案(软件工程作业)

    关于核酸检测软件开发方案 负责人:韩梅梅 一.开发周期及地点 ·周期:2个月 ·地点:深圳 二.开发团队招聘人员信息(共7人,均为本科及以上学历要求,包吃住) 1.项目经理(1人) ·薪资:18K(以 ...

  7. 瑞昱RTL8201G(I)-VB-CG 规格应用--电口传输距离(500M)之王

    8201G是瑞昱最新研发的PHY,100M电口传输距离达500M,详细情况如下: 本司(英途数字)代理瑞昱芯片,公司瑞昱官网可查. 需要相关规格书资料,样品,技术支持,联系方式如下. QQ:83822 ...

  8. 睿普康 以太网接口PHY芯片主要替换瑞昱的pin对pin芯片

    睿普康 以太网接口PHY芯片主要替换瑞昱的pin对pin芯片 其他完整学习资料和规格书都在我的附件里,希望大家可以相互学习,有错误方面还请大家正,提供的这些关于PHY的资料也是为了让大家更好的去认识, ...

  9. 开卡修复一个掉固件的RTS5732DL固态,附瑞昱RTS5732量产工具开卡简易教程

    开卡修复一个掉固件的RTS5732DL固态,附瑞昱RTS5732量产工具开卡简易教程 手头有一个掉固件的RTS5732DL主控固态,症状是安装在电脑上,长时间未检测到.准备自己修一下,开卡试试. 第1 ...

最新文章

  1. Oracle控制文件恢复
  2. 区块链教程Fabric1.0源代码分析Tx(Transaction 交易)一
  3. Maven工程的分类
  4. wandb: 深度学习轻量级可视化工具入门教程
  5. linux下面使用飞书个人版预览doc
  6. mysql 临时表 heap_mysql优化: 内存表和临时表
  7. 阿里云 wdcp面板后台控制安装
  8. 什么是MongoDB
  9. 为什么有些小区业主不愿意交物业费?
  10. HDU4619--Warm up 2
  11. 【java笔记】函数式接口
  12. python3中文乱码解决方法
  13. 推荐一款windows下好用的文件夹加密、文件加密软件(含使用说明)
  14. Kettle Spoon 安装配置详解
  15. mysql java驱动 ibm_转!!各种数据库的jdbc驱动下载及连接方式
  16. [Irving]Sql Server 日期、时间、比较
  17. win7命令更新补丁
  18. kindle如何设置不闪屏_疑问解答 | Kindle翻页为什么闪屏?
  19. Android中计步器的实现
  20. 计算机专业java餐厅点餐系统,Java实现餐厅点餐系统的实例代码.pdf

热门文章

  1. activemq java客户端,ActiveMQ客户端配置使用
  2. Jquery控制div滚动,但不显示滚动条
  3. 安卓开发艺术探索总结
  4. 被查虚假交易违规账户处置会造成哪些影响
  5. 【ZT】事件反转!华为P30 Pro被证实有“P月”功能
  6. Java OOP 第五章 指导学习
  7. UUCTF招新赛Misc-writeup from 王八七七总结
  8. 2018-2019-2 20189206 《密码与安全新技术专题》 第二次作业
  9. hdmi接口有什么用_【科普】你的电脑为什么没有HDMI接口?
  10. 拼多多API接口(item_search-根据关键词取商品列表)