pumpitupdev / pumptools

A collection of tools to run Pump It Up games.
The Unlicense
22 stars 7 forks source link

NX2 randomly activating service menu and cleaning coins #27

Open voidderef opened 3 years ago

voidderef commented 3 years ago

In GitLab by @renansimoes on Mar 23, 2021, 19:41

I don't know why it happens, but NX2 is randomly activating service menu and cleaning coins at the same time. There's no way I can reproduce it, it is really random, like: service menu, play 2~3 minutes, service menu, play 14 minutes, service menu, play 20 minutes, service menu, play 4 minutes, service menu, and so on...

This was happening with pumptools 1.07, I updated to 1.09 and it's still happening, and only in NX2.

I'm using a PS/2 keyboard, Linux Mint (gotta check the version and then I'll update here)

voidderef commented 3 years ago

In GitLab by @icex2 on Mar 23, 2021, 19:51

Thanks for reporting. Can you try the same configuration with keyboard etc on another version that is not one of the MK3 ports, e.g. NX?

Also, providing logs (pumptools.log and piueb.log) etc. might help as well.

voidderef commented 3 years ago

In GitLab by @renansimoes on Mar 23, 2021, 20:13

PC I'm running:

System: Kernel: 5.4.0-52-generic x86_64 bits: 64 compiler: gcc v: 9.3.0 Desktop: Cinnamon 4.6.7 wm: muffin dm: LightDM Distro: Linux Mint 20 Ulyana base: Ubuntu 20.04 focal

Machine: Type: Desktop Mobo: Gigabyte model: Z370 AORUS Gaming 3 v: x.x serial: UEFI [Legacy]: American Megatrends v: F12 date: 03/13/2019

CPU: Topology: 6-Core model: Intel Core i7-8700 bits: 64 type: MT MCP arch: Kaby Lake rev: A L2 cache: 12.0 MiB flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 76799 Speed: 4400 MHz min/max: 800/4600 MHz Core speeds (MHz): 1: 4343 2: 4317 3: 4300 4: 4301 5: 4341 6: 4285 7: 4303 8: 4300 9: 4323 10: 4306 11: 4304 12: 4354

Graphics: Device-1: NVIDIA GP106 [GeForce GTX 1060 6GB] vendor: Gigabyte driver: nvidia v: 450.80.02 bus ID: 01:00.0 chip ID: 10de:1c03 Display: x11 server: X.Org 1.20.8 driver: nvidia unloaded: fbdev,modesetting,nouveau,vesa resolution: 1440x900~60Hz OpenGL: renderer: GeForce GTX 1060 6GB/PCIe/SSE2 v: 4.6.0 NVIDIA 450.80.02 direct render: Yes

Audio: Device-1: Intel 200 Series PCH HD Audio vendor: Gigabyte driver: snd_hda_intel v: kernel bus ID: 00:1f.3 chip ID: 8086:a2f0 Device-2: NVIDIA GP106 High Definition Audio vendor: Gigabyte driver: snd_hda_intel v: kernel bus ID: 01:00.1 chip ID: 10de:10f1 Device-3: C-Media CM108 Audio Controller type: USB driver: hid-generic,snd-usb-audio,usbhid bus ID: 5-1.1:3 chip ID: 0d8c:013c Sound Server: ALSA v: k5.4.0-52-generic

Network: Device-1: Qualcomm Atheros Killer E2500 Gigabit Ethernet vendor: Gigabyte driver: alx v: kernel port: d000 bus ID: 06:00.0 chip ID: 1969:e0b1 IF: enp6s0 state: up speed: 1000 Mbps duplex: full mac: Device-2: Microsoft Xbox 360 Wireless Adapter type: USB driver: xpad bus ID: 1-4:2 chip ID: 045e:0719

Drives: Local Storage: total: 3.64 TiB used: 945.96 GiB (25.4%) ID-1: /dev/sda vendor: Western Digital model: WDS500G2B0B-00YS70 size: 465.76 GiB speed: 6.0 Gb/s serial: ID-2: /dev/sdb vendor: Seagate model: ST2000DM006-2DM164 size: 1.82 TiB speed: 6.0 Gb/s serial: ID-3: /dev/sdc vendor: Samsung model: HD502IJ size: 465.76 GiB speed: 3.0 Gb/s serial: ID-4: /dev/sdd type: USB vendor: Samsung model: M3 Portable size: 931.50 GiB serial:

Partition: ID-1: / size: 457.45 GiB used: 56.89 GiB (12.4%) fs: ext4 dev: /dev/sdc1 USB: Hub: 1-0:1 info: Full speed (or root) Hub ports: 16 rev: 2.0 chip ID: 1d6b:0002 Device-1: 1-4:2 info: Microsoft Xbox 360 Wireless Adapter type: driver: xpad rev: 2.0 chip ID: 045e:0719 Device-2: 1-5:3 info: Samsung M3 Portable Hard Drive 1TB type: Mass Storage driver: usb-storage rev: 2.1 chip ID: 04e8:61b6 Device-3: 1-7:4 info: Initio ASUS SBW-06D2X-U type: Mass Storage driver: usb-storage rev: 2.0 chip ID: 13fd:0940 Device-4: 1-10:5 info: Sunplus Innovation Optical Mouse type: Mouse driver: hid-generic,usbhid rev: 2.0 chip ID: 1bcf:0005 Hub: 2-0:1 info: Full speed (or root) Hub ports: 10 rev: 3.0 chip ID: 1d6b:0003 Hub: 3-0:1 info: Full speed (or root) Hub ports: 2 rev: 2.0 chip ID: 1d6b:0002 Hub: 4-0:1 info: Full speed (or root) Hub ports: 2 rev: 3.1 chip ID: 1d6b:0003 Hub: 5-0:1 info: Full speed (or root) Hub ports: 1 rev: 2.0 chip ID: 1d6b:0002 Hub: 5-1:2 info: VIA Labs Hub ports: 4 rev: 2.1 chip ID: 2109:3431 Device-5: 5-1.1:3 info: C-Media CM108 Audio Controller type: Audio,HID driver: hid-generic,snd-usb-audio,usbhid rev: 1.1 chip ID: 0d8c:013c Hub: 6-0:1 info: Full speed (or root) Hub ports: 4 rev: 3.0 chip ID: 1d6b:0003

Sensors: System Temperatures: cpu: 43.0 C mobo: N/A gpu: nvidia temp: 48 C Fan Speeds (RPM): N/A gpu: nvidia fan: 0%

Repos: No active apt repos in: /etc/apt/sources.list Active apt repos in: /etc/apt/sources.list.d/official-package-repositories.list 1: deb http: //packages.linuxmint.com ulyana main upstream import backport #id:linuxmint_main 2: deb http: //archive.ubuntu.com/ubuntu focal main restricted universe multiverse 3: deb http: //archive.ubuntu.com/ubuntu focal-updates main restricted universe multiverse 4: deb http: //archive.ubuntu.com/ubuntu focal-backports main restricted universe multiverse 5: deb http: //security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse 6: deb http: //archive.canonical.com/ubuntu/ focal partner

Info: Processes: 277 Uptime: 7m Memory: 15.58 GiB used: 1.16 GiB (7.5%) Init: systemd v: 245 runlevel: 5 Compilers: gcc: 9.3.0 alt: 9 Client: Unknown python3.8 client inxi: 3.0.38

voidderef commented 3 years ago

In GitLab by @renansimoes on Mar 23, 2021, 20:16

NX2 logs from yesterday

piueb.log

pumptools.log [LINK REDACTED] (contains sensitive user information)

voidderef commented 3 years ago

In GitLab by @icex2 on Mar 23, 2021, 20:40

Thanks for the logs.

No idea if that is related to the issue but that looks odd as it appears quite often in the log. Apparently, this happens you are on the operator menu screen:

[M][2021/3/22-18:47:50:454][sec-microdog40][microdog40.c:326] SEC_MICRODOG40_REQ_OPCODE_CONVERT
[W][2021/3/22-18:47:50:454][sec-microdog40][microdog40.c:259] Converting request 27 C4 D0 CB 1C BD 58 BE 99 4B 36 D3 ED C5 25 50  failed, no matching response found
[M][2021/3/22-18:47:50:454][sec-microdog40][microdog40.c:424] Encrypting response...
[M][2021/3/22-18:47:50:454][sec-microdog40][microdog40.c:432] Transaction successful

Not sure why this request fails but the game seems to be fine with that.

Awaiting further feedback regarding NX to have another data point.

voidderef commented 3 years ago

In GitLab by @renansimoes on Mar 23, 2021, 20:58

NX1, five straight coins

pumptools.log piueb.log

voidderef commented 3 years ago

In GitLab by @icex2 on Mar 23, 2021, 21:12

Did you have the same issue as your reported on NX2?

voidderef commented 3 years ago

In GitLab by @icex2 on Mar 23, 2021, 21:14

I can see that the two games were set-up in different ways. Your NX2 setup is using lib-local while NX is using lib-ld. You should prefer lib-local over lib-ld if that works. Can you run NX2 with lib-ld and NX with lib-local and report back with log files again?

voidderef commented 3 years ago

In GitLab by @icex2 on Mar 23, 2021, 21:33

Note to myself: Depending on what I can derive from further feedback, one of the next steps would be to low-level monitor data returned to the hooked call of usb_control_msg in usbhook. Adding some code that gets executed when the control in transfer is executed + some hacky evaluation of the data to check if service or coin clear are pressed and log that. Expecting that this might tell us if something inside pumptools is causing that.

voidderef commented 3 years ago

In GitLab by @renansimoes on Mar 24, 2021, 04:29

NX1 didn't have the same issue, as I said, I played 5 non-stop coins. About lib-local and lib-ld, I'll do it tomorrow.

voidderef commented 3 years ago

In GitLab by @hiryu69 on Mar 24, 2021, 19:49

i have the same issue with nx2, and yes is only with the keyboard, with the piuio works fine.

voidderef commented 3 years ago

In GitLab by @renansimoes on Mar 24, 2021, 20:21

NX1 with lib-local

piueb.log nx1_terminal

voidderef commented 3 years ago

In GitLab by @renansimoes on Mar 24, 2021, 20:23

NX2 with lib-ld nx2_terminal piueb.log

voidderef commented 3 years ago

In GitLab by @renansimoes on Mar 24, 2021, 20:25

I remember I extracted lib-local in NX2, and then lib-ld and overwrote it. After that I had to verify and delete every .so that was stopping the game to work.

voidderef commented 3 years ago

In GitLab by @icex2 on Mar 28, 2021, 22:12

Well, another indicator that the piuio subsystem in pumptools might have some issues since you don't use that with a real piuio. Thanks for the additional input.

voidderef commented 3 years ago

In GitLab by @icex2 on Mar 28, 2021, 22:23

Thanks for updates and logs.

I just pushed a new version of pumptools that fixed a bunch of other things related to pumptool's piuio subsystem. The symptoms you are describing might have been side effects of the fixed issues.

Can you download 1.10 and test NX2 again in the same setup when it errored before and let me know if that is still an issue?

voidderef commented 3 years ago

In GitLab by @renansimoes on Mar 29, 2021, 24:24

Now it's asking for libGL.so which I don't have.

[W][2021/3/28-19:23:38:280][hook-lib][lib.c:51] Failed to open library libGL.so: libGL.so: cannot open shared object file: No such file or directory Segmentation fault (core dumped)

voidderef commented 3 years ago

In GitLab by @icex2 on Mar 30, 2021, 19:35

That seems to be part of a new feature I added. Apparently, the implementation is not compatible on all platforms which is odd. According to your previous logs, you have that installed:

[M][2021/03/23-16:16:33:545] ldd output for /home/piupc/Desktop/piu/18_nx/piu:\n    linux-gate.so.1 (0xf7f2a000)
    librt.so.1 => /home/piupc/Desktop/piu/18_nx/lib/librt.so.1 (0xf7f1b000)
    liblua50.so.5.0 => /home/piupc/Desktop/piu/18_nx/lib/liblua50.so.5.0 (0xf7f01000)
    liblualib50.so.5.0 => /home/piupc/Desktop/piu/18_nx/lib/liblualib50.so.5.0 (0xf7eed000)
    libGL.so.1 => /usr/lib/i386-linux-gnu/libGL.so.1 (0xf7e66000)
    libGLU.so.1 => /home/piupc/Desktop/piu/18_nx/lib/libGLU.so.1 (0xf7dd9000)
...

-> libGL.so.1 => /usr/lib/i386-linux-gnu/libGL.so.1 (0xf7e66000)

Maybe the additional i386-linux-gnu in the path is causing issues. Can you test with this piueb script and tell me if that changes anything?

voidderef commented 3 years ago

In GitLab by @hiryu69 on Mar 30, 2021, 20:45

the same problem, pumptools 1.10 cant open LibGL.so, i tried with the piueb script and the same error

voidderef commented 3 years ago

In GitLab by @renansimoes on Mar 30, 2021, 21:26

Same problem

piueb.log nx2_terminal

voidderef commented 3 years ago

In GitLab by @icex2 on Mar 31, 2021, 21:37

Apparently, that problem is a bit trickier and requires more effort. Please try this nx2hook.so and let me know if that works. I have removed the scaling feature which needs to load the libGL.so file. Therefore, the above error should be gone.

voidderef commented 3 years ago

In GitLab by @icex2 on Mar 31, 2021, 21:39

mentioned in commit 26edf1107fa86718858eb58870f56b8785432d35

voidderef commented 3 years ago

In GitLab by @renansimoes on Mar 31, 2021, 23:50

The game is working now, but it isn't loading usb profile. This is a problem I partially had before: both usb ports are configured to my 2 front usb ports, the P1 port reads (used to read now) the piu profile, but P2 don't.

piueb.log pumptools.log

voidderef commented 3 years ago

In GitLab by @renansimoes on Apr 1, 2021, 24:49

And about the error of this thread, I played 10 coins with no random access to service menu =D

piueb.log

pumptools.log

voidderef commented 3 years ago

In GitLab by @icex2 on Apr 1, 2021, 18:55

Awesome, thanks for the quick feedback. I will pushing out another release later with the working hotfix.

I will consider this fixed. Therefore, closing the issue. If that happens again in the future, better re-open a new issue to have proper focus and keep the timelines independent.

voidderef commented 3 years ago

In GitLab by @icex2 on Apr 1, 2021, 18:58

The game is working now, but it isn't loading usb profile. This is a problem I partially had before: both usb ports are configured to my 2 front usb ports, the P1 port reads (used to read now) the piu profile, but P2 don't.

A new problem we should address separately. Do you mind opening another issue for that? Just in case, using the nx2hook.so I provided, please do a clean re-start/run of the game and provide log files again in the new issue.

voidderef commented 3 years ago

In GitLab by @renansimoes on Apr 4, 2021, 24:19

It happened again, after 6 coins

piueb.log

pumptools.log

voidderef commented 3 years ago

In GitLab by @icex2 on Apr 5, 2021, 12:21

Well, that sucks. I could not reproduce this on my setups so far which makes this a lot more difficult and time consuming to even figure out why this is happening. I have to come up with an idea how we can debug this properly in a remote setup.

Actually, one more thing that you can try meanwhile: I see that you have used the keyboard hook only so far. Do you any kind of game controller that works under Linux? If yes, please take the joystick hook implementation instead of the keyboard one, test with that one and report back with logs and the result. This would already help further pin pointing the issue.

Some notes for myself:

voidderef commented 3 years ago

In GitLab by @Thalesalex on Apr 17, 2021, 02:27

Hello! Just want to point out that this issue happened to me right now while playing NXA too, here's the log files:
pumptools.log piueb.log

[I][2021/4/16-21:16:53:593][piuio-exit.c][piuio-exit.c:67] Exit on service + test enabled and hit, bye
Also, this line was me, not triggered by the issue

voidderef commented 3 years ago

In GitLab by @icex2 on Apr 18, 2021, 23:35

Thanks for also reporting. Can you please try the following: Take any joystick that works for you under Linux and use the joystick hook implementation instead of the keyboard one. I want to figure out if that is a keyboard only issue.

voidderef commented 3 years ago

In GitLab by @fakaman on May 4, 2021, 06:03

I came here to say that this issue happened to me since the first NX2 PumpTools release, and It happened also for the first time on NXA aswell, but it was only one time. NX2 gave me this issue a few times.

I also play with keyboard, it is totally random.

Sorry, I'm not sure on how to give you logs and stuff since I'm still a noob on linux.

Im using Lubuntu, I do run the games straight from terminal on the folder using the "sudo ./piueb run" command

This issue only happens on NX2 and now NXA. previous mixes don't have any sort of troubles for me.

voidderef commented 3 years ago

In GitLab by @icex2 on May 4, 2021, 17:43

Log files are automatically created next to the piu executable and called pumptools.log and piueb.log.

voidderef commented 1 year ago

Since the code base for managing iobuffers is inspired/copy-pasted from capnhook which is also used in bemanitools, the latest bugfixes to the ezusb IO code including the root-cause analysis are applicable to pumptools as well. The approach is essentially the same for pumptools to fix the "random input misfiring" issues.