Re: Goodix Drive issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

Sorry about that, I'll be sure to select reply all next time.

For some reason I am still getting nothing on the sudo i2cdetect unless I am doing something wrong, I have attached the command line results as a .txt

I will add, I am unsure if this makes a difference but the touchscreen supports, and the tablet comes with a battery powered stylus, I am unsure if this feature of the touchscreen could cause any issues?

Thanks,

Henry

On 19/03/2025 13:25, Hans de Goede wrote:
Hi Henry,

Note I've added linux-input@xxxxxxxxxxxxxxx back to the Cc,
please use reply-to-all to keep it in the Cc.

On 18-Mar-25 11:26 PM, Henry Isaac wrote:
Hello Hans

Sorry for the delay, had an issue with Endevour so I reinstalled but this time just used the normal Arch ISO (Sorry if his complicates things) I followed all the steps again and the new ones to be safe.

At the i2c_hid part of the file it just says address unavailable, I hope this helps!
Since the new dmesg was not send to the list, here are the 2 relevant
new messages after enabling i2c_hid.dyndbg:

[    5.553115] drivers/hid/i2c-hid/i2c-hid-core.c: HID probe called for i2c 0x5d
[    5.553819] i2c_hid_acpi i2c-GXTP7386:00: nothing at this address: -121

Henry, this means that either the touchscreen is not at that address,
or it is but it is not powered on.

The ACPI tables describe 5 possible touchscreens, there is
a possibility that somehow the wrong one is selected by the BIOS.

First lets try to see if there is a touchscreen at a different
i2c-address.

All ACPI touchscreen descriptions use the same i2c controller,
so first of all lets find out which i2c-bus Linux has assigned
to that controller, please run:

ls -l /sys/bus/i2c/devices/i2c-GXTP7386:00

Here is the output of that run on the touchscreen of a laptop:

lrwxrwxrwx. 1 root root 0 Mar 19 11:24 /sys/bus/i2c/devices/i2c-ELAN901C:00 -> ../../../devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-1/i2c-ELAN901C:00

notice the "/i2c-1/" in the output, this indicates that the touchscreen
on that laptop is on bus 1. Now install i2c-tools (not sure what
the Arch pkg name is) and run e.g.:

sudo modprobe i2c_dev
sudo i2cdetect -y -r 1

replacing "1" with the bus-number you found.

Here is example output from the same laptop:

      0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: 10 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

This shows a single device on this bus at address 0x10.

Maybe you will see a device here at address 0x10, 0x14,
0x38, 0x40 or 0x5d .

If you see a device at one of these addresses please
copy and paste the output in your next email and
then we will see from there.

OTOH if you don't see a device at any of these addresses
lets try to see if we can power the touchscreen up by setting
its GPIO. According to the ACPI info GPIO-controller
GPO0 pin 0x3a (pin 58) is used for the touchscreen enable.

First lets make sure that gpiochip0 matches GPO0,
install libgpiod-utils (Fedora pkg name) and run:

sudo gpiodetect

On your geminilake tablet I expect that to output
something like this:

gpiochip0 [INT3453:00] (80 lines)
gpiochip1 [INT3453:01] (80 lines)
gpiochip2 [INT3453:02] (20 lines)
gpiochip3 [INT3453:03] (35 lines)

The important thing here is that gpiochip0 is INT3453:00,
that may be different if there is some other GPIO chip
which got registered earlier.

Assuming that gpiochip0 is INT3453:00 lets try to turn
the touchpad on:

sudo gpioset -c gpiochip0 58=1

(and then press Ctrl+C because gpioset keeps running
to hold ownership over the GPIO)

and then re-run the i2cdetect:

sudo i2cdetect -y -r 1

again replacing "1" with the bus-number you found.

Hopefully a device will show up now, if it does
please copy and paste the output in your next email.

If there still is no device, then maybe the enable signal
is inverted, try running:

sudo gpioset -c gpiochip0 58=0
(and then press Ctrl+C again)

and re-run the i2cdetect:

sudo i2cdetect -y -r 1

Note if you do get a device found after running gpioset,
please also let me know if you got the device to show
up with 58=1 or with 58=0

Regards,

Hans

[henry@archlinux ~]$ ls -l /sys/bus/i2c/devices/i2c-GXTP7386:00
lrwxrwxrwx 1 root root 0 Mar 19 15:26 /sys/bus/i2c/devices/i2c-GXTP7386:00 -> ../../../devices/pci0000:00/0000:00:17.0/i2c_designware.4/i2c-9/i2c-GXTP7386:00
[henry@archlinux ~]$ sudo modprobe i2c_dev
[henry@archlinux ~]$ sudo i2cdetect -y -r 9
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
[henry@archlinux ~]$ yay -S libgpiod-utils
 -> No AUR package found for libgpiod-utils
 there is nothing to do
[henry@archlinux ~]$ yay -S libgpiod-utils
 -> No AUR package found for libgpiod-utils
 there is nothing to do
[henry@archlinux ~]$ yay -S libgpiod
Sync Explicit (1): libgpiod-2.1.2-2
resolving dependencies...
looking for conflicting packages...

Packages (1) libgpiod-2.1.2-2

Total Download Size:   0.13 MiB
Total Installed Size:  0.55 MiB

:: Proceed with installation? [Y/n] y
:: Retrieving packages...
 libgpiod-2.1.2-2-x86_64               137.0 KiB   926 KiB/s 00:00 [####################################] 100%
(1/1) checking keys in keyring                                     [####################################] 100%
(1/1) checking package integrity                                   [####################################] 100%
(1/1) loading package files                                        [####################################] 100%
(1/1) checking for file conflicts                                  [####################################] 100%
(1/1) checking available disk space                                [####################################] 100%
:: Processing package changes...
(1/1) installing libgpiod                                          [####################################] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
[henry@archlinux ~]$ sudo gpiodetect
gpiochip0 [INT3453:00] (80 lines)
gpiochip1 [INT3453:01] (80 lines)
gpiochip2 [INT3453:02] (20 lines)
gpiochip3 [INT3453:03] (35 lines)
[henry@archlinux ~]$ sudo gpioset -c gpiochip0 58=1
^C
[henry@archlinux ~]$ sudo i2cdetect -y -r 9
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
[henry@archlinux ~]$ sudo gpioset -c gpiochip0 58=0
^C
[henry@archlinux ~]$ sudo i2cdetect -y -r 9
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
[henry@archlinux ~]$ 

[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux