unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#35574: bcm5974 touchpad is not recognized as touchpad
@ 2019-05-05  6:54 pelzflorian (Florian Pelz)
  2019-05-05  7:41 ` pelzflorian (Florian Pelz)
  0 siblings, 1 reply; 19+ messages in thread
From: pelzflorian (Florian Pelz) @ 2019-05-05  6:54 UTC (permalink / raw)
  To: 35574

On *some* reboots my Macbook’s touchpad does not work properly; it
behaves like mouse wheel, I can only scroll.  Only when I press it
down, I can move the pointer to the right, but never to the left.

This happens both with synaptics and libinput driver.

Restarting xorg-server does not help; this appears to be an issue with
the order in which udev rules are applied.

Apparently my bcm5974 touchpad is recognized by udev as a mouse
sometimes (?), because when diffing /var/log/gdm/greeter.log I see a
mouse being recognized (it is never called bcm5974) instead of a
bcm5974 touchpad.

$ sudo diff /var/log/gdm/greeter.log.1 /var/log/gdm/greeter.log.2
[…]
381,387c381,387
< (II) config/udev: Adding input device Apple Inc. Apple Internal Keyboard / Trackpad (/dev/input/event14)
< (**) Apple Inc. Apple Internal Keyboard / Trackpad: Applying InputClass "evdev pointer catchall"
< (**) Apple Inc. Apple Internal Keyboard / Trackpad: Applying InputClass "libinput pointer catchall"
< (II) Using input driver 'libinput' for 'Apple Inc. Apple Internal Keyboard / Trackpad'
< (II) systemd-logind: got fd for /dev/input/event14 13:78 fd 32 paused 0
< (**) Apple Inc. Apple Internal Keyboard / Trackpad: always reports core events
< (**) Option "Device" "/dev/input/event14"
---
> (II) config/udev: Adding input device bcm5974 (/dev/input/event12)
> (**) bcm5974: Applying InputClass "evdev touchpad catchall"
> (**) bcm5974: Applying InputClass "libinput touchpad catchall"
> (II) Using input driver 'libinput' for 'bcm5974'
> (II) systemd-logind: got fd for /dev/input/event12 13:76 fd 32 paused 0
> (**) bcm5974: always reports core events
> (**) Option "Device" "/dev/input/event12"
389,393c389,393
< (II) event14 - Apple Inc. Apple Internal Keyboard / Trackpad: is tagged by udev as: Mouse
< (II) event14 - Apple Inc. Apple Internal Keyboard / Trackpad: device is a pointer
< (II) event14 - Apple Inc. Apple Internal Keyboard / Trackpad: device removed
< (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:06.0/usb4/4-3/4-3:1.2/input/input14/event14"
< (II) XINPUT: Adding extended input device "Apple Inc. Apple Internal Keyboard / Trackpad" (type: MOUSE, id 12)
---
> (II) event12 - bcm5974: is tagged by udev as: Touchpad
> (II) event12 - bcm5974: device is a touchpad
> (II) event12 - bcm5974: device removed
> (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:06.0/usb4/4-3/4-3:1.2/input/input12/event12"
> (II) XINPUT: Adding extended input device "bcm5974" (type: TOUCHPAD, id 12)
395,400c395,400
< (**) Apple Inc. Apple Internal Keyboard / Trackpad: (accel) selected scheme none/0
< (**) Apple Inc. Apple Internal Keyboard / Trackpad: (accel) acceleration factor: 2.000
< (**) Apple Inc. Apple Internal Keyboard / Trackpad: (accel) acceleration threshold: 4
< (II) event14 - Apple Inc. Apple Internal Keyboard / Trackpad: is tagged by udev as: Mouse
< (II) event14 - Apple Inc. Apple Internal Keyboard / Trackpad: device is a pointer
< (II) config/udev: Adding input device Apple Inc. Apple Internal Keyboard / Trackpad (/dev/input/mouse1)
---
> (**) bcm5974: (accel) selected scheme none/0
> (**) bcm5974: (accel) acceleration factor: 2.000
> (**) bcm5974: (accel) acceleration threshold: 4
> (II) event12 - bcm5974: is tagged by udev as: Touchpad
> (II) event12 - bcm5974: device is a touchpad
> (II) config/udev: Adding input device bcm5974 (/dev/input/mouse0)
[…]

Regards,
Florian

^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#35574: bcm5974 touchpad is not recognized as touchpad
  2019-05-05  6:54 bug#35574: bcm5974 touchpad is not recognized as touchpad pelzflorian (Florian Pelz)
@ 2019-05-05  7:41 ` pelzflorian (Florian Pelz)
       [not found]   ` <20200116233537.myczkgkwnfpn75hu@pelzflorian.localdomain>
  0 siblings, 1 reply; 19+ messages in thread
From: pelzflorian (Florian Pelz) @ 2019-05-05  7:41 UTC (permalink / raw)
  To: 35574

Addendum: This never happened during half a year of using Debian 9.
It did happen on GuixSD half a year ago.

This happens on linux-libre-4.9 (same Linux base version as Debian 9)
as well as on what recently was current linux-libre (which I can no
longer use with my GPU since a few weeks ago).  I therefore believe
the kernel to be unrelated, unless there are some patches in Debian
but not in recent Linux.

Regards,
Florian

^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#35574: bcm5974 touchpad is not recognized as touchpad
       [not found]   ` <20200116233537.myczkgkwnfpn75hu@pelzflorian.localdomain>
@ 2020-04-20 14:47     ` pelzflorian (Florian Pelz)
  2020-04-20 15:59       ` pelzflorian (Florian Pelz)
  0 siblings, 1 reply; 19+ messages in thread
From: pelzflorian (Florian Pelz) @ 2020-04-20 14:47 UTC (permalink / raw)
  To: 35574; +Cc: wisdomlight

On Fri, Jan 17, 2020 at 12:35:39AM +0100, pelzflorian (Florian Pelz) wrote:
> Indeed for me on good boots, the command `lsusb -t` prints
>     |__ Port 3: Dev 2, If 2, Class=Human Interface Device, Driver=bcm5974, 12M
> while on bad boots it says Driver=usbmouse.

The issue with Macbook bcm5974 touchpads is a race between the bcm5974
kernel module and the usbmouse kernel module, especially on cold
boots.  Indeed a remedy is to run as root

rmmod usbmouse
rmmod bcm5974
modprobe bcm5974

Then the touchpad works again in all directions and not just for
scrolling up-down.  The converse is also true;

rmmod bcm5974
rmmod usbmouse
modprobe usbmouse

breaks the touchpad again.

However I also cannot find the reason why this usbmouse loadable
kernel module gets loaded at all.  How can I debug what loads this
kernel module?  Debian does not show usbmouse in lsmod, and I think
usbmouse should not get loaded in Guix either.  usbmouse is not
required for my external USB mouse to work.

To quote the linux-4.19.95 source file drivers/hid/usbhid/Kconfig

config USB_MOUSE
        tristate "USB HIDBP Mouse (simple Boot) support"
        depends on USB && INPUT
        ---help---
          Say Y here only if you are absolutely sure that you don't want
          to use the generic HID driver for your USB mouse and prefer
          to use the mouse in its limited Boot Protocol mode instead.

          This is almost certainly not what you want.  This is mostly
          useful for embedded applications or simple mice.


Other workarounds I tried were using Wayland instead of X11, but sway
does not run for me, weston does not build and sddm set to Wayland or
a GNOME Wayland session exhibit the same mouse issue.  Building a
kernel with these modules built-in instead of loadable (=y instead of
=m in the kernel config) helped, but I suppose the modules should be
loadable.

Regards,
Florian

^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#35574: bcm5974 touchpad is not recognized as touchpad
  2020-04-20 14:47     ` pelzflorian (Florian Pelz)
@ 2020-04-20 15:59       ` pelzflorian (Florian Pelz)
  2020-04-20 22:26         ` Bengt Richter
  2020-04-27  0:28         ` pelzflorian (Florian Pelz)
  0 siblings, 2 replies; 19+ messages in thread
From: pelzflorian (Florian Pelz) @ 2020-04-20 15:59 UTC (permalink / raw)
  To: 35574

On Mon, Apr 20, 2020 at 04:47:18PM +0200, pelzflorian (Florian Pelz) wrote:
> However I also cannot find the reason why this usbmouse loadable
> kernel module gets loaded at all.  How can I debug what loads this
> kernel module?  Debian does not show usbmouse in lsmod, and I think
> usbmouse should not get loaded in Guix either.  usbmouse is not
> required for my external USB mouse to work.

Debian 10’s /boot/config-4.19.0-6-amd64 has

# USB HID Boot Protocol drivers
#
# CONFIG_USB_KBD is not set
# CONFIG_USB_MOUSE is not set

while Guix has in /tmp/guix-build-linux-libre-5.4.32.drv-0/linux-5.4.32/.config

CONFIG_USB_MOUSE=m

I will write and test a patch to disable the module in
%default-extra-linux-options, like the description in linux-5.4.11
source file drivers/hid/usbhid/Kconfig recommends:

config USB_MOUSE
        tristate "USB HIDBP Mouse (simple Boot) support"
        depends on USB && INPUT
        ---help---
          Say Y here only if you are absolutely sure that you don't want
          to use the generic HID driver for your USB mouse and prefer
          to use the mouse in its limited Boot Protocol mode instead.

          This is almost certainly not what you want.  This is mostly
          useful for embedded applications or simple mice.

          To compile this driver as a module, choose M here: the
          module will be called usbmouse.

          If even remotely unsure, say N.

Regards,
Florian

^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#35574: bcm5974 touchpad is not recognized as touchpad
  2020-04-20 15:59       ` pelzflorian (Florian Pelz)
@ 2020-04-20 22:26         ` Bengt Richter
  2020-04-27  0:32           ` pelzflorian (Florian Pelz)
  2020-04-27  0:28         ` pelzflorian (Florian Pelz)
  1 sibling, 1 reply; 19+ messages in thread
From: Bengt Richter @ 2020-04-20 22:26 UTC (permalink / raw)
  To: pelzflorian (Florian Pelz); +Cc: 35574

Hi Fllorian,

On +2020-04-20 17:59:08 +0200, pelzflorian (Florian Pelz) wrote:
> On Mon, Apr 20, 2020 at 04:47:18PM +0200, pelzflorian (Florian Pelz) wrote:
> > However I also cannot find the reason why this usbmouse loadable
> > kernel module gets loaded at all.  How can I debug what loads this

Could the module be needed "just in case" in an initrd
but should be unloaded before pivoting in a normal case?

> > kernel module?  Debian does not show usbmouse in lsmod, and I think
> > usbmouse should not get loaded in Guix either.  usbmouse is not
> > required for my external USB mouse to work.
> 
> Debian 10’s /boot/config-4.19.0-6-amd64 has
> 
> # USB HID Boot Protocol drivers
> #
> # CONFIG_USB_KBD is not set
> # CONFIG_USB_MOUSE is not set
> 
> while Guix has in /tmp/guix-build-linux-libre-5.4.32.drv-0/linux-5.4.32/.config
> 
> CONFIG_USB_MOUSE=m
> 
> I will write and test a patch to disable the module in
> %default-extra-linux-options, like the description in linux-5.4.11
> source file drivers/hid/usbhid/Kconfig recommends:
> 
> config USB_MOUSE
>         tristate "USB HIDBP Mouse (simple Boot) support"
>         depends on USB && INPUT
>         ---help---
>           Say Y here only if you are absolutely sure that you don't want
>           to use the generic HID driver for your USB mouse and prefer
>           to use the mouse in its limited Boot Protocol mode instead.
> 
>           This is almost certainly not what you want.  This is mostly
>           useful for embedded applications or simple mice.
> 
>           To compile this driver as a module, choose M here: the
>           module will be called usbmouse.
> 
>           If even remotely unsure, say N.
> 
> Regards,
> Florian
> 
> 
> 
-- 
Regards,
Bengt Richter

^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#35574: bcm5974 touchpad is not recognized as touchpad
  2020-04-20 15:59       ` pelzflorian (Florian Pelz)
  2020-04-20 22:26         ` Bengt Richter
@ 2020-04-27  0:28         ` pelzflorian (Florian Pelz)
  2020-04-27  6:36           ` Mathieu Othacehe
  1 sibling, 1 reply; 19+ messages in thread
From: pelzflorian (Florian Pelz) @ 2020-04-27  0:28 UTC (permalink / raw)
  To: 35574

[-- Attachment #1: Type: text/plain, Size: 1251 bytes --]

On Mon, Apr 20, 2020 at 05:59:08PM +0200, pelzflorian (Florian Pelz) wrote:
> I will write and test a patch to disable the module in
> %default-extra-linux-options, like the description in linux-5.4.11
> source file drivers/hid/usbhid/Kconfig recommends:

The attached patch disables the usbmouse kernel module in the options
for linux-libre.  Otherwise, as described previously, the bcm5974
touchpad of Macbooks often erroneously gets assigned the usbmouse
kernel module instead of the bcm5974 kernel module.

Other than Macbooks, usbmouse is not used by any of my actual USB mice
and touchpads anyway (they use usbhid).  I cannot know if there are
exotic mice that need usbmouse, but Debian disables the usbmouse
module too and the description in the Linux kernel says about the
usbmouse module:
> This is almost certainly not what you want.  This is mostly
> useful for embedded applications or simple mice.

I tested the patch with linux-libre 5.4 on various x86_64 machines and
I tested 5.4, 4.19 and 4.4 on my Macbook.  I did not wait for
compilation to complete on non-Intel architectures, but I doubt the
patch causes problems.

I suppose this can go directly to master even though it requires the
linux-libre to be rebuilt?

Regards,
Florian

[-- Attachment #2: 0001-gnu-linux-libre-Disable-usbmouse-kernel-module.patch --]
[-- Type: text/plain, Size: 1442 bytes --]

From d9f9d4c34a8f4d42af3e90789267137d15d60bb9 Mon Sep 17 00:00:00 2001
From: Florian Pelz <pelzflorian@pelzflorian.de>
Date: Mon, 20 Apr 2020 19:03:57 +0200
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Subject: [PATCH] gnu: linux-libre: Disable usbmouse kernel module.

This avoids a race with the bcm5974 kernel module.
Fixes <https://bugs.gnu.org/35574>.

* gnu/packages/linux.scm (%default-extra-linux-options):
Disable CONFIG_USB_MOUSE.
---
 gnu/packages/linux.scm | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 2acbe649f0..5f2f17b31a 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -42,6 +42,7 @@
 ;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
 ;;; Copyright © 2020 Chris Marusich <cmmarusich@gmail.com>
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
+;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -618,7 +619,9 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
     ("CONFIG_VIRTIO_MMIO" . m)
     ("CONFIG_FUSE_FS" . m)
     ("CONFIG_CIFS" . m)
-    ("CONFIG_9P_FS" . m)))
+    ("CONFIG_9P_FS" . m)
+    ;; These modules cause trouble:
+    ("CONFIG_USB_MOUSE" . #f))) ;see <https://bugs.gnu.org/35574>
 
 (define (config->string options)
   (string-join (map (match-lambda
-- 
2.26.1


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* bug#35574: bcm5974 touchpad is not recognized as touchpad
  2020-04-20 22:26         ` Bengt Richter
@ 2020-04-27  0:32           ` pelzflorian (Florian Pelz)
  0 siblings, 0 replies; 19+ messages in thread
From: pelzflorian (Florian Pelz) @ 2020-04-27  0:32 UTC (permalink / raw)
  To: Bengt Richter; +Cc: 35574

On Tue, Apr 21, 2020 at 12:26:07AM +0200, Bengt Richter wrote:
> Could the module be needed "just in case" in an initrd
> but should be unloaded before pivoting in a normal case?

I don’t think normal USB mice need the module because they use the
usbhid kernel module.  Maybe there are exotic mice, but I don’t think
they are important (see the message where I attached the patch now).

Regards,
Florian

^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#35574: bcm5974 touchpad is not recognized as touchpad
  2020-04-27  0:28         ` pelzflorian (Florian Pelz)
@ 2020-04-27  6:36           ` Mathieu Othacehe
  2020-04-28  9:45             ` pelzflorian (Florian Pelz)
  0 siblings, 1 reply; 19+ messages in thread
From: Mathieu Othacehe @ 2020-04-27  6:36 UTC (permalink / raw)
  To: pelzflorian (Florian Pelz); +Cc: 35574


Hello Florian,

> I tested the patch with linux-libre 5.4 on various x86_64 machines and
> I tested 5.4, 4.19 and 4.4 on my Macbook.  I did not wait for
> compilation to complete on non-Intel architectures, but I doubt the
> patch causes problems.

Thanks for fixing this! This seems like a reasonable choice. However, I
noticed that on Ubuntu, CONFIG_USB_MOUSE is set to 'M'. So maybe they
have some special udev/blacklist rules to handle this case?

> I suppose this can go directly to master even though it requires the
> linux-libre to be rebuilt?

Yes, the kernel is frequently updated on master anyways.

Thanks,

Mathieu

^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#35574: bcm5974 touchpad is not recognized as touchpad
  2020-04-27  6:36           ` Mathieu Othacehe
@ 2020-04-28  9:45             ` pelzflorian (Florian Pelz)
  2020-04-28 14:10               ` Brice Waegeneire
  0 siblings, 1 reply; 19+ messages in thread
From: pelzflorian (Florian Pelz) @ 2020-04-28  9:45 UTC (permalink / raw)
  To: Mathieu Othacehe; +Cc: Brice Waegeneire, 35574

On Mon, Apr 27, 2020 at 08:36:37AM +0200, Mathieu Othacehe wrote:
> Thanks for fixing this! This seems like a reasonable choice. However, I
> noticed that on Ubuntu, CONFIG_USB_MOUSE is set to 'M'. So maybe they
> have some special udev/blacklist rules to handle this case?

Interesting.  Thank you for checking.  So maybe setting
CONFIG_USB_MOUSE=n in the kernel config is the wrong way.  I installed
Ubuntu and they just have a file /etc/modprobe.d/blacklist.conf
containing the lines

# these drivers are very simple, the HID drivers are usually preferred
blacklist usbmouse
blacklist usbkbd

I wonder if a default blacklist file would be more like the Guix way.
Or default blacklist kernel-arguments?  I remember a discussion by
Danny Milosavljevic and Brice Waegeneire about this at
<https://bugs.gnu.org/40274#128>.  All these avoid recompiling the
linux-libre package.

Danny, Brice, I’m putting you in Cc, maybe you have an opinion on
this?  I suppose I should not change %default-extra-linux-options.

Regards,
Florian

^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#35574: bcm5974 touchpad is not recognized as touchpad
  2020-04-28  9:45             ` pelzflorian (Florian Pelz)
@ 2020-04-28 14:10               ` Brice Waegeneire
  2020-04-29 15:27                 ` pelzflorian (Florian Pelz)
  0 siblings, 1 reply; 19+ messages in thread
From: Brice Waegeneire @ 2020-04-28 14:10 UTC (permalink / raw)
  To: pelzflorian (Florian Pelz); +Cc: 35574

Hello Florian,

On 2020-04-28 09:45, pelzflorian (Florian Pelz) wrote:
> Danny, Brice, I’m putting you in Cc, maybe you have an opinion on
> this?  I suppose I should not change %default-extra-linux-options.

Keeping this module enabled in the kernel seems a good idea, it allows
support for mice solely speaking Human Interface Device Boot Protocol
(HIDBP); probably somebody somewhere is unwittingly relying on it being
present by default in Guix.

> From the Linux kernel docs
> <https://www.kernel.org/doc/html/latest/input/devices/bcm5974.html>:
>> 5.2. USB Race
>> 
>> The Apple multi-touch trackpads report both mouse and keyboard events
>> via different interfaces of the same usb device. This creates a race
>> condition with the HID driver, which, if not told otherwise, will find
>> the standard HID mouse and keyboard, and claim the whole device. To
>> remedy, the usb product id must be listed in the mouse_ignore list of
>> the hid driver.
> Indeed for me on good boots, the command `lsusb -t` prints
>     |__ Port 3: Dev 2, If 2, Class=Human Interface Device, 
> Driver=bcm5974, 12M
> while on bad boots it says Driver=usbmouse.
> 
> But why that happens I do not know, because the mouse_ignore list in
> the Linux-libre kernel’s drivers/hid/hid-quirks.c file does list my
> touchpad.  Strange.  I will investigate further if a change to the
> kernel config could help.

FWI the issue span from the driver 'usbmouse'
(drivers/hid/usbhid/usbmouse.c) which doesn't use 
drivers/hid/hid-quirks.c
contrary to 'usbhid' (drivers/hid/usbhid/hid-core.c) which is using it.
This is probably why you did not report having an issue with 'usbhid'
racing with 'bcm597'; 'usbhid' is effectively prevented to take over 
your
touchpad by the quirks while 'usbmouse' isn't aware of it.

Passing arguments to the kernel to blacklist a module is the correct way 
of
doing this currently FWIU; it's already used in gnu/system/install.scm.

Cheers,
- Brice

^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#35574: bcm5974 touchpad is not recognized as touchpad
  2020-04-28 14:10               ` Brice Waegeneire
@ 2020-04-29 15:27                 ` pelzflorian (Florian Pelz)
  2020-04-29 15:38                   ` Mathieu Othacehe
  2020-05-01  9:15                   ` pelzflorian (Florian Pelz)
  0 siblings, 2 replies; 19+ messages in thread
From: pelzflorian (Florian Pelz) @ 2020-04-29 15:27 UTC (permalink / raw)
  To: Brice Waegeneire; +Cc: 35574

[-- Attachment #1: Type: text/plain, Size: 353 bytes --]

On Tue, Apr 28, 2020 at 02:10:58PM +0000, Brice Waegeneire wrote:
> Keeping this module enabled in the kernel seems a good idea,
> […]
> Passing arguments to the kernel to blacklist a module is the correct way of
> doing this currently FWIU; it's already used in gnu/system/install.scm.

Thank you.  Shall I push the attached patch?

Regards,
Florian

[-- Attachment #2: 0001-system-Blacklist-usbmouse-kernel-module-in-default-k.patch --]
[-- Type: text/plain, Size: 3260 bytes --]

From 67f8a33e669adc24ca2429e500a5137f12497191 Mon Sep 17 00:00:00 2001
From: Florian Pelz <pelzflorian@pelzflorian.de>
Date: Wed, 29 Apr 2020 17:17:55 +0200
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Subject: [PATCH] system: Blacklist usbmouse kernel module in default
 kernel-arguments.

This avoids a race with the bcm5974 kernel module.
Fixes <https://bugs.gnu.org/35574>.

* gnu/system.scm (%default-modprobe-blacklist): New variable.
(<operating-system>)[kernel-arguments]: Default to ...
(%default-kernel-arguments): ... this new variable.
* doc/guix.texi (operating-system Reference): Document the change.
---
 doc/guix.texi  |  2 +-
 gnu/system.scm | 16 ++++++++++++++--
 2 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index d0592220a7..c87283d97f 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -11274,7 +11274,7 @@ possible to use the GNU@tie{}Hurd.}.
 A list of objects (usually packages) to collect loadable kernel modules
 from--e.g. @code{(list ddcci-driver-linux)}.
 
-@item @code{kernel-arguments} (default: @code{'("quiet")})
+@item @code{kernel-arguments} (default: @code{%default-kernel-arguments})
 List of strings or gexps representing additional arguments to pass on
 the command-line of the kernel---e.g., @code{("console=ttyS0")}.
 
diff --git a/gnu/system.scm b/gnu/system.scm
index 3c511f4089..ab6982ef5e 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2019 Meiyo Peng <meiyo.peng@gmail.com>
 ;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org>
 ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
+;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -148,7 +149,8 @@
             %base-packages-linux
             %base-packages-networking
             %base-packages-utils
-            %base-firmware))
+            %base-firmware
+            %default-kernel-arguments))
 
 ;;; Commentary:
 ;;;
@@ -179,7 +181,7 @@
   (kernel-loadable-modules operating-system-kernel-loadable-modules
                     (default '()))                ; list of packages
   (kernel-arguments operating-system-user-kernel-arguments
-                    (default '("quiet")))         ; list of gexps/strings
+                    (default %default-kernel-arguments)) ; list of gexps/strings
   (bootloader operating-system-bootloader)        ; <bootloader-configuration>
   (label operating-system-label                   ; string
          (thunked)
@@ -488,6 +490,16 @@ possible (that is if there's a LINUX keyword argument in the build system)."
        ((#:linux kernel #f)
         target-kernel)))))
 
+(define %default-modprobe-blacklist
+  ;; List of kernel modules to blacklist by default.
+  '("usbmouse")) ;see <https://bugs.gnu.org/35574>
+
+(define %default-kernel-arguments
+  ;; Default arguments passed to the kernel.
+  (list (string-append "modprobe.blacklist="
+                       (string-join %default-modprobe-blacklist ","))
+        "quiet"))
+
 (define* (operating-system-directory-base-entries os)
   "Return the basic entries of the 'system' directory of OS for use as the
 value of the SYSTEM-SERVICE-TYPE service."
-- 
2.26.1


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* bug#35574: bcm5974 touchpad is not recognized as touchpad
  2020-04-29 15:27                 ` pelzflorian (Florian Pelz)
@ 2020-04-29 15:38                   ` Mathieu Othacehe
  2020-04-29 16:41                     ` pelzflorian (Florian Pelz)
  2020-05-01  9:15                   ` pelzflorian (Florian Pelz)
  1 sibling, 1 reply; 19+ messages in thread
From: Mathieu Othacehe @ 2020-04-29 15:38 UTC (permalink / raw)
  To: pelzflorian (Florian Pelz); +Cc: Brice Waegeneire, 35574


Hello Florian,

> This avoids a race with the bcm5974 kernel module.
> Fixes <https://bugs.gnu.org/35574>.

This seems indeed better than not building the module.

I know that (for now) having a mouse in the installer is not very
useful. But maybe `kernel-arguments' in (gnu system install) should
inherit from this field?

Thanks,

Mathieu




^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#35574: bcm5974 touchpad is not recognized as touchpad
  2020-04-29 15:38                   ` Mathieu Othacehe
@ 2020-04-29 16:41                     ` pelzflorian (Florian Pelz)
  2020-04-29 16:42                       ` pelzflorian (Florian Pelz)
  2020-05-01  8:33                       ` pelzflorian (Florian Pelz)
  0 siblings, 2 replies; 19+ messages in thread
From: pelzflorian (Florian Pelz) @ 2020-04-29 16:41 UTC (permalink / raw)
  To: Mathieu Othacehe; +Cc: Brice Waegeneire, 35574

On Wed, Apr 29, 2020 at 05:38:02PM +0200, Mathieu Othacehe wrote:
> I know that (for now) having a mouse in the installer is not very
> useful. But maybe `kernel-arguments' in (gnu system install) should
> inherit from this field?

Actually in my tests I no longer need the modprobe.blacklist=radeon on
my AMD PC.  I suggest the attached revert instead and will push it if
there are no objections.

Regards,
Florian




^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#35574: bcm5974 touchpad is not recognized as touchpad
  2020-04-29 16:41                     ` pelzflorian (Florian Pelz)
@ 2020-04-29 16:42                       ` pelzflorian (Florian Pelz)
  2020-04-29 18:31                         ` Mathieu Othacehe
  2020-05-01  8:33                       ` pelzflorian (Florian Pelz)
  1 sibling, 1 reply; 19+ messages in thread
From: pelzflorian (Florian Pelz) @ 2020-04-29 16:42 UTC (permalink / raw)
  To: Mathieu Othacehe; +Cc: Brice Waegeneire, 35574

[-- Attachment #1: Type: text/plain, Size: 136 bytes --]

On Wed, Apr 29, 2020 at 06:41:22PM +0200, pelzflorian (Florian Pelz) wrote:
> I suggest the attached revert instead

Forgot attachment.

[-- Attachment #2: 0001-Revert-install-Pass-modprobe.blacklist-radeon.patch --]
[-- Type: text/plain, Size: 1210 bytes --]

From: Florian Pelz <pelzflorian@pelzflorian.de>
Date: Wed, 29 Apr 2020 18:22:48 +0200
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Subject: [PATCH] Revert "install: Pass "modprobe.blacklist=radeon"."

This reverts commit 785919121066a10b291d783b6903b5e368e992a8, which is no longer
needed since uvesafb was added in 557e6820a77b24f8f3f03f28ee473137b1caeb64.
---
 gnu/system/install.scm | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index d31ed9a197..8804585215 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -471,12 +471,6 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m
     (label (string-append "GNU Guix installation "
                           (package-version guix)))
 
-    ;; XXX: The AMD Radeon driver is reportedly broken, which makes kmscon
-    ;; non-functional:
-    ;; <https://lists.gnu.org/archive/html/guix-devel/2019-03/msg00441.html>.
-    ;; Thus, blacklist it.
-    (kernel-arguments '("quiet" "modprobe.blacklist=radeon"))
-
     (file-systems
      ;; Note: the disk image build code overrides this root file system with
      ;; the appropriate one.
-- 
2.26.1


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* bug#35574: bcm5974 touchpad is not recognized as touchpad
  2020-04-29 16:42                       ` pelzflorian (Florian Pelz)
@ 2020-04-29 18:31                         ` Mathieu Othacehe
  2020-04-29 18:46                           ` Brice Waegeneire
  0 siblings, 1 reply; 19+ messages in thread
From: Mathieu Othacehe @ 2020-04-29 18:31 UTC (permalink / raw)
  To: pelzflorian (Florian Pelz); +Cc: Brice Waegeneire, 35574


> On Wed, Apr 29, 2020 at 06:41:22PM +0200, pelzflorian (Florian Pelz) wrote:
>> I suggest the attached revert instead

This patch and the associated revert look fine to me. Let's maybe wait
for Brice opinion.

In the meantime, if you could give me your opinion on:
https://lists.gnu.org/archive/html/guix-patches/2020-04/msg00707.html,
it would be great :)

Thanks,

Mathieu




^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#35574: bcm5974 touchpad is not recognized as touchpad
  2020-04-29 18:31                         ` Mathieu Othacehe
@ 2020-04-29 18:46                           ` Brice Waegeneire
  2020-05-01  8:57                             ` pelzflorian (Florian Pelz)
  0 siblings, 1 reply; 19+ messages in thread
From: Brice Waegeneire @ 2020-04-29 18:46 UTC (permalink / raw)
  To: Mathieu Othacehe; +Cc: 35574

On 2020-04-29 18:31, Mathieu Othacehe wrote:
>> On Wed, Apr 29, 2020 at 06:41:22PM +0200, pelzflorian (Florian Pelz) 
>> wrote:
>>> I suggest the attached revert instead
> 
> This patch and the associated revert look fine to me. Let's maybe wait
> for Brice opinion.
> 
> In the meantime, if you could give me your opinion on:
> https://lists.gnu.org/archive/html/guix-patches/2020-04/msg00707.html,
> it would be great :)
> 
> Thanks,
> 
> Mathieu

LGTM! I wonder if, as Ubuntu, we should also blacklist “usbkbd” the
counterpart of “usbmouse” or just to wait a bug report about it - if
it ever happen.

- Brice




^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#35574: bcm5974 touchpad is not recognized as touchpad
  2020-04-29 16:41                     ` pelzflorian (Florian Pelz)
  2020-04-29 16:42                       ` pelzflorian (Florian Pelz)
@ 2020-05-01  8:33                       ` pelzflorian (Florian Pelz)
  1 sibling, 0 replies; 19+ messages in thread
From: pelzflorian (Florian Pelz) @ 2020-05-01  8:33 UTC (permalink / raw)
  To: 35574

On Wed, Apr 29, 2020 at 06:41:20PM +0200, pelzflorian (Florian Pelz) wrote:
> Actually in my tests I no longer need the modprobe.blacklist=radeon on
> my AMD PC.  I suggest the attached revert instead and will push it if
> there are no objections.

Reverted as 73ddcab6075f60ef9b3cd72a35fbf7f5d622b6ef.




^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#35574: bcm5974 touchpad is not recognized as touchpad
  2020-04-29 18:46                           ` Brice Waegeneire
@ 2020-05-01  8:57                             ` pelzflorian (Florian Pelz)
  0 siblings, 0 replies; 19+ messages in thread
From: pelzflorian (Florian Pelz) @ 2020-05-01  8:57 UTC (permalink / raw)
  To: Brice Waegeneire; +Cc: 35574

On Wed, Apr 29, 2020 at 06:46:51PM +0000, Brice Waegeneire wrote:
> LGTM! I wonder if, as Ubuntu, we should also blacklist “usbkbd” the
> counterpart of “usbmouse” or just to wait a bug report about it - if
> it ever happen.

I will add usbkbd to the blacklist because
<https://www.willemp.be/cw/usbkbd/> claims there is a race with the
usbhid module and the Linux kernel documentation says usbhid has more
features and “Use usbhid instead if there isn’t any special reason to
use this.”

Thank you!

Regards,
Florian




^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#35574: bcm5974 touchpad is not recognized as touchpad
  2020-04-29 15:27                 ` pelzflorian (Florian Pelz)
  2020-04-29 15:38                   ` Mathieu Othacehe
@ 2020-05-01  9:15                   ` pelzflorian (Florian Pelz)
  1 sibling, 0 replies; 19+ messages in thread
From: pelzflorian (Florian Pelz) @ 2020-05-01  9:15 UTC (permalink / raw)
  To: 35574-done

Pushed as e06664da02a829c7fa8fd084aac47c837451d57a.  Closing.




^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2020-05-01  9:16 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-05  6:54 bug#35574: bcm5974 touchpad is not recognized as touchpad pelzflorian (Florian Pelz)
2019-05-05  7:41 ` pelzflorian (Florian Pelz)
     [not found]   ` <20200116233537.myczkgkwnfpn75hu@pelzflorian.localdomain>
2020-04-20 14:47     ` pelzflorian (Florian Pelz)
2020-04-20 15:59       ` pelzflorian (Florian Pelz)
2020-04-20 22:26         ` Bengt Richter
2020-04-27  0:32           ` pelzflorian (Florian Pelz)
2020-04-27  0:28         ` pelzflorian (Florian Pelz)
2020-04-27  6:36           ` Mathieu Othacehe
2020-04-28  9:45             ` pelzflorian (Florian Pelz)
2020-04-28 14:10               ` Brice Waegeneire
2020-04-29 15:27                 ` pelzflorian (Florian Pelz)
2020-04-29 15:38                   ` Mathieu Othacehe
2020-04-29 16:41                     ` pelzflorian (Florian Pelz)
2020-04-29 16:42                       ` pelzflorian (Florian Pelz)
2020-04-29 18:31                         ` Mathieu Othacehe
2020-04-29 18:46                           ` Brice Waegeneire
2020-05-01  8:57                             ` pelzflorian (Florian Pelz)
2020-05-01  8:33                       ` pelzflorian (Florian Pelz)
2020-05-01  9:15                   ` pelzflorian (Florian Pelz)

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).