LINUX.ORG.RU
ФорумMobile

XADADA: Борьба за touch-screen… “Злые шаманы”, часть первая, - “Один долбаный палец!”

 , , , ,


1

1

«Ибис оставляет следы»... Пальцев на экране. :-)

Сегодня мы продолжаем разборки с тачскринами на allwinner-таблетках, а вчера - выложили обобщенный пост в блоге Старой Летучей Мыши:

http://bat.01.gg/post.sh?posts/2016-05-20_evil-shamans-1.md

- Что там? Инструкция о том - как заводить тач-скрин, - для постепенно расковыривающих свои старые allwinner-планшеты. В общих чертах описано - с какой стороны подступиться к тач-скрину, что с ним делать, и как же его, заразу, заставить начать работать.

Также, там выложены пакеты с исходниками драйверов для:

- gslx680 - gt801_2plus1 - gt9xx - ilitek_aimvF - ssd2533

...

Удачи, злые шаманы! Она вам понадобится! ~>8-EЭ



Последнее исправление: Falcon-peregrinus (всего исправлений: 1)

Не надо выкладывать в /mobile. Тут вечно никого нет. Лучше в /talks. А вообще проект интересный. Продолжай в том же духе.

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

Может и есть истина в твоих словах, дружище, благодарю. Этот тред репостить уже не буду, но в следующий раз учту.

К слову, и если интересно, - в ближайшее время подхватим платформы RK30XX/31XX, хотя Allwinner пока остаётся в фокусе багодаря его BROM - здорово снижается входной порог для желающих «поковырять arm» (нет нужды «шить фирмварь» в устройство, достаточно флешки). Да и производительность у Allwinner-чипов весьма привлекательная. Хотя RK железяки и свежее, и «вкуснее» - больше памяти, лучше экраны, часто лучше периферия.

Применительно к RK, - очень бы хотелось «призвать к ответу» уже ковырявших эту платформу личностей, которые сюда иногда ходят, но пока упорно «шифруются». 8) Их помощь была бы крайне полезна.

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

AllWinner это хорошо, но интересно, а можно ли все это реализовать на устройствах с процессорами Qualcomm или Kirin от huawei? При условии что есть исходники ядра конечно же.

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

Qualcomm MSM8XXX есть в планах, есть исходники, но там проблемы в совершенно другом месте: boot/drivers. Пока работаем над исследованием вопроса, и осторожно пробуем разные варианты, выбирая наиболее безопасный и рабочий. Эта платформа - на третьем месте, после Allwinner и Rockchip.

К примеру, - есть у меня гнусмас Note3 (Qualcomm MSM8974), - для него есть и исходники ядра, и вроде как даже драйвера для большинства устройств, но его boot залочен, и загрузть на нем что-нибудь неподписанное... Ну как-бы не очень просто. Я-то, понятное дело, давно «забил» на varranty void, и ставлю на него ядра, какие мне нужны...

Есть у меня «в хозяйстве» также alcatel/tcl 6015x (Qualcomm MSM8[6|2]10/FFOS, который - половинка ведроида внизу, полтора фаерфокса сверху), - для него тоже есть исходники ядра, но, учитывая особенности платформы - загрузка нативного линукса - процесс нетривиальный. На этом же чипе (MSM8210) потрошил мегафоновские логины (2 и 3) - результат пока близкий к нулевому.

Поисследовал некоторое время этот вопрос - пока ни одного успешного порта нативного линукса на эти железяки не было, нет, и в ближайшее время не предвидится. Разве что у меня руки дойдут до него, и порт XADADA таки появится для MSM8XXX...

Olegarch
() автор топика
Ответ на: комментарий от border-radius

Давай разберемся, - что ты с ним делал, и как он у тебя не запустился.

0. образ скачался и залился на флешку, ты его смонтировал и дальше начал действовать по схеме, указанной в инструкции по установке (я лично всё проверил перед выкладкой, так что всё ОБЯЗАНО работать):

1. u-boot. ты его корректно пролил на флешку, изменив соответствено dd.sh из каталога u-boot/A13/, либо передав ему путь к твоей флешке.

2. ты выдернул script.bin с /dev/nanda с твоего устройства, либо взял подходящий из каталога scrips/ и положил его вместо лежащего там сейчас (по умолчанию там лежит скрипт для Allwinner A20, соответственно, - настройки для планшета Mystery tab MID-101)

3. Ты заменил ядро на ядро для A13, скопировав [2016-05-11]-[03-13]..uImage..3.0.sun5i в uImage соответственно.

Если все эти шаги проделаны верно и корректно - должно грузиться. Какой у тебя планшет?

Olegarch
() автор топика
Ответ на: комментарий от border-radius

Ну жу нет 8) Давай запустим твою таблетку

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

Применительно к RK, - очень бы хотелось «призвать к ответу» уже ковырявших эту платформу личностей, которые сюда иногда ходят, но пока упорно «шифруются». 8) Их помощь была бы крайне полезна.

Я тут проездом..., а что собственно интересно? Мы заводили gnu окружение на стоковом linux ядре планшетов с андроидом. Много выкидывал в это топик http://4pda.ru/forum/index.php?showtopic=527032 Конечно если речь только о драйверах тача, то я не совсем близко к треду... Но, «ты, это, заходи если чо» ;)

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

Драйвера тача я как-нибудь побежду 8) не впервой. Как, собственно и другие драйвера.

Мне куда более интересно состояние дел с LCD/LVDS и периферией.

Знал бы ты, как ты вовремя, дружище... :)

Я как раз загрузку с uSD терзаю на rk3188 (без прошивки всяких рекавери) прямо вот сей момент. Даже кое-что простреливает...

И ядро собираю тоже прямо сейчас.

Значит я пОднял пятую точку и пошел читать - чего вы добились у себя.

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

Проблема вся в том что на каждом устройстве периферия может быть разная и подключена по разному. Я считаю самый правильный путь подгонять и собирать под себя исходники от olegk0 https://github.com/olegk0/rk3066-kernel, т.к. на его ядре работает gpu ускорение для OpenGlES2 и реализовано аппаратное декодирование видео h.264. Так же есть на том самом форуме личности, которые заводили chromium-browser с hw, то бишь тытюбик смотрят в hdready без тормозов и лишних плееров. З.Ы. в оффтопик, планшет на rk3066 давно сильно заболел и ждет общения с терморектальным криптоанализатором, сейчас терзаю борду OrangePi PC. Осталось победить только hw в браузере, но пока воз не сдвигается с мертвой точки ибо рак (arm с их mali), лебедь (allwinner) и щука (производитель борды) тянут каждый как обычно его с равными силами в 3 направления одной плоскости под углом 120 градусов относительно вектора силы двух других извозчиков. Если быть точным - модули ядра собираются, юзерспейсный драйвер тоже легко компилится, но вот блобы библиотек хер кто дал и хер кто взял :(

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

Я считаю самый правильный путь подгонять и собирать под себя исходники

Всё это верно. За ссылку мерси.

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

Не совсем понял, в чем у тебя проблема? Дрова блобы не подхватили? Кедр не заработал? Или ты про бинарные дрова от самой мали?

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

Я про библиотеки libmali.so, их надо для каждой версии кернел модулей свои. Сейчас актуальны r4p0 - есть и библиотеки и модули, но на них не заработает hw в браузере. Я собрал даже r6p0, но блобов библиотек нет и не предвидится. В общем не юзать мне микрокомп как десктоп в ближайшем будущем...

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

libmali.so, их надо для каждой версии кернел модулей свои

Известная беда, с этим пока помочь тебе нечем.

В общем не юзать мне микрокомп как десктоп в ближайшем будущем

Нуууу, смотря какие области применения ты для него видишь. Да и не десктоп это, по большому счёту. Планшетное применение для него куда более оправдано. Либо для микро-серверов его использовать можно, например. Как контроллер чего-нибудь живого, при наличие GPIO. А для десктопа?! Allwinner? даже, скажем A80? Ну, брат, нет, я был бы против, хотя твоё мнение и твоё дело. Очень хочется бесшумную машинку с полным функционалом, я понимаю это прекрасно, и она может работать как десктоп, в принципе, - производительность позволяет, но нужно для этого десктопа определять спектр задач.

У меня вот, к примеру, стоит на столе два монитора - один 2560x1080, второй - 1920x1200, ты думаешь, даже самый распоследний мобильный чип их потянет два сразу? Или мне две железки надо спарть в микрокластер, чтобы был между ними шаринг ресурсов и устройств ввода? Опять же - проблема есть с расширением объёма памяти, которой для такого десктопа явно недостаточно.

А вот для мобильного применения - да, можно и нужно. Иметь выносной терминальный модуль с _почти_ всеми возможностями десктопа, но ограниченный как размерами, так и обвязкой SoC. ПО также накладывает свои ограничения, и с ними можно мириться, если ты точно знаешь - зачем тебе подобное устройство,и что ты с ним будешь делать.

Olegarch
() автор топика

лучше для mainline ядер такое описать, не нужны эти старые кривые ядра с блобами производителя SoC.

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

старые кривые ядра с блобами

Блобов там нет, а у mainline очень много проблем с периферией.

Более того - у ветки sunxi-linux 3.4 также масса проблем на A10/A10s/A12/A13 (часто нерабочий внутренний usb, на котором висит RK8188/8192 wifi и, также, - часто незапитанный внешний OTG usb порт), хотя как раз ядрышко 3.4 для этих чипов сейчас «доводим».

Что касается mainline 4.x - там был осуществлён переход на DTB, вместо штатной схемы использования драйверов и настроек устройства, в итоге - штатная конфигурация SoC из script.bin для mainline-ядер не имеет никакого значения, - ядра собираются только и исключительно под конкретную железяку, и никак иначе.

Перевожу: если 3.4 или 3.0 из ветки sunxi-linux, собираются для отдельного процессора и прекрасно работают на любом устройстве с этой моделью камня для всей линейки/зоопарка устройств, выпущенных на этом чипе,- подхватывая конфигурацию SoC, взятую прямо с boot-nanda самого ведроид-устройства и не нуждаясь в какой-либо доводке для каждого конкретного случая, то с mainline требуется kampf zu toten на каждом конкретном устройстве, благодаря DTB из mainline.

Поэтому - пока не будет внятного конвертера из script.bin в dtb - не будет и mainline linux kernel.

Забыл упомянуть, что для mainline u-boot мы имеем примерно те же проблемы, что и для mainline kernel. Так что - пока линейка устройств allwinner в проекте XADADA остаётся работать на стабильных ядрах от sunxi-linux.

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

Что касается mainline 4.x - там был осуществлён переход на DTB...
ядра собираются только и исключительно под конкретную железяку, и никак иначе.

Ну бред же.
Ядро (общее для архитектуры), initrd (снужными модулями для загрузки), dtb (конфиг) посовываешь для загрузки bootm (bootz, booti).
Другое дело, что dts и драйвера не для всех устройств существуют, точнее, существуют для малого количества устройств :)

Забыл упомянуть, что для mainline u-boot мы имеем примерно те же проблемы, что и для mainline kernel

Q88 на allwinner A33, mainline uboot работает прекрасно, с поддержкой экрана и клавиатуры, может грузить ядра с ext4.
Проверь еще раз с последней версией v2016.05 (через uart, экран вряд ли заведется).

Базовая платформа для запуска XADADA - семейство “систем на чипе" Allwinner AXX
A10/A10s/A12/A13

Да нет давно планшетов на A10/13/20. Только A23/33 и то исчезают.
А это совсем другая версия ядра 3.4:) , которое нифига не хочет собираться :(

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

Ну бред же.

У тебя сколько устройств в тестовом парке? Больше двух, или одно? Если одно - не говори больше, пожалуйста, подобных слов.

dtc, стэнд-элоновый компилер - да, есть, но набор заготовок для него ограничен несколькими моделями, в то время как зоопарк этих устройств значительно превышает набор этих dtb. В несколько десятков раз. И, как я и сказал выше - единственный реально работающий вариант, гарантирующий запуск ядра на конкретном устройстве - использовать ядро, подхватывающее script.bin от производителя железа.

Ядро (общее для архитектуры), initrd (снужными модулями для загрузки), dtb (конфиг) посовываешь для загрузки bootm (bootz, booti)

да, да, да, не повторяй документацию, я это всё знаю. Конкретнее - где мне взять компилятор-транслятор из script-хрен-с-ним.fex в dtb-source-file? Самому писать?

Q88 на allwinner A33, mainline uboot работает прекрасно, с поддержкой экрана и клавиатуры, может грузить ядра с ext4.

Проверь еще раз с последней версией v2016.05 (через uart, экран вряд ли заведется).

Он-то работает, и экран заводится, только вот ядро он грузит не всякое, и не всегда, - в вики sunxi-linux даже воркэраунды описаны (которые, ко всему, еще и не все работают). И да, мейнлайновому u-boot для того, чтобы он корректно завел железо, тоже нужно подсовывать кусок dtb при сборке.

Да нет давно планшетов на A10/13/20

Буквально на прошлой неделе прикупил себе Mystery MID-101

Сейчас, да, в яме его уже нет.

Зато в белорусской яме продаются, первый попавшийся тккнул: https://market.yandex.by/product--seemax-smart-tg730/10538236

или в украинской яме: https://market.yandex.ua/product--assistant-ap-110/10540487?ncrnd=9496

Продаются, и кое-где даже очень активно.

это совсем другая версия ядра 3.4:) , которое нифига не хочет собираться :(

Хочет, даже 3.3 хочет. Вот работать нормально на a31/31s/23/33- не хочет. А собираться - собирается с трех пинков, и даже иногда систему с ним загружает. Когда звезды сойдутся.

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

Извиняюсь конечно но по моему ты не очень адекватен, нафига транслятор из этого адового костыля .fex когда можно и нужно сразу делать dtb? Нафиг вообще это кривое г*вно linux-sunxi? Тем более на древних a10, a20 которые вполне адекватно работают под свежими ядрами. И я тебя внимательно слушаю по отсутствию блобов в sunxi ядре, Тото еще nand в mainline даже для a10 не смогли запилить, наверно просто дураки да?!😂

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

У тебя сколько устройств в тестовом парке? Больше двух, или одно?

Больше десятка, и прежде чем покупать я смотрю, что устройсто имеет хоть какую-то перспективу развития, в том числе наличие dts.

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

Еще раз, ядро не собирается под конкретную железку. Для описания особенностей конкретной железки и существует DTS.

Буквально на прошлой неделе прикупил себе Mystery MID-101

Купить можно и «копейку» 70-го года. Китайцы прекратили их делать несколько лет назад.
Зачем ты его купил, если для него нет DTS или актуального (поддерживаемого ядра).

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

Что на скриншотах?! Если бы это была консоль, было бы круто :)
Как попасть пальцем в верхний тулбар на 7-ми дюймовом планшете?
Даже на планшете с 512Mb памяти не стал бы так прибедняться. Есть icewm и xvkbd.

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

наверно просто дураки да

да нет, при чём тут их дурь? - с nand там совсем другие проблемы. Для начала - в mainline/allwinner, при наличие BROM, - этот самый NAND не очень-то и нужен. большинству разрабов ядра, естественно 8)

А портировать его из sunxi - достаточно трудоёмкий процесс.

Кроме того - NAND - очень плохой пример именно для A10 - даже в sunxi-linux есть минимум два драйвера, один из которых действительно блобнутый и костыльный, а второй - работающий как та лотерея. Для A20 это уже не так - один драйвер для NAND, причем - работающий. В ветке 3.4 sunxi он работает и для линейки A1x, а вот версия из 3.0 - далеко не со всеми NAND и не на всех устройствах. Изначально да, были блобы. Мусть меня опровергнут разрабы sunxi-linux, которые сюда периодически забредают, - в текущей версии реализации драйвера sunxi NAND - блобов нет. Я этот драйвер не писал, потому уверенности у меня около 90%, как обычно - списываю десяточку на фактор случайности.

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

Зачем ты его купил, если для него нет DTS или актуального (поддерживаемого ядра).

Затем, что a. машинка неплохая и б.не вижу преимуществ mainline перед веткой sunxi, и на наличие dts для той или иной железки - покашлять.

Что на скриншотах?! Если бы это была консоль, было бы круто :)

намекаешь на то, что иксы - не нужны? Пока что это иксы+dwm, работы над голой консолью ведутся.

Как попасть пальцем в верхний тулбар на 7-ми дюймовом планшете?

лучше спроси - как попасть в него же на 10" или на 4.3" 8)

Я попадаю, видимо долго живу с тачами. Надо покрупнее - можно сделать и покрупнее. Иконки же останутся (пока) мелкими.

Даже на планшете с 512Mb памяти не стал бы так прибедняться. Есть icewm и xvkbd.

Неудобно, честно, - концепция «мышеклавы» не очень коррелируется с планшетной эксплуатацией, «тайловики» ближе к ней.

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

NAND - очень плохой пример именно для A10 - даже в sunxi-linux есть минимум два драйвера, один из которых действительно блобнутый и костыльный, а второй - работающий как та лотерея. Для A20 это уже не так - один драйвер для NAND, причем - работающий.

кх. кх. а ничего что A20 это A10 c двумя ARM ядрами, остальные «ip ядра» там совершенно одинаковые и документированы весьма не густо.

и вообще как связан BROM и nand?! если что то BROM там куцый и может только NAND, MMC и spi.

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

как связан BROM и nand?!

Технически - примерно как UEFI и ssd. BROM - загрузчик, и да, он умеет только те три интерфейса, которые ты озвучил, однако, в контексте того, что я сказал выше - BROM может загружать ядро c SD/MMC. Для большинства девелоперов майнлайнового ядра это является достаточной причиной, чтобы не забивать себе голову ерундой вроде установки системы на allwinner nand, им хватает просто dual-boot: вставил флешку, ребут - linux, выключил систему, вынул флешку - включил - ведроид. Нет у большинства огромного парка машин для тестов. Есть одно, ну два, ну три устройства. Добились работы - прекрасно, остальное - по возможности. В реальности вот так и связаны BROM и NAND.

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

Для большинства девелоперов майнлайнового ядра это является достаточной причиной, чтобы не забивать себе голову ерундой вроде установки системы на allwinner nand

уууууу, может тебе лучше подписаться на списки рассылки sunxi-linux? ну и почитать их разумеется :)

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

У тебя сколько устройств в тестовом парке? Больше двух, или одно?

Больше десятка, и прежде чем покупать я смотрю, что устройсто имеет хоть какую-то перспективу развития, в том числе наличие dts.

Вот с этого и надо было начинать. 8)

Коллега, давай-ка мы не будем спорить на пустом месте, а лучше посмотрим - что есть у тебя, что есть у меня (у меня их тоже «полный гроб», и не только allwiner'ов), и может быть что-то полезное выясним?

И тебе их столько зачем? Обычным любителям одной-двух железок хватает, закупают разный хлам разработчики, занятые портированием чего-то не это железо. Так что - давай, друг, колись, что ты там такое эдакое рашпилишь. ;)

Лично мне не даёт покоя уже мной упомянутый несуществующий конвертер fex2dts, с последующим прогоном через dtc в dtb, - это позволило бы действительно начать использовать мейнлайновые ядра, пофигу на то, что NAND там никак не реализован - большинству линуксоидов он сразу и не потребуется. А пока нет однозначного алгоритма перегона неизвестного script.bin в dtb на стороне клиента с неизвестным устройством - и мейнлайн не подойдёт.

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

может тебе лучше подписаться на списки рассылки sunxi-linux

Подписан, читал, смысл? Блобы использовались на заре разработки, сейчас имеем открытый драйвер. Что сказать-то хотел?

Ну вот специально залез в дерево сырков, открыл сейчас код NAND драйвера, весь поперек излазил - нет там блобов, дальше-то что?

P.S. вот то, что он намертво к sunxi-linux приколочен гвоздями-двухсоткой - это да, но он открыт вполне

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

Кроме того - NAND - очень плохой пример именно для A10

А плохой он потому, что в A10 производитель однозначно поставлял ядро 3.0, для которого модуль NAND имел только несколько поддерживаемых микросхем, - этот модуль перекочевал затем в ветку sunxi-linux. Кроме того - модуль nand/nand_test из ядра 3.0 отличается от модуля из ядра 3.4 (sunxi_nand) значительно. В частности - маппингом таблицы разделов NAND.

И процессор тут совершенно не при чем...

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

Посмотрел. Как обычно «у наших» - сходу не собирается. В отличие от radxa, btw

Olegarch
() автор топика

offtopic

маякни в вайбер, потерял контакты

billybones
()
16 января 2018 г.
Ответ на: комментарий от arson

Мне тоже удалось завести на планшете с А33 uboot, экран работает, usb клава тоже, ядро грузит и даже можно залогиниться, но только через консоль uart. Незнаю что происходит, но как система загрузилась, юсб отваливается. Ядро mainline 4.9 С гитхаба ядро 3.4 для А33 не стартовало ну никак.

mrfix
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.