Coder Social home page Coder Social logo

Comments (13)

streetpea avatar streetpea commented on August 26, 2024

I don't believe it's related to #25 as that is an issue when the application itself is starting after the device is found. You're having an issue before it gets to launching the application. Specifically, it seems like the following command is failing for you:

flatpak run re.chiaki.Chiaki4deck discover -h ip_addr

where ip_addr is your PlayStation's ip address. Can you try running that command in your console by itself replacing ip_addr with yours?

from chiaki-ng.

xCISACx avatar xCISACx commented on August 26, 2024

Should I use my local or external IP?
I am currently not home so I'll try with the external.
If it is my local IP, I will try it later on.

EDIT:

I recently got a PS5 so I configured that instead, meaning I can no longer access my PS4 Pro with Chiaki as I get an "RP-version mismatch" when I try so I'll have to get back to you when I'm home to test the PS4 Pro.

I ran the code you gave me with my external IP however and it gave me this:

[I] Discovery failed to bind port 9304, trying one higher
[I] --
[I] Discovered Host:
[I] State:                             ready
[I] System Version:                    06500010
[I] Device Discovery Protocol Version: 00030010
[I] Request Port:                      997
[I] Host Name:                         PS5-877
[I] Host Type:                         PS5
[I] Host ID:                           84E657A1E31B
[I] --

I also ran the script from outside of my home and configured my new PS5 instead of the old PS4 Pro.
It worked first try.

Seems to only be an issue with the PS4 Pro so far which is odd.

from chiaki-ng.

xCISACx avatar xCISACx commented on August 26, 2024

Using the command requested for my external IP from an external network:

[I] Discovery failed to bind port 9304, trying one higher
[E] Discovery request timed out after timeout: 2.0 seconds

From my home network with the local IP it works and says the following:

I] Discovery failed to bind port 9304, trying one higher
[I] --
[I] Discovered Host:
[I] State:                             ready
[I] System Version:                    10010001
[I] Device Discovery Protocol Version: 00020020
[I] Request Port:                      997
[I] Host Name:                         PS4-160
[I] Host Type:                         PS4
[I] Host ID:                           C863F18F5C39
[I] --

I'm not sure why it fails to bind when that port is open.

My PS5 works flawlessly either way so it seems to be an issue exclusive to my PS4 Pro.
I won't be using the PS4 anymore so the issue won't affect me anymore thankfully.
I'm not sure I can help debug why it happens on the PS4 further however.
Let me know if you need more logs or want me to test something.

from chiaki-ng.

streetpea avatar streetpea commented on August 26, 2024

Do you have the gui open? It may be using 9304 which is why you have to go one higher. That’s probably a red herring though as that’s on your Steam Deck.

from chiaki-ng.

xCISACx avatar xCISACx commented on August 26, 2024

Oh, I did have the GUI open while running Konsole so that might be why.
But yeah, it doesn't seem to be related because the PS5 logs say the same and it connects anyway.

from chiaki-ng.

streetpea avatar streetpea commented on August 26, 2024

Hmm so the ps4 and ps5 use different discovery ports, maybe it’s related to that. Can you confirm both of the ports are/were forwarded: 987 udp and 9302 udp?

from chiaki-ng.

Serg86 avatar Serg86 commented on August 26, 2024

I have the problem that the script does not work on my external IP, because discover always times out, I am unable to get any sort of response via my external IP from my PS4 through the script.

I added my PS4 manually in the GUI via external IP, wake up works (with ports open), connecting works through the GUI. As a workaround I modified the script and moved the code which relies on discover into the "if on local Wifi" brackets, and just added the wake up command and a simple sleep 20 to the external bracket for the time being.

I tried to increase the discover timeout up to 60 seconds, open many different ports, even every port in the range 800-20000, putting the PS4 in the DMZ in my router, disabling router firewall entirely, the discover command always times out.

Is the discover command supposed to work on external IP?

from chiaki-ng.

pedroteosousa avatar pedroteosousa commented on August 26, 2024

@Serg86 did you find anything else about this? I also tried a bunch of stuff and nothing worked. When I run the discover command to my IP from outside my network and make the UDP port-forwarding to another computer instead of my PS4 I do receive a discovery request on port 987, so I believe the PS4 is receiving it too, but I am not 100% sure. But just like you, I only get timeouts.

from chiaki-ng.

pedroteosousa avatar pedroteosousa commented on August 26, 2024

If you open port 987 with nc -ul -p 987 and make the port forwarding on your router, when you run the chiaki4deck discover command to your public IP the device does receive the discovery command. If you then type anything on the netcat prompt the deck discover command says that it received an invalid response, so it is able to receive the response back.

Given this, the problem seems to be that the PS4 is "ignoring" discovery requests when the requester's IP is from outside the local network, but I am not sure, and I don't know how to test this either.

from chiaki-ng.

streetpea avatar streetpea commented on August 26, 2024

That's strange. Unfortunately I don't have a ps4 to test this with but I wonder if it has to do with the fact it's using port 987 instead of one of the higher ports outside of the reserved range tough if it forwards on 987 to a different device maybe it does have to do with the ip of the request. Is you PlayStation wired or wireless? Does the wake-up command work?

from chiaki-ng.

Serg86 avatar Serg86 commented on August 26, 2024

It's on Ethernet on my end and remote wake up works fine, it's the discover command which does not. Like I mentioned above, I rewrote the script to no longer rely on the discover command for external IP, but simply added a timer before attempting to connect via external IP and it works*.

*Apart from the issue where it says Remote Play has crashed on the PS4 and I can't connect until I restart it, but that is a different issue altogether and seems to affect mainline Chiaki as well.

from chiaki-ng.

LilDooDoo avatar LilDooDoo commented on August 26, 2024

I'm having the same issue on a PS4 Slim where connecting on the same network works both through the app and through the script, but connecting remotely only works through the app. When I try to run the script on a different network the console tells me to check that I've typed in the correct external IP-adress, even though I've typed in the same as in the app.

from chiaki-ng.

streetpea avatar streetpea commented on August 26, 2024

Ok so it seems like from all of the above comments that discovery doesn't work with a remote network on PS4. This means the script needs to be changed for remote network on PS4 to not use discovery and instead use a different (I.e., less precise) method such as sleeping for a period of 10 seconds. I'll update the script to do this in the next update. Users will need to rerun the automation gen-launcher.sh script to pickup the changes. You could also manually edit your script to wait for 10 seconds in the case of the remote connection instead of using discover for PS4. This will only affect PS4 users.

from chiaki-ng.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.