LumaTeam / Luma3DS

Nintendo 3DS "Custom Firmware"
GNU General Public License v3.0
5.31k stars 561 forks source link

InputRedirection problems #2071

Open Bitter-hub opened 2 months ago

Bitter-hub commented 2 months ago

System model:

[New 3DS]

SysNAND version (+emu/redNAND version if applicable):

[e.g. 11.17.0-50U SysNAND, 11.17.0-50E EmuNAND]

Entrypoint (How/what you're using to boot Luma3DS):

[e.g. Boot9Strap/Sighax, etc.]

Luma3DS version:

[e.g. v13.1.2 stable or if using non-releases specify the commit like this https://github.com/LumaTeam/Luma3DS/commit/988ec17ebfce513fc4589f7b12e0d6e3894ae542]

Luma3DS configuration/options:

Default EmuNAND: ( )

Screen brightness: ( )

Splash: ( )

Splash duration: ( )

PIN lock: ( )

New 3DS CPU: ( )

Hbmenu autoboot: ( )

--

Autoboot EmuNAND: ( )

Enable loading external FIRMs and modules: ( )

Enable game patching: ( )

Redirect app. syscore threads to core2: ( )

Show NAND or user string in System Settings: (x)

Show GBA boot screen in patched AGB_FIRM: ( )

--

--

Explanation of the issue: After enabling the inputredirection, I lost connection with my PC and cannot control my 3DS (only the ZL, ZR, c-stick, power and home buttons on the new3DS are responsive). I have rebooted, regenerated the luma,comfig folders, but no solution.

Steps to reproduce:

1.enable the inputredirection

2.Disconnect from PC (reboot, shutdown, or anything else not originally intended)

ginoblue commented 1 month ago

我也遇到过类似情况,请使用翻译: old 3dsll

  1. 一开始是正常的,过了大概几分钟或10几分钟,然后手柄输入就没有了,我在3ds中发现ip没有了,于是关闭inputredirct功能后再开启,又可以了,但此过后又不久,很快就会出现手柄输入没反应而且方向下在一直按着的情况,根本没法操作了, 上述情况我尝试更换路由器后好了,但又产生问题2
  2. 一开始是正常的,过了大概20分钟,然后手柄输入没有了除了home键外,这个跟你的情况很相似,此时ip仍然存在,关闭inputredirct功能后再开启后不能解决问题,直至重启3ds机器才能,上述情况我尝试更改3ds的连接,比如使用静态ip,路由器绑定该mac和ip,3ds使用跟电脑端client一样的mtu比如1500。目前暂时没有出现问题了,我建议你试下

关于问题的猜测,在看了代码后,input redirect使用了udp的功能,发送了一些数据,然后在相关处理程序中替换为hack code,home的实现使用的事件机制,而其他按键则靠hack code进行处理,所以会出现home可以而其他不行的问题,问题大概在hack code中产生,但我对此汇编代码不熟悉。理论上停止input redirect后,hack code会被替换回来,当重启input redirect后会跟第一次启动的时候状态一样,但实际上却不是,所以我怀疑可能是hack code代码被破坏等情况