v2ray / v2ray-core

A platform for building proxies to bypass network restrictions.
https://www.v2ray.com/
MIT License
45.28k stars 8.94k forks source link

华硕AC66U路由器mipsle无法运行 #396

Closed zhaibin18 closed 7 years ago

zhaibin18 commented 7 years ago

1) 你正在使用哪个版本的 V2Ray? V2Ray v2.19 (One for all) 20170217

2) 你的使用场景是什么? 在华硕AC66U路由器上使用v2ray客户端,固件为梅林固件。 https://github.com/RMerl/asuswrt-merlin

3) 你看到的不正常的现象是什么? v2ray不能正常启动 4) 你期待看到的正确表现是怎样的? v2ray能正常启动

5) 请附上你的配置文件(提交 Issue 前请隐藏服务器端IP地址)。 { "log": { "loglevel": "debug", "error": "/jffs/tmp/v2.log" }, "inbound": { "port": 61080, "listen": "192.168.10.1", "protocol": "socks", "settings": { "auth": "noauth", "udp": false, "ip": "192.168.10.1" } }, "outbound": { "protocol": "vmess", "settings": { "vnext": [ { "address": "v2ray.cool", "port": 10086, "users": [ { "id": "23ad6b10-8d1a-40f7-8ad0-e3e35cd38297", "alterId": 64, "security": "auto" } ] } ] } }, ...其他忽略

6) 请附上出错时软件输出的日志。 admin@RT-AC66U-1020:/jffs/bin# ./v2ray -config vpoint_socks_vmess.json V2Ray v2.19 (One for all) 20170217 An unified platform for anti-censorship. 2017/02/17 20:54:41 [Debug]Proxyman|DefaultInboundHandler: creating tcp worker on 192.168.10.1:61080 V2Ray: Failed to start. Internet|TCPHub: Failed to listen on address: 192.168.10.1:61080 > listen tcp 192.168.10.1:61080: errno -9

v2ray commented 7 years ago

Linux 内核版本?

这个 issue https://github.com/xtaci/kcptun/issues/57 说 Merlin 用的是 2.x 版本,可能已经不被 Golang 支持了。

ToutyRater commented 7 years ago

我来插句话。 根据 https://golang.org/doc/go1.8#ports 的说明:

Go now supports 32-bit MIPS on Linux for both big-endian (linux/mips) and little-endian machines (linux/mipsle) that implement the MIPS32r1 instruction set with FPU or kernel FPU emulation. Note that many common MIPS-based routers lack an FPU and have firmware that doesn't enable kernel FPU emulation; Go won't run on such machines.

在 32 位 MIPS 架构的设备上,只有具备 FPU 或者启用了 FPU 模拟器的才能正常运行。 所以我认为这问题在于你这个华硕路由器可能是没有 FPU 的(我查资料发现 AC66U 有好几种,而且我不确定是否没有 FPU),建议你询问华硕官方确定有没有硬件 FPU,如果没有你得找一个内核开启了 FPU 模拟器的固件。

@v2ray 给出的链接我认为参考价值不大,原因在于: 那个 issue 是去年 7 月的,当时 Go 1.8 Beta 还没有,而目前 V2Ray v2.19 是使用 Go 1.8 编译的,没有足够的证据表明无法运行是由于内核版本引起的。不过要是真无法解决试试换个新内核版本的固件也未尝不可。

zhaibin18 commented 7 years ago

内核版本: admin@RT-AC66U-1020:/tmp/home/root# uname -a Linux RT-AC66U-1020 2.6.22.19 #2 Fri Dec 16 20:54:15 EST 2016 mips GNU/Linux admin@RT-AC66U-1020:/tmp/home/root# 应该是支持FPU的: admin@RT-AC66U-1020:/tmp/home/root# dmesg |grep FPU Algorithmics/MIPS FPU Emulator v1.5 admin@RT-AC66U-1020:/tmp/home/root# 另外AC66U除了梅林还能刷那些固件?

v2ray commented 7 years ago

Golang 支持的最低版本是 2.6.23,所以在.22上出错也正常。