вторник, 15 декабря 2015 г.

OpenPST - набор сервисных утилит для работы с устройсвами на базе Qualcomm SoC.

Все кто так или иначе когда-либо работал с устройствами на базе Qualcomm - наверняка знакомы с утилитой  Qualcomm Product Support Tools (или QPST, как ее принято называть сокращенно). Но мало кто знает, что есть и кросплатформенные Open Source аналоги, об одном из которых я и хочу сегодня вктратце рассказать. Речь пойдет об OpenPST от ghassani, исходный код которого вы можете найти на GitHub'е по приведенной выше ссылке. С основными возможностями утилиты, а вернее набора утилит вы можете ознакомиться там же. Если вкратце, что OpenPST позволяет делать с устройствами на платформе Qualcomm в принципе все то же самое что и QPST (а местами и чуть больше), но при этом проект кросплатформенный, т.е. его можно собрать как под Linux, так и под Win32 и плюс ко всему open-source'ный.

Ну а теперь вкратце о возможностях (или о частях, т.к. фактически каждую возможность реализует отдельная утилита из состава проекта):

  • Sahara Protocol - работа с устройством по протоколу Sahara, также известному по USB Product ID 9006 и 9008.
  • Streaming DLOAD Protocol - работа в режиме DLOAD, прошивка.
  • QCDM - работа с NVitems и EFS.
  • MBN Inspection - работа с разделами подписанными цифровой подписью.
Вообщем-то мне стало интересно "как это работает" и насколько функционал OpenPST повторяет или превосходит QPST, поэтому я решил заручиться терпением и собрать релизную версию OpenPST с использованием QT 5.5 и VS 2013 (спасибо за ценные советы и комментарии Ocean'а при сборке, процесс больше напоминал "давно я не брал в руки шашек", но после нескольких очень точно данных комментариев и подсказок все успешно собралось). На процесс разбирательств с различными версиями Qt и процесса сборки приложений с использованием Qt под VS2013 у меня ушло несколько часов (за это время я успел освежить свои знания касательно различных флагов, а-ля /MT, /MTd и /MD, /MDd, а также вспомнить и узнать многое другое), еще час-полтора ушли на то чтобы понять почему Debug конфигурация собирается успешно, а Release не хочет ни в какую ... ну и еще минут 15 на то, чтобы понять как запустить полученное собранное приложение на другой машине "без плясок с бубном", что в случае Qt не очень очевидно :) Так или иначе у меня получился полностью собранный проект. Скриншоты приложений вы можете посмотреть ниже:




Ну а собранные бинарники под Win32 можно взять здесь - openpst-release-03.7z ...

1 комментарий :

  1. Hey, I am the creator of this project. We have been working hard to get a release out and hope to have one out within the first half of this year, although a beta release.

    Sorry about the issues you had compiling. They have been known but were only recently fixed up in the repository.

    Anyway, thanks for the review. Of course if you would like to contribute towards the project we need help in many areas not just programming.

    Gassan Idriss

    ОтветитьУдалить