В текущей конфигурации kernel-image-un-def (проверено на версии 5.4.17) на устройстве с процессором Atom Z3735F отсутствует индикация уровня заряда АКБ (контроллер AXP288), не работает Bluetooth (Realtek 8723BS). Поддержка упомянутого железа реализована в ядре достаточно давно (навскидку, в районе 4.15) но отключена в конфигурации (не только в ALT, но и в разной мере других дистрибутивах). Добавил нижеприведённые опции (в config-x86_64), с ними работает. Взяты из https://github.com/jwrdegoede/linux-sunxi/blob/v5.4-footrail/.config Часть опций предназначена для других устройств подобного класса. CONFIG_CRC_PMIC_OPREGION=y CONFIG_XPOWER_PMIC_OPREGION=y CONFIG_BXT_WC_PMIC_OPREGION=y CONFIG_CHT_WC_PMIC_OPREGION=y CONFIG_CHT_DC_TI_PMIC_OPREGION=y CONFIG_BT_HCIUART_BCM=y CONFIG_REGMAP_I2C=y CONFIG_INPUT_AXP20X_PEK=m CONFIG_SERIAL_DEV_BUS=y CONFIG_SERIAL_DEV_CTRL_TTYPORT=y CONFIG_I2C=y CONFIG_ACPI_I2C_OPREGION=y CONFIG_I2C_CHT_WC=m CONFIG_I2C_DESIGNWARE_CORE=y CONFIG_I2C_DESIGNWARE_PLATFORM=y # CONFIG_PINCTRL_SX150X is not set CONFIG_GPIO_CRYSTAL_COVE=y CONFIG_GPIO_WHISKEY_COVE=y # CONFIG_AXP20X_POWER is not set CONFIG_AXP288_CHARGER=m CONFIG_AXP288_FUEL_GAUGE=m # CONFIG_MFD_AS3711 is not set # CONFIG_PMIC_ADP5520 is not set # CONFIG_MFD_AAT2870_CORE is not set CONFIG_MFD_AXP20X=y CONFIG_MFD_AXP20X_I2C=y # CONFIG_PMIC_DA903X is not set # CONFIG_MFD_DA9052_I2C is not set # CONFIG_MFD_DA9055 is not set # CONFIG_HTC_I2CPLD is not set CONFIG_INTEL_SOC_PMIC=y CONFIG_INTEL_SOC_PMIC_BXTWC=y CONFIG_INTEL_SOC_PMIC_CHTWC=y # CONFIG_MFD_88PM860X is not set # CONFIG_MFD_MAX77843 is not set # CONFIG_MFD_MAX8925 is not set # CONFIG_MFD_MAX8997 is not set # CONFIG_MFD_MAX8998 is not set # CONFIG_MFD_RC5T583 is not set # CONFIG_MFD_SEC_CORE is not set # CONFIG_MFD_SMSC is not set # CONFIG_MFD_LP8788 is not set # CONFIG_MFD_PALMAS is not set # CONFIG_MFD_TPS65090 is not set # CONFIG_MFD_TPS68470 is not set # CONFIG_MFD_TPS6586X is not set # CONFIG_MFD_TPS65910 is not set # CONFIG_MFD_TPS80031 is not set # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set # CONFIG_MFD_WM8400 is not set # CONFIG_MFD_WM831X_I2C is not set # CONFIG_MFD_WM8350_I2C is not set # CONFIG_REGULATOR_AXP20X is not set CONFIG_TYPEC_WCOVE=m CONFIG_RTC_I2C_AND_SPI=y CONFIG_INTEL_PMC_IPC=y CONFIG_TOUCHSCREEN_DMI=y CONFIG_I2C_MULTI_INSTANTIATE=m CONFIG_INTEL_ATOMISP2_PM=m CONFIG_EXTCON_AXP288=m CONFIG_EXTCON_INTEL_INT3496=m CONFIG_EXTCON_INTEL_CHT_WC=m # CONFIG_AXP20X_ADC is not set CONFIG_AXP288_ADC=m CONFIG_PWM_CRC=y Насколько вероятно изменение конфигурации kernel-image-un-def? С одной стороны, 32-х разрядный UEFI-загрузчик в установленных образах предназначен как раз для данных устройств. С другой стороны, работа по улучшению поддержки оборудования со стороны ядра не окончена, для некоторых дистрибутивов собирают отдельные ядра на базе репозитория Ганса (ссылка выше).
Будет в следующей сборке ядер un-def для сизифа и p9
Обновил ядро до 5.5.5-un-def-alt1 Действительно, изменения включены, как и обещано. Благодарю! К сожалению, я упустил, что при переходе с ветки 5.4 на 5.5 опция CRC_PMIC_OPREGION изменена на BYTCRC_PMIC_OPREGION https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=ed852cde25a12ea3b6fcc3afc746f773154d0bc5 и добавлена CHTCRC_PMIC_OPREGION https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=cefe6aac29ff608a244f8cc9ba6bcfe12ee9c1f3 в связи с чем они сейчас # CONFIG_BYTCRC_PMIC_OPREGION is not set # CONFIG_CHTCRC_PMIC_OPREGION is not set
Сергей, раз у Вас это железо под рукой -- предлагаю также поглядывать, что там нынче с состоянием по https://bugzilla.kernel.org/show_bug.cgi?id=109051 (комментариев там за четыре года набежало больше тыщи, стоит обратить внимание на таковые jbMacAZ). Также у меня в процессе работ по планшету на, кажется, Z3735 образовалось некоторое количество заметок -- пишите почтой, если могут пригодиться. Ну и "добавил в конфиг" -- стоило сразу и config.diff на всякий привесить, если бага попалась на глаза майнтейнеру оперативно, то приложить его меньше труда будет, чем включать по списку. В целом у меня тогда было своё ядро, но основную часть изменений удалось провести в un-def (особенно по мере вхождения патчей из различных *-next в mainline).
Признаться, даже не рассчитывал, что изменения окажутся приняты. Думал, придётся самому собирать какую-нибудь версию un-byt, как делал в другом месте. Но с инструментарием пока как следует не разобрался, просто подредактировал spec -- потому и создал отдельный конфиг, который scripts/kconfig/merge_config.sh сольёт с основными (к тому же, тут есть config-aarch64 и config-ppc64le, а опции для Baytrail/Сherrytrail вроде как x86-специфичны). По поводу бага #109051 были раньше жалобы в теме про соответствующее железо http://4pda.ru/forum/index.php?showtopic=650808 но достаточно давно не наблюдаю, пришёл к выводу, что исправили. (в комментарии 1026 jbMacAZ пишет про что-то вроде https://gitlab.freedesktop.org/drm/intel/issues/673 - когда система остаётся живой). Основная проблема сейчас с контроллерами сенсорного экрана Silead, для которых требуется генерировать прошивку и добавлять её в drivers/platform/x86/touchscreen_dmi.c
Created attachment 8645 [details] Intel Atom Z3xxx/Z8xxx support for Linux 5.5
Исправлена опечатка в CONFIG_BYTCRC_PMIC_OPREGION. Опции расположены не в конце конфига, а в естественном порядке (поскольку порядок определяет приоритет).
Опции из моего первого комментария были добавлены в конец файла конфигурации и в правильном порядке. В результате в ядро 5.4 попали все без исключения. Далее, в 5.5 одна из опций была разбита на две и переименована (CRC_PMIC_OPREGION изменена на BYTCRC_PMIC_OPREGION). Очередные изменения, вероятно, были применены через make menuconfig. В результате порядок опций нарушился и часть из них исключена из результирующего конфига из-за нарушения приоритета: # diff -u config-5.5.5-un-def-alt1 config-5.5.10-un-def-alt1 --- config-5.5.5-un-def-alt1 2020-02-21 09:48:20.000000000 +1000 +++ config-5.5.10-un-def-alt1 2020-03-18 21:30:46.000000000 +1000 ... # @@ -561,13 +561,7 @@ CONFIG_DPTF_POWER=m # CONFIG_ACPI_EXTLOG is not set CONFIG_ACPI_ADXL=y -CONFIG_PMIC_OPREGION=y -# CONFIG_BYTCRC_PMIC_OPREGION is not set -# CONFIG_CHTCRC_PMIC_OPREGION is not set -CONFIG_XPOWER_PMIC_OPREGION=y -CONFIG_BXT_WC_PMIC_OPREGION=y -CONFIG_CHT_WC_PMIC_OPREGION=y -CONFIG_CHT_DC_TI_PMIC_OPREGION=y +# CONFIG_PMIC_OPREGION is not set CONFIG_ACPI_CONFIGFS=m CONFIG_X86_PM_TIMER=y # CONFIG_SFI is not set ... То есть, на данный момент драйвера для ряда PMIC_OPREGION отключены. Поэтому в #c5 прикрепил patch, где указанная проблема устранена.
(Ответ для Сергей Трусов на комментарий #7) > То есть, на данный момент драйвера для ряда PMIC_OPREGION отключены. > Поэтому в #c5 прикрепил patch, где указанная проблема устранена. Да, CONFIG_PMIC_OPREGION для новых атомов надо было включать и это было важно.
Прошу прощения за запоздалый ответ. В ветке 5.6.*-un-def вышеупомянутые опции включены. +CONFIG_PMIC_OPREGION=y +CONFIG_BYTCRC_PMIC_OPREGION=y +CONFIG_CHTCRC_PMIC_OPREGION=y +CONFIG_XPOWER_PMIC_OPREGION=y +CONFIG_BXT_WC_PMIC_OPREGION=y +CONFIG_CHT_WC_PMIC_OPREGION=y +CONFIG_CHT_DC_TI_PMIC_OPREGION=y Насколько понимаю, вопрос можно считать решенным.
(Ответ для Michael Shigorin на комментарий #3) > https://bugzilla.kernel.org/show_bug.cgi?id=109051 На всякий: там недавно опять шевеление было, вроде как в 5.6 наконец дошло: --- Comment #1050 from jbMacAZ (jbmacbrodie@yahoo.com) --- I haven't had any more freezes in kernels 5.6.6+ or 5.7-rc4. This is without my "patch" or kernel arguments "idle=nomwait" or "intel_idle.max_cstate=1". Thanks to whoever found the real problem(s). [Asus T100CHI with Z3775D] --- http://bugzilla.kernel.org/show_bug.cgi?id=109051#c1050