Subject: [PATCH] installer: Unblock relevant rfkill switches.

From: Tobias Geerinckx-Rice <[email-masked]>
Date: Sat, 8 Jun 2019 19:55:05 +0200

* gnu/installer/connman.scm (connman-enable-technology): Call ‘rfkill’
to (soft-)unblock a wireless technology before enabling it.
---
Guix,

Scanning for Wi-Fi networks on a Dell Latitude E6400 shows nothing
before running ‘rfkill unblock all’ on another VT.

Do this automatically, and more specifically.

K-regs,

T G-R

 gnu/installer/connman.scm | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/gnu/installer/connman.scm b/gnu/installer/connman.scm
index 7f47b9af77..0c72aaf2a1 100644
--- a/gnu/installer/connman.scm
+++ b/gnu/installer/connman.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2018 Mathieu Othacehe <[email-masked]>
+;;; Copyright © 2019 Tobias Geerinckx-Rice <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -236,7 +237,12 @@ list so that each keys of a given technology are gathered in a separate list."
 
 (define (connman-enable-technology technology)
   "Enable the given TECHNOLOGY."
-  (let ((type (technology-type technology)))
+  (let* ((type (technology-type technology))
+         (connman-rfkill-types `(("bluetooth" . "bluetooth")
+                                 ("wifi" . "wlan")))
+         (rfkill-type (assoc-ref connman-rfkill-types type)))
+    (when rfkill-type
+      (system* "rfkill" "unblock" rfkill-type))
     (connman "enable" type)))
 
 (define (connman-disable-technology technology)
-- 
2.21.0