Error "104" When Playing Quake Champions; Related to DNS Settings, Works Fine On Windows

Hello everyone. I recently got a new router (Netgear Nighthawk X1000) and after I did, Quake Champions started throwing error 104:

This is a well known issue documented here: Bethesda Support

The solution to this problem is usually to port forward, as the article above states, OR, completely flush your DNS and generate a new IP address.

This article also has some troubleshooting steps to resolve this, but I have unable to get them to work. They involve: cd /usr/lib/ && ln -s /usr/lib/libgnutls.so libgnutls.so.26

But using the latest version of libgnutls. This hasn’t worked for me either, and I’m curious why doing this would resolve this issue in the first place. Maybe someone could educate me here.

Would appreciate any and all help, even if it’s just help specifically about flushing DNS. I do speculate my ISP is having issues right now, and I did see a popup in Garuda network icon saying something about “can’t give a dynamic IP address” so maybe the issue is larger than just this one game not working.

System:
Kernel: 6.9.9-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 14.1.1
clocksource: tsc avail: hpet,acpi_pm
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=92a566be-ec96-4dc1-b0aa-9d357ac5a30d rw rootflags=subvol=@
quiet loglevel=3 nvidia-drm.modeset=1 split_lock_mitigate=0 ibt=off
Desktop: KDE Plasma v: 6.1.2 tk: Qt v: N/A info: frameworks v: 6.3.0
wm: kwin_x11 vt: 2 dm: SDDM Distro: Garuda base: Arch Linux
Machine:
Type: Desktop Mobo: ASRock model: Z790 Pro RS serial: <superuser required>
uuid: <superuser required> UEFI: American Megatrends LLC. v: 3.12
date: 10/05/2022
CPU:
Info: model: 13th Gen Intel Core i7-13700K bits: 64 type: MST AMCP
arch: Raptor Lake gen: core 13 level: v3 note: check built: 2022+
process: Intel 7 (10nm) family: 6 model-id: 0xB7 (183) stepping: 1
microcode: 0x123
Topology: cpus: 1x cores: 16 mt: 8 tpc: 2 st: 8 threads: 24 smt: enabled
cache: L1: 1.4 MiB desc: d-8x32 KiB, 8x48 KiB; i-8x32 KiB, 8x64 KiB
L2: 24 MiB desc: 8x2 MiB, 2x4 MiB L3: 30 MiB desc: 1x30 MiB
Speed (MHz): avg: 876 high: 1134 min/max: 800/5300:5400:4200 scaling:
driver: intel_pstate governor: powersave cores: 1: 1100 2: 800 3: 1100
4: 800 5: 800 6: 800 7: 800 8: 800 9: 1134 10: 1100 11: 800 12: 800
13: 1100 14: 800 15: 1100 16: 800 17: 800 18: 800 19: 800 20: 800 21: 800
22: 800 23: 800 24: 800 bogomips: 164044
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Vulnerabilities: <filter>
Graphics:
Device-1: NVIDIA GA102 [GeForce RTX 3080 Ti] vendor: Gigabyte driver: nvidia
v: 555.58.02 alternate: nouveau,nvidia_drm non-free: 550.xx+ status: current
(as of 2024-06; EOL~2026-12-xx) arch: Ampere code: GAxxx
process: TSMC n7 (7nm) built: 2020-2023 pcie: gen: 4 speed: 16 GT/s
lanes: 16 ports: active: none off: DP-2 empty: DP-1, DP-3, HDMI-A-1,
HDMI-A-2 bus-ID: 01:00.0 chip-ID: 10de:2208 class-ID: 0300
Display: x11 server: X.Org v: 21.1.13 with: Xwayland v: 24.1.1
compositor: kwin_x11 driver: X: loaded: nvidia unloaded: modesetting
alternate: fbdev,nouveau,nv,vesa gpu: nvidia,nvidia-nvswitch
display-ID: :0 screens: 1
Screen-1: 0 s-res: 2560x1440 s-dpi: 108 s-size: 602x342mm (23.70x13.46")
s-diag: 692mm (27.26")
Monitor-1: DP-2 note: disabled model: VG27A serial: <filter> built: 2021
res: 2560x1440 hz: 60 dpi: 109 gamma: 1.2 size: 597x336mm (23.5x13.23")
diag: 685mm (27") ratio: 16:9 modes: max: 2560x1440 min: 640x480
API: EGL v: 1.5 hw: drv: nvidia platforms: device: 0 drv: nvidia device: 2
drv: swrast gbm: drv: nvidia surfaceless: drv: nvidia x11: drv: nvidia
inactive: wayland,device-1
API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 555.58.02
glx-v: 1.4 direct-render: yes renderer: NVIDIA GeForce RTX 3080 Ti/PCIe/SSE2
memory: 11.72 GiB
API: Vulkan v: 1.3.279 layers: 11 device: 0 type: discrete-gpu name: NVIDIA
GeForce RTX 3080 Ti driver: nvidia v: 555.58.02 device-ID: 10de:2208
surfaces: xcb,xlib
Audio:
Device-1: Intel Raptor Lake High Definition Audio vendor: ASRock
driver: snd_hda_intel v: kernel alternate: snd_soc_avs,snd_sof_pci_intel_tgl
bus-ID: 00:1f.3 chip-ID: 8086:7a50 class-ID: 0403
Device-2: NVIDIA GA102 High Definition Audio vendor: Gigabyte
driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
bus-ID: 01:00.1 chip-ID: 10de:1aef class-ID: 0403
Device-3: YUAN High-Tech Development vendor: Corsair Memory driver: N/A
pcie: gen: 1 speed: 2.5 GT/s lanes: 1 bus-ID: 03:00.0 chip-ID: 12ab:0380
class-ID: 0480
Device-4: SteelSeries ApS Arctis 7+
driver: hid-generic,snd-usb-audio,usbhid type: USB rev: 2.0 speed: 12 Mb/s
lanes: 1 mode: 1.1 bus-ID: 1-9:8 chip-ID: 1038:220e class-ID: 0300
API: ALSA v: k6.9.9-zen1-1-zen status: kernel-api with: aoss
type: oss-emulator tools: N/A
Server-1: PipeWire v: 1.2.1 status: active with: 1: pipewire-pulse
status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Network:
Device-1: Realtek RTL8125 2.5GbE vendor: ASRock driver: r8169 v: kernel
pcie: gen: 2 speed: 5 GT/s lanes: 1 port: 3000 bus-ID: 04:00.0
chip-ID: 10ec:8125 class-ID: 0200
IF: enp4s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
Info: services: NetworkManager,systemd-timesyncd
Drives:
Local Storage: total: 13.65 TiB used: 517.12 GiB (3.7%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung
model: SSD 970 EVO Plus 1TB size: 931.51 GiB block-size: physical: 512 B
logical: 512 B speed: 31.6 Gb/s lanes: 4 tech: SSD serial: <filter>
fw-rev: 4B2QEXM7 temp: 33.9 C scheme: GPT
ID-2: /dev/nvme1n1 maj-min: 259:5 vendor: Samsung
model: SSD 970 EVO Plus 1TB size: 931.51 GiB block-size: physical: 512 B
logical: 512 B speed: 31.6 Gb/s lanes: 4 tech: SSD serial: <filter>
fw-rev: 4B2QEXM7 temp: 36.9 C scheme: GPT
ID-3: /dev/sda maj-min: 8:0 vendor: Seagate model: ST2000DM008-2FR102
size: 1.82 TiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
tech: HDD rpm: 7200 serial: <filter> fw-rev: 0001 scheme: GPT
ID-4: /dev/sdb maj-min: 8:16 vendor: Seagate model: ST6000DM004-2EH11C
size: 5.46 TiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
tech: HDD rpm: 7200 serial: <filter> fw-rev: DN04 scheme: GPT
ID-5: /dev/sdc maj-min: 8:32 vendor: Seagate model: Backup+ Desk
size: 3.64 TiB block-size: physical: 4096 B logical: 4096 B type: USB
rev: 2.1 spd: 480 Mb/s lanes: 1 mode: 2.0 tech: N/A serial: <filter>
fw-rev: 0342 scheme: MBR
ID-6: /dev/sdd maj-min: 8:48 vendor: Western Digital
model: WD1002FAEX-00Z3A0 size: 931.51 GiB block-size: physical: 512 B
logical: 512 B type: USB rev: 2.1 spd: 480 Mb/s lanes: 1 mode: 2.0
tech: N/A serial: <filter> scheme: MBR
Partition:
ID-1: / raw-size: 931.51 GiB size: 931.51 GiB (100.00%)
used: 517.09 GiB (55.5%) fs: btrfs dev: /dev/nvme1n1p1 maj-min: 259:6
ID-2: /boot/efi raw-size: 100 MiB size: 96 MiB (96.00%)
used: 27.1 MiB (28.3%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
ID-3: /home raw-size: 931.51 GiB size: 931.51 GiB (100.00%)
used: 517.09 GiB (55.5%) fs: btrfs dev: /dev/nvme1n1p1 maj-min: 259:6
ID-4: /var/log raw-size: 931.51 GiB size: 931.51 GiB (100.00%)
used: 517.09 GiB (55.5%) fs: btrfs dev: /dev/nvme1n1p1 maj-min: 259:6
ID-5: /var/tmp raw-size: 931.51 GiB size: 931.51 GiB (100.00%)
used: 517.09 GiB (55.5%) fs: btrfs dev: /dev/nvme1n1p1 maj-min: 259:6
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
ID-1: swap-1 type: zram size: 31.1 GiB used: 0 KiB (0.0%) priority: 100
comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 24 dev: /dev/zram0
Sensors:
System Temperatures: cpu: 31.0 C mobo: N/A gpu: nvidia temp: 47 C
Fan Speeds (rpm): N/A gpu: nvidia fan: 0%
Info:
Memory: total: 32 GiB note: est. available: 31.1 GiB used: 7.16 GiB (23.0%)
Processes: 473 Power: uptime: 36m states: freeze,mem,disk suspend: deep
avail: s2idle wakeups: 0 hibernate: platform avail: shutdown, reboot,
suspend, test_resume image: 12.4 GiB services: org_kde_powerdevil,
power-profiles-daemon, upowerd Init: systemd v: 256 default: graphical
tool: systemctl
Packages: pm: pacman pkgs: 1754 libs: 530 tools: octopi,paru Compilers:
clang: 18.1.8 gcc: 14.1.1 Shell: garuda-inxi default: fish v: 3.7.1
running-in: konsole inxi: 3.3.35
Garuda (2.6.26-1):
System install date:     2024-07-04
Last full system update: 2024-07-14
Is partially upgraded:   No
Relevant software:       snapper NetworkManager dracut
Windows dual boot:       Probably (Run as root to verify)
Failed units:`Preformatted text`

Hi there, welcome to the forum.
Please always provide your garuda-inxi as per topic template.
I think the DNS cache can be cleared by simply restarting network manager (assuming you are on KDE).

sudo systemctl restart NetworkManager

To get a new internal ip address, if this is what you need, the above restart should be enough. If not, I think that disconnecting and reconnecting to your network could help.
If you want a new external ip address, you could try to turn off your modem/router, wait for a few minutes, and turn it back on. In this case often your ISP assigns a new IP address.

3 Likes

I’ve gone ahead and provided my log in the original post, my apologies for forgetting it. Hopefully it is formatted right, I’m still new to this.

Sudo systemctl restart NetworkManager unfortunately does not resolve the issue. I’m beginning to suspect the issue is the router itself; it’s not getting full gigabit speeds without a lot of tweaking, and I need to keep unplugging the modem/router for 15 to 20 minutes at a time. Each time I do, it gets closer to hitting the actual speeds it should be (1000mpbs).

I should also say that Quake Champions runs fine on my old router on Linux…

All that being said, I like this router and it’s feature set, so I’d like to do more troubleshooting before I go and return it. Quake Champions is probably one of my most played games, so if it ends up being the router I may have to look into returning it. Hopefully the log can provide some additional troubleshooting.

  • After rebooting, post the FULL output of garuda-inxi in the body of the post (not linked externally, or collapsed with the “hide details” feature)
  • Format terminal output (including your garuda-inxi) as a code block by clicking the preformatted text button (</>) , or put three tildes (~) above and below the text

Done :slight_smile:

While I’m still interested if anyone has feedback on what’s causing this specifically, I’m 90% my issue is the router itself. It’s having lots of issues far beyond this one game not working (it seems to never want to give me the full speeds im paying for, something my older router didn’t have any issue with), and I plan on returning it. I plugged in my old router, immediately got my full speeds back, and Quake Champions is working without issue.

Does the router get really hot during heavy use?

Is the router firmware up to date?

Have you tried different dns servers?

1 Like

these from a guide may help you out =)

Add a Custom Port Forwarding Service or Application
The router comes with default services and applications that you can use for port
forwarding. If the service or application is not predefined, you can add a custom port
forwarding service or application.
To add a custom service or application:

  1. Find out which port number or range of numbers the application uses.
    You can usually find this information by contacting the publisher of the application
    or user groups or news groups.
  2. Launch a web browser from a computer or mobile device that is connected to the
    router network.
  3. Enter http://www.routerlogin.net.
    A login window opens.
  4. Enter the router user name and password.
    The user name is admin. The password is the one that you specified the first time
    that you logged in. The user name and password are case-sensitive.
    The Dashboard displays.
  5. Select Settings > Advanced Settings > Port Forwarding.
    The Port Forwarding page displays.
  6. Click the Add Custom Service button.
    The Ports - Custom Services page displays.
  7. In the Service Name field, enter a descriptive name.
  8. From the Service Type menu, select the protocol.
    If you are unsure, select TCP/UDP.
    User Manual207Manage and Customize Internet
    Traffic Rules for Ports
    Nighthawk Pro Gaming Router Model XR1000

create new forwarding Ports if they dont exist and try again with this ports like this on bethesda website "Forward the required ports in your modem / router’s settings. For exact directions on port forwarding your router, please refer to your router’s manual or website. The following ports are used by Quake Champions:

UDP 48800 to 48900
TCP 11700 to 11725

"

hope it works=)

I just got the same error, and fixed it by switching from wifi to ethernet.

My ISP is Google Fiber and I have a mesh of 2 nodes. My initial setup was: Google Fiber cable → Google Fiber main router → ethernet cable → Google mesh node 1 → Google mesh’s wireless connection → Google mesh node 2 → wifi connection → laptop.

Then I switched to connecting my laptop to the mesh node 2 with an ethernet cable. This also worked.

I used both setups just fine for a few weeks, but then I started getting 103 error code with the laptop connected to mesh node 2 wirelessly. Meanwhile with an ethernet connection I can still log in just fine.

I realize it’s not a real fix, but maybe this info helps you debug your setup.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.