Sergey1560 / fb4s_howto

Howto
75 stars 21 forks source link

Подключение экрана MKS TS35 V2.0 к Orange Pi #8

Closed Serjkustarev closed 2 years ago

Serjkustarev commented 2 years ago

Попробовал установить на orange pi 2 zero и столкнулся с проблемой при установке linux-headers, ядро sun50iw9, я понимаю что установка предполагается на Pi 3 LTS, но если есть возможность помочь вот:

при использовании команды из инструкции sudo apt-cache search linux-headers-current-sunxi64 ничего не появляется в терминале, только слегка задумавшись 2-3 секунды новая строчка появляется

klipper@orangepizero2:~$ sudo apt-cache search linux-headers-current-sunxi64 klipper@orangepizero2:~$ sudo apt install git build-essential linux-headers-current-sunxi64 Reading package lists... Done Building dependency tree... Done Reading state information... Done E: Unable to locate package linux-headers-current-sunxi64

и после sudo apt install git build-essential linux-headers-current-sunxi64 выкидывает такой текст:

Reading package lists... Done Building dependency tree... Done Reading state information... Done E: Unable to locate package linux-headers-current-sunxi64

Конфигурация Orange Pi 3.0.4 Bullseye with Linux 5.16.17-sun50iw9 стоит на флешке, не переносил на внутреннюю память.

Last login: Fri Nov 11 16:21:49 2022 from 192.168.31.189 klipper@orangepizero2:~$ sudo apt-cache search linux-headers-current-sunxi64 klipper@orangepizero2:~$ sudo apt update Hit:1 http://deb.debian.org/debian bullseye InRelease Hit:2 http://deb.debian.org/debian bullseye-updates InRelease Hit:3 http://security.debian.org bullseye-security InRelease Hit:4 http://deb.debian.org/debian bullseye-backports InRelease Reading package lists... Done Building dependency tree... Done Reading state information... Done All packages are up to date. klipper@orangepizero2:~$ sudo apt install git build-essential linux-headers-current-sunxi64 Reading package lists... Done Building dependency tree... Done Reading state information... Done E: Unable to locate package linux-headers-current-sunxi64 klipper@orangepizero2:~$

image

Sergey1560 commented 2 years ago

Добрый день. Насколько я понимаю, вы используете не armbian, а сборку от китайцев. Как они называют пакеты и какие из них есть у них в репозитории мне не известно. Тем не менее, полагаю заголовочные файлы для ядра там должны быть. Судя по вашим картинкам, архитектуру они называют sun50iw9. Зачем тогда вы пытаетесь установить заголовочные файлы для ядра с архитектурой sunxi64? Командой sudo apt-cache search linux-headers-current-sunxi64 вы пытаетесь найти не нужное вам ядро linux-headers-current-sunxi64 Посмотрите, какие вообще ядра доступны. APT умеет искать по части имени пакета: sudo apt-cache search linux-headers

Для сборки драйвера вам нужны заголовочные файлы запущенного ядра. Важно, чтобы номер сборки совпадал, иначе драйвер соберется, но работать не будет. Если запущенно у вас 5.16.17, то собирать драйвер нужно с linux-headers версии 5.16.17

Serjkustarev commented 2 years ago

Приветсвую, ага понял вас. Следовал инструкции image не понял что нужно sunxi64 заменить на свое.

Дальше прошелся до добавления в оверлей, но команду sudo armbian-add-overlay мой не распознает, попробую значит переустановить систему на подходящую (армбиан)

Add: спустя несколько дней мучений разных образов армбиан, нашел образ на котором работает Wi-Fi на архитектуре sun50iw9, но после обновления плата зависает, на архитектуре sunxi64, существует армбиан(с сайта разработчика), но в нем не работает Wi-Fi.

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

Serjkustarev commented 2 years ago

На 4pda нашел гайд по подключению экрана с драйвером ili9486, переделал немого под MKS, по итогу работает на 32 МГц экран и 2 МГц тач, спасибо за драйвер)

По подключению, дополнительно подключал 5В и GND к оранжу в такой конфигурации экран вверх ногами, ну я думаю кроме меня вряд-ли кому понадобится такой конфиг, а я переверну когда буду ставить в корпус. umiYUyTpqzQ 1

/*
* Device: 3.5inch SPI MKS TF 3.5 / Orange Pi Zero2
* gpiochip0
* T_IRQ -> PC9 (touch_irq)
* T_DO  -> PH8 (miso)
* T_DIN -> PH7 (mosi)
* T_CS  -> PC10 / 2 10 0 (tft_cs)
* T_CLK -> PH6 (clk spi)
* LED   -> PC6 / 70 / 2 6 0 (LED)
* DC    -> PC5 / 69 / 2 5 0 (d/c)
* RES   -> PC8 / 72 / 2 8 1 (rst)
* CS    -> PH3 / 229 / 7 5 0 (touch_cs)
* GND   -> GND
* Vcc   -> 5V
*/
*/

/dts-v1/;
/plugin/;

/ {
    compatible = "allwinner,sun50i-h616";

    fragment@0 {
        target = <&spi1>;
        __overlay__ {
            status = "okay";
            cs-gpios = <&pio 2 10 0>,<&pio 7 5 0>; /*PC10=CS0 PH5=CS1*/
            #adress-cells = <1>;
            #size-cells = <0>;

            st7796: st7796s@1{
                compatible = "sitronix,st7796s";
                reg = <1>;
                pinctrl-names = "default";
                spi-max-frequency = <32000000>;
                rotate = <270>;
                fps = <30>;
                buswidth = <8>;
                reset-gpios = <&pio 2 8 1>; /* PC8 */
                dc-gpios = <&pio 2 5 0>; /* PC5 */
                debug = <1>;

            };

            ads7846: ads7846@0 {
                compatible = "ti,ads7846";
                reg = <0>;
                status = "okay";
                pinctrl-names = "default";
                spi-max-frequency = <2000000>;
                interrupts = <2 9 2>; /* PC9 - IRQ */
                interrupt-parent = <&pio>;
                pendown-gpio = <&pio 2 9 0>; /* PC9 */

                /* OPTIONS */
                ti,keep-vref-on = <1>;
                /*  ti,swap-xy = <0>;*/
                ti,pressure-min = /bits/ 16 <10>;
                ti,pressure-max = /bits/ 16 <1000>;
                ti,debounce-rep = /bits/ 16 <1>;
                ti,debounce-tol = /bits/ 16 <2>;
                ti,debounce-max = /bits/ 16 <100>;
                ti,settle-delay-usec = /bits/ 16 <20>;
                ti,penirq-recheck-delay-usecs = /bits/ 16 <20>;
                ti,x-plate-ohms = /bits/ 16 <400>;
                ti,y-plate-ohms = /bits/ 16 <400>;

            };
        };
    };
};