Автор Тема: Lenovo ideapad 320  (Прочитано 47765 раз)

Оффлайн tema

  • Мастер
  • ***
  • Сообщений: 2 065
    • Email
Re: Lenovo ideapad 320
« Ответ #15 : 11.11.2017 15:41:56 »
На самом деле это не всё. Но остальное не критично:
Не работает управление питанием: он не видит батарейку. Ну может ещё что-то остальное не важно. Главное графика работает с драйвером amdgpu


Оффлайн tema

  • Мастер
  • ***
  • Сообщений: 2 065
    • Email
Re: Lenovo ideapad 320
« Ответ #17 : 11.11.2017 15:50:46 »
https://bugzilla.altlinux.org/show_bug.cgi?id=34173
  Компонент:    kernel-image-std-def
С std-def ноутбук не запускается вообще в графику

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 9 682
Re: Lenovo ideapad 320
« Ответ #18 : 11.11.2017 16:15:08 »
У альтов
$ sed -n '1183,1190p' ./linux-4.4/drivers/input/mouse/elan_i2c_core.c
#ifdef CONFIG_ACPI
static const struct acpi_device_id elan_acpi_id[] = {
        { "ELAN0000", 0 },
        { "ELAN0100", 0 },
        { "ELAN0600", 0 },
        { "ELAN1000", 0 },
        { }
};

Патч
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/drivers/input/mouse/elan_i2c_core.c?id=1874064eed0502bd9bef7be8023757b0c4f26883
path: root/drivers/input/mouse/elan_i2c_core.c

author Kai-Heng Feng <kai.heng.feng@canonical.com> 2017-08-14 20:11:26 -0700
committer Dmitry Torokhov <dmitry.torokhov@gmail.com> 2017-08-14 20:22:02 -0700
commit 1874064eed0502bd9bef7be8023757b0c4f26883 (patch)
tree fa4c8926d1e631b75e968e19d6306f7e8e6b9760 /drivers/input/mouse/elan_i2c_core.c
parent 293b915fd9bebf33cdc906516fb28d54649a25ac (diff)
download linux-stable-1874064eed0502bd9bef7be8023757b0c4f26883.tar.gz
Input: elan_i2c - add ELAN0608 to the ACPI table
Similar to commit 722c5ac708b4f ("Input: elan_i2c - add ELAN0605 to the
ACPI table"), ELAN0608 should be handled by elan_i2c.

This touchpad can be found in Lenovo ideapad 320-14IKB.

BugLink: https://bugs.launchpad.net/bugs/1708852

Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers/input/mouse/elan_i2c_core.c')
-rw-r--r-- drivers/input/mouse/elan_i2c_core.c 1

1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/input/mouse/elan_i2c_core.c b/drivers/input/mouse/elan_i2c_core.c
index 3b616cb..9fe3908 100644
--- a/drivers/input/mouse/elan_i2c_core.c
+++ b/drivers/input/mouse/elan_i2c_core.c
@@ -1248,6 +1248,7 @@ static const struct acpi_device_id elan_acpi_id[] = {
  { "ELAN0100", 0 },
  { "ELAN0600", 0 },
  { "ELAN0605", 0 },
+ { "ELAN0608", 0 },
  { "ELAN1000", 0 },
  { }
 };

Нужно добавить строку (с +) и пересобрать ядро.
« Последнее редактирование: 11.11.2017 16:20:20 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 9 682
Re: Lenovo ideapad 320
« Ответ #19 : 11.11.2017 16:50:49 »
Странно, в ванильном ядре 4.9.61 целая пачка ELAN тачпадов и для ideapad 320 тоже
$ tar -tvf linux-4.9.61.tar.xz | grep elan_i2c
-rw-rw-r-- root/root       952 2017-11-08 12:08 linux-4.9.61/Documentation/devicetree/bindings/input/elan_i2c.txt
-rw-rw-r-- root/root      2799 2017-11-08 12:08 linux-4.9.61/drivers/input/mouse/elan_i2c.h
-rw-rw-r-- root/root     31016 2017-11-08 12:08 linux-4.9.61/drivers/input/mouse/elan_i2c_core.c
-rw-rw-r-- root/root     14725 2017-11-08 12:08 linux-4.9.61/drivers/input/mouse/elan_i2c_i2c.c
-rw-rw-r-- root/root     12427 2017-11-08 12:08 linux-4.9.61/drivers/input/mouse/elan_i2c_smbus.c
$ sed -n '1232,1246p' ./linux-4.9.61/drivers/input/mouse/elan_i2c_core.c
#ifdef CONFIG_ACPI
static const struct acpi_device_id elan_acpi_id[] = {
        { "ELAN0000", 0 },
        { "ELAN0100", 0 },
        { "ELAN0600", 0 },
        { "ELAN0602", 0 },
        { "ELAN0605", 0 },
        { "ELAN0608", 0 },
        { "ELAN0605", 0 },
        { "ELAN0609", 0 },
        { "ELAN060B", 0 },
        { "ELAN0611", 0 },
        { "ELAN1000", 0 },
        { }
};

У альтов
$ rpm -qpl kernel-source-4.9-1.0.0-alt1.src.rpm
kernel-source.spec
linux-4.9.tar
$ sed -n '1230,1237p' ./linux-4.9/drivers/input/mouse/elan_i2c_core.c
#ifdef CONFIG_ACPI
static const struct acpi_device_id elan_acpi_id[] = {
        { "ELAN0000", 0 },
        { "ELAN0100", 0 },
        { "ELAN0600", 0 },
        { "ELAN1000", 0 },
        { }
};


Тачпада для ideapad 320 нет только в ванильных 4.4
$ sed -n '1183,1190p' ./linux-4.4/drivers/input/mouse/elan_i2c_core.c
#ifdef CONFIG_ACPI
static const struct acpi_device_id elan_acpi_id[] = {
        { "ELAN0000", 0 },
        { "ELAN0100", 0 },
        { "ELAN0600", 0 },
        { "ELAN1000", 0 },
        { }
};

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 9 682
Re: Lenovo ideapad 320
« Ответ #20 : 11.11.2017 16:52:26 »
https://bugzilla.altlinux.org/show_bug.cgi?id=34173
  Компонент:    kernel-image-std-def
С std-def ноутбук не запускается вообще в графику

Не запускать :-)
а багрепорт на него вешать.

В Ответ #19 показал, что если бы в альтах использовалось ванильное ядро 4.9.61, то ваш тачпад завёлся бы из коробки.
В ванильном 4.9.61 их, ELAN*, 11 моделей.

Я не кодер и тем более не ядерщик. И ядра меня интересуют только в одном случае: перед покупкой ноутбука. :-)

В slackware-current у вас тоже завёлся бы этот тачпад
$ sed -n '1232,1245p' ./slackware-current/linux-4.9.53/drivers/input/mouse/elan_i2c_core.c
#ifdef CONFIG_ACPI
static const struct acpi_device_id elan_acpi_id[] = {
        { "ELAN0000", 0 },
        { "ELAN0100", 0 },
        { "ELAN0600", 0 },
        { "ELAN0602", 0 },
        { "ELAN0605", 0 },
        { "ELAN0608", 0 },
        { "ELAN0605", 0 },
        { "ELAN0609", 0 },
        { "ELAN060B", 0 },
        { "ELAN1000", 0 },
        { }
};

Там в патче по ссылке которую вы давали, про ELAN0608 для ideapad 320 и говорили.
Полагаю так:
Что если патч прислали, то перед этим, ядро уже пропатчили на месте, обинарили и проверили, действительно ли он решает проблему.
« Последнее редактирование: 11.11.2017 17:34:28 от Speccyfighter »

Оффлайн tema

  • Мастер
  • ***
  • Сообщений: 2 065
    • Email
Re: Lenovo ideapad 320
« Ответ #21 : 11.11.2017 18:01:25 »
Дмитрий Левин в багзилле написал, что давно уже в ядре всё...
Что-то я ничего не понимаю  :-(

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 9 682
Re: Lenovo ideapad 320
« Ответ #22 : 11.11.2017 18:41:34 »
Дмитрий Левин в багзилле написал, что давно уже в ядре всё...
Что-то я ничего не понимаю  :-(

Слаку ради интереса загрузите, на посмотреть, любой из них, это лайвы на 700 метров, и положите на флешку через dd
http://bear.alienbase.nl/mirrors/slackware-live/1.1.9.1/slackware-live-xfce-current.iso
http://bear.alienbase.nl/mirrors/slackware-live/1.1.9.1/slackware64-live-xfce-current.iso
Эрик нормально собирает
Пользователь: live
Пароль: live
Если перед загрузкой лайва выбран русский, то раскладка по-умолчанию русская. Переключается по Alt+Shift.
Можно пользовать sudo или root/root
В настройках xfce можно поднастроить клик и скролл тачпада через гуй. Но по-умолчанию вроде бы включено.

Я б вам и на KDE лайв ссылку дал бы (+ много DE-в и WM-ов в исо), но вряд ли вам захочется тянуть 3 гига ради посмотреть.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 9 682
Re: Lenovo ideapad 320
« Ответ #23 : 11.11.2017 19:11:36 »
Это из него, из лайва slackware-current (ссылки на лайвы выше)
root@darkstar:~# uname -srv
Linux 4.9.50 #1 Thu Sep 14 16:38:37 CDT 2017
root@darkstar:~#
root@darkstar:~# strings /lib/modules/4.9.50/kernel/drivers/input/mouse/elan_i2c.ko | grep ELAN
ELAN0000
ELAN0100
ELAN0600
ELAN0602
ELAN0605
ELAN0608
ELAN0605
ELAN0609
ELAN060B
ELAN1000
alias=acpi*:ELAN1000:*
alias=acpi*:ELAN060B:*
alias=acpi*:ELAN0609:*
alias=acpi*:ELAN0605:*
alias=acpi*:ELAN0608:*
alias=acpi*:ELAN0605:*
alias=acpi*:ELAN0602:*
alias=acpi*:ELAN0600:*
alias=acpi*:ELAN0100:*
alias=acpi*:ELAN0000:*

Вертикальный скролл, клик и даблклик включены по-умолчанию. Горизонтальный скролл включается через гуй.
Я вас не уговариваю на слаку, просто посмотреть и сравнить. Иногда я так делаю. Когда приспичит.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 9 682
Re: Lenovo ideapad 320
« Ответ #24 : 11.11.2017 19:33:51 »
Сизиф:
# grep -rH ELAN /lib/modules/4.9.61-std-def-alt1/ | strings
 /lib/modules/4.9.61-std-def-alt1/kernel/drivers/input/mouse/elan_i2c.ko
 /lib/modules/4.9.61-std-def-alt1/kernel/drivers/input/touchscreen/elants_i2c.ko
 /lib/modules/4.9.61-std-def-alt1/kernel/drivers/tty/serial/8250/serial_cs.ko
 /lib/modules/4.9.61-std-def-alt1/kernel/drivers/usb/misc/ftdi-elan.ko
 /lib/modules/4.9.61-std-def-alt1/kernel/drivers/usb/host/u132-hcd.ko
/lib/modules/4.9.61-std-def-alt1/modules.alias:alias acpi*:ELAN1000:* elan_i2c
/lib/modules/4.9.61-std-def-alt1/modules.alias:alias acpi*:ELAN0611:* elan_i2c
/lib/modules/4.9.61-std-def-alt1/modules.alias:alias acpi*:ELAN060B:* elan_i2c
/lib/modules/4.9.61-std-def-alt1/modules.alias:alias acpi*:ELAN0609:* elan_i2c
/lib/modules/4.9.61-std-def-alt1/modules.alias:alias acpi*:ELAN0605:* elan_i2c
/lib/modules/4.9.61-std-def-alt1/modules.alias:alias acpi*:ELAN0608:* elan_i2c
/lib/modules/4.9.61-std-def-alt1/modules.alias:alias acpi*:ELAN0605:* elan_i2c
/lib/modules/4.9.61-std-def-alt1/modules.alias:alias acpi*:ELAN0602:* elan_i2c
/lib/modules/4.9.61-std-def-alt1/modules.alias:alias acpi*:ELAN0600:* elan_i2c
/lib/modules/4.9.61-std-def-alt1/modules.alias:alias acpi*:ELAN0100:* elan_i2c
/lib/modules/4.9.61-std-def-alt1/modules.alias:alias acpi*:ELAN0000:* elan_i2c
/lib/modules/4.9.61-std-def-alt1/modules.alias:alias acpi*:ELAN0001:* elants_i2c

Видит ли ядро устройство, посмотреть и так можно:
# xinput list
⎡ Virtual core pointer                    id=2 [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              id=4 [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad              id=10 [slave  pointer  (2)]
⎣ Virtual core keyboard                    id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard              id=5 [slave  keyboard (3)]
    ↳ Power Button                            id=6 [slave  keyboard (3)]
    ↳ Video Bus                                id=7 [slave  keyboard (3)]
    ↳ Sleep Button                            id=8 [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            id=9 [slave  keyboard (3)]
    ↳ HP WMI hotkeys                          id=11 [slave  keyboard (3)]
# dmesg|grep 'SynPS/2 Synaptics TouchPad'
[   18.665260] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio4/input/input16
# dmesg|grep -i touchPad
[   18.618820] psmouse serio4: synaptics: Touchpad model: 1, fw: 6.2, id: 0x25a0b1, caps: 0xa04793/0x300000/0x0, board id: 71, fw id: 35334
[   18.665260] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio4/input/input16
« Последнее редактирование: 11.11.2017 19:38:52 от Speccyfighter »

Оффлайн tema

  • Мастер
  • ***
  • Сообщений: 2 065
    • Email
Re: Lenovo ideapad 320
« Ответ #25 : 11.11.2017 19:52:31 »
Этот лайв не стартует. Тут зависает

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 9 682
Re: Lenovo ideapad 320
« Ответ #26 : 11.11.2017 20:27:01 »
Этот лайв не стартует. Тут зависает

Ё-моё...
Цитировать
Ноутбук Lenovo IdeaPad 320-15IKB
15.6" 1920 x 1080 глянцевый, Intel Core i5 7200U
Дата выхода на рынок   2017 г.

Такое ощущение будто или флешке хана или он хочет чтобы параметрами ядру увеличили время ожидания флешки и корня...

А вы смотрели свежее std-def ядро из бранча? Оно сейчас 4.9.61
# grep -rH ELAN /lib/modules/4.9.61-std-def-alt1/ | strings | sort
 /lib/modules/4.9.61-std-def-alt1/kernel/drivers/input/mouse/elan_i2c.ko
 /lib/modules/4.9.61-std-def-alt1/kernel/drivers/input/touchscreen/elants_i2c.ko
 /lib/modules/4.9.61-std-def-alt1/kernel/drivers/tty/serial/8250/serial_cs.ko
 /lib/modules/4.9.61-std-def-alt1/kernel/drivers/usb/host/u132-hcd.ko
 /lib/modules/4.9.61-std-def-alt1/kernel/drivers/usb/misc/ftdi-elan.ko
/lib/modules/4.9.61-std-def-alt1/modules.alias:alias acpi*:ELAN0000:* elan_i2c
/lib/modules/4.9.61-std-def-alt1/modules.alias:alias acpi*:ELAN0001:* elants_i2c
/lib/modules/4.9.61-std-def-alt1/modules.alias:alias acpi*:ELAN0100:* elan_i2c
/lib/modules/4.9.61-std-def-alt1/modules.alias:alias acpi*:ELAN0600:* elan_i2c
/lib/modules/4.9.61-std-def-alt1/modules.alias:alias acpi*:ELAN0602:* elan_i2c
/lib/modules/4.9.61-std-def-alt1/modules.alias:alias acpi*:ELAN0605:* elan_i2c
/lib/modules/4.9.61-std-def-alt1/modules.alias:alias acpi*:ELAN0605:* elan_i2c
/lib/modules/4.9.61-std-def-alt1/modules.alias:alias acpi*:ELAN0608:* elan_i2c
/lib/modules/4.9.61-std-def-alt1/modules.alias:alias acpi*:ELAN0609:* elan_i2c
/lib/modules/4.9.61-std-def-alt1/modules.alias:alias acpi*:ELAN060B:* elan_i2c
/lib/modules/4.9.61-std-def-alt1/modules.alias:alias acpi*:ELAN0611:* elan_i2c
/lib/modules/4.9.61-std-def-alt1/modules.alias:alias acpi*:ELAN1000:* elan_i2c

Оффлайн tema

  • Мастер
  • ***
  • Сообщений: 2 065
    • Email
Re: Lenovo ideapad 320
« Ответ #27 : 11.11.2017 21:36:54 »
Если имеется ввиду altlinux, то я его только только установил свежайшую версию. Дистрибутив собрал только вчера. А сегодня ещё и обновил на новейшую версию un-def
было 4.9.61
сейчас 4.13.12
на обоих ядрах не работает
« Последнее редактирование: 11.11.2017 21:42:31 от tema »

Оффлайн Rider

  • /usr/sbin/control
  • *******
  • Сообщений: 1 136
Re: Lenovo ideapad 320
« Ответ #28 : 11.11.2017 22:35:07 »
modinfo elan_i2c что говорит ?
модуль elan_i2c загружен ?

Оффлайн tema

  • Мастер
  • ***
  • Сообщений: 2 065
    • Email
Re: Lenovo ideapad 320
« Ответ #29 : 11.11.2017 22:54:35 »
modinfo elan_i2c что говорит ?
модуль elan_i2c загружен ?
# modinfo elan_i2c
filename:       /lib/modules/4.13.12-un-def-alt0.M80P.1/kernel/drivers/input/mouse/elan_i2c.ko
version:        1.6.3
license:        GPL
description:    Elan I2C/SMBus Touchpad driver
author:         Duson Lin <dusonlin@emc.com.tw>
srcversion:     D620DAC39534290BBF67AE4
alias:          i2c:elan_i2c
alias:          acpi*:ELAN1000:*
alias:          acpi*:ELAN0611:*
alias:          acpi*:ELAN060B:*
alias:          acpi*:ELAN0609:*
alias:          acpi*:ELAN0605:*
alias:          acpi*:ELAN0608:*
alias:          acpi*:ELAN0605:*
alias:          acpi*:ELAN0602:*
alias:          acpi*:ELAN0600:*
alias:          acpi*:ELAN0100:*
alias:          acpi*:ELAN0000:*
depends:        i2c-core
intree:         Y
name:           elan_i2c
vermagic:       4.13.12-un-def-alt0.M80P.1 SMP preempt mod_unload modversions RANDSTRUCT_PLUGIN_ae42d2de6a9b056f07661cf945ae35264ba1ad5a021cc6e5d145724500955965
А как проверить загружен он или нет?