LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux From Scratch (https://www.linuxquestions.org/questions/linux-from-scratch-13/)
-   -   Touchpad not working in Asus ROG Strix g15 (https://www.linuxquestions.org/questions/linux-from-scratch-13/touchpad-not-working-in-asus-rog-strix-g15-4175715492/)

budrz89 08-08-2022 08:01 AM

Touchpad not working in Asus ROG Strix g15
 
5 Attachment(s)
Hi,

I'm trying to get my touchpad to work for a while now and I don't understand what I'm doing wrong.

I'm using the latest LFS build with kernel 5.16.9. I also have an initramfs setup to load the modules and firmware.

I've attached some outputs from a Devaun Chimaera live (with "-devuan.txt") and my LFS (with "-lfs.txt"). Also I've attached my config file for my kernel.

Any help would be appreciated.

smallpond 08-08-2022 09:20 AM

So the driver from devuan dmesg:

Code:

[    7.119460] input: ASUE120A:00 04F3:319B Mouse as /devices/platform/AMDI0010:00/i2c-0/i2c-ASUE120A:00/0018:04F3:319B.0001/input/input16
[    7.120741] input: ASUE120A:00 04F3:319B Touchpad as /devices/platform/AMDI0010:00/i2c-0/i2c-ASUE120A:00/0018:04F3:319B.0001/input/input17
[    7.121924] hid-multitouch 0018:04F3:319B.0001: input,hidraw0: I2C HID v1.00 Mouse [ASUE120A:00 04F3:319B] on i2c-ASUE120A:00

This shows it is connected by i2c and is a platform device. Configuration info is provided by the platform description.

In the LFS dmesg there is a warning:

Code:

[    0.245126] ------------[ cut here ]------------
[    0.245127] WARNING: CPU: 0 PID: 1 at drivers/i2c/busses/i2c-designware-common.c:471 i2c_dw_clk_rate+0x11/0x20
[    0.245131] Modules linked in:
[    0.245132] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.16.9 #6
[    0.245133] Hardware name: ASUSTeK COMPUTER INC. ROG Strix G513QY_G513QY/G513QY, BIOS G513QY.313 07/30/2021
[    0.245134] RIP: 0010:i2c_dw_clk_rate+0x11/0x20

https://elixir.bootlin.com/linux/v5....-common.c#L471
It's unable to get the i2c clock rate from the driver. In the Devuan code it gets it from the platform code and doesn't call this routine. You may be missing some patch in your platform code.

budrz89 08-08-2022 11:23 AM

Interesting. In 5.18.16 version they removed that err check.

I'll try upgrading the kernel and see if that fixes anything.

EDIT: I meant on line 480, but that seems irrelevant.

budrz89 08-08-2022 02:50 PM

Upgrading the kernel didn't fix the problem.

EDIT: I even added some i2c_designware modules (like what was done in Archlinux config: https://github.com/archlinux/svntogi...x/trunk/config ) and it didn't really fix it.

smallpond 08-11-2022 01:00 PM

Please add the output of dmidecode.

budrz89 08-27-2022 06:53 AM

2 Attachment(s)
Sorry for the late reply.

@smallpond, I've attached the dmidecode output. It looks like it says that PS/2 type touchpad. I've tried building the mouse PS/2 and hid-multitouch as a module and built-in but neither seemed to solve the problem.

EDIT: attached is my latest kernel config file.

budrz89 08-29-2022 03:39 AM

Breakthrough guys!

I managed to get my mouse working!

Here is an outline of the steps:

0. Login to your host system, mount your partitions and make the necessary links before you chroot and chroot into your LFS system.

1. I downloaded the generic config file (the .x64 version for me depending on your architecture) from:

https://mirrors.slackware.com/slackw...ernel-configs/

2. Ran

Code:

make menuconfig
changed the host name (CONFIG_DEFAULT_HOSTNAME) to whatever your hostname is, saved and exited.

Note: you may get some warnings saying that 'm' is not a valid module which is fine if it's not a module that you need (which was the case for me). This happens because kernel configs get updated all the time from version to version.

3. Build and install the package (the usual make, make modules_install, etc.)

(See: https://www.linuxfromscratch.org/lfs...10/kernel.html )

4. Downloaded all of the files from:

https://mirrors.slackware.com/slackw...ce/a/mkinitrd/

(a recursive wget may be useful here, like

Code:

wget -r l6 -np -nc --reject "index.html*" -e robots=off
Then you can check the integrity of each file using sha256sums -c *.sha256)

5. Make some changes to the 'Slackbuild" script depending on your package manager (if you have one).

6. Build and install the mkinitrd package.

7. Read the README.initrd.

Tip: If you need to add extra nodules other than ext4 (for example), do:

Code:

mkinitrd -c -k @KERNEL_VERSION@ -m ext4:<module 1>:<module 2>:...
8. Checked some of the modules loaded on my host system

Code:

# lsmod
and

Code:

# dmesg | grep 'i2c' # for example
and particularly look for the words "modules linked". You may have to change the "_" to "-" for the module name.

Some of the modules that I listed in the mkinitrd were

Code:

i2c-hid
hid-multitouch
hid-asus

(some may not be necessary).

9. cd'd into /boot and decompressed the initrd.gz file.

10. Updated my grub.cfg file to include the initrd file (see: https://www.linuxfromscratch.org/blf...initramfs.html )

11. Exited chroot, unmounted the partitions and rebooted.

It almost feels like cheating that I had to use a config file and a mkinitrd from another distro like Slackware, but I figured that they got a working config file so why not use it.

Now it's late for me so I'm going to bed (happy) now that I finally put this to bed after weeks of racking my head on this.


All times are GMT -5. The time now is 09:44 AM.