You are not logged in.
Just got a new Thinkpad X13 Gen 3, after running Arch on x260s and x270s for the past 5 years. Never had an issue with networking before that I couldn't solve myself, but this new laptop has me stumped.
I've always used (and want to keep using) the systemd-networkd + systemd-resolved built-in functionality. So no network managers, or even dhcpcd. This has always worked, but running exactly the same setup steps on this new laptop (changing the laptop-specific variables obv) doesn't work now.
Of course, I enabled and linked the following before restarting:
rm /etc/resolv.conf
systemctl enable systemd-networkd
systemctl enable wpa_supplicant@wlp0s20f3
systemctl enable systemd-resolved
ln -s /run/systemd/resolve/resolv.conf /etc/resolv.confThe following should cover all of the configs and typical outputs, but let me know if I can provide anything else to make it clearer.
An asterisk indicates that I've created/modified the file. No asterisk means it is as is
/etc/hosts*
# Static table lookup for hostnames.
# See hosts(5) for details.
127.0.0.1 localhost
::1 localhost
127.0.1.1 XXXX.localdomain XXXX/etc/systemd/network/wlp0s20f3.conf*
[Match]
Name=wl*
[Network]
DHCP=yesI've also tried the above with DHCP=ipv4 and a number of other settings to avoid it defaulting to IPv6.
/etc/resolv.conf
# This is /run/systemd/resolve/resolv.conf managed by man:systemd-resolved(8).
# Do not edit.
#
# This file might be symlinked as /etc/resolv.conf. If you're looking at
# /etc/resolv.conf and seeing this text, you have followed the symlink.
#
# This is a dynamic resolv.conf file for connecting local clients directly to
# all known uplink DNS servers. This file lists all configured search domains.
#
# Third party programs should typically not access this file directly, but only
# through the symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a
# different way, replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.
nameserver 1.1.1.1
nameserver 9.9.9.9
nameserver 8.8.8.8
# Too many DNS servers configured, the following entries may be ignored.
nameserver 2606:4700:4700::1111
nameserver 2620:fe::9
nameserver 2001:4860:4860::8888
search ./etc/systemd/networkd.conf
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it under the
# terms of the GNU Lesser General Public License as published by the Free
# Software Foundation; either version 2.1 of the License, or (at your option)
# any later version.
#
# Entries in this file show the compile time defaults. Local configuration
# should be created by either modifying this file, or by creating "drop-ins" in
# the networkd.conf.d/ subdirectory. The latter is generally recommended.
# Defaults can be restored by simply deleting this file and all drop-ins.
#
# See networkd.conf(5) for details.
[Network]
#SpeedMeter=no
#SpeedMeterIntervalSec=10sec
#ManageForeignRoutingPolicyRules=yes
#ManageForeignRoutes=yes
#RouteTable=
[DHCPv4]
#DUIDType=vendor
#DUIDRawData=
[DHCPv6]
#DUIDType=vendor
#DUIDRawData=/etc/systemd/resolved.conf
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it under the
# terms of the GNU Lesser General Public License as published by the Free
# Software Foundation; either version 2.1 of the License, or (at your option)
# any later version.
#
# Entries in this file show the compile time defaults. Local configuration
# should be created by either modifying this file, or by creating "drop-ins" in
# the resolved.conf.d/ subdirectory. The latter is generally recommended.
# Defaults can be restored by simply deleting this file and all drop-ins.
#
# Use 'systemd-analyze cat-config systemd/resolved.conf' to display the full config.
#
# See resolved.conf(5) for details.
[Resolve]
# Some examples of DNS servers which may be used for DNS= and FallbackDNS=:
# Cloudflare: 1.1.1.1#cloudflare-dns.com 1.0.0.1#cloudflare-dns.com 2606:4700:4700::1111#cloudflare-dns.com 2606:4700:4700::1001#cloudflare-dns.com
# Google: 8.8.8.8#dns.google 8.8.4.4#dns.google 2001:4860:4860::8888#dns.google 2001:4860:4860::8844#dns.google
# Quad9: 9.9.9.9#dns.quad9.net 149.112.112.112#dns.quad9.net 2620:fe::fe#dns.quad9.net 2620:fe::9#dns.quad9.net
#DNS=
#FallbackDNS=1.1.1.1#cloudflare-dns.com 9.9.9.9#dns.quad9.net 8.8.8.8#dns.google 2606:4700:4700::1111#cloudflare-dns.com 2620:fe::9#dns.quad9.net 2001:4860:4860::8888#dns.google
#Domains=
#DNSSEC=no
#DNSOverTLS=no
#MulticastDNS=yes
#LLMNR=yes
#Cache=yes
#CacheFromLocalhost=no
#DNSStubListener=yes
#DNSStubListenerExtra=
#ReadEtcHosts=yes
#ResolveUnicastSingleLabel=no/etc/wpa_supplicant/wpa_supplicant-wlp0s20f3.conf*
ctrl_interface=DIR=/run/wpa_supplicant GROUP=wheel
update_config=1
ap_scan=1
country=XXXX
network={
ssid="XXXX"
#psk="XXXX"
psk=XXXX
}The above is the same as my working x270 and x260 confs
systemctl status systemd-resolved
● systemd-resolved.service - Network Name Resolution
Loaded: loaded (/usr/lib/systemd/system/systemd-resolved.service; enabled; preset: enabled)
Active: active (running) since Sun 2023-06-11 17:18:03 UTC; 5min ago
Docs: man:systemd-resolved.service(8)
man:org.freedesktop.resolve1(5)
https://www.freedesktop.org/wiki/Software/systemd/writing-network-configuration-managers
https://www.freedesktop.org/wiki/Software/systemd/writing-resolver-clients
Main PID: 679 (systemd-resolve)
Status: "Processing requests..."
Tasks: 1 (limit: 38072)
Memory: 7.1M
CPU: 55ms
CGroup: /system.slice/systemd-resolved.service
└─679 /usr/lib/systemd/systemd-resolved
Jun 11 17:18:03 XXXX systemd[1]: Starting Network Name Resolution...
Jun 11 17:18:03 XXXX systemd-resolved[679]: Positive Trust Anchors:
Jun 11 17:18:03 XXXX systemd-resolved[679]: . IN DS 20326 8 2 XXXX
Jun 11 17:18:03 XXXX systemd-resolved[679]: Negative trust anchors: home.arpa 10.in-addr.arpa 16.172.in-addr.arpa 17.172.in-addr.arpa 18.172.in-addr.arpa 19.172.in-addr.arpa 20.172.in-addr.arpa 21.172.in-addr.arpa 22.172.in-addr.arpa 23.172.in-addr.arpa 24.172.in-addr.arpa 25.172.in-addr.arpa 26.172.in-addr.arpa 27.172.in-addr.arpa 28.172.in-addr.arpa 29.172.in-addr.arpa 30.172.in-addr.arpa 31.172.in-addr.arpa 168.192.in-addr.arpa d.f.ip6.arpa corp home internal intranet lan local private test
Jun 11 17:18:03 XXXX systemd-resolved[679]: Using system hostname 'XXXX'.
Jun 11 17:18:03 XXXX systemd[1]: Started Network Name Resolution.systemctl status systemd-networkd
● systemd-networkd.service - Network Configuration
Loaded: loaded (/usr/lib/systemd/system/systemd-networkd.service; enabled; preset: enabled)
Active: active (running) since Sun 2023-06-11 18:05:56 UTC; 1min 18s ago
TriggeredBy: ● systemd-networkd.socket
Docs: man:systemd-networkd.service(8)
man:org.freedesktop.network1(5)
Main PID: 775 (systemd-network)
Status: "Processing requests..."
Tasks: 1 (limit: 38072)
Memory: 3.1M
CPU: 59ms
CGroup: /system.slice/systemd-networkd.service
└─775 /usr/lib/systemd/systemd-networkd
Jun 11 18:05:56 XXXX systemd[1]: Starting Network Configuration...
Jun 11 18:05:56 XXXX systemd-networkd[775]: lo: Link UP
Jun 11 18:05:56 XXXX systemd-networkd[775]: lo: Gained carrier
Jun 11 18:05:56 XXXX systemd-networkd[775]: Enumeration completed
Jun 11 18:05:56 XXXX systemd[1]: Started Network Configuration.
Jun 11 18:05:57 XXXX systemd-networkd[775]: wlan0: Interface name change detected, renamed to wlp0s20f3.
Jun 11 18:05:57 XXXX systemd-networkd[775]: wlp0s20f3: Link UP
Jun 11 18:06:02 XXXX systemd-networkd[775]: wlp0s20f3: Gained carrier
Jun 11 18:06:03 XXXX systemd-networkd[775]: wlp0s20f3: Gained IPv6LLsystemctl status wpa_supplicant@wlp0s20f3
● wpa_supplicant@wlp0s20f3.service - WPA supplicant daemon (interface-specific version)
Loaded: loaded (/usr/lib/systemd/system/wpa_supplicant@.service; enabled; preset: disabled)
Active: active (running) since Sun 2023-06-11 17:18:03 UTC; 4min 35s ago
Main PID: 692 (wpa_supplicant)
Tasks: 1 (limit: 38072)
Memory: 5.5M
CPU: 26ms
CGroup: /system.slice/system-wpa_supplicant.slice/wpa_supplicant@wlp0s20f3.service
└─692 /usr/bin/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant-wlp0s20f3.conf -iwlp0s20f3
Jun 11 17:18:03 XXXX systemd[1]: Started WPA supplicant daemon (interface-specific version).
Jun 11 17:18:03 XXXX wpa_supplicant[692]: Successfully initialized wpa_supplicant
Jun 11 17:18:03 XXXX wpa_supplicant[692]: wlp0s20f3: CTRL-EVENT-REGDOM-CHANGE init=DRIVER type=WORLD
Jun 11 17:18:07 XXXX wpa_supplicant[692]: wlp0s20f3: CTRL-EVENT-REGDOM-CHANGE init=DRIVER type=COUNTRY alpha2=DE
Jun 11 17:18:07 XXXX wpa_supplicant[692]: wlp0s20f3: SME: Trying to authenticate with 00:06:31:d7:32:97 (SSID='XXXX' freq=2412 MHz)
Jun 11 17:18:07 XXXX wpa_supplicant[692]: wlp0s20f3: Trying to associate with 00:06:31:d7:32:97 (SSID='XXXX' freq=2412 MHz)
Jun 11 17:18:07 XXXX wpa_supplicant[692]: wlp0s20f3: Associated with 00:06:31:d7:32:97
Jun 11 17:18:07 XXXX wpa_supplicant[692]: wlp0s20f3: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
Jun 11 17:18:07 XXXX wpa_supplicant[692]: wlp0s20f3: WPA: Key negotiation completed with 00:06:31:d7:32:97 [PTK=CCMP GTK=CCMP]
Jun 11 17:18:07 XXXX wpa_supplicant[692]: wlp0s20f3: CTRL-EVENT-CONNECTED - Connection to 00:06:31:d7:32:97 completed [id=0 id_str=]resolvectl
Global
Protocols: +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: uplink
Current DNS Server: 1.1.1.1#cloudflare-dns.com
Fallback DNS Servers: 1.1.1.1#cloudflare-dns.com 9.9.9.9#dns.quad9.net
8.8.8.8#dns.google 2606:4700:4700::1111#cloudflare-dns.com
2620:fe::9#dns.quad9.net 2001:4860:4860::8888#dns.google
Link 2 (wlp0s20f3)
Current Scopes: none
Protocols: -DefaultRoute +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupportedAnd I get the following results:
ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: wlp0s20f3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 70:1a:b8:c6:28:84 brd ff:ff:ff:ff:ff:ff* note the missing inet for the wlp0s20f3 interface...
ip r
No output
ip -6 route
::1 dev lo proto kernel metric 256 pref medium
fe80::/64 dev wlp0s20f3 proto kernel metric 256 pref mediumping google.com
ping: google.com: Temporary failure in name resolutionping 8.8.8.8
ping: connect: Network is unreachableping -c3 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.023 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.076 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.092 ms
--- 127.0.0.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2019ms
rtt min/avg/max/mdev = 0.023/0.063/0.092/0.029 ms(Wheeew... That's more code blocks than I've ever posted! Hope that's everything!)
So, my assumption is that there's some problem happening with the route. As far as I understand, systemd should automatically assign me a route (it does on the x270 and x260).
I thought it might be an IPv6 issue (new laptop, figure something might have changed in the driver or whatever in the past 6 years). So I disabled that with the following kernel parameter:
/boot/loader/entries/arch.conf*
title Arch Linux
linux /vmlinuz-linux
initrd /intel-ucode.img
initrd /initramfs-linux.img
options rd.luks.name=XXXX=archcrypt root=/dev/mapper/archvg-root resume=/dev/mapper/archvg-swap rw quiet ipv6.disable=1This only resulted in a blank ip -6 route result, and a different systemctl status systemd-networkd output:
● systemd-networkd.service - Network Configuration
Loaded: loaded (/usr/lib/systemd/system/systemd-networkd.service; enabled; preset: enabled)
Active: active (running) since Sun 2023-06-11 17:18:02 UTC; 5min ago
TriggeredBy: ● systemd-networkd.socket
Docs: man:systemd-networkd.service(8)
man:org.freedesktop.network1(5)
Main PID: 551 (systemd-network)
Status: "Processing requests..."
Tasks: 1 (limit: 38072)
Memory: 3.1M
CPU: 31ms
CGroup: /system.slice/systemd-networkd.service
└─551 /usr/lib/systemd/systemd-networkd
Jun 11 17:18:02 XXXX systemd[1]: Starting Network Configuration...
Jun 11 17:18:02 XXXX systemd-networkd[551]: lo: Link UP
Jun 11 17:18:02 XXXX systemd-networkd[551]: lo: Gained carrier
Jun 11 17:18:02 XXXX systemd-networkd[551]: Enumeration completed
Jun 11 17:18:02 XXXX systemd[1]: Started Network Configuration.
Jun 11 17:18:03 XXXX systemd-networkd[551]: wlan0: Interface name change detected, renamed to wlp0s20f3.
Jun 11 17:18:03 XXXX systemd-networkd[551]: wlp0s20f3: Link UP
Jun 11 17:18:07 XXXX systemd-networkd[551]: wlp0s20f3: Gained carrierThis also doesn't look like the systemctl status systemd-networkd on my x270, which is:
● systemd-networkd.service - Network Configuration
Loaded: loaded (/usr/lib/systemd/system/systemd-networkd.service; enabled; preset: enabled)
Active: active (running) since Tue 2023-06-06 21:30:38 +04; 5 days ago
TriggeredBy: ● systemd-networkd.socket
Docs: man:systemd-networkd.service(8)
man:org.freedesktop.network1(5)
Main PID: 399 (systemd-network)
Status: "Processing requests..."
Tasks: 1 (limit: 9187)
Memory: 1.7M
CPU: 3.171s
CGroup: /system.slice/systemd-networkd.service
└─399 /usr/lib/systemd/systemd-networkd
Jun 09 22:36:57 XXXX systemd-networkd[399]: wlp3s0: DHCPv4 address 192.168.6.120/24, gateway 192.168.6.1 acquired from 192.168.6.1
Jun 09 23:14:12 XXXX systemd-networkd[399]: wlp3s0: Lost carrier
Jun 09 23:14:12 XXXX systemd-networkd[399]: wlp3s0: DHCP lease lost
Jun 09 23:14:13 XXXX systemd-networkd[399]: wlp3s0: DHCPv6 lease lost
Jun 11 19:22:17 XXXX systemd-networkd[399]: wlp3s0: Reconfiguring with /etc/systemd/network/wlp3s0.network.
Jun 11 19:22:17 XXXX systemd-networkd[399]: wlp3s0: DHCPv6 lease lost
Jun 11 19:22:17 XXXX systemd-networkd[399]: lo: Unmanaging interface.
Jun 11 19:22:17 XXXX systemd-networkd[399]: enp0s31f6: Unmanaging interface.
Jun 11 19:22:25 XXXX systemd-networkd[399]: wlp3s0: Gained carrier
Jun 11 19:22:28 XXXX systemd-networkd[399]: wlp3s0: DHCPv4 address 192.168.6.120/24, gateway 192.168.6.1 acquired from 192.168.6.1So, where's the issue arising?
I've read everything on the wiki regarding systemd-networkd, systemd-resolved, networking, dhcp, etc. I've searched the forums, reddit, and google in general. Nothing.
The system is up to date (fresh install on wiped laptop this week). Installed after Windows 11 (also fresh install). Internet in Windows works fine. And internet during installation also worked fine (via dhclient):
wpa_supplicant -B -c /etc/wpa_supplicant/XXXX.conf -i wlan0
dhclient wlan0 I'd really appreciate any help you can give ![]()
Last edited by newt9 (2023-06-11 19:41:28)
Offline
2: wlp0s20f3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 70:1a:b8:c6:28:84 brd ff:ff:ff:ff:ff:ffYou've a carrier but no lease (dhcp) which, absent a useful network managing daemon, would be systemd-networkd's job.
Please post the output of
find /etc/systemd -type l -exec test -f {} \; -print | awk -F'/' '{ printf ("%-40s | %s\n", $(NF-0), $(NF-1)) }' | sort -fPlease post your complete system journal for the boot:
sudo journalctl -b | curl -F 'f:1=<-' ix.ioOnline
seth! always a savior ![]()
Thanks again, in advance!
These are the outputs:
find /etc/systemd -type l -exec test -f {} \; -print | awk -F'/' '{ printf ("%-40s | %s\n", $(NF-0), $(NF-1)) }' | sort -f
dbus-org.freedesktop.network1.service | system
dbus-org.freedesktop.resolve1.service | system
getty@tty1.service | getty.target.wants
p11-kit-server.socket | sockets.target.wants
remote-fs.target | multi-user.target.wants
systemd-network-generator.service | sysinit.target.wants
systemd-networkd-wait-online.service | network-online.target.wants
systemd-networkd.service | multi-user.target.wants
systemd-networkd.socket | sockets.target.wants
systemd-resolved.service | sysinit.target.wants
wpa_supplicant@wlp0s20f3.service | multi-user.target.wantsAlso, networkd, resolved and the wpa_supplicant services are all loaded active and running.
Last edited by newt9 (2023-06-11 19:40:58)
Offline
Jun 11 18:06:02 darch systemd-networkd[775]: wlp0s20f3: Gained carrier
Jun 11 18:06:02 darch kernel: IPv6: ADDRCONF(NETDEV_CHANGE): wlp0s20f3: link becomes ready
Jun 11 18:06:02 darch systemd[1]: systemd-rfkill.service: Deactivated successfully.
Jun 11 18:06:03 darch systemd-networkd[775]: wlp0s20f3: Gained IPv6LLnetworkd sees the carrier and the link local address but doesn't do anything else.
/etc/systemd/network/wlp0s20f3.conf*
Fwwi, the wiki has all examples named *.network, so try maybe /etc/systemd/network/25-wireless.network instead
Online
Damnit... always a stupid typo! ![]()
Yes, you were right. Well spotted.
Should have been wlp0s20f3.network.
Creating so many confs after a while gets confusing...
Thanks for the help seth!
Offline
Wrt DM: In general, the journal is not supposed to hold any sensitive data.
The particular one reveals your HW, username (because of a mountpoint in $HOME), the hostname and a BSSID/SSID near your then location (the wifi AP) - which the AP yells into the world anyway.
It might be possible to determine your geographical location from that (if the data got uploaded by some GPS equipped device)
There're also records of fat-fingering a password (twice…) and you don't have https://archlinux.org/packages/extra/x8 … -firmware/ installed?
If you want to obfuscate anything, make sure to use unique and obvious pseudonyms, not "xxx" for everything you want to hide (because that also hides patterns in the log)
And no, you can't delete that file but eventually it'll be replaced when the ID gets re-used.
Online