Как стать автором
Обновить

Комментарии 51

То есть вы погуглили и нагуглили? Можно было попробовать найти проблему самостоятельно через git bisect (если предполагать, что это баг в ядре).

Искал по похожему поведению, видимо сработала та самая хваленая персонифицированная выдача, поскольку никаких других ссылок на это сообщение не было.

Но пост от китайца дал только название константы, которая примерно может за такое отвечать. Константа не особо описанная, есть лишь краткая аннотация на весь блок и все, без деталей.

Так что на термин «погуглил» это несколько не тянет.

Если сейчас кто-то столкнется с похожей проблемой, то нагуглить возможное решение будет проще (будет найдена эта статья). Не надо будет тратить на это три года. А завтра на этот вопрос ответит уже chat-gpt

Так что здорово, что автор поделился своей историей.

То что ответ был "где-то в компьютере, который у вас в руках" - это очевидно. Но что с этим делать - непонятно. Прочитать и понять 40 миллионов строк ядра?

У меня сейчас ноут от такого же вендора, со сканером отпечатка. Который работает 1 раз. Если сканирование сразу не прошло, то потом на несколько минут "устройство занято". Пользоваться в общем невозможно, ну я и не пользуюсь, ввожу пароль по старинке. При этом я пробовал нагуглить - и не нагуглил. Но был бы рад, чтобы нагуглилось. Пробовал разобраться, посмотрел issues, код драйвера, код библиотеки, которая со сканером работает. Потратил 2-3 часа, и решил что не так-то уж этот сканер мне нужен. Но может быть когда-нибудь выйдет статья на хабре )

А за за статью автору спасибо, было интересно почитать.

А завтра на этот вопрос ответит уже chat-gpt

Есть подозрение, что сама правка в ядре от 2018 года была сделана по подсказке нейросетей, поскольку с формальной точки зрения она логична и правильна.

Но не работает.

при следующем вопросе к нейросети(предположительно с той что я имел дело) она к сожалению не ответит точнее при наводящем вопросе, а статью может выдасть чтобы пообсуждать по верхам, поэтому анализ всё

скорее всего она будет делать как и все, будет анализировать, и это очевидно, потомучто нету анализа а только X на Y, соотв при следующем наводящем вопросе чтобы она обьяснила будет бросок по исходнику очень долгий и она просто уйдёт в фон скорее всего

Если вы внимательно смотрели на заглавную картинку к статье

Наверное автор на КПДВ намекает, что, за их нетрадиционный взгляд на стандарты и спецификации, относит их к ЛГБТ

О, а если учесть китайский путь. Когда путем специально кривых таблиц все системы считают что у них овердрхрена памяти, просто она залочена, кхе-кхе...
А реально доступно только 4ре, и её реально физически 4гига, например широко разрекламированный бук T-Bao T-Book X11.
Вот уж где найти все эти кривости и исправить, но как и зачем?
Потом постоянно выведенное питание батареи без защит на разъем питания и рядом находящийся usb-c...
От чего пострадали наушники.

хах, оффтопик, недавно вскрывал китайский ноутбук у которого радиатором отвода тепла от чипа на матери служит аллюминивый корпус клавиатуры. Просто и легко: чип термопрокладка -клавиатура. Чем сильней работаешь тем сильней пальцы обжигает )
Жалею, что не сфотал.

Там много таких решений. Их задача - максимально дешёвое, выглядит дорого богато решение, которое продать и пофиг на все. Тут же забыть, начать собирать новую модель.

Такое часто. Asus, Acer тоже самое делают. Когда надо продать ультратонкий дизайн, то делают всякие извращения.

до патча

так вы говорите в конце про XanMod, показываете Linux vanilla, простите, не показали dmesg(не показали то что у вас в /dev/ отображается в файлике, логи не показали Xorg например, xset -q, или чтото еще, или может еще где батарейка фигурирует ), засыпание можно отключить(есть такая возможность)(и опять ксорг или вейланд не обьяснили нюансы), и просто сказали что загуглили и процитировали комментарий,

будет ли такое на всех устройствах?

как вообще ядро собирать, в 2025 ок патч есть как собрать и прочее, у человека например стоит дистрибутив Х, тыща нюансов получается

разработчика я смотрел он тоже фиксил штуки всякие всё показывал обьяснял, он вроде так не делал, а разбирался

если мы хотим повысить техническую граммотность то просто вот убираем строчку это успех, но это надо обьяснить почему так, а так вы только показали что есть ошибки и пользователь будет сталкиваться с ними, тоесть есть только описание проблемы - симптомы, а более детального анализа нету, тоесть почему так, получается потомучто методом подбора из доступных подобрали, а почему так?

вот пример ситуации, как понять мышка не работает драйвер или ядро или Ксорг. скролл например просто как пример, получается методом перебора, но это не так

тоесть это придётся проверять человеку, который прочтет что замени строку X на Y, читать документацию

простите, не показали dmesg ... логи не показали ...

Простите, зачем? Автор чётко описал симптомы в первом же предложении:

Ноутбук засыпает, ноутбук просыпается, батарея «зависает» — более не отдает ни уровень заряда ни другие показатели, вне зависимости от подключения к сети

Если у Вас проблема с батареей- попробуйте патч. Если проблема с другим оборудованием, и Вы пытались её решить, то уже наверняка подозреваете ACPI. ACPI большой, не три строчки.

засыпание можно отключить

Напоминает старый анекдот: "Доктор, когда я делаю вот так, у меня болит! - Не делайте так.". Понятно, что есть костыли. Но хочется без костылей, особенно в плане засыпания ноутбука, который можно носить с собой.

просто сказали что загуглили и процитировали комментарий

Это чрезмерное упрощение написанного в статье.

будет ли такое на всех устройствах?

Нет 100% гарантии, что на ноутбуке другого производителя с такими же симптомами этот патч поможет - потому что, как уже сказано, ACPI большой, и вендоры могут там чудить по-всякому. Но важно то, что теперь есть возможность применить конкретный патч на своей машине и посмотреть результат. Не помогло? Убираем патч. Не помогло, но вдохновило и в итоге вы смогли найти решение именно Вашей проблемы? Чудесно.

как вообще ядро собирать

Набираете в гугле "how to build kernel" - полно инструкций.

ок патч есть как собрать и прочее

набираете в гугле "how to apply patch to linux kernel" - полно инструкций

у человека например стоит дистрибутив Х

набираете в гугле, например: 'how to apply patch to linux kernel "debian"' - Debian взято в кавычки, чтобы обязательно присутствовало в результате.

тыща нюансов получается

Для технического специалиста всё, что Вы перечислили, не проблема. А неспециалист в такой ситуации нанимает специалиста и не морочит себе голову.

потомучто так делается, если вы можете говорить только о симптомах и говорить поменяйте X на Y то и всё на этом, то никому не нужно это

извините я могу пояснить что я имею ввиду,

предположим есть алгоритм, но вы его не знаете например фанкучредукс, в его описании указана последовательно и вроде бы его описание, теперь внимание вопрос знатокам, значит ли что просто повторив только эту серию вы поняли как он работает?

тогда чтобы убедиться проверить себя, вам показывают опр набор на вход этого алгоритма и ждут опр ответ, отсюда следует у алгоритма есть точная логика следования операций! и всё и вы можете что угодно там руками ( в блокноте ) переставлять если вы не поняли это значит только то что пока не поняли и это не красные флаги и прочее это вообще-то нормально это очевидно

Может просто надо было заменить батарею целиком? А может стоило попробовать вскрыть батарею откинуть банки (зарядить и отбалансировать отдельно), а потом пересобрать? По какому-то сложному пути (Вы) пошли... Имхо. Но статья интересная!

А может стоило попробовать вскрыть батарею 

По какому-то сложному пути (Вы) пошли

Видимо в этом и заключается разница между теми кто умеет паять и теми кто умеет писать код — разное понимание сложности:)

Вы кстати первый на моей памяти, кто вот так запросто предлагает «попробовать вскрыть батарею», остальные как‑то стремаются подорваться.

так а вы не умеете вы не обьяснили ничего толком, по вашей логике я должен снести драйвер snd, вы показали только то что на линукс придется ради дева тратить время на линукс

боже, ты насрал прям под каждым комментарием, остановись

После разборки контроллер заблокируется и незнающему человеку придётся еще поднимать целую тему по его переактивации.

Вообще, это не так просто. Например, у кого-то из вендоров (кажется, Lenovo) при замене надо обязательно сохранять питание на чипе, иначе батарея окирпичится.

Плюс, из статьи видно, что проблема не в убитости батареи, а в кривости манипуляций вендора с ACPI ( что в Windows, разумеется, учтено и пропатчено ).

что проблема не в убитости батареи

Стоило сразу написать что все свои ноутбуки (включая описанный) я использую «в поле», поэтому батареи меняются раз в год‑два.

У большинства ноутбучных контроллеров батареи их настройки хранятся в регистрах ОЗУ и при пропадании питания стираются. А иногда ещё и ключи вендорлока. В нулевых...десятых перекидывал банки, подпаивая временно проводами свои ремонтные банки для поддержания питания и баланса напряжений (при сильном разбалансе контроллер может упасть в аварийный режим). Настроек контроллера в те годы найти не удавалось, поэтому права на ошибку не было.

Может просто надо было заменить батарею целиком? А может стоило попробовать вскрыть батарею откинуть банки (зарядить и отбалансировать отдельно), а потом пересобрать?

Если в Windows батарея работает корректно, а в альтернативной OS - нет, то, очевидно, проблема не в батарее и не в ноутбуке.

Совсем не факт, ноутбук может нарушать писанную спецификацию а в Windows - учитывается случай.

Такой патч никогда не примут в аппстрим ядра, потому что он неправилен с точки зрения спецификации ACPI.

В таком виде, конечно не примут. Этот патч примерно для 100% пользователей бесполезен. Но если проблема подобной самодеятельности вендоров до сих пор актуальна и можно найти в опенсорсе прошивку какого-нибудь планшета с Android с таким же хаком от разработчика, то можно обсудить с маинтейнерами добавление [параметра ядра](https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html).

то можно обсудить с маинтейнерами добавление параметра ядра

Для этого нужно чтобы проблема имела определенную массовость, поскольку нельзя лепить бесконечное количество параметров по любому поводу.

О, если бы вводили параметры по каждому чиху и не проводили постепенно чистку от устаревшего кода и кода, введённого под какой-то девайс, который просто не вышел в массы (был какой-то чипсет и проц из интела, под которые ввели много кода, а потом сам проц и не выпустили, из-за специально введённой кривости?)

Параметров -- нет. А странных локальных workarounds -- дофига. Достаточно на любой список quirks посмотреть.

слишком частный случай. На Хабре есть статья, как человек делал ремап адресов памяти, чипсет поддерживал установку большого объёма, но на данной матплате это работало частично.
В подобных случаях персональные патчи на ядро имхо, оптимальный вариант.

А у меня вылезла интересная проблема, ubuntu через некоторое время (примерно через пол часа), пропадает связь браузера с интернетом через lan, если переключиться на wifi, то все работает.

Из под вин 10 по лан работает без проблем.

от вендора, который в гробу видал никогда не любил альтернативные ОС

Хм, я часто покупаю ASUS и некоторые из них были на Линукс с завода. Или на DOS. Помню были и фирменные версии Линукс для eeepc.

Тут можно судить лишь по количеству возникающих проблем, например у ASUS часто бывают неподдерживаемые линуксом чипы WiFi.

"Фирменная версия Linux с завода" далеко не всегда поддерживается в дальнейшем.

Вообщем вопрос сложный, на сегодняшний день (как и 10 и 20 лет назад) лучший выбор линуксоида это Lenovo и Dell, причем далеко не все модели.

Топ рекомендаций в принипе стандартный. И не особо зависит от операционки, если честно :-)

  • Lenovo ThinkPad (лучше T или P)

  • Dell Precision (можно Lattitude)

Живут десятилетиями (нет, это не преувеличение), обычно неубиваемы, но и стоят недешево.

Тут можно судить лишь по количеству возникающих проблем, например у ASUS часто бывают неподдерживаемые линуксом чипы WiFi.

Никогда такое не встречал. Может повезло. ASUS eeepc 900HA, 2 или 3 ASUS ZenBook, Asus X102BA. Всегда сетевые адаптеры работали отлично. На ZenBook-е была проблема с тачпадом – не переключался в режим numpad, но уже исправили.

"Фирменная версия Linux с завода" далеко не всегда поддерживается в дальнейшем.

Имел ввиду, что если установили, то хардуер совместим. А так, я всегда использую Manjaro или Arch Linux. Мне предустановленные системы ни к чему.

ASUS ZenBook

Это к сожалению лишь общее название длинной серии ноутбуков от ASUS, с некоторыми из которых точно были проблемы.

Также как и с X102BA.

Дело в том что сейчас даже в рамках одной серии производители ноутбуков могут устанавливать разные чипы, поэтому при раскапывании проблемы с линуксом, в багтрекерах просят показать весь вывод dmesg целиком плюс вывод lspci.

В X102BA не могут быть разные чипы графики, потому что графика у него в процессоре, а процессор никогда не менялся. То что Mint имел какие-то проблемы с графикой показывает только что Ubuntu/Mint имеет с этим проблемы, а не Linux как таковой. Но у Ubuntu давно есть проблемы с детекцией хардуера и настройкой драйверов, так что не удивительно. У меня таких проблем не было, а ведь я этот ноут любил и использовал очень долго пока он не начал физически распадаться. Менял два раза батарею и три раза клавиатуру. Может однажды возьмусь восстановить...

В X102BA не могут быть разные чипы графики

Зато запросто могут быть разные чипы WiFi, тачпада или какого-нибудь Bluetooth.

Но конкретно этой моделью я не владел, так что на личном опыте не могу подтвердить.

Ubuntu/Mint имеет с этим проблемы

Это просто самые популярные дистибутивы, с самым большим количеством пользователей, поэтому большинство проблем с оборудованием вылезают именно там.

Честно говоря даже BSD‑шники вынуждены искать описания проблем по форумам Убунты и Арча, чтобы потом адаптировать у себя — других источников чаще всего просто нет.

В таком виде не примут. А в виде исключения, которое включается только по условию совпадения DMI ID -- то почему и нет? Массовость, кстати, не нужна. В ядре достаточно исключений, которые включаются только для одной редкой модели ноутбука или планшета. Ключевое -- чтобы это не вредило остальным пользователям.
В общем, дерзайте, глядишь и не придется больше накладывать этот патч.

по условию совпадения DMI ID 

Про это есть еще одна замечательная статья, которую я пока не перенес на Хабр.

Все несколько сложнее чем кажется.

Нет, та статья не про это. Квирки по DMI ID -- вполне обычная история для странного железа.

Какого именно железа? С учетом поста китайского комрада, получается два абсолютно разных ноутбука — от разных производителей, разного поколения и т. д.

Тип и производитель батареи на проблему не влияет.

Да хоть для своего сделайте. Кому надо - потом расширит список исключений.

Вполне возможно, что и ASUS и тот странный китайский ноут просто используют один и тот же EC. Но это не важно. Сделайте match просто по DMI ID для своего ноута. Если китайцу будет надо -- он сделает для себя.

а во всех линуксах у вас на вашей машине такое?в условиях специфики ситуации я могу только такой вопрос задать, что делать я не имею права говорить, там дофига зависимостей получается

Решение элементарное: "Поставить OS Windows". Спасибо не говорите;)

Я не упомянул, что речь о Windows 7?

В 10 и 11 боюсь ситуация аналогичная, но могу сказать что если вы соглашаетесь на требования вендора, тогда любое пользовательское оборудование старше 5 лет надо немедленно утилизировать, поскольку официально оно не поддерживается.

Не факт, что это проблема только *nix. Мой ноутбук известной фирмы с рождения ничего хуже Win11 не видел, разве что Linux в Docker :) Но косяк похожий есть, если он засыпает будучи не воткнуым в розетку, то между быстрым пробуждением и hibernate есть третье состояние (нет, я не читал спецификацию ACPI и не собираюсь), когда ноут после быстрого пробуждения требует немедленно выключить его в розетку, иначе всё пропало. Но после вывода pin'а показывает заряд аккумулятора 90% и вопросов больше не имеет.

нет, я не читал спецификацию ACPI и не собираюсь

Потребительское отношение к проблеме приводит всегда ровно к одному — запросу $$$ за решение. И я уже слишком старый, чтобы такое осуждать.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации