# Laptop Touchpad need help [SOLVED]

## sleepingsun

Need help i install Gentoo Linux on my laptop too everything's work fine but read across forum try everything but touchpad doesn't work ... when boot in minimal cd working and get next info:

```
0b05:1001   i2c  i2c-fte1001:00 Asus Touchpad   KEY ABS
```

Try to found in kernel but can see it !

```
uname -a

Linux damir 5.4.72-gentoo #13 SMP Mon Nov 23 20:59:06 CET 2020 x86_64 Intel(R) Celeron(R) CPU N3060 @ 1.60GHz GenuineIntel GNU/Linux 
```

Laptop is Asus x540SA

Need help

----------

## halcon

Maybe the support for your touchpad model is not enabled in the kernel.

Is the snippet that you quoted from 

```
lspci -nn -k
```

? Is there "Kernel driver in use" line?

EDIT

There is an old bugreport: https://bugzilla.kernel.org/show_bug.cgi?id=120181

----------

## sleepingsun

If you know where is this thing in kernel please tell me i search and cross all line for this and cant find it 

```
 lspci -nn -k

00:00.0 Host bridge [0600]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series SoC Transaction Register [8086:2280] (rev 35)

        Subsystem: ASUSTeK Computer Inc. Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series SoC Transaction Register [1043:10c0]

        Kernel driver in use: iosf_mbi_pci

00:02.0 VGA compatible controller [0300]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller [8086:22b1] (rev 35)

        Subsystem: ASUSTeK Computer Inc. Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller [1043:10c0]

        Kernel driver in use: i915

00:0b.0 Signal processing controller [1180]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Power Management Controller [8086:22dc] (rev 35)

        Subsystem: ASUSTeK Computer Inc. Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Power Management Controller [1043:10c0]

00:13.0 SATA controller [0106]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series SATA Controller [8086:22a3] (rev 35)

        Subsystem: ASUSTeK Computer Inc. Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series SATA Controller [1043:10c0]

        Kernel driver in use: ahci

00:14.0 USB controller [0c03]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series USB xHCI Controller [8086:22b5] (rev 35)

        Subsystem: ASUSTeK Computer Inc. Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series USB xHCI Controller [1043:10c0]

        Kernel driver in use: xhci_hcd

00:1a.0 Encryption controller [1080]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Trusted Execution Engine [8086:2298] (rev 35)

        Subsystem: ASUSTeK Computer Inc. Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Trusted Execution Engine [1043:10c0]

        Kernel driver in use: mei_txe

00:1b.0 Audio device [0403]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series High Definition Audio Controller [8086:2284] (rev 35)

        Subsystem: ASUSTeK Computer Inc. Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series High Definition Audio Controller [1043:10c0]

        Kernel driver in use: snd_hda_intel

00:1c.0 PCI bridge [0604]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCI Express Port #1 [8086:22c8] (rev 35)

        Kernel driver in use: pcieport

00:1c.2 PCI bridge [0604]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCI Express Port #3 [8086:22cc] (rev 35)

        Kernel driver in use: pcieport

00:1c.3 PCI bridge [0604]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCI Express Port #4 [8086:22ce] (rev 35)

        Kernel driver in use: pcieport

00:1f.0 ISA bridge [0601]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCU [8086:229c] (rev 35)

        Subsystem: ASUSTeK Computer Inc. Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCU [1043:10c0]

        Kernel driver in use: lpc_ich

00:1f.3 SMBus [0c05]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx SMBus Controller [8086:2292] (rev 35)

        Subsystem: ASUSTeK Computer Inc. Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx SMBus Controller [1043:10c0]

        Kernel driver in use: i801_smbus

02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL810xE PCI Express Fast Ethernet controller [10ec:8136] (rev 07)

        Subsystem: ASUSTeK Computer Inc. RTL810xE PCI Express Fast Ethernet controller [1043:200f]

        Kernel driver in use: r8169

03:00.0 Network controller [0280]: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter [168c:0036] (rev 01)

        Subsystem: AzureWave QCA9565 / AR9565 Wireless Network Adapter [1a3b:213a]

        Kernel driver in use: ath9k
```

----------

## Anon-E-moose

Go to the bios and turn off advanced mode (forget what they call it) that applies to the touchpad. 

Windows understands advanced mode (gestures, etc) linux doesn't

If that doesn't fix it, then I'm not sure what will.

If it doesn't work with the above, then does it work if you boot into something like systemrescuecd?

----------

## halcon

CONFIG_MOUSE_ELAN_I2C should be enabled in your kernel .config (better as module).

If it's enabled, then, maybe look at

a newer bugreport: https://bugzilla.kernel.org/show_bug.cgi?id=200663

```
rmmod hid-multitouch && insmod hid-multitouch
```

and there is also a patch

https://github.com/mishurov/linux_elan1200_touchpad

and an ebuild for it

https://gpo.zugaina.org/sys-kernel/linux-elan1200-touchpad/Dep

EDIT:

Though, the patch is for 1200 and you have 1001...

----------

## sleepingsun

Advanced mod is off and when i boot minimal cd works and get this:

```
lsinput list-device

 

0b05:1001   i2c  i2c-fte1001:00 Asus Touchpad   KEY ABS
```

as i already post and also can move in screen when i boot installed doesn't work and try to found this driver in kernel

----------

## Anon-E-moose

 *sleepingsun wrote:*   

> Advanced mod is off and when i boot minimal cd works and get this:
> 
> ```
> lsinput list-device
> 
> ...

 

If the minimal cd works, then see what the difference between the working config and your non-working one is.  This isn't rocket science.

Edit to add: also look at the modules that are loaded on the system that works, it will give hints in which area of the kernel config to look at.

----------

## NeddySeagoon

sleepingsun,

Its an i2c bus device. You need i2c support in your kernel, then maybe a driver for your device.

Put your kernel .config file onto a pastebin site.

----------

## sleepingsun

```
/usr/src/linux/.config
```

```
 https://dpaste.com/GJGVC33HE
```

----------

## halcon

sleepingsun,

Did you try running 

```
lspci -nn -k
```

 in the minimal CD environment? Write down which 'driver in use' is there for the touchpad: some_driver_model_bla_bla

Then you could try to find which CONFIG_BLA_BLA should be enabled in menuconfig for building that driver. Run (on the installed system):

```
grep -r --include=Makefile ' some-driver-model-bla-bla.o' /usr/src/linux
```

replace _ with - and add .o   ^^

EDIT

The command above should always work with the value of Kernel modules:

```
0b:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Zeppelin USB 3.0 Host controller [1022:145f]

        Subsystem: Gigabyte Technology Co., Ltd Zeppelin USB 3.0 Host controller [1458:5007]

        Kernel driver in use: xhci_hcd

        Kernel modules: xhci_pci
```

```
# grep -r --include=Makefile ' xhci-pci.o' /usr/src/linux

/usr/src/linux/drivers/usb/host/Makefile:obj-$(CONFIG_USB_XHCI_PCI)     += xhci-pci.o
```

Sometimes it works also with Kernel driver in use:

```
# grep -r --include=Makefile ' xhci-hcd.o' /usr/src/linux

/usr/src/linux/drivers/usb/host/Makefile:obj-$(CONFIG_USB_XHCI_HCD)     += xhci-hcd.o
```

But not always:

```
00:1f.3 SMBus [0c05]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx SMBus Controller [8086:2292] (rev 35)

        Subsystem: ASUSTeK Computer Inc. Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx SMBus Controller [1043:10c0]

        Kernel driver in use: i801_smbus

        Kernel modules: i2c_i801
```

(sleepingsun, it's from your lspci ^^ and it doesn't work, at least on my machine)

```
# grep -r --include=Makefile ' i801-smbus.o' /usr/src/linux

# grep -r --include=Makefile ' i2c-i801.o' /usr/src/linux

/usr/src/linux/drivers/i2c/busses/Makefile:obj-$(CONFIG_I2C_I801)               += i2c-i801.o
```

----------

## sleepingsun

```
lspci -nn -k

00:00.0 Host bridge [0600]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series SoC Transaction Register [8086:2280] (rev 35)

        Subsystem: ASUSTeK Computer Inc. Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series SoC Transaction Register [1043:10c0]

        Kernel driver in use: iosf_mbi_pci

00:02.0 VGA compatible controller [0300]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller [8086:22b1] (rev 35)

        Subsystem: ASUSTeK Computer Inc. Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller [1043:10c0]

00:0b.0 Signal processing controller [1180]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Power Management Controller [8086:22dc] (rev 35)

        Subsystem: ASUSTeK Computer Inc. Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Power Management Controller [1043:10c0]

00:13.0 SATA controller [0106]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series SATA Controller [8086:22a3] (rev 35)

        Subsystem: ASUSTeK Computer Inc. Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series SATA Controller [1043:10c0]

        Kernel driver in use: ahci

        Kernel modules: ahci

00:14.0 USB controller [0c03]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series USB xHCI Controller [8086:22b5] (rev 35)

        Subsystem: ASUSTeK Computer Inc. Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series USB xHCI Controller [1043:10c0]

        Kernel driver in use: xhci_hcd

        Kernel modules: xhci_pci

00:1a.0 Encryption controller [1080]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Trusted Execution Engine [8086:2298] (rev 35)

        Subsystem: ASUSTeK Computer Inc. Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Trusted Execution Engine [1043:10c0]

00:1b.0 Audio device [0403]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series High Definition Audio Controller [8086:2284] (rev 35)

        Subsystem: ASUSTeK Computer Inc. Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series High Definition Audio Controller [1043:10c0]

        Kernel driver in use: snd_hda_intel

        Kernel modules: snd_hda_intel

00:1c.0 PCI bridge [0604]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCI Express Port #1 [8086:22c8] (rev 35)

        Kernel driver in use: pcieport

00:1c.2 PCI bridge [0604]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCI Express Port #3 [8086:22cc] (rev 35)

        Kernel driver in use: pcieport

00:1c.3 PCI bridge [0604]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCI Express Port #4 [8086:22ce] (rev 35)

        Kernel driver in use: pcieport

00:1f.0 ISA bridge [0601]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCU [8086:229c] (rev 35)

        Subsystem: ASUSTeK Computer Inc. Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCU [1043:10c0]

        Kernel driver in use: lpc_ich

        Kernel modules: lpc_ich

00:1f.3 SMBus [0c05]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx SMBus Controller [8086:2292] (rev 35)

        Subsystem: ASUSTeK Computer Inc. Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx SMBus Controller [1043:10c0]

        Kernel driver in use: i801_smbus

        Kernel modules: i2c_i801

02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL810xE PCI Express Fast Ethernet controller [10ec:8136] (rev 07)

        Subsystem: ASUSTeK Computer Inc. RTL810xE PCI Express Fast Ethernet controller [1043:200f]

        Kernel driver in use: r8169

        Kernel modules: r8169

03:00.0 Network controller [0280]: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter [168c:0036] (rev 01)

        Subsystem: AzureWave QCA9565 / AR9565 Wireless Network Adapter [1a3b:213a]

        Kernel driver in use: ath9k

        Kernel modules: ath9k
```

----------

## dmpogo

 *halcon wrote:*   

> sleepingsun,
> 
> Did you try running 
> 
> ```
> ...

 

Touchpad is not PCI device - why would it be listed by   lspci ?    It is certainly not   on my Lenovo Thinkpad.    As was mentioned, it is probably device on i2c bus.  In Lenovo cases Synaptics touchpads

can be accessed through  RMI4 bus .   Check device drivers/input device support in kernel config.Last edited by dmpogo on Wed Nov 25, 2020 9:10 pm; edited 1 time in total

----------

## halcon

 *dmpogo wrote:*   

> Touchpad is not PCI device - why would it be list by   lspci ?    It certainly is not   on my Lenovo Thinkpad.    As was mentioned, it is probable device on i2c bus.  In Lenovo cases Synaptics touchpads can be accessed through  RMI4 bus.

 

Thanks for the clarification. I have seen NeddySeagoon mentioning i2c but I thought that lspci shouild list it anyway (and didn't check on my laptop).

----------

## dmpogo

 *halcon wrote:*   

>  *dmpogo wrote:*   Touchpad is not PCI device - why would it be list by   lspci ?    It certainly is not   on my Lenovo Thinkpad.    As was mentioned, it is probable device on i2c bus.  In Lenovo cases Synaptics touchpads can be accessed through  RMI4 bus. 
> 
> Thanks for the clarification. I have seen NeddySeagoon mentioning i2c but I thought that lspci shouild list it anyway (and didn't check on my laptop).

 

Actually, I was probably inaccurate as well,  My Synaptics sits on SMBus while RMI4 is a protocol,  replacing PS/2 protocol.    lspci shows PCI device that provides SMBus, driven by i801_smbus module, but not what uses it.

----------

## halcon

So many details here and there... how to be accurate in everything?

----------

## sleepingsun

```
posted up from minimal cd boot and posted because halcon tell me ... lspci -nn -k
```

Also I try RMI4 bus and enable but still doesn't work

```
 cat /proc/bus/input/devices

I: Bus=0011 Vendor=0001 Product=0001 Version=ab41

N: Name="AT Translated Set 2 keyboard"

P: Phys=isa0060/serio0/input0

S: Sysfs=/devices/platform/i8042/serio0/input/input0

U: Uniq=

H: Handlers=sysrq kbd leds event0

B: PROP=0

B: EV=120013

B: KEY=402000000 3803078f800d001 feffffdfffefffff fffffffffffffffe

B: MSC=10

B: LED=7

I: Bus=0019 Vendor=0000 Product=0005 Version=0000

N: Name="Lid Switch"

P: Phys=PNP0C0D/button/input0

S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input1

U: Uniq=

H: Handlers=event1

B: PROP=0

B: EV=21

B: SW=1

I: Bus=0019 Vendor=0000 Product=0003 Version=0000

N: Name="Sleep Button"

P: Phys=PNP0C0E/button/input0

S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input2

U: Uniq=

H: Handlers=kbd event2

B: PROP=0

B: EV=3

B: KEY=4000 0 0

I: Bus=0019 Vendor=0000 Product=0001 Version=0000

N: Name="Power Button"

P: Phys=LNXPWRBN/button/input0

S: Sysfs=/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3

U: Uniq=

H: Handlers=kbd event3

B: PROP=0

B: EV=3

B: KEY=10000000000000 0

I: Bus=0018 Vendor=0b05 Product=0101 Version=0100

N: Name="Asus TouchPad"

P: Phys=i2c-FTE1001:00

S: Sysfs=/devices/pci0000:00/808622C1:03/i2c-0/i2c-FTE1001:00/0018:0B05:0101.0001/input/input4

U: Uniq=

H: Handlers=mouse0 event4

B: PROP=5

B: EV=b

B: KEY=e520 10000 0 0 0 0

B: ABS=661800011000003

I: Bus=0000 Vendor=0000 Product=0000 Version=0000

N: Name="HDA Intel PCH Headphone"

P: Phys=ALSA

S: Sysfs=/devices/pci0000:00/0000:00:1b.0/sound/card0/input5

U: Uniq=

H: Handlers=event5

B: PROP=0

B: EV=21

B: SW=4
```

```
lsinput list-devices

 0: 0001:0001 I8042  isa0060/serio0/i AT Translated Set 2 keyb KEY MSC LED

 1: 0000:0005 HOST   PNP0C0D/button/i Lid Switch               SW

 2: 0000:0003 HOST   PNP0C0E/button/i Sleep Button             KEY

 3: 0000:0001 HOST   LNXPWRBN/button/ Power Button             KEY

 4: 0b05:0101 I2C    i2c-FTE1001:00   Asus TouchPad            KEY ABS

 5: 0000:0000 (null) ALSA             HDA Intel PCH Headphone  SW
```

This is from live minimal cd

From installed gentoo 

```
cat /proc/bus/input/devices

I: Bus=0019 Vendor=0000 Product=0005 Version=0000

N: Name="Lid Switch"

P: Phys=PNP0C0D/button/input0

S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input0

U: Uniq=

H: Handlers=event0

B: PROP=0

B: EV=21

B: SW=1

I: Bus=0019 Vendor=0000 Product=0003 Version=0000

N: Name="Sleep Button"

P: Phys=PNP0C0E/button/input0

S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input1

U: Uniq=

H: Handlers=kbd event1

B: PROP=0

B: EV=3

B: KEY=4000 0 0

I: Bus=0019 Vendor=0000 Product=0001 Version=0000

N: Name="Power Button"

P: Phys=LNXPWRBN/button/input0

S: Sysfs=/devices/LNXSYSTM:00/LNXPWRBN:00/input/input2

U: Uniq=

H: Handlers=kbd event2

B: PROP=0

B: EV=3

B: KEY=10000000000000 0

I: Bus=0019 Vendor=0000 Product=0006 Version=0000

N: Name="Video Bus"

P: Phys=LNXVIDEO/video/input0

S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input3

U: Uniq=

H: Handlers=kbd event3

B: PROP=0

B: EV=3

B: KEY=3e000b00000000 0 0 0

I: Bus=0011 Vendor=0001 Product=0001 Version=ab41

N: Name="AT Translated Set 2 keyboard"

P: Phys=isa0060/serio0/input0

S: Sysfs=/devices/platform/i8042/serio0/input/input4

U: Uniq=

H: Handlers=sysrq kbd leds event4

B: PROP=0

B: EV=120013

B: KEY=402000000 3803078f800d001 feffffdfffefffff fffffffffffffffe

B: MSC=10

B: LED=7

I: Bus=0000 Vendor=0000 Product=0000 Version=0000

N: Name="HDA Intel PCH Headphone"

P: Phys=ALSA

S: Sysfs=/devices/pci0000:00/0000:00:1b.0/sound/card0/input5

U: Uniq=

H: Handlers=event5

B: PROP=0

B: EV=21

B: SW=4

I: Bus=0000 Vendor=0000 Product=0000 Version=0000

N: Name="HDA Intel PCH HDMI/DP,pcm=3"

P: Phys=ALSA

S: Sysfs=/devices/pci0000:00/0000:00:1b.0/sound/card0/input6

U: Uniq=

H: Handlers=event6

B: PROP=0

B: EV=21

B: SW=140
```

```
lsinput list-devices

 0: 0000:0005 HOST   PNP0C0D/button/i Lid Switch               SW

 1: 0000:0003 HOST   PNP0C0E/button/i Sleep Button             KEY

 2: 0000:0001 HOST   LNXPWRBN/button/ Power Button             KEY

 3: 0000:0006 HOST   LNXVIDEO/video/i Video Bus                KEY

 4: 0001:0001 I8042  isa0060/serio0/i AT Translated Set 2 keyb KEY MSC LED

 5: 0000:0000 (null) ALSA             HDA Intel PCH Headphone  SW

 6: 0000:0000 (null) ALSA             HDA Intel PCH HDMI/DP,pc SW
```

----------

## halcon

 *sleepingsun wrote:*   

> posted up from minimal cd boot and posted because halcon tell me ... lspci -nn -k

 

I am sorry that I "sent you in the wrong direction". Have you resolved the problem? If not, I think, the best way is to follow Anon-E-moose's instructions:

 *Quote:*   

> - see what the difference between the working config and your non-working one is
> 
> - also look at the modules that are loaded on the system that works, it will give hints in which area of the kernel config to look at

 

This can be done as follows:

(in the minimal CD environment)

-  save the kernel .config and the list of the loaded modules:

zcat /proc/config.gz > /mnt/gentoo/home/your_user/minimal_cd_config

lsmod | sort > /mnt/gentoo/home/your_user/minimal_cd_lsmod

(on the installed system)

- make similar files:

---> if your kernel supports /proc/config.gz

zcat /proc/config.gz > /home/your_user/my_config

---> if it doesn't

cp /usr/src/linux/.config /home/your_user/my_config

lsmod | sort > /home/your_user/my_lsmod

- compare it:

diff -u /home/your_user/minimal_cd_config /home/your_user/my_config > /home/your_user/diff_of_configs

(can be very long, you may want to split the files on parts and compare part-by-part)

diff -u /home/your_user/minimal_cd_lsmod /home/your_user/my_lsmod > /home/your_user/diff_of_lsmods

(not so long)

----------

## dmpogo

To add, you can post diffs of the kernel configs here for us to have a look

----------

## sleepingsun

(in the minimal CD environment)

zcat /proc/config.gz > /mnt/gentoo/home/your_user/minimal_cd_config

```
minimal_cd_config

https://dpaste.com/2TGUUQEV2
```

```
minimal_cd_lsmod

 https://dpaste.com/592WZ3KP3
```

cp /usr/src/linux/.config /home/your_user/my_config

```
my_config

https://dpaste.com/HJWVH8GKW
```

```
my_lsmod

https://dpaste.com/9MJ6VDNKL
```

```
diff_of_configs

https://dpaste.com/FDNDZ2V3F
```

```
diff_of_lsmod

 https://dpaste.com/BN3ZLPYZ3
```

----------

## NeddySeagoon

sleepingsun,

Seeing the working and non working dmesg output would be good.

That's two pastebins please.

----------

## Anon-E-moose

```
hid_asus               20480  0

i2c_core               53248  4 i2c_designware_platform,i2c_hid,i2c_designware_core,i2c_i801

i2c_designware_core    20480  1 i2c_designware_platform

i2c_designware_platform    16384  0

i2c_hid                28672  0

i2c_i801               24576  0

...

mfd_core               16384  1 lpc_ich

mmc_core              114688  2 sdhci,sdhci_acpi

pinctrl_cherryview     32768  4

...

sdhci                  49152  1 sdhci_acpi

sdhci_acpi             20480  0
```

I would start with these, and see what they bring you

Example: 

```
$ grep -ri hid_asus /usr/src/linux/ --include="Kc*"

/usr/src/linux/drivers/hid/Kconfig:config HID_ASUS
```

You can then search either the Kconfig file directly or if using make menuconfig do the search (/) for HID_ASUS and it will take you directly to that option.

Good luck

Edit to add: It looks like you have the i2c* and mfd_* built in, but not seeing mmc, pinctrl* or sdhci* stuff.

Fix those and it will probably work

----------

## dmpogo

 *Anon-E-moose wrote:*   

> 
> 
> ```
> hid_asus               20480  0
> 
> ...

 

Actually, if I look at those provided config,  I see that

CONFIG_MMC is not set, however that is supposed to be for SD/MMC cards ?  So is sdhci - is a subset of option for MMC

pincontrol is more interesting,  it is not enabled as well,  so one may try to set

CONFIG_PNCTRL=y  in    device drivers, and then CONFIG_PINCTRL_CHERRYVIEW=m   inside

But I am much more concerned that I2C_DESIGNWARE  options are not set.  This is a particular I2C adapter,  support for which was loaded by minimal kernel

----------

## sleepingsun

I Installed that and read all posts  in forum and back like Gentoo  wiki says with i2c ... than i do what you told me and recompile and left it and search over google and found that i need DUMMY Regulator drivers and recompile them and reboot and solved problem ... 

I posted kernel with working Gentoo if someone need it ! 

```
 https://dpaste.com/8T9NWRLGF
```

Thanks a lot dmpogo, Anon-E-moose, halcon, NeddySeagoon for help

----------

## halcon

 *sleepingsun wrote:*   

> reboot and solved problem ...

 

Congrats.

 *sleepingsun wrote:*   

> I posted kernel with working Gentoo if someone need it !

 

A good idea.

For the sake of accuracy (if someone else needs it as well), I am going to edit my post about how to find CONFIG_SYMBOL by kernel_module.

----------

## Hu

 *sleepingsun wrote:*   

> I Installed that and read all posts  in forum and back like Gentoo  wiki says with i2c ... than i do what you told me and recompile and left it and search over google and found that i need DUMMY Regulator drivers and recompile them and reboot and solved problem ... 
> 
> I posted kernel with working Gentoo if someone need it !
> 
> https://dpaste.com/8T9NWRLGF
> ...

 Thank you for posting the solution.  However, that pastebin is set to expire in 7 days, after which the link will not be useful.  The content of the pastebin appears to be a full kernel configuration file.  Can you identify the portion that is relevant to your problem?  That portion would probably be small enough to post inline, where it would remain available indefinitely.  Based on what you wrote here, I extracted the kernel configuration lines which have DUMMY in their symbol.  I don't know if this is a complete or correct solution.  If you have a better idea of the minimum required symbols, please post those inline.

```
1759:CONFIG_DUMMY_IRQ=y

2015:CONFIG_DUMMY=y

3810:CONFIG_DUMMY_CONSOLE=y

3811:CONFIG_DUMMY_CONSOLE_COLUMNS=80

3812:CONFIG_DUMMY_CONSOLE_ROWS=25

3847:CONFIG_SND_SEQ_DUMMY=y

3853:# CONFIG_SND_DUMMY is not set

4303:CONFIG_USB_DUMMY_HCD=y

5167:CONFIG_IIO_DUMMY_EVGEN=m

5168:CONFIG_IIO_SIMPLE_DUMMY=m

5169:CONFIG_IIO_SIMPLE_DUMMY_EVENTS=y

5170:CONFIG_IIO_SIMPLE_DUMMY_BUFFER=y
```

----------

## dmpogo

 *Hu wrote:*   

>  *sleepingsun wrote:*   I Installed that and read all posts  in forum and back like Gentoo  wiki says with i2c ... than i do what you told me and recompile and left it and search over google and found that i need DUMMY Regulator drivers and recompile them and reboot and solved problem ... 
> 
> I posted kernel with working Gentoo if someone need it !
> 
> https://dpaste.com/8T9NWRLGF
> ...

 

Hi,   I don't think it is actually DUMMY anything  what has been added,  it is CONFIG_REGULATOR, as far as I see.    And it is not dummy driver,  it is the whole regulator infrastructure that has been compiled in, but no specific driver has been selected.   

Am I right ?

----------

## halcon

Well... There are 3 days left until the expiring of sleepingsun's paste, so I re-pasted it (expiration: never).

----------

