#DSX can't sense internet connection

156 messages · Page 1 of 1 (latest)

boreal pebble
#

Hey, y'all - today, rather suddenly, DSX will no longer boot as it can't "see" my internet connection. I have checked Windows Defender, and the app has permissions to use the connection; have even disabled Defender temporarily to check, and that still doesn't solve the problem.

Is there a logfile I can get at that would help diagnose the problem? I can't think of any specific reason this would have suddenly started not working when it was doing fine up until today. I haven't made any changes to my internet environment.

dry knoll
#

In the steamapps DSX beta folder should be a sub dir called logs, the most recent file you could post here

boreal pebble
#

Sorry about the delay; it has been working extremely intermittently. Sometimes, the app won't launch when I first start up my PC, and will launch later. Everything else with an internet requirement is functioning, but DSX still refuses to realize that I have an internet connection seemingly at random. This didn't happen until the end of December/beginning of January. I'll get the log now.

#

This is all that appears there for the first two attempts from today:

#
DSX Started at 1/10/2024 08:04:59
====================================================================================
2024-01-10 08:05:01 [INF] [] ["SettingsPage"] Loaded settings from file: "app_settings.json"
2024-01-10 08:05:01 [INF] [HidHide] Incoming UDP Port Status: True | Outgoing UDP Port Status: True
2024-01-10 08:05:02 [INF] [] ["SettingsPage"] Loaded settings from file: "app_settings.json"
2024-01-10 08:05:03 [INF] [] ["SettingsPage"] Saved settings to file: "app_settings.json"
2024-01-10 09:02:37 [INF] [MainWindow] Preparing to exit DSX
2024-01-10 09:02:37 [INF] [MainWindow] Shutting down... Until next time :)
2024-01-10 09:02:54 [INF] [] ====================================================================================
DSX Started at 1/10/2024 09:02:54
====================================================================================
2024-01-10 09:02:56 [INF] [] ["SettingsPage"] Loaded settings from file: "app_settings.json"
2024-01-10 09:02:56 [INF] [HidHide] Incoming UDP Port Status: True | Outgoing UDP Port Status: True
2024-01-10 09:02:56 [INF] [] ["SettingsPage"] Loaded settings from file: "app_settings.json"
2024-01-10 09:02:57 [INF] [] ["SettingsPage"] Saved settings to file: "app_settings.json"
2024-01-10 09:08:00 [INF] [] ["SettingsPage"] Saved settings to file: "app_settings.json"
2024-01-10 09:08:01 [INF] [] ["SettingsPage"] Saved settings to file: "app_settings.json"
2024-01-10 09:14:12 [INF] [MainWindow] Preparing to exit DSX
2024-01-10 09:14:12 [INF] [MainWindow] Shutting down... Until next time :)
2024-01-10 09:14:19 [INF] [] ====================================================================================```
#

I've tried uninstalling it, uninstalling the additional drivers, reinstalling everything, double-checking to make sure my clock is correct (very unsure why this would interfere with a connection check), waiting extra, checking Defender to make sure it's not firewalled (it's not), etc.

dry knoll
#

Odd, it is not logging much, hm...

boreal pebble
#

A successful start has the next line as the connection to the pad

#

I just checked out the other logfiles

boreal pebble
#

I have been trying various combinations of things to get it to work today, but still no luck; lmk if there's any other information I can get you

dry knoll
#

What screen are you stuck exactly? Screenshot?

boreal pebble
#

When it's not working, it's just that repeatedly. Sometimes, it just manages to get past the connection check, but I can't determine why or how.

#

Mostly to make sure I'm not confusing myself. 🙂

dry knoll
#

Windows firewall usually doesn't block any OUTGOING traffic by default, how strange

#

Let me get to my PC and we investigate

boreal pebble
#

I appreciate your time.

#

From what I can tell, nothing is getting blocked; I'm not seeing anything in my router logs that would indicate a problem, either

dry knoll
#

Open a Terminal/PowerShell

#

Report back what you get each time

#

Enter

Test-NetConnection -ComputerName ifconfig.me -Port 443
#
(Invoke-WebRequest "https://www.apple.com/").StatusCode
#
(Invoke-WebRequest "https://www.gstatic.com/generate_204").StatusCode
boreal pebble
#

-ComputerName is an actual thing to enter and not a placeholder?

dry knoll
#

Exactly as I pasted it

#

Nothing altered

boreal pebble
#
WARNING: TCP connect to (2600:1901:0:bbc3:: : 443) failed


ComputerName     : ifconfig.me
RemoteAddress    : 34.117.118.44
RemotePort       : 443
InterfaceAlias   : Ethernet 2
SourceAddress    : 192.168.2.121
TcpTestSucceeded : True```
dry knoll
#

OK, next

#

Additionally

(Invoke-WebRequest "https://ifconfig.me").StatusCode
boreal pebble
#
200```
#
204```
#
Invoke-WebRequest : upstream connect error or disconnect/reset before headers. reset reason: connection timeout
At line:1 char:2
+ (Invoke-WebRequest "https://ifconfig.me").StatusCode
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebExc
   eption
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand```
#

I can note that I am able to access ifconfig.me in a browser with no trouble

dry knoll
#

We're getting closer

#
nslookup ifconfig.me
boreal pebble
#
Server:  unifi.localdomain
Address:  192.168.2.1

Non-authoritative answer:
Name:    ifconfig.me
Addresses:  2600:1901:0:bbc3::
          34.117.118.44```
#

And before asking: yes; I control the unifi console I'm attached to

dry knoll
#
tracert -d ifconfig.me
boreal pebble
#

Tracing route to ifconfig.me [2600:1901:0:bbc3::]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  2600:1700:49c0:6528::1
  2     1 ms    <1 ms    <1 ms  2600:1700:49c0:6520::1
  3  Destination host unreachable.

Trace complete.```
dry knoll
#

Interesting, so for whatever reason it defaults to trying IPv6 for you, which doesn't work

boreal pebble
#

My network is v6 by default

dry knoll
#

My view

tracert -d ifconfig.me

Tracing route to ifconfig.me [34.117.118.44]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  192.168.2.1
  2     9 ms    10 ms     7 ms  172.18.240.1
  3     9 ms     8 ms    10 ms  212.33.34.141
  4    23 ms    17 ms     7 ms  212.33.35.50
  5    12 ms    12 ms    13 ms  74.125.52.56
  6    16 ms    16 ms    13 ms  74.125.244.81
  7    12 ms    12 ms    14 ms  142.251.68.119
  8    14 ms    14 ms    10 ms  34.117.118.44

Trace complete.
boreal pebble
#

As my ISP and most of my hardware support v6

dry knoll
#

Interesting

boreal pebble
#

This would be the first time I have legit seen a problem like this

dry knoll
#

Do this again pls

tracert -4 -d ifconfig.me
boreal pebble
#

Also very curious why it works sometimes now

dry knoll
#

Since apple and Google is reachable, that should be more than enough

#

I am curious too

boreal pebble
#

Tracing route to ifconfig.me [34.117.118.44]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  192.168.2.1
  2     2 ms     1 ms     1 ms  162.194.140.1
  3     3 ms     3 ms     3 ms  64.148.121.68
  4     *        *        *     Request timed out.
  5     *        *        *     Request timed out.
  6     *        *        *     Request timed out.
  7    11 ms    11 ms    11 ms  32.130.104.111
  8    11 ms    11 ms    11 ms  12.255.10.34
  9    12 ms    12 ms    12 ms  74.125.251.147
 10    12 ms    13 ms    12 ms  216.239.47.87
 11    13 ms    13 ms    12 ms  34.117.118.44

Trace complete.```
#

I am a career tech support worker, so I'm more curious than upset at this point 🙂

dry knoll
#

PowerShell falls over it too

#

So most probably .NET as well

boreal pebble
#

ugh

dry knoll
#

But why does it cause an issue, 2 out of 3 request succeeding should be fine, according to the code

#

Where are you from btw?

boreal pebble
#

I'm in USA - St. Louis, MO

#

Are you checking the connections one at a time or in parallel? The IPv6 connection timeout is long

dry knoll
#

No, all in parallel with a predefined short timeout

#

I added another URL to the check but you'd need to wait for the next Beta Update

#

I'll poke Pali to stop being so lazy PES2_FastRun

boreal pebble
#

lol no worries

#

I am going to see if I can do anything at unifi's cached DNS level to sort it out or force v4 for that one domain (not sure that's possible) as a workaround

#

but would be happy to test for you when you ship the fix

dry knoll
#

If you have access to your firewall you could try to REJECT IPv6 and IPv4 requests to ifconfig.me's server

boreal pebble
#

oh, interesting

#

and I do

#

blocking the traffic to ifconfig.me did not fix the problem

dry knoll
boreal pebble
#

I assume it's not being interpreted as any different from the v6 attempt failing

#

also very possible that I'm missing something in configuring the rule as this is the first time I have done this with unifi

dry knoll
#

I can not see any fault in the code so we hit some deeper rooted .NET weirdness

boreal pebble
#

\o/

dry knoll
#

I changed the code to enforce using IPv4 in the next version, but since I can not reproduce, it is an experiment more than anything

boreal pebble
#

(nods)

dry knoll
#

I don't even have IPv6 with my current ISP

#

I bet they do not even know it got released

boreal pebble
#

and I fully understand that what I have going on here is not common

#

hah

dry knoll
#

In conclusion, the code looks limple enough so I really wonder where it decides to break. Especially Apple and Google success should bypass that check

#

So focussing on ifconfig.me alone doesn't feel right as well

#

Let me test something real quick

#

Yeah I blocked ifconfig.me completely, startup took a bit longer but succeeded

#

Classic

boreal pebble
#

hm; where did you implement the - ah

#

oh, shoot, yeah - lemme black hole that

#

where is hosts in Windows? I am primarily a macOS user

dry knoll
#

C:\Windows\System32\drivers\etc\hosts

#

Obviously

boreal pebble
#

heh

#

I spend like 90% of my time in UNIX-like so I always ask because it's non-obvious too often for my tastes

dry knoll
#

I was joking, nobody would remember such a stupid location

boreal pebble
#

oh, I know 🙂

dry knoll
#

"Jo, where to put the DNS mappings file" "Uh, sounds like a subdir in 'drivers'" "W00t"

#

"Jeff, u high again?" "Yesn't"

#

Ironically knowing the history of Windows (NT) drivers it makes perfect sense, the drivers "working directory" is C:\Windows\System32\drivers so a relative file path would be ./etc/whatever

#

So they mangled a *nix concept with Windows core and that abomination fell out

boreal pebble
#

uncomfy

#

but yes

dry knoll
#

Anyway, any success?

boreal pebble
#

not immediately, but I'm looking to make sure I actually saved the change

#

still getting hung up on the step, and I have flushed DNS cache, but I'm going to reboot and try again just in case

#

I am now wondering if I also need to blackhole v6

dry knoll
#

Might be

#

Like so

#

:11 ifconfig.me

boreal pebble
#

yeah; that's what I did and I'm still not getting it, but at this point I'm chalking it up to my lack of good understanding of how Windows interacts with this stuff

dry knoll
#

This change should be fairly instant

boreal pebble
#

DSX is still not seeing the connection

dry knoll
#

Yeah I do not think this is benefitial to your case

boreal pebble
#

I apologize for this being such a time drain and really do appreciate your focusing on it with me

dry knoll
#

No worries, it is, uh, should be my area of expertise anyway so the more weird cases I know (and their solutions) the better for everyone

boreal pebble
#

Is there any way for me to get you more verbose logging?

dry knoll
#

Yeah one sec

#

Go to the app directory

#

For me it is under D:\SteamLibrary\steamapps\common\DSX\Main_v3_Beta

#

Open the file appsettings.json with a proper text editor (not necessarily Notepad)

boreal pebble
#

I'm there

dry knoll
#

Overwrite everything with

{
    "DSX": {
        "EnableRemoteLogging": false
    },
    "Serilog": {
        "MinimumLevel": "Verbose"
    }
}

Save and restart DSX

#

Then share the latest created log file from D:\SteamLibrary\steamapps\common\DSX\Main_v3_Beta\logs

boreal pebble
#

oh, let me get vscode real quick instead of notepad; sigh

dry knoll
#

Notepad tends to fuck up "modern" encoding

boreal pebble
#

same as the previous log files; nothing additional

#
====================================================================================
2024-01-10 15:07:23 [INF] [] ["SettingsPage"] Loaded settings from file: "app_settings.json"
2024-01-10 15:07:23 [INF] [HidHide] Incoming UDP Port Status: True | Outgoing UDP Port Status: True
2024-01-10 15:07:24 [INF] [] ["SettingsPage"] Loaded settings from file: "app_settings.json"
2024-01-10 15:07:25 [INF] [] ["SettingsPage"] Saved settings to file: "app_settings.json"
2024-01-10 15:07:39 [INF] [MainWindow] Preparing to exit DSX
2024-01-10 15:07:39 [INF] [MainWindow] Shutting down... Until next time :)```
#

this is my appsettings:

    "DSX": {
        "EnableRemoteLogging": false
    },
    "Serilog": {
        "MinimumLevel": "Verbose"
    }
}```
dry knoll
#

Problem is we silence that exact namespace in code so we can not override and enable it again in config 😅

#

Let me also fix that for the next update

boreal pebble
#

it's cool - I got a legit laugh just now, so thank you

#

if you got a couple of useful patches out of this, then I'm happy to have helped with that

#

I can go ahead and wait for the update to be pushed, and get you some additional feedback, or if you think of anything, feel free to ask me and I can generally get back to you before too long - I work remote/async

dry knoll
#

Aye, I am hacking in the improvements I figured out from this as we speak 😅

#

And annoying Pali to prepare an update

boreal pebble
#

give Pali my regards, then 🙂

dry knoll
#

He gives me excuses like "being busy"

boreal pebble
#

Thanks again - I really appreciate it, and this utility is hella useful

dry knoll
#

Thanks for the feedback, usually the people who wanna see us dead are the loudest KEKW

boreal pebble
#

god, isn't that familiar

#

Also: thanks for your contributions to FOSS projects

#

As someone steeped in FOSS myself (I work on WordPress-related things), I try to remember to say that because it's often pretty thankless work

dry knoll
#

Thanks, it is but I have adjusted quite well I think after doing this for almost 10 years now PES4_Old

boreal pebble
#

My 14th year working for Automattic is coming up in two weeks, so yup - yup

#

Definitely let me know if there's any other information or testing I can help you with - will be more than happy to do so

dry knoll
#

If we do not figure it out anytime soon; I have added a skip switch to the next release

#

The check is unfortunately necessary or people have no idea what to do if other web components start to fail later in the app

boreal pebble
#

Totally understood.

dry knoll
#

Does this work for you btw?

(Invoke-WebRequest "https://nge-2.api.nefarius.systems/ping").Content
boreal pebble
#

it does

dry knoll
#

And

(Invoke-WebRequest "https://dsx.api.nefarius.systems/").Content
boreal pebble
#

(Invoke-WebRequest "https://dsx.api.nefarius.systems/").Content {"message":"Server up and running"}

dry knoll
#

Good, so at least the most important stuff works 😅

boreal pebble
#

Oh, once I get past the connection test, everything works great 🙂

#

And the Dualsense emulation stuff means I can use my Edge on pretty much everything without weird issues I'd sometimes get in v2 with things like rumble

#

Happiest handful of dollars I have spent on anything not called Vampire Survivors