[GH-ISSUE #4047] [Feature Request] 请教,新版0.49.0以上不支持rt-n16了吗?可以实现吗? #3203

Closed
opened 2026-05-05 14:04:12 -06:00 by gitea-mirror · 7 comments
Owner

Originally created by @jmlcx on GitHub (Mar 7, 2024).
Original GitHub issue: https://github.com/fatedier/frp/issues/4047

Describe the feature request

老路由华硕RT-N16(mpisle)使用版本v0.48.0以下一切正常,因为想使用0.49.0以上的xtcp新功能发现运行不了,请教有解决办法吗?因路由在外地,换路由暂时也不实际。谢谢大家。

路由的cpu架构信息如下:
root@unknown:/mnt/sda1/frp_0.49.0_linux_mipsle# cat /proc/cpuinfo
system type : Broadcom BCM4716 chip rev 1 pkg 10
processor : 0
cpu model : MIPS 74K V4.0
BogoMIPS : 239.20
cpu MHz : 480
wait instruction : no
microsecond timers : yes
tlb_entries : 64
extra interrupt vector : no
hardware watchpoint : yes
ASEs implemented : mips16 dsp
shadow register sets : 1
VCED exceptions : not available
VCEI exceptions : not available

Describe alternatives you've considered

No response

Affected area

  • Docs
  • Installation
  • Performance and Scalability
  • Security
  • User Experience
  • Test and Release
  • Developer Infrastructure
  • Client Plugin
  • Server Plugin
  • Extensions
  • Others
Originally created by @jmlcx on GitHub (Mar 7, 2024). Original GitHub issue: https://github.com/fatedier/frp/issues/4047 ### Describe the feature request 老路由华硕RT-N16(mpisle)使用版本v0.48.0以下一切正常,因为想使用0.49.0以上的xtcp新功能发现运行不了,请教有解决办法吗?因路由在外地,换路由暂时也不实际。谢谢大家。 路由的cpu架构信息如下: root@unknown:/mnt/sda1/frp_0.49.0_linux_mipsle# cat /proc/cpuinfo system type : Broadcom BCM4716 chip rev 1 pkg 10 processor : 0 cpu model : MIPS 74K V4.0 BogoMIPS : 239.20 cpu MHz : 480 wait instruction : no microsecond timers : yes tlb_entries : 64 extra interrupt vector : no hardware watchpoint : yes ASEs implemented : mips16 dsp shadow register sets : 1 VCED exceptions : not available VCEI exceptions : not available ### Describe alternatives you've considered _No response_ ### Affected area - [ ] Docs - [ ] Installation - [ ] Performance and Scalability - [ ] Security - [ ] User Experience - [ ] Test and Release - [ ] Developer Infrastructure - [ ] Client Plugin - [ ] Server Plugin - [ ] Extensions - [ ] Others
Author
Owner

@jmlcx commented on GitHub (Mar 7, 2024):

运行出错信息如下:
root@unknown:/mnt/sda1/frp_0.49.0_linux_mipsle# frpc
runtime: epollcreate failed with 89
fatal error: runtime: netpollinit failed

goroutine 1 [running, locked to thread]:
runtime.throw({0x82f08b, 0x1b})
runtime/panic.go:1047 +0x54 fp=0x117d1b4 sp=0x117d1a0 pc=0x59b98
runtime.netpollinit()
runtime/netpoll_epoll.go:28 +0x290 fp=0x117d204 sp=0x117d1b4 pc=0x54568
runtime.netpollGenericInit()
runtime/netpoll.go:197 +0x88 fp=0x117d20c sp=0x117d204 pc=0x53630
internal/poll.runtime_pollServerInit()
runtime/netpoll.go:189 +0x38 fp=0x117d210 sp=0x117d20c pc=0x9b1dc
sync.(*Once).doSlow(0xd5aca8, 0x900940)
sync/once.go:74 +0x114 fp=0x117d238 sp=0x117d210 pc=0xacdf8
sync.(*Once).Do(...)
sync/once.go:65
internal/poll.(*pollDesc).init(0x1266894, 0x1266880)
internal/poll/fd_poll_runtime.go:39 +0x6c fp=0x117d248 sp=0x117d238 pc=0x1a2908
internal/poll.(*FD).Init(0x1266880, {0x81aaa4, 0x4}, 0x1)
internal/poll/fd_unix.go:63 +0xc0 fp=0x117d25c sp=0x117d248 pc=0x1a3b28
os.newFile(0x3, {0x825c60, 0xf}, 0x1)
os/file_unix.go:190 +0x20c fp=0x117d280 sp=0x117d25c pc=0x1b2554
os.openFileNolog({0x825c60, 0xf}, 0x0, 0x0)
os/file_unix.go:250 +0x1f8 fp=0x117d2ac sp=0x117d280 pc=0x1b2808
os.OpenFile({0x825c60, 0xf}, 0x0, 0x0)
os/file.go:326 +0x70 fp=0x117d2cc sp=0x117d2ac pc=0x1b0214
os.Open(...)
os/file.go:306
os.ReadFile({0x825c60, 0xf})
os/file.go:675 +0x70 fp=0x117d324 sp=0x117d2cc pc=0x1b05d8
io/ioutil.ReadFile(...)
io/ioutil/ioutil.go:37
golang.org/x/sys/cpu.readHWCAP()
golang.org/x/sys@v0.5.0/cpu/hwcap_linux.go:27 +0x4c fp=0x117d354 sp=0x117d324 pc=0x5a5f68
golang.org/x/sys/cpu.archInit(...)
golang.org/x/sys@v0.5.0/cpu/cpu_linux.go:11
golang.org/x/sys/cpu.init.0()
golang.org/x/sys@v0.5.0/cpu/cpu.go:199 +0x3c fp=0x117d360 sp=0x117d354 pc=0x5a56dc
runtime.doInit(0xcf3e80)
runtime/proc.go:6506 +0x1a8 fp=0x117d480 sp=0x117d360 pc=0x6fd24
runtime.doInit(0xcf9220)
runtime/proc.go:6483 +0x98 fp=0x117d5a0 sp=0x117d480 pc=0x6fc14
runtime.doInit(0xcf3e00)
runtime/proc.go:6483 +0x98 fp=0x117d6c0 sp=0x117d5a0 pc=0x6fc14
runtime.doInit(0xcf3050)
runtime/proc.go:6483 +0x98 fp=0x117d7e0 sp=0x117d6c0 pc=0x6fc14
runtime.doInit(0xcf7680)
runtime/proc.go:6483 +0x98 fp=0x117d900 sp=0x117d7e0 pc=0x6fc14
runtime.doInit(0xcf4a80)
runtime/proc.go:6483 +0x98 fp=0x117da20 sp=0x117d900 pc=0x6fc14
runtime.doInit(0xcf8ae0)
runtime/proc.go:6483 +0x98 fp=0x117db40 sp=0x117da20 pc=0x6fc14
runtime.doInit(0xcf7b60)
runtime/proc.go:6483 +0x98 fp=0x117dc60 sp=0x117db40 pc=0x6fc14
runtime.doInit(0xcf8a40)
runtime/proc.go:6483 +0x98 fp=0x117dd80 sp=0x117dc60 pc=0x6fc14
runtime.doInit(0xcf8900)
runtime/proc.go:6483 +0x98 fp=0x117dea0 sp=0x117dd80 pc=0x6fc14
runtime.doInit(0xcf22f0)
runtime/proc.go:6483 +0x98 fp=0x117dfc0 sp=0x117dea0 pc=0x6fc14
runtime.main()
runtime/proc.go:233 +0x250 fp=0x117dfec sp=0x117dfc0 pc=0x5da18
runtime.goexit()
runtime/asm_mipsx.s:617 +0x4 fp=0x117dfec sp=0x117dfec pc=0xa1810

goroutine 2 [force gc (idle)]:
runtime.gopark(0x900de4, 0xd483d8, 0x11, 0x14, 0x1)
runtime/proc.go:381 +0x124 fp=0x102afd8 sp=0x102afcc pc=0x5e030
runtime.goparkunlock(...)
runtime/proc.go:387
runtime.forcegchelper()
runtime/proc.go:305 +0x120 fp=0x102afec sp=0x102afd8 pc=0x5de10
runtime.goexit()
runtime/asm_mipsx.s:617 +0x4 fp=0x102afec sp=0x102afec pc=0xa1810
created by runtime.init.5
runtime/proc.go:293 +0x44

goroutine 3 [GC sweep wait]:
runtime.gopark(0x900de4, 0xd48c20, 0xc, 0x14, 0x1)
runtime/proc.go:381 +0x124 fp=0x102b7c8 sp=0x102b7bc pc=0x5e030
runtime.goparkunlock(...)
runtime/proc.go:387
runtime.bgsweep(0x1040000)
runtime/mgcsweep.go:278 +0xdc fp=0x102b7e4 sp=0x102b7c8 pc=0x404d0
runtime.gcenable.func1()
runtime/mgc.go:178 +0x64 fp=0x102b7ec sp=0x102b7e4 pc=0x2e0d0
runtime.goexit()
runtime/asm_mipsx.s:617 +0x4 fp=0x102b7ec sp=0x102b7ec pc=0xa1810
created by runtime.gcenable
runtime/mgc.go:178 +0xb4

goroutine 4 [GC scavenge wait]:
runtime.gopark(0x900de4, 0xd48f60, 0xd, 0x14, 0x2)
runtime/proc.go:381 +0x124 fp=0x102bfbc sp=0x102bfb0 pc=0x5e030
runtime.goparkunlock(...)
runtime/proc.go:387
runtime.(*scavengerState).park(0xd48f60)
runtime/mgcscavenge.go:400 +0x94 fp=0x102bfd0 sp=0x102bfbc pc=0x3d008
runtime.bgscavenge(0x1040000)
runtime/mgcscavenge.go:628 +0x74 fp=0x102bfe4 sp=0x102bfd0 pc=0x3da08
runtime.gcenable.func2()
runtime/mgc.go:179 +0x64 fp=0x102bfec sp=0x102bfe4 pc=0x2e05c
runtime.goexit()
runtime/asm_mipsx.s:617 +0x4 fp=0x102bfec sp=0x102bfec pc=0xa1810
created by runtime.gcenable
runtime/mgc.go:179 +0x114

goroutine 5 [finalizer wait]:
runtime.gopark(0x900d1c, 0xd5a9c4, 0x10, 0x14, 0x1)
runtime/proc.go:381 +0x124 fp=0x102a794 sp=0x102a788 pc=0x5e030
runtime.runfinq()
runtime/mfinal.go:193 +0x154 fp=0x102a7ec sp=0x102a794 pc=0x2ccc0
runtime.goexit()
runtime/asm_mipsx.s:617 +0x4 fp=0x102a7ec sp=0x102a7ec pc=0xa1810
created by runtime.createfing
runtime/mfinal.go:163 +0x98

<!-- gh-comment-id:1982864927 --> @jmlcx commented on GitHub (Mar 7, 2024): 运行出错信息如下: root@unknown:/mnt/sda1/frp_0.49.0_linux_mipsle# frpc runtime: epollcreate failed with 89 fatal error: runtime: netpollinit failed goroutine 1 [running, locked to thread]: runtime.throw({0x82f08b, 0x1b}) runtime/panic.go:1047 +0x54 fp=0x117d1b4 sp=0x117d1a0 pc=0x59b98 runtime.netpollinit() runtime/netpoll_epoll.go:28 +0x290 fp=0x117d204 sp=0x117d1b4 pc=0x54568 runtime.netpollGenericInit() runtime/netpoll.go:197 +0x88 fp=0x117d20c sp=0x117d204 pc=0x53630 internal/poll.runtime_pollServerInit() runtime/netpoll.go:189 +0x38 fp=0x117d210 sp=0x117d20c pc=0x9b1dc sync.(*Once).doSlow(0xd5aca8, 0x900940) sync/once.go:74 +0x114 fp=0x117d238 sp=0x117d210 pc=0xacdf8 sync.(*Once).Do(...) sync/once.go:65 internal/poll.(*pollDesc).init(0x1266894, 0x1266880) internal/poll/fd_poll_runtime.go:39 +0x6c fp=0x117d248 sp=0x117d238 pc=0x1a2908 internal/poll.(*FD).Init(0x1266880, {0x81aaa4, 0x4}, 0x1) internal/poll/fd_unix.go:63 +0xc0 fp=0x117d25c sp=0x117d248 pc=0x1a3b28 os.newFile(0x3, {0x825c60, 0xf}, 0x1) os/file_unix.go:190 +0x20c fp=0x117d280 sp=0x117d25c pc=0x1b2554 os.openFileNolog({0x825c60, 0xf}, 0x0, 0x0) os/file_unix.go:250 +0x1f8 fp=0x117d2ac sp=0x117d280 pc=0x1b2808 os.OpenFile({0x825c60, 0xf}, 0x0, 0x0) os/file.go:326 +0x70 fp=0x117d2cc sp=0x117d2ac pc=0x1b0214 os.Open(...) os/file.go:306 os.ReadFile({0x825c60, 0xf}) os/file.go:675 +0x70 fp=0x117d324 sp=0x117d2cc pc=0x1b05d8 io/ioutil.ReadFile(...) io/ioutil/ioutil.go:37 golang.org/x/sys/cpu.readHWCAP() golang.org/x/sys@v0.5.0/cpu/hwcap_linux.go:27 +0x4c fp=0x117d354 sp=0x117d324 pc=0x5a5f68 golang.org/x/sys/cpu.archInit(...) golang.org/x/sys@v0.5.0/cpu/cpu_linux.go:11 golang.org/x/sys/cpu.init.0() golang.org/x/sys@v0.5.0/cpu/cpu.go:199 +0x3c fp=0x117d360 sp=0x117d354 pc=0x5a56dc runtime.doInit(0xcf3e80) runtime/proc.go:6506 +0x1a8 fp=0x117d480 sp=0x117d360 pc=0x6fd24 runtime.doInit(0xcf9220) runtime/proc.go:6483 +0x98 fp=0x117d5a0 sp=0x117d480 pc=0x6fc14 runtime.doInit(0xcf3e00) runtime/proc.go:6483 +0x98 fp=0x117d6c0 sp=0x117d5a0 pc=0x6fc14 runtime.doInit(0xcf3050) runtime/proc.go:6483 +0x98 fp=0x117d7e0 sp=0x117d6c0 pc=0x6fc14 runtime.doInit(0xcf7680) runtime/proc.go:6483 +0x98 fp=0x117d900 sp=0x117d7e0 pc=0x6fc14 runtime.doInit(0xcf4a80) runtime/proc.go:6483 +0x98 fp=0x117da20 sp=0x117d900 pc=0x6fc14 runtime.doInit(0xcf8ae0) runtime/proc.go:6483 +0x98 fp=0x117db40 sp=0x117da20 pc=0x6fc14 runtime.doInit(0xcf7b60) runtime/proc.go:6483 +0x98 fp=0x117dc60 sp=0x117db40 pc=0x6fc14 runtime.doInit(0xcf8a40) runtime/proc.go:6483 +0x98 fp=0x117dd80 sp=0x117dc60 pc=0x6fc14 runtime.doInit(0xcf8900) runtime/proc.go:6483 +0x98 fp=0x117dea0 sp=0x117dd80 pc=0x6fc14 runtime.doInit(0xcf22f0) runtime/proc.go:6483 +0x98 fp=0x117dfc0 sp=0x117dea0 pc=0x6fc14 runtime.main() runtime/proc.go:233 +0x250 fp=0x117dfec sp=0x117dfc0 pc=0x5da18 runtime.goexit() runtime/asm_mipsx.s:617 +0x4 fp=0x117dfec sp=0x117dfec pc=0xa1810 goroutine 2 [force gc (idle)]: runtime.gopark(0x900de4, 0xd483d8, 0x11, 0x14, 0x1) runtime/proc.go:381 +0x124 fp=0x102afd8 sp=0x102afcc pc=0x5e030 runtime.goparkunlock(...) runtime/proc.go:387 runtime.forcegchelper() runtime/proc.go:305 +0x120 fp=0x102afec sp=0x102afd8 pc=0x5de10 runtime.goexit() runtime/asm_mipsx.s:617 +0x4 fp=0x102afec sp=0x102afec pc=0xa1810 created by runtime.init.5 runtime/proc.go:293 +0x44 goroutine 3 [GC sweep wait]: runtime.gopark(0x900de4, 0xd48c20, 0xc, 0x14, 0x1) runtime/proc.go:381 +0x124 fp=0x102b7c8 sp=0x102b7bc pc=0x5e030 runtime.goparkunlock(...) runtime/proc.go:387 runtime.bgsweep(0x1040000) runtime/mgcsweep.go:278 +0xdc fp=0x102b7e4 sp=0x102b7c8 pc=0x404d0 runtime.gcenable.func1() runtime/mgc.go:178 +0x64 fp=0x102b7ec sp=0x102b7e4 pc=0x2e0d0 runtime.goexit() runtime/asm_mipsx.s:617 +0x4 fp=0x102b7ec sp=0x102b7ec pc=0xa1810 created by runtime.gcenable runtime/mgc.go:178 +0xb4 goroutine 4 [GC scavenge wait]: runtime.gopark(0x900de4, 0xd48f60, 0xd, 0x14, 0x2) runtime/proc.go:381 +0x124 fp=0x102bfbc sp=0x102bfb0 pc=0x5e030 runtime.goparkunlock(...) runtime/proc.go:387 runtime.(*scavengerState).park(0xd48f60) runtime/mgcscavenge.go:400 +0x94 fp=0x102bfd0 sp=0x102bfbc pc=0x3d008 runtime.bgscavenge(0x1040000) runtime/mgcscavenge.go:628 +0x74 fp=0x102bfe4 sp=0x102bfd0 pc=0x3da08 runtime.gcenable.func2() runtime/mgc.go:179 +0x64 fp=0x102bfec sp=0x102bfe4 pc=0x2e05c runtime.goexit() runtime/asm_mipsx.s:617 +0x4 fp=0x102bfec sp=0x102bfec pc=0xa1810 created by runtime.gcenable runtime/mgc.go:179 +0x114 goroutine 5 [finalizer wait]: runtime.gopark(0x900d1c, 0xd5a9c4, 0x10, 0x14, 0x1) runtime/proc.go:381 +0x124 fp=0x102a794 sp=0x102a788 pc=0x5e030 runtime.runfinq() runtime/mfinal.go:193 +0x154 fp=0x102a7ec sp=0x102a794 pc=0x2ccc0 runtime.goexit() runtime/asm_mipsx.s:617 +0x4 fp=0x102a7ec sp=0x102a7ec pc=0xa1810 created by runtime.createfing runtime/mfinal.go:163 +0x98
Author
Owner

@fatedier commented on GitHub (Mar 7, 2024):

大概率是新版本中 Go 不支持了,你可以考虑使用 Go1.18 去编译旧版本的源码试试看,也不一定能行了。

<!-- gh-comment-id:1982900698 --> @fatedier commented on GitHub (Mar 7, 2024): 大概率是新版本中 Go 不支持了,你可以考虑使用 Go1.18 去编译旧版本的源码试试看,也不一定能行了。
Author
Owner

@jmlcx commented on GitHub (Mar 7, 2024):

大概率是新版本中 Go 不支持了,你可以考虑使用 Go1.18 去编译旧版本的源码试试看,也不一定能行了。

好的,谢谢,我试试,请问0.49是用哪个Go版本了。

<!-- gh-comment-id:1982935568 --> @jmlcx commented on GitHub (Mar 7, 2024): > 大概率是新版本中 Go 不支持了,你可以考虑使用 Go1.18 去编译旧版本的源码试试看,也不一定能行了。 好的,谢谢,我试试,请问0.49是用哪个Go版本了。
Author
Owner

@fatedier commented on GitHub (Mar 7, 2024):

1.20

<!-- gh-comment-id:1982940964 --> @fatedier commented on GitHub (Mar 7, 2024): 1.20
Author
Owner

@jmlcx commented on GitHub (Mar 12, 2024):

还是失败了,提示需要Go 1.19,但用1.19编译成功出来,又是上面的错误。

root@ubuntu:/home/lcx/frp-0.49.0# make
go fmt ./...
env CGO_ENABLED=0 go build -trimpath -ldflags "-s -w" -o bin/frps ./cmd/frps

github.com/quic-go/quic-go/internal/qtls

/root/go/pkg/mod/github.com/quic-go/quic-go@v0.34.0/internal/qtls/go_oldversion.go:5:13: cannot use "The version of quic-go you're using can't be built using outdated Go versions. For more details, please see https://github.com/quic-go/quic-go/wiki/quic-go-and-Go-versions." (untyped string constant "The version of quic-go you're using can't be built using outdated Go...) as int value in variable declaration
note: module requires Go 1.19
Makefile:29: recipe for target 'frps' failed
make: *** [frps] Error 2
root@ubuntu:/home/lcx/frp-0.49.0#

<!-- gh-comment-id:1989738347 --> @jmlcx commented on GitHub (Mar 12, 2024): 还是失败了,提示需要Go 1.19,但用1.19编译成功出来,又是上面的错误。 root@ubuntu:/home/lcx/frp-0.49.0# make go fmt ./... env CGO_ENABLED=0 go build -trimpath -ldflags "-s -w" -o bin/frps ./cmd/frps # github.com/quic-go/quic-go/internal/qtls /root/go/pkg/mod/github.com/quic-go/quic-go@v0.34.0/internal/qtls/go_oldversion.go:5:13: cannot use "The version of quic-go you're using can't be built using outdated Go versions. For more details, please see https://github.com/quic-go/quic-go/wiki/quic-go-and-Go-versions." (untyped string constant "The version of quic-go you're using can't be built using outdated Go...) as int value in variable declaration note: module requires Go 1.19 Makefile:29: recipe for target 'frps' failed make: *** [frps] Error 2 root@ubuntu:/home/lcx/frp-0.49.0#
Author
Owner

@fatedier commented on GitHub (Mar 12, 2024):

那就别折腾了吧,Go 会逐渐放弃对旧系统的支持,旧系统的兼容会增加很大的维护负担和成本,所以也可以理解。

frp 始终会用最新的 Go 版本(或者兼容最近两个版本)来编译,所以同样随着版本的更新也会逐渐不再支持旧的系统。

如果你自己有能力修改的话,也可以尝试移除掉你不需要的代码,仍然使用旧版本的 Go 编译,但是并不推荐,耗费精力,收益也不高。

<!-- gh-comment-id:1989879068 --> @fatedier commented on GitHub (Mar 12, 2024): 那就别折腾了吧,Go 会逐渐放弃对旧系统的支持,旧系统的兼容会增加很大的维护负担和成本,所以也可以理解。 frp 始终会用最新的 Go 版本(或者兼容最近两个版本)来编译,所以同样随着版本的更新也会逐渐不再支持旧的系统。 如果你自己有能力修改的话,也可以尝试移除掉你不需要的代码,仍然使用旧版本的 Go 编译,但是并不推荐,耗费精力,收益也不高。
Author
Owner

@jmlcx commented on GitHub (Mar 12, 2024):

那就别折腾了吧,Go 会逐渐放弃对旧系统的支持,旧系统的兼容会增加很大的维护负担和成本,所以也可以理解。

frp 始终会用最新的 Go 版本(或者兼容最近两个版本)来编译,所以同样随着版本的更新也会逐渐不再支持旧的系统。

如果你自己有能力修改的话,也可以尝试移除掉你不需要的代码,仍然使用旧版本的 Go 编译,但是并不推荐,耗费精力,收益也不高。

好的,不折腾了,谢谢了!

<!-- gh-comment-id:1989887288 --> @jmlcx commented on GitHub (Mar 12, 2024): > 那就别折腾了吧,Go 会逐渐放弃对旧系统的支持,旧系统的兼容会增加很大的维护负担和成本,所以也可以理解。 > > frp 始终会用最新的 Go 版本(或者兼容最近两个版本)来编译,所以同样随着版本的更新也会逐渐不再支持旧的系统。 > > 如果你自己有能力修改的话,也可以尝试移除掉你不需要的代码,仍然使用旧版本的 Go 编译,但是并不推荐,耗费精力,收益也不高。 好的,不折腾了,谢谢了!
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/frp#3203
No description provided.