* bug#38524: 'dhcp-client-service' crash when non-libre networking interface is present
@ 2019-12-08 8:59 Brice Waegeneire
2019-12-10 17:11 ` Ludovic Courtès
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Brice Waegeneire @ 2019-12-08 8:59 UTC (permalink / raw)
To: 38524
The 'dhcp-client-service' fail to start when a non-libre network
interface (here 148f:3070) is plugged-in even though there is an libre
networking interface (here 01:00.0) available.
Removing the non-libre networking interface from the system allow
'dhcp-client-service' to start correctly on the libre networking
interface.
I think the service shouldn't crash when there is an non-libre network
interface connected, it should just skip it and maybe throw an error
message. Allowing to specify the network interfaces on which
'dhcp-client-service' should run can also somewhat resolve the issue.
#+begin_src sh
$ sudo herd start networking
[ 2758.305139] 1-3:1.0: Missing Free firmware (non-Free firmware loading
is disabled)
[ 2758.395791] ieee80211 phy0: rt2x00lib_request_firmware: Error -
Failed to request Firmware
herd: exception caught while executing 'start' on service 'networking':
In procedure set-network-interface-flags: set-network-interface-flags on
wlp0s20f0u3: No such file or directory
$ ip a s
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
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp1s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast
state DOWN group default qlen 1000
link/ether 00:e0:4c:68:67:77 brd ff:ff:ff:ff:ff:ff
3: wlp0s20f0u3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
group default qlen 1000
link/ether 00:c0:ca:77:05:e7 brd ff:ff:ff:ff:ff:ff
$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 148f:3070 Ralink Technology, Corp. RT2870/RT3070
Wireless Adapter
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ lspci
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core
Processor Host Bridge/DRAM Registers (rev 02)
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 620
(rev 02)
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 /
E3-1500 v5 / 6th/7th Gen Core Processor Gaussian Mixture Model
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI
Controller (rev 21)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP
Thermal subsystem (rev 21)
00:17.0 SATA controller: Intel Corporation Sunrise Point-LP SATA
Controller [AHCI mode] (rev 21)
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root
Port #3 (rev f1)
00:1e.0 Signal processing controller: Intel Corporation Sunrise Point-LP
Serial IO UART Controller #0 (rev 21)
00:1e.4 SD Host controller: Intel Corporation Device 9d2b (rev 21)
00:1e.6 SD Host controller: Intel Corporation Sunrise Point-LP Secure
Digital IO Controller (rev 21)
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-LP LPC Controller
(rev 21)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev
21)
00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev
21)
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd.
RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 07)
#+end_src
#+begin_src scheme
(services
(append
(list (service openssh-service-type)
(service dhcp-client-service-type))
%base-services)))
#+end_src
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#38524: 'dhcp-client-service' crash when non-libre networking interface is present
2019-12-08 8:59 bug#38524: 'dhcp-client-service' crash when non-libre networking interface is present Brice Waegeneire
@ 2019-12-10 17:11 ` Ludovic Courtès
2019-12-10 21:25 ` Brice Waegeneire
2019-12-13 21:56 ` bug#38524: [PATCH] services: dhcp-client: Ignore interfaces that need non-free Brice Waegeneire
2019-12-14 7:23 ` bug#38524: [PATCH v2] " Brice Waegeneire
2 siblings, 1 reply; 9+ messages in thread
From: Ludovic Courtès @ 2019-12-10 17:11 UTC (permalink / raw)
To: Brice Waegeneire; +Cc: 38524
Hi Brice,
Brice Waegeneire <brice@waegenei.re> skribis:
> The 'dhcp-client-service' fail to start when a non-libre network
> interface (here 148f:3070) is plugged-in even though there is an libre
> networking interface (here 01:00.0) available.
> Removing the non-libre networking interface from the system allow
> 'dhcp-client-service' to start correctly on the libre networking
> interface.
By “non-libre interface”, I guess you mean a network interface that
relies on non-free firmware, right?
> $ sudo herd start networking
> [ 2758.305139] 1-3:1.0: Missing Free firmware (non-Free firmware loading
> is disabled)
> [ 2758.395791] ieee80211 phy0: rt2x00lib_request_firmware: Error -
> Failed to request Firmware
> herd: exception caught while executing 'start' on service 'networking':
So here the problem is that Linux-libre fails to load the non-free
firmware. Could you bring it up on the Linux-libre development mailing
list?
I believe Linux-libre aims to allow people who want it to use non-free
firmware—it just disables it by default. Now, I’d encourage you to
consider using hardware that does not rely on non-free firmware. :-)
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#38524: 'dhcp-client-service' crash when non-libre networking interface is present
2019-12-10 17:11 ` Ludovic Courtès
@ 2019-12-10 21:25 ` Brice Waegeneire
2019-12-12 13:07 ` Ludovic Courtès
0 siblings, 1 reply; 9+ messages in thread
From: Brice Waegeneire @ 2019-12-10 21:25 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 38524
On 2019-12-10 18:11, Ludovic Courtès wrote:
> So here the problem is that Linux-libre fails to load the non-free
> firmware. Could you bring it up on the Linux-libre development mailing
> list?
Doing some research on how linux-libre behave it seems normal that it
doesn't allow the loading of non-free firmware. So I think the issue is
on the Guix side; in dhcp-client-service stopping on an error and not
continuing to try other interface. If you don't think so what should I
bring up to the linux-libre mailing list?
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#38524: 'dhcp-client-service' crash when non-libre networking interface is present
2019-12-10 21:25 ` Brice Waegeneire
@ 2019-12-12 13:07 ` Ludovic Courtès
0 siblings, 0 replies; 9+ messages in thread
From: Ludovic Courtès @ 2019-12-12 13:07 UTC (permalink / raw)
To: Brice Waegeneire; +Cc: 38524
Hello,
Brice Waegeneire <brice@waegenei.re> skribis:
> On 2019-12-10 18:11, Ludovic Courtès wrote:
>> So here the problem is that Linux-libre fails to load the non-free
>> firmware. Could you bring it up on the Linux-libre development mailing
>> list?
> Doing some research on how linux-libre behave it seems normal that it
> doesn't allow the loading of non-free firmware.
It obviously doesn’t do it by default, but my understanding is that the
goal is to allow it (you could check with them).
> So I think the issue is on the Guix side; in dhcp-client-service
> stopping on an error and not continuing to try other interface. If you
> don't think so what should I bring up to the linux-libre mailing list?
‘dhcp-client-service’ passes the DHCP client the list of interfaces that
are “valid” (see gnu/services/networking.scm). Could you find out why
yours is considered “valid” when it shouldn’t?
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#38524: [PATCH] services: dhcp-client: Ignore interfaces that need non-free
2019-12-08 8:59 bug#38524: 'dhcp-client-service' crash when non-libre networking interface is present Brice Waegeneire
2019-12-10 17:11 ` Ludovic Courtès
@ 2019-12-13 21:56 ` Brice Waegeneire
2019-12-13 21:56 ` bug#38524: [PATCH] services: dhcp-client: Ignore interfaces that need non-free firmware Brice Waegeneire
2019-12-14 7:23 ` bug#38524: [PATCH v2] " Brice Waegeneire
2 siblings, 1 reply; 9+ messages in thread
From: Brice Waegeneire @ 2019-12-13 21:56 UTC (permalink / raw)
To: 38524
This patch allow dhcp-client-service to start even when an interface that
require non free-software is present; such device will be skipped.
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#38524: [PATCH] services: dhcp-client: Ignore interfaces that need non-free firmware.
2019-12-13 21:56 ` bug#38524: [PATCH] services: dhcp-client: Ignore interfaces that need non-free Brice Waegeneire
@ 2019-12-13 21:56 ` Brice Waegeneire
2019-12-14 4:39 ` Brett Gilio
0 siblings, 1 reply; 9+ messages in thread
From: Brice Waegeneire @ 2019-12-13 21:56 UTC (permalink / raw)
To: 38524
* gnu/services/networking.scm (dhcp-client-service-type): Filter interfaces
that need non-free firmware.
---
gnu/services/networking.scm | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index 93d9b6a15e..7a57e33974 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -223,14 +223,14 @@ fe80::1%lo0 apps.facebook.com\n")
(define valid?
(lambda (interface)
(and (arp-network-interface? interface)
- (not (loopback-network-interface? interface)))))
+ (not (loopback-network-interface? interface))
+ ;; XXX: Make sure the interfaces are up so that
+ ;; 'dhclient' can actually send/receive over them.
+ (false-if-exception
+ (set-network-interface-up interface)))))
(define ifaces
(filter valid? (all-network-interface-names)))
- ;; XXX: Make sure the interfaces are up so that 'dhclient' can
- ;; actually send/receive over them.
- (for-each set-network-interface-up ifaces)
-
(false-if-exception (delete-file #$pid-file))
(let ((pid (fork+exec-command
(cons* #$dhclient "-nw"
--
2.19.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* bug#38524: [PATCH] services: dhcp-client: Ignore interfaces that need non-free firmware.
2019-12-13 21:56 ` bug#38524: [PATCH] services: dhcp-client: Ignore interfaces that need non-free firmware Brice Waegeneire
@ 2019-12-14 4:39 ` Brett Gilio
0 siblings, 0 replies; 9+ messages in thread
From: Brett Gilio @ 2019-12-14 4:39 UTC (permalink / raw)
To: Brice Waegeneire; +Cc: 38524
This LGTM, though I'd add a comment noting this bug report or something so it is known why this behavior was adjusted.
Dec 13, 2019 3:57:14 PM Brice Waegeneire <brice@waegenei.re>:
> * gnu/services/networking.scm (dhcp-client-service-type): Filter interfaces
> that need non-free firmware.
> ---
> gnu/services/networking.scm | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
> index 93d9b6a15e..7a57e33974 100644
> --- a/gnu/services/networking.scm
> +++ b/gnu/services/networking.scm
> @@ -223,14 +223,14 @@ fe80::1%lo0 apps.facebook.com\n")
> (define valid?
> (lambda (interface)
> (and (arp-network-interface? interface)
> - (not (loopback-network-interface? interface)))))
> + (not (loopback-network-interface? interface))
> + ;; XXX: Make sure the interfaces are up so that
> + ;; 'dhclient' can actually send/receive over them.
> + (false-if-exception
> + (set-network-interface-up interface)))))
> (define ifaces
> (filter valid? (all-network-interface-names)))
>
> - ;; XXX: Make sure the interfaces are up so that 'dhclient' can
> - ;; actually send/receive over them.
> - (for-each set-network-interface-up ifaces)
> -
> (false-if-exception (delete-file #$pid-file))
> (let ((pid (fork+exec-command
> (cons* #$dhclient "-nw"
> --
> 2.19.2
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#38524: [PATCH v2] services: dhcp-client: Ignore interfaces that need non-free firmware.
2019-12-08 8:59 bug#38524: 'dhcp-client-service' crash when non-libre networking interface is present Brice Waegeneire
2019-12-10 17:11 ` Ludovic Courtès
2019-12-13 21:56 ` bug#38524: [PATCH] services: dhcp-client: Ignore interfaces that need non-free Brice Waegeneire
@ 2019-12-14 7:23 ` Brice Waegeneire
2019-12-29 16:50 ` Ludovic Courtès
2 siblings, 1 reply; 9+ messages in thread
From: Brice Waegeneire @ 2019-12-14 7:23 UTC (permalink / raw)
To: 38524
Fixes bug #38524 (see: https://bugs.gnu.org/38524).
* gnu/services/networking.scm (dhcp-client-service-type): Filter interfaces
that need non-free firmware.
---
This patch version contains a link to the issue as Brett asked.
gnu/services/networking.scm | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index 93d9b6a15e..7a57e33974 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -223,14 +223,14 @@ fe80::1%lo0 apps.facebook.com\n")
(define valid?
(lambda (interface)
(and (arp-network-interface? interface)
- (not (loopback-network-interface? interface)))))
+ (not (loopback-network-interface? interface))
+ ;; XXX: Make sure the interfaces are up so that
+ ;; 'dhclient' can actually send/receive over them.
+ (false-if-exception
+ (set-network-interface-up interface)))))
(define ifaces
(filter valid? (all-network-interface-names)))
- ;; XXX: Make sure the interfaces are up so that 'dhclient' can
- ;; actually send/receive over them.
- (for-each set-network-interface-up ifaces)
-
(false-if-exception (delete-file #$pid-file))
(let ((pid (fork+exec-command
(cons* #$dhclient "-nw"
--
2.19.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* bug#38524: [PATCH v2] services: dhcp-client: Ignore interfaces that need non-free firmware.
2019-12-14 7:23 ` bug#38524: [PATCH v2] " Brice Waegeneire
@ 2019-12-29 16:50 ` Ludovic Courtès
0 siblings, 0 replies; 9+ messages in thread
From: Ludovic Courtès @ 2019-12-29 16:50 UTC (permalink / raw)
To: Brice Waegeneire; +Cc: 38524-done
Hello Brice,
Brice Waegeneire <brice@waegenei.re> skribis:
> Fixes bug #38524 (see: https://bugs.gnu.org/38524).
>
> * gnu/services/networking.scm (dhcp-client-service-type): Filter interfaces
> that need non-free firmware.
I adjusted the commit log (I’m not applying it just because it helps
with non-free firmware but rather because it seems more accurate and
generally useful), and finally committed.
Thank you!
Ludo’.
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2019-12-29 16:51 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-12-08 8:59 bug#38524: 'dhcp-client-service' crash when non-libre networking interface is present Brice Waegeneire
2019-12-10 17:11 ` Ludovic Courtès
2019-12-10 21:25 ` Brice Waegeneire
2019-12-12 13:07 ` Ludovic Courtès
2019-12-13 21:56 ` bug#38524: [PATCH] services: dhcp-client: Ignore interfaces that need non-free Brice Waegeneire
2019-12-13 21:56 ` bug#38524: [PATCH] services: dhcp-client: Ignore interfaces that need non-free firmware Brice Waegeneire
2019-12-14 4:39 ` Brett Gilio
2019-12-14 7:23 ` bug#38524: [PATCH v2] " Brice Waegeneire
2019-12-29 16:50 ` Ludovic Courtès
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).