Показаны сообщения с ярлыком qtopia. Показать все сообщения
Показаны сообщения с ярлыком qtopia. Показать все сообщения

вторник, 9 марта 2010 г.

Qt Extended 4.4.3

После n-й кружки пива сдобренной рюмашкой абсента, с опозданием дето на год, как то ночью собралось такое вот чудо Qt Extended за версией 4.4.3. Оно не хрена не хочет влезать во флеш, и не видит кнопки телефона.

В приныпе из + там только насколько я понимаю WebKit, желающим дорога в гит...

З.Ы. а еще там ява косячит......

вторник, 17 ноября 2009 г.

Цепепе


Program received signal SIGSEGV, Segmentation fault.
0x40f41780 in QContentFilter (this=0xbe83b2d4, type=3196302032, argument=...) at /mnt/moto/qtopia-ezx/src/libraries/qtopia/qcontentfilter.cpp:212
212 /mnt/moto/qtopia-ezx/src/libraries/qtopia/qcontentfilter.cpp: No such file or directory.
in /mnt/moto/qtopia-ezx/src/libraries/qtopia/qcontentfilter.cpp
Current language: auto
The current source language is "auto; currently c++".
(gdb) bt
#0 0x40f41780 in QContentFilter (this=0xbe83b2d4, type=3196302032, argument=...) at /mnt/moto/qtopia-ezx/src/libraries/qtopia/qcontentfilter.cpp:212
#1 0x40f30348 in QContentSet (this=0x3125c0, tag=QContentFilter::Category, filter=..., parent=)
at /mnt/moto/qtopia-ezx/src/libraries/qtopia/qcontentset.cpp:244
#2 0x40e5cd38 in findSystemRingTone (name=...) at /mnt/moto/qtopia-ezx/src/libraries/qtopia/qphoneprofile.cpp:345
#3 0x40e5cdf8 in QPhoneProfile::systemMessageTone (this=) at /mnt/moto/qtopia-ezx/src/libraries/qtopia/qphoneprofile.cpp:571
#4 0x40e618ac in QPhoneProfile::read (this=0x31, c=...) at /mnt/moto/qtopia-ezx/src/libraries/qtopia/qphoneprofile.cpp:840
#5 0x40e632b4 in QPhoneProfileManager::loadConfig (this=0x80000000) at /mnt/moto/qtopia-ezx/src/libraries/qtopia/qphoneprofile.cpp:1260
#6 0x40e63514 in QPhoneProfileManager::sync (this=0x2df7a8) at /mnt/moto/qtopia-ezx/src/libraries/qtopia/qphoneprofile.cpp:1552
#7 0x40e63b94 in QPhoneProfileManager (this=0x2df7a8, parent=) at /mnt/moto/qtopia-ezx/src/libraries/qtopia/qphoneprofile.cpp:1217

понедельник, 16 ноября 2009 г.

Qtopia has been built.

Наконецто. Какой-то ужоснах на ровном месте. Осилил только с понижением версии кросскомпилятора и внутри 32-х битного дебиана.

среда, 16 сентября 2009 г.

суббота, 5 сентября 2009 г.

Сложный результат интерференции нескольких багов

Когда телефон лежит в кармане, а я с него слушаю музыку - он моргает подсветкой при смене треков в плеере. Во-первых, мне это не нравится, во-вторый - это совершенно лишний раз жрет батарейку.

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

Исходя из этого здравого рассуждения, медиасервер запрещает уходить в слип, когда проигрывает что-то. Когда проигрываение останавливается, плеер снимает разрешение.

И тут закрадываются внеземная логика работников тролльтех: при смене power constraint, нужно включить подсветку. При чем это делает кто-то аж изнутри QtGui, а код там загадочен.

Делаю ход конем: режим меняется не тогда, когда меняется состояние плеера "играю-неиграю", а через две секунды. Проверяю: не работает. То есть работает, но подсветка все равно мигает на смене трека. Для проверки, убираю из медиасервера управление питанием - моргает. Магия... Стоп, магии же не бывает.

Смотрю код медиадвижка, благо багов там обычно есть: он питание вообще не трогает. Смотрю код плеера и вижу чудеса: плеер запрещает выключать подсветку, когда проигрывает видео. Это меня не касается - видео я не смотрю. Для проверки, убираю из плеера код управление питанием - не моргает. Оппа, "связистор опять выловил что-то за хвост из болота", как сказал тридемоделятор azcapone.

Судя по коду, в плеере есть некий "медиавиджет", который создается при наличии видео. Если виджет есть - питание трогаем, если нету - не трогаем. Но виджета же нету, почему тогда мограет? Нахожу замечательный факт:


notifier = new QMediaControlNotifier( QMediaVideoControl::name(), this );

connect( notifier, SIGNAL(valid()), this, SLOT(activateVideo()) );
connect( notifier, SIGNAL(invalid()), this, SLOT(deactivateVideo()) );


при чем в deactivateVideo() дергается управление питанием без проверки виджета.

Опять патч в одну строку, а началось все с того, что я хотел замерить, сколько телефон живет от одного заряда батареи.

вторник, 1 сентября 2009 г.

Итоги тестирования: баги, тысячи их

После более чем недели издевательств, ubifs все-таки упала. По этому поводу я решил подвести итоги тестирования. Если кратко - баги везде, но фронт работ обозрим.

* зарядка батареи. работает, но как-то очень хитро - или не стартует когда нада, или не до того тока заряжает. непонятное явление. у меня не хватило одной зарядки более чем на 12 часов почти постоянного нахождения в слипе. правда, это был не дип-слип, как в 2.4, а обычный - надо свериться с мануалом по процессору, вдруг так и надо. нарою вольтметр и буду сверять датчики и регистры с суровой реальностью
* звук. с перключениями звука фигня довольно понятная - перед переключением в режим звонка, надо закрывать в плеере устройство и все будет хорошо. сейчас при прослушивании музыки через уши, после снятия трубки нифига не слышно
* мерзенький bp иногда не опознается при выходе из слипа. наверное нужно более точно подобрать задержки
* в прошивке по-дефолту отключен тач. ну это все знают
* а на едва по-дефолту не пашет клавиатурный ввод, потомучто нет двух волшебных файликов
* автоматическое редактирование defaultbuttons.conf через postinst не срабатывает
* в прошивке по-дефолту стартует apmd, который тоже роняет аппарт в слип
* самое противное забыл: ядро валится в упс и виснет при перезагрузке

вторник, 25 августа 2009 г.

Русский ввод на E2

Оказывается, что все делается очень просто. Русские буквы нужно было писать в QtopiaDefaults.ts (локаль) и использовать конфиг кнопок от гринфона.

воскресенье, 23 августа 2009 г.

Прошивка test1

Содержит в себе gen-blob с патчем для работы без карты, ядро 2.6.30 с бекпортами разных хороших вещей, ангстром рутфс (ubifs) с кутопией 4.3.

Брать по ссылке, шить через qputusb.

Процедура прошивки:

* Распаковываем архив по ссылке
* заводим тело в бут (MBM) и подключаем к хосту
* жмем "Find device" в qputusb
* жмем "Flash" - в память тела грузится blob, после этого появляется диалог выбора файла - выбираем "flash" из распакованного архива
* ждем пока возле кнопки "Find device" исчезнет надпись "flasing", а в виджете лога появится "ok"
* вводим параматры блоба - в текстовое поле пишем параметры запуска ядра, в боксе выбираем модель телефона (минг, ешесть или едва) и жмем "Write config"

upd. параметры ядра вот такие:


ubi.mtd=rootfs root=ubi0:rootfs rootfstype=ubifs ip=192.168.10.4:192.168.10.1:192.168.10.1:255.255.255.0 debug mem=32M@0xa0000000 mem=16M@0xac000000 usbcore.autosuspend=-1 usbcore.old_scheme_first=1

воскресенье, 14 июня 2009 г.

Тестируем 2.6.30

Начинаем тестирование сборки на ядре 2.6.30.

Необходимые для запуска ингридиенты:


  • Загрузчик gen-blob зашитый по адресу 0x000A08000 [1]

  • Утилита boot-usb на большой машине [2]

  • Раздел с ext2 на карте памяти с рутфс

  • Рутфс дистрибутива Angstrom со всеми зависимостями для кутопии [3]

  • Сама кутопия [4]

  • Ядро 2.6.30-ezxdev [5] и модули [6]

  • Инициализатор mux TS07.10 [7]

  • Скрипт [8] и конфиг Qtopia [9] в /etc/

  • Калибровки тачскрина [10]



upd: правильный адрес ядра - 0x000A08000

пятница, 12 июня 2009 г.

Пингвин жирный...

Киборгизированный:


total used free shared buffers cached
Mem: 44352 42844 1508 0 228 12160
-/+ buffers/cache: 30456 13896
Swap: 32760 16048 16712


Утопический:


total used free shared buffers cached
Mem: 46552 45652 900 0 144 26844
-/+ buffers/cache: 18664 27888
Swap: 0 0 0


Такие дела

ps. образы ведроида тут
pps. нихера там не пашет, можете даже не качать

вторник, 19 мая 2009 г.

Helix DNA Client Atlas

Видео Qtopia крутит на минге вполне сносно, по крайней мере 3gp единственное что приходится держать в памяти библиотеки Helix и отображается вверх ногами и в стандартном плеере нет фулсрин режима.

среда, 18 марта 2009 г.

Закрытый флип и входящий вызов

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

Включено в автобилд 200903171449.

В автобилде 200903171534 включены конфиги из прошивки tmp_do и немного поломан виджет набора номера: картинки остались старые, а масштаб новый.

понедельник, 16 марта 2009 г.

Планы и перспективы портирования на Motomagx

Вчера забрал с почты новую игрушку: motorola v8. Долго приставал к Абрамке и yakk с вопросами и немного вошел в курс дела. Можно описать одним словом, но я это слово тут писать не буду. Если более длинно: работы много.

Если кто сюда зашел из просторов интернета и не совсем в курсе наших обозначений: под мотобагиксом понимается программно-апаратная платформа linux-смартфонов motorola третьего поколения ( Rokr E8, Rizr Z6, Razr2 V8, i876, U9, ZN5 ).

BP на третьем поколении не такой разумный и ему нужно кормить с ложечки так называемый PDS (зашифрованные настройки), самим работать из юзерспейса с сим-картой, самим реализовывать кусок GSM (именно протокола, а не работы с оберткой at-команд) и GPRS, но тут работы уже ведутся и довольно успешно.

Кроме этого традиционные проблемы с нестандартностью API: звуковой драйвер - не oss, не alsa, всякие там режимы usb и токи заряда с уровнями подсветки - тоже. Тачпада просто нету, а клавиатура работает на старом драйвере - тут все хорошо.

В рутфс как всегда бардак - это дело привычное, это не удивляет и вообще не вызывает эмоций.

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

Собственно, программа нашего балета на новой сцене: MagixRoadmap

вторник, 3 марта 2009 г.

-1 партизан или nokia прекращает поддержку qtopia

Собственно новость: http://www.qtsoftware.com/about/news/qt-software-discontinues-qt-extended

Что это означает для нас? По большому счету - ничего. Поддерживаем форк дальше и не обостряемся.

воскресенье, 1 марта 2009 г.

Нездоровые фокусы с дескрипторами в gprsv

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

Чтобы понять, откуда она берется и как ее чинить, нужно знать, как работает включение/выключение gprs на наших телефонах.

На обычной хосте с линуксом gprs работает так же, как и другие ppp соединения: pppd открывает линию, шлет в нее AT-команды дозвона, после чего через эту же линию гоняет ppp трафик в обе стороны. Тут следует заметить две вещи: pppd именно читает и пишет в эту линию все передаваемые данные, а под линией может подразумеваться все что угодно от банального ttyS0, напрямую подключенного к другой машине, до программы в пайпе, гоняющей трафик через xmpp.

На ezx все не так. Для работы с gprs у нас есть как минимум два канала мультиплексора: для команд и для данных. Для начала, мы открываем управляющий канал и пишем в него волшебные AT-команды, а потом сразу читаем оттуда свой ip и dns адреса провайдера, при чем в человекочитаемом виде, а не куском ppp-трафика. Потом мы открываем канал данных и устанавливаем ему line displine N_GPRS и ассоциируем его с сетевым интерфейсом gprsv0. Потом используем полученный в первом пункте адрес и настраиваем сетевой интерфейс, пишем dns в resolv.conf.

А где ppp трафик? Нету. Весь на BP остался.

Чтобы выключить gprs - просто закрываем канал с данными.

Все эти фокусы отрабатывают в qpe, но управляются из netsetup (Settings -> Internet). Раньше баг состоял в том, что дескриптор канала данных был полем класса, объект которого управлял ppp соединениями и жил в qpe. Проблема была в том, что объект существовал только во время работаы netsetup, хотя и находился в пространстве qpe. При этом сам файловый дескриптор никуда не пропадал, но его номер терялся и закрыть его было нельзя. Сейчас все наоборот: gprsv - глобальная переменная и никакие объекты ее не теряют, но после закрытия дескриптора в qpe, он продолжает оставаться открытым в новом процессе netsetup. После закрытия netsetup все приходит в норму.

Тут непонятен один момент: почему после запуска netsetup у него остаются все дескрипторы qpe.

среда, 25 февраля 2009 г.

Самый тупой баг в кутопии

А точнее - падения плеера. Без комментариев:


--- a/src/applications/mediaplayer/playercontrol.cpp
+++ b/src/applications/mediaplayer/playercontrol.cpp
@@ -109,6 +109,9 @@ void PlayerControl::activate()

void PlayerControl::setMediaContent( QMediaContent* content )
{
+ if (m_control)
+ m_control->stop();
+
delete m_control;
m_control = 0;


Включено в билд 200902252257, отправлено в апстрим.

суббота, 21 февраля 2009 г.

mqutim

mqutim - это (теперь уже) форк проекта qutIM, его целью является создание нативного мульти(двух)протокольного мессенджера для Qtopia 4.3.
  
На данный момент более-менее работает сам mqutim с плагином icq. Над плагином jabber также ведется работа. Необходимо убрать весь излишний для мобильного приложения функционал, избавиться от тормозов и исправить некотороые ошибки.
А вапще в реале мы поломали уже всё что смогли поломать и теперь пилить и пилить, ну и куча глюков думаю будет, особенно учитывая, то что форк у нас от нестабильной разрабатываемой версии. И да - говорят, что всё это жестоко тормозит, так что..

четверг, 19 февраля 2009 г.

Будильник

У будильника есть возможность задать свою мелодию вот так (Settings/Trolltech/RingTones.conf):


[Alarm]
file=/home/muromec/Documents/audio/Higurashi/01 - Main Theme - Hayashi.mp3


Всем кто будет ставить длинные файлы - обновитесь до 200902191641.

вторник, 10 февраля 2009 г.

OpenEmbedded

Потихоньку мучаю OE. Задача минимум - собирать образ рутфс и пакеты ipk через bitbake с наименьшим количеством хаков и костылей.
Задача максимум - собираться через bitbake все вплоть до sbf и фида пакетов qpk.

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

Пытаться собирать им glibc из сорцов я наверное не буду - тут можно застрять надолго.

YWeather

YWether очередная поделка для Qtopia :). Пагоду берет с weather.yahoo.com, траф жмется потребляется гдето в районе 1кб за раз. С yahoo берем код города(или до ближайшего крупного города) для которого её охото знать хотябы примерно. Если код не меняем то наслаждаемся прогнозом погоды для чудеснейшего из городов... Монголии - Улан-Батор :).

З.Ы.: Настройки:

1) код города идем на Yahoo. Заходим в раздел Weather ищем свой город  (например http://weather.yahoo.com/Ivanovo-Russia/RSXX1366/forecast.html соответственно код RSXX1366)

2)выбрать температурную шкалу Цельсия/Фаренгейт. 

3) т.к. кривизну рук компенсирую переодическими правками,... свежий пакет обычно есть