all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: 59003@debbugs.gnu.org
Subject: [bug#59003] [PATCH 6/7] installer: Report known-unsupported PCI devices.
Date: Sat, 05 Nov 2022 18:55:21 +0100	[thread overview]
Message-ID: <87v8ntmgl2.fsf@pelzflorian.de> (raw)
In-Reply-To: <20221103191935.16336-6-ludo@gnu.org> ("Ludovic Courtès"'s message of "Thu, 3 Nov 2022 20:19:34 +0100")

This is great work.

To test, I reverted the (current-guix) patch and instead pointed the
guix package source to (url "/home/florian/src/guix") and doing

GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT=y make update-guix-package

so I could test the patch.  I also had to guix pull from a channel with
this local checkout, because

./pre-inst-env guix system image -t iso9660 gnu/system/install.scm

still insists on authenticating

florian@floriandesktop ~/src/guix [env]$ ./pre-inst-env guix system image -t iso9660 gnu/system/install.scm 
;;; compiling /home/florian/src/guix/gnu/system/examples/bare-bones.tmpl
;;; compiled /home/florian/.cache/guile/ccache/3.0-LE-8-4.6/home/florian/src/guix/gnu/system/examples/bare-bones.tmpl.go
;;; compiling /home/florian/src/guix/gnu/system/examples/bare-bones.tmpl
;;; compiled /home/florian/.cache/guile/ccache/3.0-LE-8-4.6/home/florian/src/guix/gnu/system/examples/bare-bones.tmpl.go
;;; compiling /home/florian/src/guix/gnu/system/examples/bare-bones.tmpl
;;; compiled /home/florian/.cache/guile/ccache/3.0-LE-8-4.6/home/florian/src/guix/gnu/system/examples/bare-bones.tmpl.go
Updating channel 'guix' from Git repository at '/home/florian/src/guix/'...
Authenticating channel 'guix', commits 9edb3f6 to 8d31a8c (977 new commits)...
[                                                                              ]guix system: error: commit 8d31a8c042bcedf34d911047c628ee4290f0b3cd lacks a signature


Why does it authenticate?  This is a strange antifeature, but I can’t
tell where in the code the authentication is called.

Anyway, after `guix pull`ing a guix channel with the local checkout,
`guix system image -t iso9660 gnu/system/install.scm` went fine.

I digress.  About the patch:

Ludovic Courtès <ludo@gnu.org> writes:
> Newer laptops are known to require
> non-free firmware a range of devices¹ and it would be nice to
> cover the important ones.
> 
> Thoughts?
> 
> Ludo’.
> 
> ¹ https://blog.einval.com/2022/04/19#firmware-what-do-we-do

In my limited experience, much hardware was always broken.
I don’t have modern hardware with iwlwifi, but my ancient laptop has
broken hardware, namely a SiS 191 Gigabit Ethernet Adapter.

While the adapter can download things with wget, when I use this
Ethernet controller to guix system init, Guix gets stuck immediately,
even though
<https://h-node.org/ethernetcards/catalogue/en/1/1/Silicon-Integrated-Systems-SiS/undef/undef/undef/ethernet-works/undef>
makes the dubitable claim that this Ethernet controller works fine.
Note that I have no issues with USB Ethernet adapters.  Therefore,

> +(define %unsupported-linux-modules
> +  ;; List of Linux modules that are useless without non-free firmware.
> +  '("iwlwifi"))

I added "sis190".  The patch works!  The install image prints:

Devices not supported by free software were found on your computer:

  - Silicon Integrated Systems [SiS] 191 Gigabit Ethernet Adapter
(networking device)


Yay!  Maybe you could add "sis190", maybe it doesn’t matter because it
is so old, maybe it is even just my laptop’s SiS that is broken.

By the way, looking for modern, working consumer wi-fi hardware (I
believe it does not exist), I find Realtek devices on h-node that it
claims are working with aircrack-ng, but recently there was a commit

commit b8f2eb286ec52c97048e23d326d94ae5772797e8
Author: Tobias Geerinckx-Rice <me@tobias.gr>
Date:   Sun Aug 14 02:00:00 2022 +0200

    gnu: Remove Realtek WiFi drivers with firmware blobs.
    
    rtl8821ce-linux-module contains, e.g., halhwimg8821c_fw.c and
    hal8821c_fw.c.  rtl8812au-aircrack-ng-linux-module has, e.g.,
    hal8814a_fw.c, hal8812a_fw.c, and hal8821a_fw.c.  Each of these
    examples contains non-free firmware blobs disguised as C arrays.
    
    * gnu/packages/linux.scm (rtl8821ce-linux-module)
    (rtl8812au-aircrack-ng-linux-module): Remove variables.
    
    Reported by Jacob K <jacobk@disroot.org>


But a warning for these Realtek devices can be added later when someone
actually has such hardware.  That would have been an external module
though.  Anyway, without realtek hardware I cannot judge.

Now, back to the patch:

> +(define unsupported-pci-device?
> +  ;; Arrange to load the module alias database only once.
> +  (let ((aliases (delay (known-module-aliases))))
> +    (lambda (device)
> +      "Return true if DEVICE is known to not be supported by free software."
> […]
> +(define (check-hardware-support pci-database)
> […]
> +  (let ((devices (pci-devices)))
> +    (match (filter unsupported-pci-device? devices)
> +      (()                                         ;no unsupported device
> +       #t)
> +      (unsupported
> +       (run-error-page (format #f (G_ "\
> +Devices not supported by free software were found on your computer:

In my view it would be better to lay the blame on the hardware
manufacturers, because they are the ones who should distribute free
drivers.  That is to turn it around and maybe say:

Devices with no support for free software were found on your computer:

or maybe at least “with” instead of “by”:

"Return true if DEVICE is known to not be supported with free software.


Either way, thank you!

Regards,
Florian




  reply	other threads:[~2022-11-05 17:56 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-03 19:17 [bug#59003] [PATCH 0/7] [Installer] Warn about unsupported devices Ludovic Courtès
2022-11-03 19:19 ` [bug#59003] [PATCH 1/7] installer: Warn about hardware support after the welcome page Ludovic Courtès
2022-11-03 19:19   ` [bug#59003] [PATCH 2/7] linux-modules: Add support for listing PCI devices Ludovic Courtès
2022-11-05 15:21     ` pelzflorian (Florian Pelz)
2022-11-03 19:19   ` [bug#59003] [PATCH 3/7] linux-modules: Add 'load-pci-device-database' Ludovic Courtès
2022-11-03 19:19   ` [bug#59003] [PATCH 4/7] installer: Use 'current-guix' for extensions Ludovic Courtès
2022-11-05  9:09     ` pelzflorian (Florian Pelz)
2022-11-05 17:34       ` Ludovic Courtès
2022-11-03 19:19   ` [bug#59003] [PATCH 5/7] installer: Error page width is parameterized Ludovic Courtès
2022-11-03 19:19   ` [bug#59003] [PATCH 6/7] installer: Report known-unsupported PCI devices Ludovic Courtès
2022-11-05 17:55     ` pelzflorian (Florian Pelz) [this message]
2022-11-06 11:20       ` Ludovic Courtès
2022-11-06 19:06         ` pelzflorian (Florian Pelz)
2022-11-05 20:51     ` [bug#59003] [PATCH 0/7] [Installer] Warn about unsupported devices Mathieu Othacehe
2022-11-05 21:11       ` Mathieu Othacehe
2022-11-09 20:26         ` Ludovic Courtès
2022-11-03 19:19   ` [bug#59003] [PATCH 7/7] installer: Remove unused variable Ludovic Courtès
2022-11-05  8:52   ` [bug#59003] [PATCH 1/7] installer: Warn about hardware support after the welcome page pelzflorian (Florian Pelz)
2022-11-05 18:02     ` pelzflorian (Florian Pelz)
2022-11-09 21:56 ` [bug#59003] [PATCH v2 0/6] [Installer] Warn about unsupported devices Ludovic Courtès
2022-11-09 21:56   ` [bug#59003] [PATCH v2 1/6] installer: Warn about hardware support after the welcome page Ludovic Courtès
2022-11-09 21:56   ` [bug#59003] [PATCH v2 2/6] linux-modules: Add support for listing PCI devices Ludovic Courtès
2022-11-09 21:56   ` [bug#59003] [PATCH v2 3/6] linux-modules: Add 'load-pci-device-database' Ludovic Courtès
2022-11-09 21:56   ` [bug#59003] [PATCH v2 4/6] installer: Use 'current-guix' for extensions Ludovic Courtès
2022-11-09 21:56   ` [bug#59003] [PATCH v2 5/6] installer: Error page width is parameterized Ludovic Courtès
2022-11-09 21:56   ` [bug#59003] [PATCH v2 6/6] installer: Report known-unsupported PCI devices Ludovic Courtès
2022-11-11 11:08     ` pelzflorian (Florian Pelz)
2022-11-15 11:24       ` bug#59003: [PATCH 0/7] [Installer] Warn about unsupported devices Ludovic Courtès
2022-11-15 18:28         ` [bug#59003] " pelzflorian (Florian Pelz)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87v8ntmgl2.fsf@pelzflorian.de \
    --to=pelzflorian@pelzflorian.de \
    --cc=59003@debbugs.gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.