FrSky Access protocol

r1000
RW9UAO:

в “современных” аппах стоят stm32F4хх процессоры. и под старые версии не торопятся выпускать тот же опенТХ.
радио модули поменяли тоже как-то втихушку. полное неуважение к владельцам старых устройств.

Так x-lite s, к примеру, на 205-м идёт же, судя по тому как предлагает собрать прошивку OpenTX companion. На нем у меня прекрасно access работает.

RW9UAO

значит апдейт сделали. проверю, РРХ2 модуль у меня огрызок есть =) надо только время выбрать.

упс. перепутал с Q X7 =(

r1000

В общем для работы PXX2 требуется обычный UART без всяких извращений. Описание протокола: ACCESS.protocol.docx.

RW9UAO
r1000:

обычный UART без всяких извращений

на скорости 450к =)
я уже давненько поднял РХХ2 на однокристалке, продвигаюсь в изучении внутренностей ACCESS.

vadim_unique
r1000:

В общем для работы PXX2 требуется обычный UART без всяких извращений. .

Так что получается, ждать на jumper t16 с его процессором STM32F429BIT6 или не стоит? 😃

r1000

Пичаль пичальная для обладателей не FrSky: libACCESS - This library file is only applicable to FrSky products. Any other product needing this library file must obtain FrSky’s permission first.
То есть не смотря на то что протокол простой, его реализация в OpenTX представлена FrSky на github`е в виде объектного файла, а не открытых исходников. И FrSky требует разрешения для включения этой библиотеки. Технически, так как протокол прост - ничто не мешает написать его реализацию и попросить замерджить в основную ветку. Но не думаю что FrSky, как основной мейнтейнер OpenTX пойдет на это - иначе бы изначально так сделали. Так что проще откатится назад.

RW9UAO

новую плату на F4 можно не ждать, все прекрасно работает и на F072.

если в открытом проекте не использовать проприетарный код, а написать свой - то держателя проприетарного когда можно слать в пень. или я ошибаюсь?
остается открытым вопрос - написан ли открытый код с использованием реверс инжиниринга или как-то еще =)

з.ы. я знаю как работает эфирный ACCESS =) процентов на 75%. изучены основные плюшки - генерация сетки каналов, шифрование (если xor можно так назвать), сервисный канал для биндинга. тока тссс =)

vadim_unique
RW9UAO:

з.ы. я знаю как работает эфирный ACCESS =) процентов на 75%. изучены основные плюшки - генерация сетки каналов, шифрование (если xor можно так назвать), сервисный канал для биндинга. тока тссс =)

Ничего не понял, но звучит впечатляюще! Да и за свои родные умы гордость берет😒
А с другой стороны, а нафига я вообще полез за этими всякими протоколами? Жилось же спокойно)

r1000
vadim_unique:

Так что получается, ждать на jumper t16 с его процессором STM32F429BIT6 или не стоит?

Походу однозначно не стоит. Я могу ошибаться, так как не смог нагуглить распиновку интерфейса к радиомодулю, но судя по модулю R9M, у вас только CPPM/SPort. Для работы Access используется классический UART безо всяких инвертеров. По этому банально нет контактов для установки связи. Ниже картинка распиновки R9M и контактов X-Lite. Для PXX2 CPPM становится PXX_OUT(UART_TX), а следующий - PXX_IN(UART RX), которого у вас нет. Хотя есть предположение, что контакт PXX_IN = “разъинвертированный” SPort.

PS. Выше ошибся - Sport же подключается к отдельному uart в режиме onewire и с инвертором. Используется нога tx. По этому rx вряд ли она может быть… (Если только маппинг позволит)

buerger

Заказал FrSky ACCESS Upgrade Module Kit для своего Хоруса. Но похоже была плохая идея:
выяснилось что эти модули имеют другу прошивку и ФриСкай придумала какую-то аутентификацию модуля, которая проверяется каждые 12 сек.
Они решили предотвратить установку нового модуля в другие аппаратуры типа Джампера Т16, для это и добавили закрытый кусок кода в опенТх.
Грубо говоря, они сделали привязку к железу Хоруса. Новый же Хорус Экспресс этого не имеет и там придется отсылать аппу на замену модуля если сломается.
Самое мерзкое, что в текущей прошивке модуля на апгрейд сделано так: если через 12 сек ауфентикация не проходит добавляется оффсет на сигнал и креш модели гарантирован…причем там же сделано и в их оси.
ФрСкай чего0то там собирается поменять, но нет уверенности что уберут это проверку на железо. Вообщем, модуль можно купить и на ночной прошивке он заработает, НО если фрейм проверки пропадет или СРС сумма не совпадет или еще что, уроните модель

RW9UAO
buerger:

ауфентикация не проходит добавляется оффсет

а где вы такое вычитали? я вроде не замечал, у меня не оригинальная аппа и уж точно не с frskyOS.
ТХ версии “ISRM 190805”.

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

buerger

слежу на rcgroups , там один опентх девеловер пишет. Еще раз оригинальная аппа это у вас Horus x10s Express? там этой проблемы нет. только есть апгрейд купить и поставить на старые x12, x10

www.rcgroups.com/forums/showpost.php?p=43059523&po…

а вот тут что и когда в опентх добавили
github.com/…/c8160f5f9bff24f8034384c5b6a559ead0279…

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

RW9UAO

у меня обломок ВЧ блока оригинального (хз из какой аппы, на обломке платы проц, питание и часть разъема) и оригинальный приемник.
я процессоры снял и переставил на монтажки. так изучать проще.
соответственно свой софт рулит передатчиком.
почитаю, чего там разработчики опенТХ пишут.

R2Dmitry
buerger:

Они решили предотвратить установку нового модуля в другие аппаратуры типа Джампера Т16, для это и добавили закрытый кусок кода в опенТх.

Это огромный плевок в сторону FPV сообщества и нарушение наших прав.
Я сейчас без шуток, они не имеют права предоставлять бинарники без исходников.

r1000
R2Dmitry:

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

Имеют. Использовать код OpenTX для форкинга, доработок без предоставления исходников - нельзя. А вот использовать закрытые библиотеки в проекте - можно, чем FrSky и пользуются. Иначе нельзя было бы подключать загрытые модули ядра в том же Linux (например сетевух, видеоадаптеров).

R2Dmitry
r1000:

А вот использовать закрытые библиотеки в проекте - можно, чем FrSky и пользуются.

Вот однозначный пруф с моей стороны о запрете подобного на сайте лицензии:
www.gnu.org/licenses/gpl-faq.html#LinkingWithGPL
Чем вы руководствовались, когда сейчас писали, что это делать можно?

r1000:

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

Там используется схема с LGPL бриджом. LGPL можно линковать к GPL. А бинарный модуль общается уже с этим бриджом.
С Линуксом такой хак прокатывает, поскольку он под GPL v2, а она очень мутная и однозначного запрета на это нет. OpenTX под GPL v3 и этому моменту отведен огромный кусок лицензии.

r1000
R2Dmitry:

OpenTX под GPL v3

Вот тут про встраивание несвободного ПО в свободный проект на GPL 3.0 в том числе www.gnu.org/licenses/gpl-faq.html#LinkingOverContr…
Хотя безусловно все это люто-мутно и ходит по граням.

r1000
RW9UAO:

з.ы. я знаю как работает эфирный ACCESS =) процентов на 75%. изучены основные плюшки - генерация сетки каналов, шифрование (если xor можно так назвать), сервисный канал для биндинга. тока тссс =)

Сергей, а не поделитесь своими знаниями, особенно касающимися XORa. У меня конечная цель более простая - сделать аналог QCZEK LRS, но с PXX2 на входе и на неинвертированом FPort на выходе, благо аппаратно все это поддерживается. Ну и опенсорсный. И если с радиочастью проблем нет, то с протоколом…
Попытка выставить, что у меня, якобы, R9M Lite(pro) Access привело к тому на контактах внешнего модуля появился нифига не PXX2… Либо протокол заксорен. Судя по коду Open-TX - там должен идти он, но идут странные данные. и много битых фреймов.
Впрочем я не проверил еще один вариант - может быть там инвертированный UART. Но судя по графику логического анализатора - не похоже на это, да и в интернетах нигде не встречал упоминаний об этом.

RW9UAO

не поделюсь =) ключ xor аплинка и даунлинка разный. и вроде только на payload, заголовки идут нешифрованные. ключи меняются от сессии к сессии.

r1000
RW9UAO:

не поделюсь =) ключ xor аплинка и даунлинка разный. и вроде только на payload, заголовки идут нешифрованные. ключи меняются от сессии к сессии.

Тогда какая-то ерунда, если заголовки нешифрованы, ибо у меня все не соответсвует PXX2.

RW9UAO

фиг знает, я вижу обычный уарт 450кбод. рхх2, без шифрования. модуль IMSI вроде. повторюсь, мне достался натурально обломок его, процессор, ЕЕПРОМка и питальники. и даже не вижу запросов авторизации.