[PATCH] installer: Unblock relevant rfkill switches.

  • Done
  • quality assurance status badge
Details
2 participants
  • Maxim Cournoyer
  • Tobias Geerinckx-Rice
Owner
unassigned
Submitted by
Tobias Geerinckx-Rice
Severity
normal
T
T
Tobias Geerinckx-Rice wrote on 8 Jun 2019 19:55
(address . guix-patches@gnu.org)
20190608175505.11162-1-me@tobias.gr
* 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(-)

Toggle diff (27 lines)
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 <m.othacehe@gmail.com>
+;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; 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
T
T
Tobias Geerinckx-Rice wrote on 8 Jun 2019 20:14
(address . 36141@debbugs.gnu.org)
87tvd054hb.fsf@nckx
Oh…

Tobias Geerinckx-Rice wrote:
Toggle quote (4 lines)
> + (connman-rfkill-types `(("bluetooth" . "bluetooth")
> + ("wifi" . "wlan")))
> + (rfkill-type (assoc-ref connman-rfkill-types type)))

Turns out that util-linux allows ‘wifi’ as a special alias for
‘wlan’:

// only result for ‘grep -riw wifi’:
static const struct rfkill_type_str rfkill_type_strings[] = {
{ .type = RFKILL_TYPE_ALL, .name = "all" },
{ .type = RFKILL_TYPE_WLAN, .name = "wlan",
.desc = "Wireless LAN" },
{ .type = RFKILL_TYPE_WLAN, .name = "wifi" }, /* alias */

…so we could drop connman-rfkill-types completely and rely on that
(undocumented!) quirk.

Of course I don't believe we should, but now you know as much as I
do :-)

Kind regards,

T G-R
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQT12iAyS4c9C3o4dnINsP+IT1VteQUCXPv7EQAKCRANsP+IT1Vt
edCGAQDa0tEXNbh6ez7Q8BthA4w5ZVmmn+Wa1CfJ9dx2ExFBcgEAvuXKXOUVWSSz
m+Pwo6YY02+ANCRI4KLXWMnnb3S31w0=
=CIoT
-----END PGP SIGNATURE-----

T
T
Tobias Geerinckx-Rice wrote on 9 Jun 2019 02:20
(address . 36141@debbugs.gnu.org)
87pnnn623s.fsf@nckx
Tobias Geerinckx-Rice wrote:
Toggle quote (2 lines)
> [hokum]

Never mind, there's something else going on here. connmanctl
handles (blindly clobbers, even) rfkill for you. Perhaps I lost a
race. Possibly due to this machine's 3 Wi-Fi cards.

Still, something's not right. To be continued…

Sorry for my noise,

T G-R
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQT12iAyS4c9C3o4dnINsP+IT1VteQUCXPxQ1wAKCRANsP+IT1Vt
eYKQAP97Uf9WB2Hou58eGCeytwrMwX6N1UZdLCJBIUS/zD3srAEA408y9dTLoJqB
Mb1Oy/ncJ9lwkwVqXCsb+e5AKUi+6g4=
=sZf/
-----END PGP SIGNATURE-----

M
M
Maxim Cournoyer wrote on 3 Aug 2021 21:34
Re: bug#36141: [PATCH] installer: Unblock relevant rfkill switches.
(name . Tobias Geerinckx-Rice)(address . me@tobias.gr)(address . 36141-done@debbugs.gnu.org)
87y29i8gps.fsf_-_@gmail.com
Hi Tobias,

Tobias Geerinckx-Rice <me@tobias.gr> writes:

Toggle quote (13 lines)
> Tobias Geerinckx-Rice wrote:
>> [hokum]
>
> Never mind, there's something else going on here. connmanctl handles
> (blindly clobbers, even) rfkill for you. Perhaps I lost a race.
> Possibly due to this machine's 3 Wi-Fi cards.
>
> Still, something's not right. To be continued…
>
> Sorry for my noise,
>
> T G-R

I'll close this one, but feel free to open a bug if you stumble upon a
problem in this area again.

Thanks,

Maxim
Closed
?