From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Subject: bug#40682: frozen installer in WiFi section -guix 1.1.0 Date: Sun, 19 Apr 2020 01:30:47 +0200 Message-ID: <87o8ro4biw.fsf@gnu.org> References: <873691bzu1.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:34034) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jPwvP-0006dO-7j for bug-guix@gnu.org; Sat, 18 Apr 2020 19:31:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jPwvO-0007Ow-S1 for bug-guix@gnu.org; Sat, 18 Apr 2020 19:31:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:60461) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jPwvO-0007Od-Et for bug-guix@gnu.org; Sat, 18 Apr 2020 19:31:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jPwvO-0008FO-C8 for bug-guix@gnu.org; Sat, 18 Apr 2020 19:31:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: (SergioBG BG's message of "Sat, 18 Apr 2020 10:20:40 +0200") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane-mx.org@gnu.org Sender: "bug-Guix" To: SergioBG BG Cc: 40682@debbugs.gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi, SergioBG BG skribis: > Here the screenshot of Frozen. Thanks. Looking at the screenshot, it would seem that the installer is stuck somewhere in =E2=80=98connman-connect-with-auth=E2=80=99, but it=E2= =80=99s hard to tell why/where. I was able to reproduce it in =E2=80=98guix system vm=E2=80=99 with the pat= ch below. Cc: Mathieu in case they have an idea=E2=80=A6 To be continued=E2=80=A6 Thanks, Ludo=E2=80=99. PS: Nyacc contains libdbus bindings as an example of its FFI tooling, perhaps we should give it a try and use it here. It could be more robust than piping through =E2=80=98connmanctl=E2=80=99. --=-=-= Content-Type: text/x-patch Content-Disposition: inline diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 0965c4d237..826f6d356d 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -322,6 +322,52 @@ the user's target storage device rather than on the RAM disk." "Load the @code{uvesafb} kernel module with the right options.") (default-value #t))) +(define (simulated-wifi-shepherd-services hostapd) + (define config + (plain-file "hostapd.conf" "\ +interface=wlan1 +ssid=Test Net +channel=1\n")) + + (list (shepherd-service + (provision '(hostapd)) + (requirement '(mac-sim-module unblocked-wifi)) + (start #~(make-forkexec-constructor + (list #$(file-append hostapd "/sbin/hostapd") + #$config) + #:log-file "/var/log/hostapd.log")) + (stop #~(make-kill-destructor))) + (shepherd-service + (provision '(unblocked-wifi)) + (requirement '(mac-sim-module)) + (start #~(lambda _ + (invoke #$(file-append util-linux "/sbin/rfkill") + "unblock" "0") + (invoke #$(file-append util-linux "/sbin/rfkill") + "unblock" "1"))) + (one-shot? #t)) + (shepherd-service + (provision '(mac-sim-module)) + (requirement '(term-tty3)) + (modules '((guix build utils))) + (start #~(lambda _ + ;; XXX: We can't use 'load-linux-module*' here because it + ;; expects a flat module directory. + (setenv "LINUX_MODULE_DIRECTORY" + "/run/booted-system/kernel/lib/modules") + (invoke #$(file-append kmod "/bin/modprobe") + "mac80211_hwsim"))) + (one-shot? #t)))) + +(define simulated-wifi-service-type + (service-type + (name 'simulated-wifi) + (extensions + (list (service-extension shepherd-root-service-type + simulated-wifi-shepherd-services))) + (default-value hostapd) + (description "Run hostapd to simulate WiFi connectivity."))) + (define %installation-services ;; List of services of the installation system. (let ((motd (plain-file "motd" " @@ -366,6 +412,8 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m ;; The usual services. (syslog-service) + (service simulated-wifi-service-type) + ;; The build daemon. Register the default substitute server key(s) ;; as trusted to allow the installation process to use substitutes by ;; default. --=-=-=--