New kernels

AmigaOne X1000 platform specific issues related to Linux only.
User avatar
xeno74
Posts: 9319
Joined: Fri Mar 23, 2012 7:58 am

Re: New kernels

Post by xeno74 »

musa wrote: Wed Dec 21, 2022 1:37 pm Hi
Adelie 1.0 rc2 with Kernel vmlinux-6.2_a2
Thank you for testing!
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9319
Joined: Fri Mar 23, 2012 7:58 am

Re: New kernels

Post by xeno74 »

Hi All,

I bisected today because of the reboot issues of the X1000. Actually, a reboot works but the CFE is not loaded. Maybe there is still something in the memory after the reboot.

About bisecting:
Git bisect is like a little wizard that walks you through recent commits, asks you if they are good or bad, and narrows down the broken commit.
Git bisect starts with the midpoint commit. The midpoint commit is between the initial good commit and the initial bad commit.
If the midpoint commit was good, you know the commit that introduced the change is between your midpoint and the initial bad commit.
If the midpoint commit was bad, you know the commit that introduced the change is between your midpoint and the initial good commit.
After that git bisect selects a new midpoint in the area where the commit was bad. And this is repeated over and over again till the bad commit has been found.
  1. Code: Select all

    git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a
    or

    Code: Select all

    git clone --depth=1 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a
  2. Code: Select all

    git bisect start
  3. Code: Select all

    git bisect good 76dcd734eca23168cb008912c0f69ff408905235
    (Good: Linux 6.1-rc8)
  4. Code: Select all

    git bisect bad 830b3c68c1fb1e9176028d02ef86f3cf76aa2476
    (Bad: Linux 6.1)
    Output:

    Code: Select all

    Bisecting: 83 revisions left to test after this (roughly 6 steps)
    [cdd97383e19d4afe29adc3376025a15ae3bab3a3] net: mvneta: Fix an out of bounds check
  5. git bisect good
    Output:

    Code: Select all

    Bisecting: 38 revisions left to test after this (roughly 5 steps)
    [ce19275f0103934828cb19712b6d8552c39476c8] Merge tag 'for-linus-2022120801' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid
  6. git bisect bad
    Output:

    Code: Select all

    Bisecting: 23 revisions left to test after this (roughly 5 steps)
    [57fb3f66a3aa3e92b6008124bfa641702bd69a53] Merge tag 'ata-6.1-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata
  7. git bisect good
    Output:

    Code: Select all

    Bisecting: 12 revisions left to test after this (roughly 4 steps)
    [7f043b7662b6a9cfa981c02199ac939ed1c11372] Merge tag 'loongarch-fixes-6.1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
  8. git bisect good
    Output:

    Code: Select all

    Bisecting: 6 revisions left to test after this (roughly 3 steps)
    [ec61b41918587be530398b0d1c9a0d16619397e5] HID: core: fix shift-out-of-bounds in hid_report_raw_event
  9. git bisect good
    Output:

    Code: Select all

    Bisecting: 3 revisions left to test after this (roughly 2 steps)
    [a9d9e46c755a189ccb44d91b8cf737742a975de8] Revert "HID: logitech-hidpp: Enable HID++ for all the Logitech Bluetooth devices"
  10. git bisect bad
    Output:

    Code: Select all

    Bisecting: 0 revisions left to test after this (roughly 1 step)
    [40f2432b53a01b6d5e3a9057f1d5c406930e1360] Revert "HID: logitech-hidpp: Remove special-casing of Bluetooth devices"
  11. git bisect bad
    Output:

    Code: Select all

    Bisecting: 0 revisions left to test after this (roughly 0 steps)
    [f6d910a89a2391e5ce1f275d205023880a33d3f8] HID: usbhid: Add ALWAYS_POLL quirk for some mice
  12. git bisect bad
    Output:

    Code: Select all

    f6d910a89a2391e5ce1f275d205023880a33d3f8 is the first bad commit
    commit f6d910a89a2391e5ce1f275d205023880a33d3f8
    Author: Ankit Patel <anpatel@nvidia.com>
    Date:   Tue Nov 22 15:35:20 2022 +0800
    
        HID: usbhid: Add ALWAYS_POLL quirk for some mice
    
        Some additional USB mouse devices are needing ALWAYS_POLL quirk without
        which they disconnect and reconnect every 60s.
    
        Add below devices to the known quirk list.
        CHERRY    VID 0x046a, PID 0x000c
        MICROSOFT VID 0x045e, PID 0x0783
        PRIMAX    VID 0x0461, PID 0x4e2a
    
        Signed-off-by: Ankit Patel <anpatel@nvidia.com>
        Signed-off-by: Haotien Hsu <haotienh@nvidia.com>
        Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    
     drivers/hid/hid-ids.h    | 3 +++
     drivers/hid/hid-quirks.c | 3 +++
     2 files changed, 6 insertions(+)
Result: f6d910a89a2391e5ce1f275d205023880a33d3f8 (HID: usbhid: Add ALWAYS_POLL quirk for some mice) is the first bad commit.

I was able to revert the first bad commit.

Code: Select all

git revert f6d910a89a2391e5ce1f275d205023880a33d3f8

Code: Select all

Revert "HID: usbhid: Add ALWAYS_POLL quirk for some mice"

This reverts commit f6d910a89a2391e5ce1f275d205023880a33d3f8.

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch master
# Your branch is up to date with 'origin/master'.
#
# Changes to be committed:
#       modified:   drivers/hid/hid-ids.h
#       modified:   drivers/hid/hid-quirks.c

Code: Select all

git revert f6d910a89a2391e5ce1f275d205023880a33d3f8
[master 6343700ffebb] Revert "HID: usbhid: Add ALWAYS_POLL quirk for some mice"
 2 files changed, 6 deletions(-)
I compiled a new kernel without the first bad commit and the reboot works without any problems.

I created a patch for reverting the bad commit.

Code: Select all

diff -rupN a b > usbhid.patch
usbhid.patch:

Code: Select all

diff -rupN a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
--- a/drivers/hid/hid-ids.h	2022-12-22 10:24:06.842881276 +0100
+++ b/drivers/hid/hid-ids.h	2022-12-22 10:23:35.903328869 +0100
@@ -274,7 +274,6 @@
 #define USB_DEVICE_ID_CH_AXIS_295	0x001c
 
 #define USB_VENDOR_ID_CHERRY		0x046a
-#define USB_DEVICE_ID_CHERRY_MOUSE_000C	0x000c
 #define USB_DEVICE_ID_CHERRY_CYMOTION	0x0023
 #define USB_DEVICE_ID_CHERRY_CYMOTION_SOLAR	0x0027
 
@@ -919,7 +918,6 @@
 #define USB_DEVICE_ID_MS_XBOX_ONE_S_CONTROLLER	0x02fd
 #define USB_DEVICE_ID_MS_PIXART_MOUSE    0x00cb
 #define USB_DEVICE_ID_8BITDO_SN30_PRO_PLUS      0x02e0
-#define USB_DEVICE_ID_MS_MOUSE_0783      0x0783
 
 #define USB_VENDOR_ID_MOJO		0x8282
 #define USB_DEVICE_ID_RETRO_ADAPTER	0x3201
@@ -1388,7 +1386,6 @@
 
 #define USB_VENDOR_ID_PRIMAX	0x0461
 #define USB_DEVICE_ID_PRIMAX_MOUSE_4D22	0x4d22
-#define USB_DEVICE_ID_PRIMAX_MOUSE_4E2A	0x4e2a
 #define USB_DEVICE_ID_PRIMAX_KEYBOARD	0x4e05
 #define USB_DEVICE_ID_PRIMAX_REZEL	0x4e72
 #define USB_DEVICE_ID_PRIMAX_PIXART_MOUSE_4D0F	0x4d0f
diff -rupN a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c
--- a/drivers/hid/hid-quirks.c	2022-12-22 10:24:06.844881247 +0100
+++ b/drivers/hid/hid-quirks.c	2022-12-22 10:23:35.904328855 +0100
@@ -54,7 +54,6 @@ static const struct hid_device_id hid_qu
 	{ HID_USB_DEVICE(USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_FLIGHT_SIM_YOKE), HID_QUIRK_NOGET },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_PRO_PEDALS), HID_QUIRK_NOGET },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_PRO_THROTTLE), HID_QUIRK_NOGET },
-	{ HID_USB_DEVICE(USB_VENDOR_ID_CHERRY, USB_DEVICE_ID_CHERRY_MOUSE_000C), HID_QUIRK_ALWAYS_POLL },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_CORSAIR, USB_DEVICE_ID_CORSAIR_K65RGB), HID_QUIRK_NO_INIT_REPORTS },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_CORSAIR, USB_DEVICE_ID_CORSAIR_K65RGB_RAPIDFIRE), HID_QUIRK_NO_INIT_REPORTS | HID_QUIRK_ALWAYS_POLL },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_CORSAIR, USB_DEVICE_ID_CORSAIR_K70RGB), HID_QUIRK_NO_INIT_REPORTS },
@@ -123,7 +122,6 @@ static const struct hid_device_id hid_qu
 	{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_MOUSE_C05A), HID_QUIRK_ALWAYS_POLL },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_MOUSE_C06A), HID_QUIRK_ALWAYS_POLL },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_MCS, USB_DEVICE_ID_MCS_GAMEPADBLOCK), HID_QUIRK_MULTI_INPUT },
-	{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_MOUSE_0783), HID_QUIRK_ALWAYS_POLL },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_PIXART_MOUSE), HID_QUIRK_ALWAYS_POLL },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_POWER_COVER), HID_QUIRK_NO_INIT_REPORTS },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE3_COVER), HID_QUIRK_NO_INIT_REPORTS },
@@ -148,7 +146,6 @@ static const struct hid_device_id hid_qu
 	{ HID_USB_DEVICE(USB_VENDOR_ID_PIXART, USB_DEVICE_ID_PIXART_OPTICAL_TOUCH_SCREEN), HID_QUIRK_NO_INIT_REPORTS },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_PIXART, USB_DEVICE_ID_PIXART_USB_OPTICAL_MOUSE), HID_QUIRK_ALWAYS_POLL },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_MOUSE_4D22), HID_QUIRK_ALWAYS_POLL },
-	{ HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_MOUSE_4E2A), HID_QUIRK_ALWAYS_POLL },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_PIXART_MOUSE_4D0F), HID_QUIRK_ALWAYS_POLL },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_PIXART_MOUSE_4D65), HID_QUIRK_ALWAYS_POLL },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_PIXART_MOUSE_4E22), HID_QUIRK_ALWAYS_POLL },
I compiled the kernel with this patch.

patch -p0 < usbhid.patch

Code: Select all

patching file a/drivers/hid/hid-ids.h
patching file a/drivers/hid/hid-quirks.c
After that, the X1000 reboots without any problems.

I use a Cherry USB mouse:

Code: Select all

Bus 003 Device 002: ID 046a:000c Cherry GmbH 
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x046a Cherry GmbH
  idProduct          0x000c 
  bcdDevice            8.10
  iManufacturer           0 
  iProduct                0 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0022
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      2 Mouse
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.00
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      52
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0004  1x 4 bytes
        bInterval              10
I reported this issue to the mailing list today.

Link: [PASEMI] Nemo board doesn't reboot anymore after the commit "HID: usbhid: Add ALWAYS_POLL quirk for some mice"

Cheers,
Christian
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9319
Joined: Fri Mar 23, 2012 7:58 am

Re: New kernels

Post by xeno74 »

I also reported this issue on the linux-input.vger.kernel.org mailing list yesterday:

[PASEMI] Nemo board doesn't reboot anymore after the commit "HID: usbhid: Add ALWAYS_POLL quirk for some mice"
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9319
Joined: Fri Mar 23, 2012 7:58 am

Re: New kernels

Post by xeno74 »

Hi All,

Here is the third alpha of kernel 6.2 for testing.

New:
Download: linux-image-6.2-alpha3-X1000_X5000.tar.gz

Image

Please test the kernels.

Thanks,
Christian
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
musa
Posts: 709
Joined: Tue Aug 23, 2011 7:58 pm

Re: New kernels

Post by musa »

Hi
Debian 64 bit with vmlinux-6.2_a3
Have a nice day

Image
AmigaX1000
Follow me on twitter @basjoo_dk
User avatar
xeno74
Posts: 9319
Joined: Fri Mar 23, 2012 7:58 am

Re: New kernels

Post by xeno74 »

musa wrote: Fri Dec 23, 2022 12:07 pm Hi
Debian 64 bit with vmlinux-6.2_a3
Have a nice day
Many thanks for testing! :-)
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
musa
Posts: 709
Joined: Tue Aug 23, 2011 7:58 pm

Re: New kernels

Post by musa »

Hi
I boot Debian bookworm/sid ppc 32 bit with linux-6.2_rc1 .


Image

Happy new Year
Musa
AmigaX1000
Follow me on twitter @basjoo_dk
User avatar
xeno74
Posts: 9319
Joined: Fri Mar 23, 2012 7:58 am

Re: New kernels

Post by xeno74 »

musa wrote: Thu Dec 29, 2022 7:23 pm Hi
I boot Debian bookworm/sid ppc 32 bit with linux-6.2_rc1 .

Happy new Year
Musa
Hi Musa,

Thanks a lot for testing the RC1! :-)

Happy new Year for you too.

Cheers,
Christian
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9319
Joined: Fri Mar 23, 2012 7:58 am

Re: New kernels

Post by xeno74 »

The RC2 doesn't link after compiling.

Error messages:

X5000 Linux kernel:

Code: Select all

  LD      .tmp_vmlinux.kallsyms1
`.exit.text' referenced in section `__bug_table' of crypto/algboss.o: defined in discarded section `.exit.text' of crypto/algboss.o
`.exit.text' referenced in section `__bug_table' of crypto/algif_hash.o: defined in discarded section `.exit.text' of crypto/algif_hash.o
`.exit.text' referenced in section `__bug_table' of drivers/char/hw_random/core.o: defined in discarded section `.exit.text' of drivers/char/hw_random/core.o
make[1]: *** [scripts/Makefile.vmlinux:34: vmlinux] Error 1
make: *** [Makefile:1252: vmlinux] Error 2
X1000 Linux kernel:

Code: Select all

powerpc-linux-gnu-ld: warning: discarding dynamic section .rela___ksymtab_gpl+xas_store
`.exit.text' referenced in section `__bug_table' of crypto/algboss.o: defined in discarded section `.exit.text' of crypto/algboss.o
`.exit.text' referenced in section `__bug_table' of drivers/char/hw_random/core.o: defined in discarded section `.exit.text' of drivers/char/hw_random/core.o
make[1]: *** [scripts/Makefile.vmlinux:34: vmlinux] Error 1
make: *** [Makefile:1252: vmlinux] Error 2
The problem is already known: [powerpc]Build (ld) failure 6.2-rc2

Reverting the patch "arch: fix broken BuildID for arm64 and riscv has solved the issue.

Code: Select all

git revert 99cb0d917ffa1ab628bb67364ca9b162c07699b1
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
Post Reply