找回密码
 立即注册
搜索
查看: 8163|回复: 36

[软件] 看openwrt的介绍有些疑问

[复制链接]
     
发表于 2024-3-28 09:58 | 显示全部楼层 |阅读模式
1 是不是路由器原厂软件系统是基于openwrt开发的,才可能刷openwrt系统?    类似安卓手机可能可以刷第三方安卓os,苹果手机无法刷第三方安卓os。

2 openwrt使用gnu license,那么无论是原厂的系统还是外面自己的系统,都需要开源?

3 看了说明,说可以编译x86 openwrt,然后放在虚拟机比如virtual box里跑, 那应该可以编译完openwrt放到优盘做成启动盘,直接放在普通pc上跑吧?

4 编译菜单中有个:“是否生成 OpenWrt 的软件开发包,这样就可以离开 OpenWrt 整体环境而进行模块编译和增加功能 ”  这个没看懂是什么意思,是指生成openwrt的动态链接库?


回复

使用道具 举报

     
发表于 2024-3-28 10:25 来自手机 | 显示全部楼层
1 不是,能尝试把 OpenWRT 当做一个 Linux 发行版看待

3 是,能尝试把 OpenWRT 当做一个 Linux 发行版看待,x86/arm64 general openWRT 的到处都是

4 感觉类似于 libxxx-dev 和 SDK
回复

使用道具 举报

     
发表于 2024-3-28 10:42 | 显示全部楼层
我记得以前小米路由器的系统就是openwrt魔改的吧
回复

使用道具 举报

     
发表于 2024-3-28 12:28 来自手机 | 显示全部楼层
Wifi路由器芯片方案就那几种 常见的就联发科高通博通 这三家的sdk都是基于op添加自己的闭源驱动 这是基础
路由器厂商可以基于sdk改个ui 底层还是sdk op那套东西
像华硕不用这个方法 而是改驱动适配他们自己那套asuswrt
设备有没有op纯粹看有没有人适配 op就是一个linux发行版 适配最基础的硬件参数就可以启动 但是路由器芯片里面不止有那些通用cpu 还有各类网络加速单元 这些路由器芯片最重要的模块的驱动不是都开源的/开源驱动性能极差/开源驱动实现不了全部功能 就导致一个能够跑满千兆小包的mt7621 cpu刷了开源驱动op要比一个j1900老垃圾atom在网络处理上弱

—— 来自 Xiaomi 23013RK75C, Android 13上的 S1Next-鹅版 v2.5.4
回复

使用道具 举报

     
发表于 2024-3-28 13:23 来自手机 | 显示全部楼层
Litccc 发表于 2024-3-28 10:42
我记得以前小米路由器的系统就是openwrt魔改的吧

现在也是,小米自己明着写的基于openwrt

—— 来自 Xiaomi 23127PN0CC, Android 14上的 S1Next-鹅版 v2.1.2
回复

使用道具 举报

发表于 2024-3-28 19:19 来自手机 | 显示全部楼层
本帖最后由 RaidenII 于 2024-3-28 06:22 编辑
Saker_bobo 发表于 2024-3-27 23:28
Wifi路由器芯片方案就那几种 常见的就联发科高通博通 这三家的sdk都是基于op添加自己的闭源驱动 这是基础
...

最后举的例怎么都有问题...
mt7621几乎是唯一有开源支持的硬件nat分流,性能不弱,应该说是相当强的一个。性能要看具体soc的phy布线情况,同样用mt7621的soc由于网口接soc的布局不一样,有的能wan到lan双工跑满千兆(同时上下行1gbps),有的只能500mbps
j1900也不是atom,他是赛扬,而且作为x86他的性能也不是垃圾,跑几个vm都行,做千兆级的交换轻轻松松
回复

使用道具 举报

     
发表于 2024-3-28 19:35 | 显示全部楼层
RaidenII 发表于 2024-3-28 19:19
最后举的例怎么都有问题...
mt7621几乎是唯一有开源支持的硬件nat分流,性能不弱,应该说是相当强的一个 ...

我的例子是2 3年前 换了MT7622之后又换MT7981我就没关注它了 现在MT7621这东西的开源驱动是到能用的地步了 MT7621两个RGMII正常情况是直接接到内置的MT7530交换机上的 有些设计需要扣掉一个电容才能把第二条RGMII接回交换机 但是接线设计并不影响这颗CPU能跑千兆小包
别把J1900不当ATOM 就是一个东西https://ark.intel.com/content/ww ... erly-bay-trail.html 这东西做应用处理器还差不多 做网络处理器只能打纯软跑的MT7621 别做梦软交换了
回复

使用道具 举报

     
发表于 2024-3-28 20:10 | 显示全部楼层
RaidenII 发表于 2024-3-28 19:19
最后举的例怎么都有问题...
mt7621几乎是唯一有开源支持的硬件nat分流,性能不弱,应该说是相当强的一个 ...

换个例子吧 和MT7621几乎同期的MT7615无线芯片 现在的开源驱动还是难绷 当然 联发科后面无线芯片的开源驱动都还行 虽然要论稳定还得是原厂驱动;高通的ATH11K 已经算是笑话了吧?还有高通的NSS 或者叫Ubi32核心驱动 也是依托答辩 不过好在这个东西在wifi7方案的芯片里去掉了 代价是硬件加速整个砍到联发科的10分之一;博通就算了 就没有什么东西开源
回复

使用道具 举报

     
发表于 2024-3-28 20:27 | 显示全部楼层
单位里随便拿了台旧机器,硬盘上刷个镜像,都能跑了

QQ截图20240328202545.jpg
回复

使用道具 举报

     
发表于 2024-3-28 21:10 | 显示全部楼层
原厂系统即使不是基于openwrt,但用的方案有其他家有用openwrt的,也能很方便移植。比如tplink一些基于vxworks,磊科一些产品基于Ecos也有对应的openwrt固件。同理还有部分博通高通的华硕系统也有openwrt的移植。
回复

使用道具 举报

发表于 2024-3-28 21:40 | 显示全部楼层
ddwrt是不是死球了
回复

使用道具 举报

头像被屏蔽
     
发表于 2024-3-29 20:16 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2024-3-30 11:20 | 显示全部楼层
关于第二点,这个案例里可以看出其实不需要
软件著作权丨最高法:涉GPL开源协议争议的软件权利人即使未开源,亦有权针对侵权行为维权
https://county.beijingip.cn/tz/websiteArticle/detailArticle.do?id=401fe2c2890686ce018c0f6936c70d08
https://www.zhihu.com/question/645026429
回复

使用道具 举报

     
发表于 2024-3-30 14:14 | 显示全部楼层
GPL说到底只是君子协定,大公司会顾及脸面遵守下,小公司和大部分国内公司挂耻辱柱也无所谓
回复

使用道具 举报

     
发表于 2024-3-30 15:38 来自手机 | 显示全部楼层
没有开源驱动的也可能可以移植闭源驱动吧,openwrt官方不能直接提供你带闭源驱动的固件就是了。但是都十多年了这么还在MT7621
回复

使用道具 举报

     
发表于 2024-3-30 16:35 | 显示全部楼层
win8 发表于 2024-3-30 15:38
没有开源驱动的也可能可以移植闭源驱动吧,openwrt官方不能直接提供你带闭源驱动的固件就是了。但是都十多 ...

对于联发科 有人直接拿SDK来改固件 因为SDK的版本比主线那边落后好几个大版本 所以基本上没人搞移植驱动
提MT7621是因为这个型号现在还有很多用户 并且单论有线 这颗CPU在家用千兆宽带环境下还是堪用的
之前还只是有线硬件加速驱动 去年随着对新CPU MT798X系列的研究 SDK OP下硬件QOS 硬件限速都能开了
回复

使用道具 举报

     
发表于 2024-3-31 18:15 | 显示全部楼层
电视盒子也能刷openwrt,教程很多,手机也有,要看CPU支持

iphone也是可以装安卓OS的,只是越狱和引导麻烦+没需求
回复

使用道具 举报

发表于 2024-4-2 14:31 来自手机 | 显示全部楼层
openwrt给我的感觉就是难用,可能我不懂编程吧,以前折腾过路由器最后因为太复杂放弃换了padavan,最近又开始折腾路由器,这次只能用openwrt,想安装点东西,不能装,查了一下原来还要先安装一堆依赖包,那就先下载依赖包安装吧,但是某些依赖也安装不了,因为它也缺依赖……
回复

使用道具 举报

     
发表于 2024-4-2 15:25 来自手机 | 显示全部楼层
纯情小鸭鸭 发表于 2024-4-2 14:31
openwrt给我的感觉就是难用,可能我不懂编程吧,以前折腾过路由器最后因为太复杂放弃换了padavan,最近又开 ...

openwrt自带的软件源装东西都会自动装依赖,你为啥要自己装依赖

要是想定制,可以在openwrt.ai这里直接定制好再刷
回复

使用道具 举报

发表于 2024-4-2 15:53 | 显示全部楼层
本帖最后由 纯情小鸭鸭 于 2024-4-2 15:59 编辑
sirlion 发表于 2024-4-2 15:25
openwrt自带的软件源装东西都会自动装依赖,你为啥要自己装依赖

要是想定制,可以在openwrt.ai这里直接 ...

因为那个路由器还没能联网,那个wan口设置搞了半天也无法联网(光猫拨号),就想着先装点东西吧,结果一样遇到问题……安装东西自动安装依赖是怎样安装的?我在路由器管理页面上传安装包后安装直接提示"unknown package",换了几个版本都是。
回复

使用道具 举报

     
发表于 2024-4-2 16:03 来自手机 | 显示全部楼层
纯情小鸭鸭 发表于 2024-4-2 15:53
因为那个路由器还没能联网,那个wan口设置搞了半天也无法联网(光猫拨号),就想着先装点东西吧,结果一 ...

那这个确实有学习成本,openwrt默认指定一个口作为wan,根据硬件芯片分布的,不一定是路由器默认的那个,得在接口那栏看清楚是哪个再插上网线,然后根据你上网设置拨号还是dhcp
我的6088第一次装就是wan口不是我想用的那个,怎么修改接口那里都不行,学习成本有点高,后来放弃了,就用它默认2.5g那个口当wan得了
回复

使用道具 举报

     
发表于 2024-4-2 16:03 | 显示全部楼层
纯情小鸭鸭 发表于 2024-4-2 15:53
因为那个路由器还没能联网,那个wan口设置搞了半天也无法联网(光猫拨号),就想着先装点东西吧,结果一样 ...

安装的时候选luci app就会自动安装依赖,但你首先要保证软件源没有问题。op的各个核心版本混杂,高版本的安不了低版本的包,这才是问题所在。
回复

使用道具 举报

     
 楼主| 发表于 2024-4-3 16:17 | 显示全部楼层
请教下各位,我在virtualbox里面安装了官网下载的镜像
但是无法ssh到该系统,可能是什么原因?
PS C:\Users> ssh root@192.168.56.1
ssh: connect to host 192.168.56.1 port 22: Connection refused
这个地址是虚拟机网卡
以太网适配器 VirtualBox Host-Only Network:
   连接特定的 DNS 后缀 . . . . . . . :
   IPv6 地址 . . . . . . . . . . . . : fd95:38b7:bd8b::147
   IPv6 地址 . . . . . . . . . . . . : fd95:38b7:bd8b:0:eef3:ba2c:dee:edb1
   临时 IPv6 地址. . . . . . . . . . : fd95:38b7:bd8b:0:e536:f14f:8c40:3672
   本地链接 IPv6 地址. . . . . . . . : fe80::6557:e795:54b3:74fb%41
   IPv4 地址 . . . . . . . . . . . . : 192.168.56.1
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . :


这个地址,也是wrt里面lan接口地址

oot@OpenWrt:/# uci show network
network.loopback=interface
network.loopback.device='lo’
network.loopback.proto='static
network.loopback.ipaddr='12?.0.0.1'
network.loopback.netmask='255.0.0.0
network.globals=globals
network.globals.ula_prefix='fd95:38b7:bd8b::/48
network.@device[O]=devicemetwork.@device[0].name='br-lan
network.@device[0].type='bridge
network.@device[0].ports='etho'
network.lan=interface
network.lan.device='br-lan
network.lan.proto='static’
network.lan.ipaddr='192.168.56.1'
network.lan.netmask='255.255.255.0
network.lan.ip6assign='60’
network.wan=interface
network.wan.device='eth1'
network.wan.proto='dhcp
network.wan6=interface
network.wan6.device='eth1'
network.wan6.proto='dhcpu6


另外,在wrt上ssh localhost是正常的
回复

使用道具 举报

     
发表于 2024-4-3 16:49 | 显示全部楼层
b0207191 发表于 2024-4-3 16:17
请教下各位,我在virtualbox里面安装了官网下载的镜像
但是无法ssh到该系统,可能是什么原因?
PS C:%users ...

你的设备肯定不在192.168.56.0/24的网段里面当然ssh不通
回复

使用道具 举报

     
 楼主| 发表于 2024-4-3 16:57 | 显示全部楼层
Processed 发表于 2024-4-3 16:49
你的设备肯定不在192.168.56.0/24的网段里面当然ssh不通

windows主机接口就是这个地址
接口: 192.168.56.1 --- 0x29
  Internet 地址         物理地址              类型
  192.168.56.255        ff-ff-ff-ff-ff-ff     静态
  224.0.0.22            01-00-5e-00-00-16     静态
  224.0.0.251           01-00-5e-00-00-fb     静态
  224.0.0.252           01-00-5e-00-00-fc     静态
  239.255.255.250       01-00-5e-7f-ff-fa     静态
  255.255.255.255       ff-ff-ff-ff-ff-ff     静态
回复

使用道具 举报

发表于 2024-4-3 21:49 | 显示全部楼层
如果是host only的话你windows下的那个网卡应该和openwrt里wan的地址一个网段吧
回复

使用道具 举报

     
 楼主| 发表于 2024-4-3 22:32 | 显示全部楼层
seducer0719 发表于 2024-4-3 21:49
如果是host only的话你windows下的那个网卡应该和openwrt里wan的地址一个网段吧

参考了下这个  https://blog.csdn.net/xiaodingqq/article/details/80018685
依葫芦画瓢

虚拟机网卡ip是56.1,  wrt eth0设置56.2, ok了
回复

使用道具 举报

     
 楼主| 发表于 2024-4-6 16:31 | 显示全部楼层
今天看
https://www.openwrt.pro/post-194.html
有个疑问
为什么里面提到说
请注意,LAN口不论有几个,在系统中的设备都是一个eth0。
回复

使用道具 举报

     
发表于 2024-4-7 02:35 | 显示全部楼层
b0207191 发表于 2024-4-6 16:31
今天看
https://www.openwrt.pro/post-194.html
有个疑问

swconfig会是这样的,但现在都是DSA了
当然这里是指设备是带一个系统管理的switch的情况下,比如各种MT7530/7531设备

x86或者多个物理网口的又是另外一回事

https://openwrt.org/docs/techref/hardware/switch
回复

使用道具 举报

     
发表于 2024-4-7 02:42 | 显示全部楼层
从wifi6时代开始各(芯片)厂家都是只提供基于openwrt的source和sdk的了

不想用openwrt就只能是自己搓屎山(比较有名的大概就剩下asus了

当然好在openwrt本身的架构非常简单非常简单(哪怕是相对于buildroot和yocto),所以想把openwrt里面的东西拿去其他linux系统上用几乎的没有难度的
回复

使用道具 举报

     
发表于 2024-4-7 02:58 | 显示全部楼层
tsubasa9 发表于 2024-3-28 21:40
ddwrt是不是死球了

没有,最新一个beta是昨天早上发的
回复

使用道具 举报

     
 楼主| 发表于 2024-5-1 22:46 | 显示全部楼层
又来请教大佬们个问题

如果我想对openwrt中某个组件代码做个修订,仅仅是实验目的,没打算提交,或者长期使用,如何在修订后编译组件

看了下面这个连接的说明,感觉比较繁琐,需要把代码重新打成压缩包,还要修改makefile中的md5值

https://blog.csdn.net/qq_45602787/article/details/120615421

不能在修订build_dir/target_xxx/下的代码后,直接make package/xxx/compile 吗/

回复

使用道具 举报

发表于 2024-5-1 22:52 | 显示全部楼层
你需要打patch,不是直接改
回复

使用道具 举报

     
 楼主| 发表于 2024-5-2 00:02 | 显示全部楼层
本帖最后由 b0207191 于 2024-5-2 09:36 编辑
tsubasa9 发表于 2024-5-1 22:52
你需要打patch,不是直接改

嗯,明白,规范做法是要打patch的,比如
https://zhuanlan.zhihu.com/p/601776134

就是想问下,如果只是临时性为了调试做了些改动,有没有方法可以直接编译/正好看见这个
OpenWrt USE_SOURCE_DIR的作用_openwrt source_dir local_src-CSDN博客
说用USE_SOURCE_DIR 可以使用本地代码编译?
回复

使用道具 举报

     
发表于 2024-5-2 02:31 | 显示全部楼层
菊花家的路由器这种自研芯片加上闭源应该就是不能刷openwrt 了

—— 来自 S1Fun
回复

使用道具 举报

头像被屏蔽
     
发表于 2024-5-2 10:33 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
 楼主| 发表于 2024-5-5 21:08 | 显示全部楼层
由于ubus实现方式的限制,在一些场景中不适宜使用ubus,比如数据量很大或是数据交互很频繁,则不宜用ubus。所以,在openwrt网络系统中,当接口数量超过2000个时候,ubus连接就无法支撑和netifd的通讯,反复断开,出现netifd一直重连ubus,如何解决这个问题,比如对ubus进行改造,还是对netifd进行改造

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2024-11-27 04:21 , Processed in 0.087613 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表