LINUX.ORG.RU

Сообщения firkax

 

Приоритеты поиска имён в shared objects

Форум — Development

Предположим, у меня есть два варианта одной so-библиотеки, с одинаковыми названиями функций но разными реализациями. lib1.so и lib1_a.so. Есть библиотека lib2.so которая скомпилена с зависимостью от lib1.so. Есть бинарник, которому нужно lib2.so и lib1_a.so. Есть ли надёжный способ сделать (или оно по-дефолту так и будет) чтобы импорты lib2.so резолвились в lib1_a.so, подгруженную для бинарника, а не в lib1.so, которая указана в самом lib2?

Я знаю что есть LD_PRELOAD который такое гарантированно делает, но тут речь про то, чтобы всё сделать в бинарнике и без доп. костылей.

И ещё дополнение: обратная ситуация, в бинарнике зависимость от lib1.so, в lib2 - от lib1_a.so, надо чтобы всё резолвилось опять в lib1_a.so. Можно обобщить как «lib1_a.so имеет больший приоритет чем lib1.so, если они оказываются вместе».

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

 ,

firkax
()

Слежение за изменениями состояния питания

Форум — Development

Есть такая штука /sys/class/power_supply/ и в ней состояния питания от сети и от батареи. Есть ли возможность следить за событиями оттуда, кроме как вручную читать эти файлы раз в секунду? Если какой-то готовый демон уже занимается чтением раз в секунду и создаёт на этой основе события - это не в счёт, это тоже ручное чтение, речь идёт именно про ядерное API.

acpi_listen ничего не показывает на втыкание/вытыкание питания

Нашёл тут https://unix.stackexchange.com/questions/227918/system-event-on-ac-adapter-in... советы запустить `udevadm monitor`, он тоже ничего не показывает.

 ,

firkax
()

fwmx 1.2 — лёгкий оконный менеджер для x11

Новости — Open Source
fwmx 1.2 — лёгкий оконный менеджер для x11
Группа Open Source

Вышла версия 1.2 набора программ fwmx, включающих в себя собственно оконный менеджер (fwm), меню запуска приложений и регулятор громкости. В качестве индикатора раскладки используется xxkb.

Чего нового с момента прошлого релиза (v1.1 в октябре 2021):

  1. Улучшения в календаре:
  • его геометрия теперь может динамически сжиматься на слишком узких экранах;
  • теперь показываются дни от соседних месяцев до полной недели;
  • поддерживается список праздников (раньше только суббота/воскресенье);
  1. Панель задач теперь следит за изменениями разрешения экрана и подстраивается;
  2. Улучшения к регуляторе громкости:
  • новый формат командной строки;
  • шаги громче/тише теперь равны друг другу (раньше вверх делалось меньше из-за ошибок округления);
  • теперь следит за изменениями разрешения экрана аналогично панели задач;
  1. Добавлено меню запуска приложений (раньше весь запуск предполагался через хоткеи, что в общем-то вполне хорошо, но надо давать пользователю выбор).

Проект нацелен на максимальную простоту при наличии необходимой функциональности.

Поддерживается ведение списка окон, присвоение им статусов «всегда сверху», «сверху когда активно» и просто визуальное выделение цветом кнопки на панели задач. Кнопки можно передвигать. Управление самими окнами (не в панели задач) — мышкой при нажатом Super, заголовки и т.п. не рисуются.

Со списком праздников имеется сложность — его надо где-то взять, и сделать это универсально для любой страны мира невозможно, да даже для только России нет официального надёжного сервиса, с которого можно автоматически забирать список. Поэтому сам оконный менеджер этим не занимается, только читает предоставленный файл.

Найденное вменяемое место где можно брать списки праздников: xmlcalendar.ru. Или тут список для России за 2022 год.

Меню отображает дерево директорий из заданного места (или нескольких мест параллельно) на структуру меню и подменю. Обычные файлы для запуска — просто исполняемые (chmod +x) скрипты, бинарники или симлинки на них. Так же имеется базовая поддержка формата файлов .desktop для совместимости с имеющимися системами. Меню находится на стадии бета-версии, однако касается это в основном недостаточной аккуратности исходного кода и почти отсутствия настроек. Явных багов быть не должно.

В будущем планируется доработать выявленные недостатки меню, и реализовать собственный эмулятор терминала без использования громоздких сторонних библиотек.

Программа распространяется в виде исходных кодов (в основном GPLv2), есть так же готовые пакеты для Debian-based дистрибутивов.

>>> Подробности

 ,

firkax
()

debian, nvidia-kernel-dkms i386 & amd64

Форум — Desktop

Возможно ли одновременно иметь dkms и для 32-битных и для 64-битных ядер? Чтобы он сам собирал модули к обеим разрядностям автоматически, как это делается если есть только одна разрядность?

Проблема:

# apt-get install nvidia-legacy-390xx-kernel-dkms:amd64
Рекомендуемые пакеты:
  nvidia-legacy-390xx-driver:amd64 | libnvidia-legacy-390xx-cuda1:amd64
Следующие пакеты будут УДАЛЕНЫ:
  nvidia-legacy-390xx-kernel-dkms
Следующие НОВЫЕ пакеты будут установлены:
  nvidia-legacy-390xx-kernel-dkms:amd64

Он хочет снести 32-битный dkms при установке 64-битного. Или 64-битный сможет для обоих ядер всё скомпилить?

 , ,

firkax
()

Почему начало блокчейна приписывают биткоинам а не гиту?

Форум — Talks

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

Вобщем, возможно изобретатель блокчейна это Линус Торвальдс, на 4 года раньше чем появились биткоины, а может и ещё кто-то раньше. Нечестно что не его за это хвалят.

 , , ,

firkax
()

обновление debian -> devuan, костылинг dpkg/apt в середине

Форум — General

Есть у меня комп с установленной на него debian wheezy (7), ядром от jessie (8). Решил его обновить и перейти заодно на devuan т.к. вспомнил что обновление до нового дебиана установит туда гадостный systemd.

Начал с того что поставил туда apt от stretch (9) с локальных проверенных .deb-пакетов т.к. в более ранних была уязвимость https://lists.debian.org/debian-security-announce/2019/msg00010.html позволяющая RCE через mitm незащищённого соединения к репе. Для того чтобы apt от stretch поставился в wheezy и не ругался, пришлось немного покостылить libstdc++6, убрав из него строчки Breaks: и Depends: (чтобы он просто молча установился и не пытался мне снести пол-системы). Также, чтобы пакеты из новых релизов нормально конфигурировались, (об этом узнал позже, см ниже! ***) пришлось сделать фикс к пакету init-system-helpers-1.48 (от stretch), убрав из него всё что конфликтовало с wheezy, оставив скрипты deb-systemd-helper и deb-systemd-invoke (они нужны в preinst/postinst хуках новых пакетов в т.ч. в devuan), почистив метаданные от конфликтов и зависимостей и заменив версию на 1.47.999 чтобы потом он сам мог дальше обновиться. Получившийся дебиан (wheezy с добавками jessie/stretch) работал нормально.

После этого я установил вручную скаченный и проверенный devuan-keyring, заменил репы на «devuan ascii» (это аналог stretch-а из дебиановских версий, прыгать через 3 версии сразу до beowulf или тем более через 4 до chimaera не хотелось) и начал плавно обновляться. Начал с apt-get update / upgrade.

Вот тут случилась сомнительная ситуация. apt-get upgrade упал в середине настройки из-за отсутствующего deb-systemd-helper. Я этот файл ему организовал (см. выше про хак с init-system-helpers ***), запустил заново apt-get upgrade и вроде оно продолжилось. [!] Первый вопрос - он ничего при таком падении в середине не мог потерять? По виду было всё норм.

Дальше - почистил ненужные остатки вручную, делаю apt-get install eudev, он хочет снести пол-системы, потыкался как сделать эту операцию более щадящими способами, особо не нашёл, единственное заметил что его «план установки» выглядит менее варварским если сделать apt-get install eudev apt-file. Делаю (список удалённых/установленных пакетов запомнил в файл чтобы потом их перепроверить на предмет нужности). И он в середине опять падает :( На настройке какого-то perlmagick. Что именно в нём сломалось выяснить не удалось - потому что повторно уже даже не запускается, пишет что не может составить план установки из-за битых зависимостей. [!] Как так?! Он же уже начал исполнять этот запрос, раньше знал как его выполнить а теперь забыл? Вобщем, apt-get стал нерабочим, т.к. на любые команды он теперь ругается на нерезолвленные зависимости, половину пакетов, которые он собирался удалить, он удалил, какие-то не удалил, может быть что-то поставил. Советует apt-get install -f но тот так же не работает. Ну, я среди его ругани обнаружил остатки ненужного мне гнома, разбираться с конфликтами ненужных пакетов не хочу - поэтому просто вручную потёр их через dpkg --purge (это apt сломался а dpkg работает норм, правда пришлось вручную список к удалению составлять т.к. рекурсивно удалять он не умеет). И ещё несколько пакетов пришлось так удалить (потом поставлю заново), после чего apt-get install -f наконец соизволил придумать что он может сделать. Запускаю, он что-то удаляет/ставит. [!] Третий вопрос: после такого (упавший в неконсистентном состоянии apt, ручная чистка мусора через dpkg, опять запуск apt) apt тоже ничего не «потеряет»? Не мог он какие-то хуки в итоге забыть запустить от пакетов которые он в первый раз недоустановил?

apt-get опять падает, на этот раз на настройке lintian, с странным сообщением об ошибке, дословно не вспомню, но что-то типа «apt ожидал от dpkg 4 действия а тот сделал 0». Исправилось после запуска «dpkg-reconfigure lintian» (который кажется ничего не сделал), после чего apt-get install -f тоже стал ничего не делать и не ругаться. [!] Четвёртый вопрос: тут он тоже ничего не потерял? Судя по его логу до падения от lintian, он только начал этап настроек, а пакетов та было много, но после фикса lintian'а почему-то он ничего делать не продолжил. Впрочем, запущеный после этого ещё раз apt-get upgrade отработал уже нормально, ещё кучу всего обновил и ни разу неупал. Ребут компа тоже прошёл норм, правда иксы не запускаются, но это другая тема, ведь обновление ещё не закончено (ну, я надеюсь что это не связано с вопросами выше и не придётся вручную их чинить).

Если что, на сайте devuan нет гайда ни по обновлению с debian wheezy до чего угодно (минимум jessie), ни по обновлению с чего угодно до devuan ascii (к нему только чистая установка описана, а обновления до beowulf и chimaera - то более поздние релизы). Надеюсь это не потому что там возникают неразрешимые проблемы. ---- Вопросы (всего 4) помечены знаками «[!]» чтобы их было лучше видно в этой простыне.

 , , ,

firkax
()

Ручной тюнинг ModeLine, можно ли что-то повредить?

Форум — Linux-hardware

Благодаря китайцам, сэкономившим пару копеек на жилах для EDID в мониторном кабеле, занялся настройкой видеорежимов в xorg.conf.

Начал с того, что сдампил режимы, которые получаются с хорошим кабелем где монитор детектится, внёс их в xorg.conf - всё норм. Они почему-то отличаются от тех, что выдаёт cvt, на отличия я и обратил внимание, и решил потюнить длины строк/кадров вручную. Урезал где можно длину сигналов развёртки и промежутков между развёрткой и данными. Таким образом получилось, не меня пиксельную частоту (148.4МГц), поднять частоту кадров с 60Гц до 67Гц.

Режимы (как видно, у cvt меньше пиксельная частота и меньше межстрочные синхро-интервалы, я решил совместить большую частоту на нативном режиме и маленькие интервалы, а потом ещё их сократил):

# cvt -r
ModeLine "1920x1080MR" 138.50 1920 1968 2000 2080 1080 1083 1088 1111 +hsync -vsync
# autodetected
ModeLine  "1920x1080" 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
# 67hz
ModeLine "1920x1080F" 148.50 1920 1955 1960 1980 1080 1084 1089 1120 +hsync +vsync

Вопрос - вредно ли это для чего-нить? Для видеокарты - вряд ли, думаю она и больше может. А вот монитор декларирует режим с 60Гц, а 67 официально не поддерживает, хоть и показывает на нём хорошо. Может есть какие-то подводные камни?

Я просто совершенно не уверен, что разницу между 60 и 67 хоть где-то замечу, но теоретически 67 чуточку лучше (меньше мерцание - меньше будет усталость глаз, вроде так?), и если это можно сделать полностью без какого-то побочного вреда, то почему бы и нет. А если если хоть какие-то причины этого не делать, то лучше не буду.

 

firkax
()

fproxy v80 — локальный прокси-сервер для фильтрации http(s)-трафика

Новости — Интернет
Группа Интернет

Опубликована 80-я версия кэширующего и антиспамного прокси-сервера для персонального использования c гибкими настройками.

( читать дальше... )

>>> Подробности

 , , ,

firkax
()

Версия firefox-esr в debian 11

Форум — General

Непонятно. С одной стороны тут

https://packages.debian.org/search?keywords=firefox-esr

вот такая и других нет

bullseye (stable) (web): веб-браузер Mozilla Firefox — версия с долгосрочной поддержкой
78.15.0esr-1~deb11u1: amd64 arm64 armhf i386 mips64el mipsel ppc64el s390x

сейчас у меня на i386 архитектуре ставится именно она.

С другой - недавно на одном компе с amd64 поставился 91.5.0 deb11u1. На сайте его тогда тоже не было. Но вижу что в debian 10 там имеется разделение - для amd64 91.5, для i386 78.15.

А вот тут http://security.debian.org/debian-security/pool/updates/main/f/firefox-esr/ вижу пакеты 91.5 и для i386 и для amd64.

Это баг или я чего-то упустил?

 ,

firkax
()

Дырявый докер

Форум — Security

TLDR: скопрометированный не-рут может стать рутом, если ему поможет скомпрометированный рут из другого контейнера.

Возможно это баян и ещё более возможно всем пофиг, но при наличии двух контейнеров, могущих общаться через UNIX-сокет (который через файлы типа «socket») они могут «делиться» друг с другом рут-правами (и другими). Общение через UNIX-сокет вполне может быть заложено штатно (например, nginx + php-fpm в разных контейнерах, связанные через локальный сокет), либо легко делается самостоятельно, если у двух контейнеров есть общий volume (в нём один может создать сокет а второй - подключиться к нему). На самом деле, в случае с volume всё может оказаться проще - один создаст suid-root бинарник а второй запустит, но кто-то может поставить туда nosuid/noexec и думать что этого достаточно - но нет.

Как поделиться правами: есть такая штука как SCM_RIGHTS, с помощью неё можно слать через сокет файловые дескрипторы. Допустим у нас есть контейнер A, в котором запущен с ограниченными правами злонамеренный, скомпрометированный либо просто принимающий внешние команды в роли демки (с расчётом на «он никуда не вылезет») софт. И есть контейнер B, в котором злонамеренный софт как-то смог получить рут-права. Непривилегированный процесс в контейнере A делает open(«/»), шлёт через сокет полученный файловый дескриптор привилегированному процессу в контейнере B, после чего привилегированный процесс из контейнера B через функции openat() и подобные получает полный рут-доступ к файловой системе контейнера A.

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

 ,

firkax
()

Одобряете ли вы действия Марака Сквайрса по внесению деструктивных изменений в свои популярные npm-пакеты colors и faker?

Голосования — Голосования(не подтверждено)

История происшествия тут: Разработчик внёс деструктивные изменения в NPM-пакеты colors и faker, применяемые в 20 тысячах проектах

 , faker, ,

firkax
()

подстава от гнома

Форум — Talks

Решил я посмотреть какие процессы висят, чтобы почистить систему от лишних, и неожиданно наткнулся на такое:

user1@nb2:~$ ps axuww | grep gnome-sc
user1     5182  0.0  0.0   2568   192 ?        S     2021   0:00 /bin/sh -c gnome-screenshot -a
user1     5183  0.0  0.1  70216  4380 ?        Sl    2021   0:12 gnome-screenshot -a
user1     5187  0.0  0.0   2568   156 ?        S     2021   0:00 /bin/sh -c gnome-screenshot -a
user1     5188  0.0  0.1  70212  4408 ?        Sl    2021   0:12 gnome-screenshot -a
user1     5192  0.0  0.0   2568   152 ?        S     2021   0:00 /bin/sh -c gnome-screenshot -a
user1     5193  0.0  0.1  70216  4440 ?        Sl    2021   0:12 gnome-screenshot -a
user1     5197  0.0  0.0   2568   164 ?        S     2021   0:00 /bin/sh -c gnome-screenshot -a
user1     5198  0.0  0.1  70220  4532 ?        Sl    2021   0:12 gnome-screenshot -a
user1     5202  0.0  0.0   2568   152 ?        S     2021   0:00 /bin/sh -c gnome-screenshot -a
user1     5203  0.0  0.1  70280  4392 ?        Sl    2021   0:12 gnome-screenshot -a
user1     5207  0.0  0.0   2568   164 ?        S     2021   0:00 /bin/sh -c gnome-screenshot -a
(ещё много таких)
user1@nb2:~$ ps axuww | grep gnome-sc | wc -l
85
Итого 42 штуки висят ещё с прошлого года. Вот ведь вычистил весь гном из системы, оставил только скриншотер, но и он смог тайком нагадить. Правда после killall gnome-screenshot освободилось всего 80мб памяти, что было неожиданно.

Ну учитывая что я как раз несколько месяцев назад разобрался как создавать png-файлы с помощью libpng, можно наверно и свой скриншотер делать.

 ,

firkax
()

bsd make - зависимость от .h в suffix-transformation rule

Форум — Development

Есть в BSD Make такой шаблонный тип правил:

.c.o:
        $CC -o $@ $<

Означает, что для получения любого файла .o, если есть соответствующий .c, можно попробовать выполнить

$CC -o name.o name.c

Никак не могу найти, как добавить в него зависимость от заинклюденых заголовочных файлов, ну чтобы этот .o пересобирался при изменении допустим общего для проекта config.h.

В GNU Make правило с аналогичным функционалом выглядит по-другому:

%.o: %.c
        $CC -o $@ $<
В него дописать config.h в зависимость очевидно как:
%.o: %.c config.h

Но неужели в BSD синтаксисе такого не предусмотрено? Это же прямо везде нужно.

 , ,

firkax
()

Настройка Power button, Debian Bullseye

Форум — General

Захотел перенастроить кнопку питания (на ноуте) чтобы она делала не выключение а что-то другое. Думал за это отвечает acpid и его настройки.

$ grep power /etc/acpi/events/*
/etc/acpi/events/ac:# Called when the user connects ac power to us
/etc/acpi/events/ac:action=/etc/acpi/power.sh
/etc/acpi/events/battery:# Called when AC power goes away and we switch to battery
/etc/acpi/events/battery:action=/etc/acpi/power.sh
/etc/acpi/events/powerbtn-acpi-support:event=button[ /]power
/etc/acpi/events/powerbtn-acpi-support:action=/etc/acpi/powerbtn-acpi-support.sh
/etc/acpi/events/sleepbtn:# power management daemon is running.
/etc/acpi/events/suspendbtn:# power management daemon is running.
$ cat /etc/acpi/events/powerbtn-acpi-support
event=button[ /]power
action=/etc/acpi/powerbtn-acpi-support.sh

Как оказалось, нет: никакие изменения в /etc/acpi/powerbtn-acpi-support.sh (там прописано по дефолту выключение как и ожидалось) на ситуацию не влияют.

killall -STOP acpid
тоже, ноут всё так же выключился по нажатию кнопки.

Обнаружил что /sbin/shutdown и прочее оказывается теперь симлинки на systemctl, закралось подозрение что оно теперь всё обрабатывается внутри systemd (непонятно зачем тогда acpid нужен), но как это быстро выяснить не нашел, может кто знает в чём дело?

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

 , ,

firkax
()

WM под себя + xfce-terminal + mc

Галерея — Скриншоты

Уже создавал как-то тему, но не в галерее. Сделал простой window manager под свои нужды, в нём нет ни одной детали, которая лично мне не была нужна. Управление окнами (мышка/клавиатура), таскбар, календарь. Отдельной программой — регулятор громкости. Ещё одной — мониторинг проца/памяти/сети, батарея ноута и регулятор подсветки.

Терминал планировал свой, но пока xfce4-terminal. Переключатель языка — xxkb с кастомным конфигом.

Поддерживается ведение списка окон, присвоение им статусов «всегда сверху», «сверху когда активно» и просто визуальное выделение цветом кнопки на панели задач. Кнопки можно передвигать.

Управление самими окнами (не в панели задач) — мышкой при нажатом Super (двигать левой, ресайз правой, maximize дабл-кликом), заголовки и т.п. не рисуются.

Регулятор громкости показывает и меняет значение master-настройки alsa — либо по хоткеям (спец. кнопки для громкости, обычно есть на ноутах), либо мышкой.

Как сделать глобальный кастомный конфиг для xxkb — не нашёл, видимо нельзя, а перезаписывать стандартный не хотелось, поэтому его придётся класть вручную в ~/.xxkbrc где надо.

Также в архиве исходников есть мой скрипт для настройки адекватного поведения тачпада, может кому тоже пригодится (но я не знаю, насколько он переносимый).

Скачать всё это можно тут: https://firk.cantconnect.ru/projects/fwmx/ (кроме мониторинга, там исходник привязан к конкретно моему железу, к тому же написан в черновую и не очень годится для публикации, может потом как-нибудь).

Там исходники и deb-пакеты для i386/amd64 (вариант из wheezy, думаю, везде запустится).

Там же внутри есть и man-страницы (rus/eng) по настройке.

 , , ,

firkax
()

Посоветуйте платформу без блобов и не урезанную

Форум — Linux-hardware

Посоветуйте платформу, под такие потребности:

1) нормальная скорость работы (ну хотя бы на уровне х86 процов начала 2000х)

2) наличие ethernet хотя бы 10мбит (лучше побольше), наличие других интерфейсов дополнительно тоже хорошо

3) аналоговый выход (звук например или просто ЦАП общего назначения)

4) какой-нить интерфейс к устройству долговременного хранения информации

5) никаких закрытых прошивок - весь процесс инициализации и работа системы должны быть прозрачные, документированные, чтобы можно было их как угодно патчить и перешивать; можно даже без готовых бинарников и только с документацией как запустить; в том числе, если там допустим firmware для ethernet интерфейса - оно тоже опенсорс (или я слишком много хочу?)

 , ,

firkax
()

оцените мой window manager

Форум — Desktop

Нацелен на максимальную простоту при наличии того, что необходимо. Многоэкранные штуки не поддерживаются, большинство настроек (внешний вид) в config.h файле, автозапуск и хоткеи (все при нажатом Super) - в отдельном конфиге после компиляции.

Поддерживается ведение списка окон, присвоение им статусов «всегда сверху», «сверху когда активно» и просто визуальное выделение цветом кнопки на панели задач. Кнопки можно передвигать.

Управление самими окнами (не в панели задач) - мышкой при нажатом Super (двигать левой, ресайз правой, maximize дабл-кликом), заголовки и т.п. не рисуются.

Из сторонних прог конфигом используется gnome-terminal, gnome-screenshot, iceweasel и xxkb, но никакой жёсткой привязки именно к ним нет.

Исходники и сопутствующие материалы тут https://firk.cantconnect.ru/projects/fwm/fwm-20210216.tgz

скриншот (хотя он малополезен по-моему): https://firk.cantconnect.ru/projects/fwm/scr.png

2021-10-15: за прошедшие полгода расширил возможности настройки, добавил какие-то мелкие улучшения функционала, man-страницы и deb-пакеты, ну и создал скрин в галерее: WM под себя + xfce-terminal + mc (там же и новые ссылки на скачивание)

 ,

firkax
()

ноут, usb 8087:07E6, виснет pm-suspend

Форум — Linux-hardware

Проверено на ядрах 4.9 (из debian strectch) и 4.19 (из debian buster).

При вызове pm-suspend ноут зависает (экран не успевает погаснуть).

Иногда (довольно редко) на старте системы пишется ошибка

[ 3.957398] ehci-pci 0000:00:1d.0: port 1 reset error -110

В таких сеансах (от запуска системы с этой ошибкой до ребута) pm-suspend работает. Так же обнаружил, что в таких сеансах из lsusb пропадает устройство:

Bus 003 Device 002: ID 8087:07e6 Intel Corp.

Из вывода lsusb -v кажется что это хаб, но драйвера к нему видимо нет. При попытке записать ему 0 в /sys/bus/usb/devices/3-1/authorized или 1 в /sys/bus/usb/devices/3-1/remove система тоже виснет. Поиск в инете никаких жалоб на это устройство не нашёл. Зато нашёл рандомные жалобы на виснущий suspend но без внятной диагностики.

В логах suspend’а ничего полезного не видно (подозреваю что после зависания он уже ничего не диск не может записать).

Что ещё можно предпринять (кроме исследования исходников ядра)?

 , , ,

firkax
()

RSS подписка на новые темы