Skip to content

DvaMishkiLapa/var-som-mx6-notes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

var-som-mx6-notes

Собственный опыт и наблюдения по var-som-mx6.

Содержание

1. Зачем оно нужно?

В данном репозитории собрана разнообразная информация по var-som-mx6.

2. Содержимое папок репозитория

2.1 ./docs

2.2 ./debs

Некоторые .deb пакеты, что бы не терялись.

  • touchegg_2.0.12_armhf.deb - touchegg. Со временем, пакет может устареть.
  • libts0_1.19-1_armhf.deb - зависимость tslib 1.22.
  • libts-bin_1.19-1_armhf.deb - зависимость tslib 1.22.

4. Полезные ссылки для var-som-mx6

4.1 Официальные источники Variscite

4.2 Внешние материалы

5. Заметки по var-som-mx6

5.1 Общие заметки

  • Docker-ce не работает на Debian 9 Stretch (проверено);

  • OpenGL странно работает в PyQt5 (скорее не работает);

  • Еще один способ завести multitouch touchscreen - touchegg. Конфигурация на свое усмотрение. Zoom жест так и не завелся, но работает вызов контекстного меню по жесту двух пальцев. На Debian 9 пришлось ставить вручную, устанавливая локальные .deb пакеты.

  • Проверку сенсора удобно проверять с помощью tslib. Рабочий вариант - собрать из исходников и установить требуемые зависимости локальными .deb пакетами.

    Первым делом нужно будет выполнить калибровку экрана:

    ts_calibrate

    После выполнения калибровки должен появится файл /etc/pointercal. У меня он появился не по этому пути, а по пути /usr/local/etc/pointercal. Если так случилось, нужно скопировать найденный pointercal в /etc/pointercal. Вариант поиска файла pointercal:

    sudo find / -name pointercal

    После калибровки можно проверит работу сенсорного экрана.

    Для сенсорного экрана в одно касание:

    sudo ts_test

    Для сенсорного экрана с поддержкой multitouch:

    sudo ts_test_mt

5.2 Заметки по компиляции ОС и ядра

  • Для включения использования дисплея по LVDS необходимо редактировать файл ./debian_var-som-mx6/src/kernel/arch/arm/boot/dts/imx6qdl-var-mx6cb-rdisplay.dtsi:

    Пример подключения Mitsubishi Electric AT104XH11:

    ...
    lvds-channel@1 {
      fsl,data-mapping = "spwg";
      fsl,data-width = <24>;
      status = "okay";
    
      primary;
    
      display-timings {
        native-mode = <&timing1>;
        timing1: hsd100pxn1 {
          clock-frequency = <38251000>;
          hactive = <1024>;
          vactive = <768>;
          hback-porch = <112>;
          hfront-porch = <32>;
          vback-porch = <3>;
          vfront-porch = <17>;
          hsync-len = <80>;
          vsync-len = <4>;
        };
      };
    };
    ...
    
  • Если хочется, что бы конфиг сборки ядра не менялся перед сборкой с помощью скрипта Variscite, можно закомментировать 2 строки файла ./debian_var-som-mx6/make_var_som_mx6_debian.sh в функциях make_kernel() и make_kernel_modules():

    ...
    make ARCH=arm CROSS_COMPILE=${1} ${G_CROSS_COMPILER_JOPTION} -C ${4}/ ${2}
    ...
    make ARCH=arm CROSS_COMPILE=${1} ${G_CROSS_COMPILER_JOPTION} -C ${3} ${2}
    ...
  • Для конфигурации сборки ядра в ручную с помощью make menuconfig можно выполнить в консоли 2 команды:

    cd ./debian_var-som-mx6/src/kernel/
    make menuconfig
  • Местоположение сгенерированного файла сборки ядра: ./debian_var-som-mx6/src/kernel/.config;

  • Заставить работать сенсор PM1310 через USB удалось с помощью редактирования ./debian_var-som-mx6/src/kernel/.config:

    CONFIG_HID=y
    CONFIG_HIDRAW=y
    CONFIG_HID_GENERIC=y
    CONFIG_HID_MULTITOUCH=y
    

    Спасибо за это некому Simon Yeh 葉尚智 из amtouch.com.

    Скорее всего, это заставить работать другие multitouch-сенсоры, если они уже включены исходный в код ядра.

    Связные флаги:

    • CONFIG_TOUCHSCREEN_PENMOUNT => PenMount RS-232;
    • CONFIG_HID_PENMOUNT => PenMount 6000 USB Driver.
  • К слову, у PM1310 в X.org неплохо работает multitouch с драйвером wacom. Пример конфигурации /usr/share/X11/xorg.conf.d/40-libinput.conf:

...
Section "InputClass"
        Identifier "libinput touchscreen catchall"
        MatchProduct "PenMount PM1310|PM1310|1310|14e1:3508|HID 14e1:3508"
        MatchIsTouchscreen "on"
        MatchDevicePath "/dev/input/event*"
        Driver "wacom"
EndSectio
...

5.3 Заметки по обновлению и переносу системы на EMMC память

  • Обновление Debian 9 => Debian 10 => Debian 11 возможно. На каждом этапе необходимо убедится, что система полностью обновлена:

    sudo apt update
    sudo apt upgrade
    sudo apt dist-upgrade

    После в файле /etc/apt/sources.list необходимо заменить все вхождения:

    • Для Debian 9 => Debian 10: stretch на buster;
    • Для Debian 10 => Debian 11: buster на bullseye.

    После изменений в файле выполнить обновление системы:

    sudo apt update
    sudo apt upgrade
    sudo apt dist-upgrade

    Проверялось лишь поэтапное обновление системы. Обновление Debian 9 => Debian 11 не проверялось.

  • При выполнении скрипта /usr/sbin/debian-install.sh для переноса системы на EMMC выполняется перенос не той системы, которая установлена на SD-карте. Будет скопирован текущий образ ядра и установлена система, лежащая по пути /opt/images/Debian/rootfs.tar.gz.

    Это изначальный скомпилированный Debian 9. Попытка подменить rootfs.tar.gz перед выполнением скрипта возможна, но потерпела неудачу - система после этого не стартовала.

6. Первичная настройка Debian 9 на var-som-mx6

6.1 Подключение по SSH

OpenSSH-сервер в Debian 9 включен по умолчанию. Пароль от пользователя root по умолчанию: root. Также, по умолчанию, есть обычный пользователь x_user. Его пароль по умолчанию не найден, но легко меняется через passwd.

6.2 Установка sudo и добавление пользователя в его группу

apt upgrade && apt install sudo
usermod -aG sudo x_user

6.3 Установка русского языка

sudo ln -s /etc/locale.alias /usr/share/locale/locale.alias
sudo dpkg-reconfigure locales

После выбрать ru_RU UTF-8 UTF-8 и en_EN UTF-8 UTF-8, по умолчанию выбрать ru_RU UTF-8 UTF-8.

6.4 Установка основных пакетов

sudo apt install bash-completion mc neofetch htop curl git software-properties-common xinput

После установки включить bash_completion добавлением в файл ~/.bashrc строк:

if [ -f /etc/bash_completion ]; then
 . /etc/bash_completion
fi

6.5 Добавление пользователя в группу input (может понадобится для управления устройствами ввода)

sudo gpasswd -a $USER input

6.6 Установка PyQt5 и qml через apt

sudo apt install python3-pyqt5 python3-pyqt5.qtquick python3-pyqt5.qtpositioning qml-module-qtlocation qml-module-qtpositioning qml-module-qtquick-controls

6.7 Настройка синхронизации времени и часового пояса

Выбор часового пояса (в данном случае, UTC+3)

sudo timedatectl set-timezone Europe/Moscow

Releases

No releases published

Packages

No packages published