Поддержка русскоязычных пользователей

Народ, не подскажите столкнулся с 2-мя проблемами. Может у кого было.
Есть VIM3L и TS050 а также M2X плата расширения на которую вкручен SSD. Первоначально загрузился в Андройд - все прекрасно с экраном - но SSD не может форматировался (PCI-Е включен) - в dmesg таймауты на команды, fdisk вообще в корку падает. Экран работал изумительно. Загрузил Ububtu c сайта Khadas с ядром 5.9 на SD карту, гружусь с нее - на экране всякий мусор. Подключился по ethernet через SSH - проверить SSD диск - там он работал просто изумительно.

Ладно, перегружаюсь в андройд - и у меня просто дикое мерцание экрана пошло (особенно заметное на серых полутонах). Че только не делал - и полный erase EMMC c заливкой чистого андройда - не могу победить. Питание по USB-C - и не думаю что в нем дело - ведь на том-же питании и не мерцал в первых загрузках

Вопрос снялся, видимо что то аппаратное - через несколько часов мерцание ушло - оно как то постепенно затухало. Осталось понять как завести SSD под андроид.

PS: Методом тыка выяснилось - что это SSD нормально работает под ядром 5.7 - в 4.9 работать не хочет. Возможно ли сделать бэкпорт драйвера NVMe из 5.7 обратно в 4.9 ?

Я думаю шлейф мог отойти .
Что-то вроде вытащить и вставить шлейф ,должно нормально работать.

Не знаю как выразить - может и глупо звучит - но ощущение что сами жидкие кристаллы с ума сходили когда на панельку подавались неправильные тайминги при запуске Ubuntu. Возможно было какое то насыщение их - прям да же не знаю. Еще раз провел такой эксперимент - заметил такую закономерность - сразу после перезагрузки в андроид после ubuntu - просто дикое мерцание панели. Но постепенно, в течении 3-х часов оно исчезало (пробовал всяко и с обесточивание полным, и перетыканием шлейфа ) - через 3 часа - все, экран приходил в норму. Почему так - даже не знаю.

PS: Если удасться решить проблему с NVMe - то вообще отличная будет железка под мои нужды. Буду пробовать AOSP собрать с ядром 5.10 - посмотрю что как. Хотя собирать Pie было тем еще приключением - 3 дня бился что бы его собрать - все падало при сборке с SIGILL

1 Like

Удачи тебе, приятель! :slightly_smiling_face::+1:

1 Like

Всем доброго дня!

VIM3 Ubuntu 20 4.9 EMMC (Krescue) + KODI

Пытаюсь принимать сигналы c ИК-пульта.

lirc не распознает устройство, называется девайс в системе тоже довольно странно - aml_keypad. Живет здесь /sys/devices/platform/ff808040.rc/input/input1, драйвера тут /sys/bus/platform/drivers/meson-remote/ff808040.rc

При этом в dmesg коды исправно прилетают под именем meson-remote, но я не понимаю как их замапить например на выключение (power-off).

Пробовал по схеме из соседнего треда VIM2 Linux OS with working LIRC and I2S+SPDIF - #4 by elektryk

Изначально ни ir-keymap ни evtest устройства не находили. Пошаманил с конфигами lirc, с правами, теперь evtest /dev/input/event1показывает поддерживаемые команды (большой список) и имя устройства (aml_keypad)

Создал конфиг /etc/ir-keytable.conf с одной строчкой:

scancode 0xbf40 = KEY_POWER (0x74)

где 0xbf40 это IR код кнопки, а 0x74 как я понимаю код действия (события).

В витоге команда ir-keytable -c не находит устройств, даже с указанием --sysdev=/dev/input/event1, а команда ir-keytable -vw /etc/ir-keytable.conf падает с Segmentation fault, в режиме verbose пусто.

В jojurnalclt есть такое

Apr 04 20:24:03 Khadas lircd-0.10.1[5922]: Warning: can't get exclusive access to events coming from '/dev/input/event1' interface
Apr 04 20:24:03 Khadas lircd-0.10.1[5922]: Info: removed client
Apr 04 20:24:03 Khadas lircd-0.10.1[5922]: Info: closing '/dev/input/event1'

Есть ощущение что я делаю все это неправильно…

Задача простая - выключать устройство по кастомному IR коду. Включается девайс уже исправно через правки в u-boot.

В общем need help… @hyphop кажется ты разбираешься в этом лучше всех

  1. lirc - не нужен
  2. evtest - смотри коды событий и на их основании генерируй конфиг кодов - например конфиг из Krescue (сразу на несколько пультов) для ir-keytable
# table keyes, type: nec
scancode 0x0001 = KEY_ESC (0x01)
scancode 0x0002 = KEY_DOWN (0x6c)
scancode 0x0003 = KEY_UP (0x67)
scancode 0x0007 = KEY_ENTER (0x1c)
scancode 0x000b = KEY_PAGEDOWN (0x6d)
scancode 0x000e = KEY_LEFT (0x69)
scancode 0x0013 = KEY_TAB (0x0f)
scancode 0x0014 = KEY_POWER (0x74)
scancode 0x001a = KEY_RIGHT (0x6a)
scancode 0x0048 = KEY_HOME (0x66)
scancode 0x0058 = KEY_PAGEUP (0x68)
scancode 0x005b = KEY_MUTE (0x71)

scancode 0x0100 = KEY_1 (0x02)
scancode 0x0101 = KEY_POWER (0x74)
scancode 0x0104 = KEY_4 (0x05)
scancode 0x0106 = KEY_3 (0x04)
scancode 0x0107 = KEY_2 (0x03)
scancode 0x0108 = KEY_7 (0x08)
scancode 0x0109 = KEY_ESC (0x01)
scancode 0x010a = KEY_6 (0x07)
scancode 0x010b = KEY_5 (0x06)
scancode 0x010e = KEY_9 (0x0a)
scancode 0x010f = KEY_8 (0x09)

#scancode 0x010d = KEY_PAGEDOWN (0x6d)
scancode 0x010d = KEY_VOLUMEUP
#scancode 0x0114 = KEY_PAGEUP (0x68)
scancode 0x0114 = KEY_VOLUMEDOWN

scancode 0x010c = KEY_PREVIOUSSONG
scancode 0x011f = KEY_NEXTSONG
scancode 0x0153 = KEY_F1

scancode 0x011c = KEY_PLAYPAUSE
scancode 0x0110 = KEY_STOP
scancode 0x0112 = KEY_MUTE

scancode 0x0103 = KEY_BACK
scancode 0x0105 = KEY_FORWARD
scancode 0x015b = KEY_MENU

scancode 0x0113 = KEY_0 (0x0b)
scancode 0x0115 = KEY_ENTER (0x1c)
scancode 0x0117 = KEY_UP (0x67)
scancode 0x011a = KEY_DOWN (0x6c)
scancode 0x0141 = KEY_RIGHT (0x6a)
scancode 0x0142 = KEY_LEFT (0x69)
scancode 0x0143 = KEY_TAB (0x0f)
scancode 0x0151 = KEY_BACKSPACE (0x0e)
scancode 0x015a = KEY_HOME (0x66)

scancode 0xb280 = KEY_PAGEDOWN (0x6d)
scancode 0xb281 = KEY_PAGEUP (0x68)
scancode 0xb282 = KEY_HOME (0x66)
scancode 0xb288 = KEY_MUTE (0x71)
scancode 0xb299 = KEY_LEFT (0x69)
scancode 0xb29a = KEY_ESC (0x01)
scancode 0xb2c1 = KEY_RIGHT (0x6a)
scancode 0xb2c5 = KEY_TAB (0x0f)
scancode 0xb2ca = KEY_UP (0x67)
scancode 0xb2ce = KEY_ENTER (0x1c)
scancode 0xb2d2 = KEY_DOWN (0x6c)
scancode 0xb2dc = KEY_POWER (0x74)
  1. ir-keytable -c; ir-keytable -w /etc/ir-keytable.conf
  2. далее рекомендую triggerhappy - очень удобная штука apt-get install triggerhappy man triggerhappy

мой конфиг пример для него также из Krescue

cat etc/triggerhappy/triggers.d

KEY_FN        1       echo HELLO > /tmp/hello.txt
KEY_POWER     1       poweroff
KEY_HOME      1       /opt/uinput_send F1
...

Удачи

1 Like

круто! большое спасибо за оперативный полный ответ! пойду пробовать, отпишусь.

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

Так вот абсолютно не понятно как добавить в нем overlay для PoE Ethernet. Если для linux есть /boot/env.txt то для CoreELEC как я понял подойдет только сборка и добавление dtb.

Но нигде пока что не нашел информации о том как собрать подходящий dtb с одним нужным оверлеем m2x-eth и как его корректно установить в coreELEC.

Может есть пара ссылок котоыме помогут прояснить процесс?

я не уверен что этого будет достаточно - нужно чтоб еще linux kernel имел поддержку

может есть kernel module для m2x-eth?

конечно там все стандартно - но ядро должно быть собрано правильно - в coreelec я это дело не проверял (может и заработать без проблем) нужно проверять

я готов проверить, но мне нужно понять как добавить dtb для m2x в coreelec

если я праивльно понимаю придется декомпилировать dtb для всего vim3, декомпилировтаь m2x.dtbo из linux, добавлять код m2x в основной dts и компилировать заново, потом с ним руками ставить coreelec.

другого способа пока не придумал.

в иделе конечно бы понять как добавить нужный dtb в coreelec уже установленный на emmc

все верно :wink: как-то так и надо

1 Like

В итоге поковырявшись обнаружил, что сейчас ресивер доступен в виде симлинка по пути /sys/class/remote/amremote

sntx@Khadas:~$ tree /sys/class/remote/
/sys/class/remote/
└── amremote -> ../../devices/virtual/remote/amremote

при этом ir-keytable ожидает его по пути /sys/class/rc/rc* и поэтому не находит совсем

sntx@Khadas:~$ ir-keytable -v
Couldn't find any node at /sys/class/rc/rc*.
No devices found

sntx@Khadas:~$ ir-keytable -v --sysdev=/dev/input/event0
Couldn't find any node at /sys/class/rc/rc*.
No devices found

Добалвение аргумента --sysdev /dev/input/event0 ничего не меняет, аргумент --device в последних версиях ir-keytable выпилен поэтому явно указать путь до sysfs невозможно.

Пытаюсь понять, есть ли способ создать симлинк на нужное устройство в sysfs, и пока что никаких способов не нашел…

Вероятно проблема в драйвере ресивера, в том как он регистрируется (класс remote и имя amremote вместо rc и rc0).

ubuntu 20 focal minimal 4.9 emmc krescue

нет тут все совсем не так как в mainline (coreelec исползуют vendor kernel + amremote driver ) ir-keytable - в это случае бесполезна

сори что запутал, но здесь я не про coreELEC, его я еще не поставил. Проблема с IR была и есть на Ubuntu 20 Focal minimal 4.9 eMMC из Krescue.

У меня сейчас стоит Ubuntu в которой я пытаюсь поднять все необходимые сервисы и периферию, чтобы не ставить coreELEC.

Периодически я задумываюсь о переустановке, заранее пытаюсь продумать подводные камни в coreELEC но изначально не хочу терять полноценный linux.

так тотже vendor kernel - надо смотреть что там за конфиг ядра

не совсем понимаю как это проверить, четсно говоря

я на днях гляну что там и как - тогда отпишу - что делать OK

спасибо! буду ждать)