LINUX.ORG.RU
решено ФорумAdmin

Проблемы при конфигурации ядра.

 , ,


1

0

При сборке ядра не выходит сконфигурировать ядро так, чтобы работала клавиатура и мышь в иксах. То есть клавиатура и мышь перестают работать как запускаются иксы. При этом клавиатура работает пока иксы не запущены. В иксах ошибок нет. Используется обычная usb мышь и p s/2 клавиатура. Upd: Попробовал подключить другую клавиатуру и мышь, теперь оба usb. При запуске иксов аналогично не работает.

★★★★★

Последнее исправление: vbcnthfkmnth123 (всего исправлений: 2)

Ответ на: комментарий от posixbit
  1. Я просто погуглил похожие темы по сайту и увидел что они в Admin, а не в Desktop. Вот и создал тему в Admin
  2. https://mega.nz/file/7p5QEajS#J7cWcRkydoMtSRYndnb1FpEZJglJXtkMyjr0NmU1vLg
  3. Лог не тот. Просто перезагрузился с другого ядра, а тут только vesa. Сейчас поправлю UPD: Нужный лог иксов - https://mega.nz/file/O8ZQxDRC#3jCHx4eQHtMKsr0xs2Cqxo14yasg-bamc6RNXiaco7M

Хочу я собственно решить эту проблему, чтобы в иксах мышь и клавиатура usb работали. Прошу помощи в решении этой проблемы

vbcnthfkmnth123 ★★★★★
() автор топика
Последнее исправление: vbcnthfkmnth123 (всего исправлений: 5)

Это проблема не с ядром, а в том, что ты для xorg-server не установил пакет с драйверами устройств ввода-вывода или не скомпилировал или в конфигурации xorg-server указал драйвер которого не существует.

Если ты компилируешь систему из исходных кодов, например Gentoo, то после пересборки xorg-server нужно пересобирать и пакет с драйверами устройств ввода для xorg-server.

Но ты абсолютно ничего не указал.

Ни твой дистрибутив, ни вообще что ты делаешь.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Я установил в этом и проблема. Пакеты установлены. Проблема началась после того как я начал конфигурировать ядро. Графику мне удалось настроить по мануалу генты, а вот с клавиатурой и мышью такая вот ситуация. Но вообще спасибо за совет, пересоберу. Дистрибутив CRUX.

vbcnthfkmnth123 ★★★★★
() автор топика
Последнее исправление: vbcnthfkmnth123 (всего исправлений: 1)
Ответ на: комментарий от vbcnthfkmnth123

Ты даже не написал работает ли клавиатура в консоли.

В твоём логе xorg-server нет ни одного упоминания о попытке загрузке драйверов устройств ввода.

В зависимости от того работает ли у тебя клавиатура в консоли нужно рассматривать ситуацию дальше.

Предвосхищая твой вопрос, что сейчас ты не можешь переключиться в консоль, отвечу: отключи запуск xorg-server и проверь работу устройств ввода в консоли.

Как это сделать погугли сам.

И предоставь нормально информацию о дистрибутиве и последовательности действий.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Написал, но могу поаторить. Клавиатура в консоли работает. Проблемы начинаются после запуска иксов. Иксы я запускаю через скрипт startx вручную

vbcnthfkmnth123 ★★★★★
() автор топика
Последнее исправление: vbcnthfkmnth123 (всего исправлений: 1)
Ответ на: комментарий от vbcnthfkmnth123

Ты даже не написал работает ли клавиатура в консоли.

В твоём логе xorg-server нет ни одного упоминания о попытке загрузке драйверов устройств ввода.

В зависимости от того работает ли у тебя клавиатура в консоли нужно рассматривать ситуацию дальше.

Предвосхищая твой вопрос, что сейчас ты не можешь переключиться в консоль, отвечу: отключи запуск xorg-server и проверь работу устройств ввода в консоли.

Как это сделать погугли сам.

И предоставь нормально информацию о дистрибутиве и последовательности действий.

Предоставь информацию и тебе кто-нибудь поможет.

Ты даже не написал, работает у тебя всё с другим ядром, дистрибутивным или нет.

В общем, Вася ты.

Клавиатура в консоли работает. Проблемы начинаются после запуска иксов

Проблема с драйверами устройств ввода для xorg-server, а не в ядре. И под работает в консоли я имею в виду, что работает в консоли с твоим ядром.

Разбирайся. В логе xorg-server`а нет попыток загрузки драйверов устройств ввода для xorg-server - следовательно они стоят не так, как надо.

Если драйвера устройств ввода для xorg-server ты используешь evdev, то в ядре действительно нужно включить некоторые опции, но попытки загрузки драйвера evdev в логе xorg-server должны быть в любом случае, если он есть, а у тебя его нет.

Ну или libinput, ситуация аналогичная.

Удачи.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 2)
Ответ на: комментарий от kostik87

Работает. С ядром идущем в комплекте оно работало. 5.4 кажется, я загрузил ядро поновее 5.15 и начал настраивать руками потому что оно не стартовало, если сделать make all, как предыдущее

Последовательность действий такая:

  1. Я запускаю систему.Она загружается
  2. Логинюсь в консоли
  3. Ввожу в консоли startx
  4. Иксы запускаются, но на мышь и клавиатуру не реагируют.
vbcnthfkmnth123 ★★★★★
() автор топика
Последнее исправление: vbcnthfkmnth123 (всего исправлений: 1)
Ответ на: комментарий от vbcnthfkmnth123

У тебя с логикой проблемы?

Ты можешь чётко изъясняться?

Меня не интересуют версии ядра.

Меня интересует ядро дистрибутивное и собранное тобой.

Твоё описание проблемы должно быть в такой форме:

Установлен дистрибутив такой-то версии.

С дистрибутивным ядром в консоли и xorg-server работают устройства ввода.

Я собрал своё ядро. Загрузился с ним и в консоли работают устройства ввода, а в xorg-server - нет.

Либо.

Я собрал своё ядро. Загрузился с ним и в консоли и xorg-server не работают устройства ввода.

Далее я делал ещё такие-то действия.

Нужна нормально описанная ситуация и отправная точка.

если сделать make all, как предыдущее

А ты пробовал что-нибудь читать о том как правильно собирать ядро?

Перед выполнением make all нужно ещё делать конфигурирование ядра make menuconfig.

Твоё make all собирается с конфигом по умолчанию.

Вот почитай: https://www.kernel.org/doc/makehelp.txt

Правильная сборка - взять конфиг от старого ядра, положить в директорию с исходными кодами нового ядра и выполнить make oldconfig для обновления конфигурации.

Либо make menuconfig с нуля.

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

Версия в директория с модулями у тебя будет 5.15, но модули от новой сборки ядра не загрузятся в ядро версии 5.15 собранное несколько итераций назад.

Вот сравни вот этот вывод:

file /usr/src/linux/arch/x86/boot/bzImage
uname -a

Если клавиатура с новым ядром в консоли не работает, то так:

file /usr/src/linux/arch/x86/boot/bzImage
file /boot/vmlinuz-5.15...твоя_версия

А далее смотришь

modinfo /lib/modules/...5.15.../.../module.ko

То, что ты сейчас пишешь не даёт ясности текущей картины, опиши в том формате, что привёл я.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 3)
Ответ на: комментарий от kostik87

Старое ядро требует старый gcc, а он обновился. Поэтому я не беру старый конфиг ядра и не пытаюсь завести его на новом. Если попробовать собрать старое ядро, то оно требует либы от старого gcc, тогда как с новым ядром такой проблемы нет. Таким образом твой совет приведет к тому что у меня сломается, то что хоть как то работало. Отличный совет

vbcnthfkmnth123 ★★★★★
() автор топика
Последнее исправление: vbcnthfkmnth123 (всего исправлений: 1)
Ответ на: комментарий от vbcnthfkmnth123

Ещё раз, прочти сообщение что я написал выше и нормально опиши в форме, как я привел.

Я так и не понял работает у тебя или нет устройства ввода с новым ядром в консоли или нет.

Потому что ты через одно место описал свою последовательность действий.

Помощь нужна тебе, а не мне.

Если тебе нужна помощь потрудись нормально предоставить информацию для анализа.

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

А чтобы не гадать что и как я и прошу тебя нормально писать проблему прочитай ещё раз выше сообщение выше и опиши в той форме которая там указана.

Я собирал на debian stretch ядро версии 5.15 и оно собралось без проблем, ради интереса можешь сравнить версию gcc в debian stretch и у тебя.

Без нормальной изложенного тобой описания проблемы тебе помочь нельзя.

Мой главный совет тебе нормально описать проблему.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 3)
Ответ на: комментарий от vbcnthfkmnth123

И особенно интересуют действие которое ты делаешь ещё кроме обновления ядра.

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

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

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

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

Гадать Я очень не люблю.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от vbcnthfkmnth123

Старое ядро требует старый gcc, а он обновился. Поэтому я не беру старый конфиг ядра и не пытаюсь завести его на новом.

Вчера на улице шел дождь, поэтому сегодня я не смотрю телевизор. Выше kostik87 всё правильно вам написал, прислушайтесь к его советам.

anc ★★★★★
()
Ответ на: комментарий от no-dashi-v2

Он пишет, что у него ps/2 устройство, evdev или другой драйвер горячего подключения для xorg не обрабатывает ps/2 устройство.

Ps/2 - интерфейс не для горячего подключения.

У него в логе xorg-server нет сообщений о том, что xorg-server делает проверку на загрузку модулей xorg с драйверами устройств ввода-вывода.

Переборка драйверов видео устройств есть, а ввода-вывода нет.

Так что думаю, у него проблема с gcc или libc и как следствие не линкуются нормально so библиотеки с драйверами устройств ввода-вывода для xorg.

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

Проблемы с ядром тоже могут быть, но конфига ядра я не вижу где-то прикреплённого.

Так что надо в магазин за кофе идти. Без него никак.

А то гадать уже надоело, он так и не написал что конкретно делал.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от vbcnthfkmnth123

Я от тебя так и не увидел ответа, что ты ещё делал в системе перед сборкой ядра или после сборки ядра.

Повторяю, я считаю, что у тебя проблема с драйверами устройств ввода для xorg-server.

Если ядро видит клавиатуру и мышь в консоли, но их нет в xorg-server, тем более в логе xorg-server нет строк в которых видно что он пытается подгрузить свои модули (библиотеки) с драйверами устройств ввода - то у тебя либо нет файлов этих драйверов, либо ты обновил например Glibc или gcc и у файлов этих библиотек не удовлетворены зависимости динамической подгрузки библиотек.

В твоём логи отсутствую примерно вот такие строки:

[ 7.115] (II) config/udev: Adding input device Power Button (/dev/input/event1)
[ 7.115] (**) Power Button: Applying InputClass "libinput keyboard catchall"
[ 7.115] (II) LoadModule: "libinput"
[ 7.116] (II) Loading /usr/lib/xorg/modules/input/libinput_drv.so

У тебя есть такие строки:

[    86.636] (==) ModulePath set to "/usr/lib/xorg/modules"
[    86.636] (II) The server relies on udev to provide the list of input devices.
	If no devices become available, reconfigure udev or disable AutoAddDevices.

А ниже видно что часть модулей вкомпилены в xorg-server.

Посмотри какие модули xorg у тебя есть в /usr/lib/xorg/modules и поддиректориях.

И проверь, посредством ldd на всех файлах, что для них удовлетворены зависимости.

Т.е.

ldd полный путь до so файла

evdev работает только с USB устройствами.

По поводу evdev, проверь что в ядре включены вот эти опции: https://wiki.gentoo.org/wiki/Evdev

В собранном тобой ядре.

Что у тебя за конфиг ядра, там нет половины опций.

В частности, где вот эта: https://cateee.net/lkddb/web-lkddb/INPUT_EVDEV.html

CONFIG_INPUT_EVDEV ????

Её в принципе нет.

Что вообще за фигню ты тут пишешь.

У тебя в конфиге ядра вообще нет опций CONFIG_INPUT_*.

Я тебя чётко спросил работает клавиатура и мышь в консоли с твоим ядром - ты нормального ответа так и не дал.

Но косвенно что-то в шапке темы написано.

Либо ты представил не тот конфиг ядра, либо тот, но тогда у тебя в консоли клавиатура не должна работать.

Ну вот фигня же полная.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 3)
Ответ на: комментарий от kostik87

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

vbcnthfkmnth123 ★★★★★
() автор топика
Ответ на: комментарий от vbcnthfkmnth123

Да, вижу опции

# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ADP5589 is not set
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_QT1050 is not set
# CONFIG_KEYBOARD_QT1070 is not set
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_DLINK_DIR685 is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
# CONFIG_KEYBOARD_LM8323 is not set
# CONFIG_KEYBOARD_LM8333 is not set
# CONFIG_KEYBOARD_MAX7359 is not set
# CONFIG_KEYBOARD_MCS is not set
# CONFIG_KEYBOARD_MPR121 is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_BYD=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y
CONFIG_MOUSE_PS2_CYPRESS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y

Включены.

Поиск по тексту опубликованной информации на сайте, что ты использовал не работает, пока мышью не кликнуть в текстовое поле.

Используй пожалуйста нормальный сайт, любой pastebin, их много.

Только скачав файл с твоего https://mega.nz/ можно сделать нормальный поиск по тексту.

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

Мда, ты выбираешь удачные инструменты.

Используй pastebin.

По поводу остального сейчас пересоберу эти пакеты.

Я тебе в следующий раз посоветую

rm -Rf /

Выполнить.

Пересобирать, скорее всего надо. Но в начале проверь какие модули всё же есть и проверь зависимости библиотек через ldd.

Ты так и не написал что делал ещё.

Это видимо великая тайна.

Ну ладно храни её дальше.

А вообще, если бы ты уже нормально всё написал, то проблема решалась бы быстрее.

В особенности если бы ещё лог и конфиг выложил на нормальный сайт (pastebin).

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от kostik87

Пересобрал эти пакеты, затем потыкал evdev и оно заработало. Походу была проблема в evdev, спасибо за советы.

vbcnthfkmnth123 ★★★★★
() автор топика
Последнее исправление: vbcnthfkmnth123 (всего исправлений: 1)
Ответ на: комментарий от firkax

https://kak-podkluchit.ru/kak-podkljuchit-ps-2.html

На современных материнских платах, если ты найдёшь на них ps/2 порт, возможно, озаботились какой-либо развязкой.

Я же в своей практике, что на Pentium3, что на Taulatin`ах, что на P4, что на Core2Duo, вообще на всех ПК где был ps/2 порт встречался с ситуацией, что если подключить ps/2 мышь или клавиатуру, если она не была подключена на момент включения ПК, то она не определялась системой.

В этом случае ПК нужно выключить, подключить клавиатуру или мышь в PS/2 порт, а только потом включить и тогда всё работало.

Более того, даже были случаи, что пользователи вынимали клавиатуру или мышь из PS/2 разъёма и повторное подключение не приводило к работе устройства.

Так что архитектурно PS/2 не для горячего подключения.

Может заработать, а может нет, но скорее всего нет.

Плюс можешь ещё и порт, точнее контроллер спалить на материнской плате.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

если она не была подключена на момент включения ПК, то она не определялась системой.

Спалился виндузятник. Это в виндовом ps/2 драйвере такой баянистый БАГ имеется с древних времён. Во всех остальных системах (да и без систем - ещё в биосе) нормально всё работает. Для серверов (физических отдельных) так вообще обычный режим работы: они работают без подключённой периферии сколько угодно, в т.ч. ребутаются, а иногда к ним подключают клаву/монитор чтоб что-то сделать за консолью. И нигде никогда с этим проблем не было, кроме упомянутой винды.

Плюс можешь ещё и порт, точнее контроллер спалить на материнской плате.

Не надо сказок. Клавиатурный порт работал с горячей заменой всегда, на крайней мере начиная с PC/AT на 286 проце (где контроллер 8042 появился, а PS/2 это то же самое только в новом корпусе), а скорее всего и на IBM PC на 8088 проце. Гореть там нечему.

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

firkax ★★★★★
()
Ответ на: комментарий от firkax

Спалился виндузятник. Это в виндовом ps/2 драйвере такой баянистый БАГ имеется с древних времён.

Да мне по барабану, спалился или не спалился. Как и все я использовал и использую в том числе и Windows. Даже сейчас пишу с ноутбука с ОС Windows 10.

Linux в основном на серверах и рабочем ноутбуке.

Систем с PS/2 портом у меня сейчас нет под рукой.

Но ради интереса я проверю твою догадку, что под Linux PS/2 порт работает с горячим подключением.

Но если я спалю PS/2 контроллер на старом ПК напиши свои данные, что бы я знал кому выслать счёт.

kostik87 ★★★★★
()