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

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

Qtopia has been built.

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

воскресенье, 8 ноября 2009 г.

Тем временем, в открытом космосе

Звук и зарядка ушли в openezx. Проснется азкапоне - буду обновлять код в кутопии, для работы с измененным интерфейсом звука.

среда, 28 октября 2009 г.

Магия? Нет никакой магии



Нет никакой магии!

Почему нет звука? Потомучто его нет. А нет его потому, что кто-то что-то сделал с SSP, по которому ходит звук.
Потомучто так не бывает, что все правильно, а ничего не работает.

воскресенье, 25 октября 2009 г.

Магическая магия

Есть звук. Есть четыре регистра, которые им управляют. Все регистры правильные. На ядре 2.6.30 работает, на 31 и выше - нет. Чудеса!

воскресенье, 11 октября 2009 г.

openezx

Пока я чесал пятки с 2.6.30, в 2.6.32-rc1 звук доломали окончательно. Мало того, что BP там нету вообще, так оно еще и виснет при попытке что-то проиграть. Сейчас будет бессмысленный и беспощадный git bisect с Jun 17 по Oct 10, чтобы найти, когда оно поломалось.

воскресенье, 4 октября 2009 г.

Deep-sleep не помог

Совсем не помог. И на минге такая же картина. Буду думать, кому нужно перекрывать кислороод перед слипом.

Вот он, powermanagement epic fail. Если скорость разряда еще можно объяснить тем, что моя банка деградировала, то разница во время слипа может означать только то, что кто-то лишний раз жрет электричество.

четверг, 1 октября 2009 г.

Безумный ихперименты

Лень патчить бутлоадер едва, чтобы он понимал, как вытаскивать openezx из дип-слипа. Прошыл минговый - работает... а я надеялся освоить jtag.

ps. А еще на меня дурно повлияло знакомство с BP - чтобы поправить строчку бинарнике qpe я не стал его пересобирать, а нагло полез хекседитом.

Ценные кадры, овладевшие техникой

Очень подозрительный график разряда/заряда батареи.

Такое впечатление, что в режиме "sleep", оно потреблает столько же, сколько и в обычном. На минге можно заюзать "deep-sleep" - там должно быть нормально. Надо будет попробовать.

Желающие померяться длиной аккумулятора, могут невозбранно использовать http://pastebin.com/f714d10fa. Скармливать нужно файл такого вида:


1252741198 717 2
1252741379 723 2


Первая колонка - таймстамп (хинт: $(date +%s) ), вторая колонка - показания датчика BATT (на ядре 2.4 читается через hwtool -b), третья колонка не учитывается - можно просто нуль

четверг, 17 сентября 2009 г.

Опять про зарядку

Ежели у кого еще осталась живая батарея - сбросьте показания датчика на старом ядре.

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

У меня полный заряд - 760, когда отключаю зарядное - быстро убегает до 620,615,600. Не осиливаю, или это батарея деградировала или кто-то опять дурак...

Usb-host

Что-то там такое интересное происходит. Правда непонятно, это только на E2/E6 или везде вокруг.

четверг, 3 сентября 2009 г.

Зарядка батареи

Заряжает до положенного напряжения. Вольтметр показывает три с копейками вольта, заряженная через openezx батарея дальше другим телефоном не заряжается.

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

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

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

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

среда, 26 августа 2009 г.

Обновление и виндовая сборка putusb

Исправлены падения, неправильный подсчет процентов и собрана версия под винды.

В каталоге "openezx" виндовой сборки лежит драйвер (libusb), который нужно установить для работы программы. Если уже установлены мотороловские драйвера - надо установить libusb отдельно отсюда.

Тестируйте: обычный архив, виндовая сборка

воскресенье, 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 г.

putusb




Никто не угадал. Это новая утилита для прошивки, сделанная специально для gen-blob и ядра openezx, но может использоваться для прошивки любых ezx gen2 любой прошивкой на любой адрес. Сборка под эти ваши винды будет потом.

Консольная версия этой радости (точнее либа) умеет работать с родными загрузчками LTE (гадость на которой сделан наш bp и всякие древние e398).

Прошивки нового формата будут выглядеть, как архив любого типа (например zip или lzma) с файлами кодовых групп и простым файлом описания.

Пример файла:


kernel=0x000e0000 2097152
kernel zImage
gen-blob blob


Это означает "ядро будет по оффсету 0x000e0000, максимальный размер - 2097152, писать туда файл zImage из того же каталога, а файл blob писать не знаю куда, посмотри где там есть раздел с именем gen-blob"

Кроме этого, утилита умеет писать/читать раздел с параметрами gen-blob, которые позволят ему работать без карты. Патч для генблоба я пока не привел в человеческое состояние, так что тыкать кнопку "write config" не рекомендую - на текущей карте адресации потрете что-то важное.

тыц: ссылка на гит или ссылка на тарбол

ps:
при работе из линукса - положите gen-blob сюда: /lib/firmware/ezx/gen-blob
запускать или от рута, или кинуть правило udev (отсюда) в /etc/udev/rules.d/ и перезапустить udevd

четверг, 13 августа 2009 г.

Вырвиглазное видео

openezx и кутопия на E2:

И раз: ютюб, и два: ютюб.

Основные вещи делают вид, что работают - дальше пока буду отлаживать и тестить.

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

BUSTED!

И шо вы таки думаете? Во всем виноваты виндузятники:


/*
* As of 2.6.10 we introduce a new USB device initialization scheme which
* closely resembles the way Windows works. Hopefully it will be compatible
* with a wider range of devices than the old scheme. However some previously
* working devices may start giving rise to "device not accepting address"
* errors; if that happens the user can try the old scheme by adjusting the
* following module parameters.
*
* For maximum flexibility there are two boolean parameters to control the
* hub driver's behavior. On the first initialization attempt, if the
* "old_scheme_first" parameter is set then the old scheme will be used,
* otherwise the new scheme is used. If that fails and "use_both_schemes"
* is set, then the driver will make another attempt, using the other scheme.
*/


Вобщем BP после саспенда работает. Осталась всякая ерунда и будет щасте.
Если кратко - таймауты и последовательность инициализации в hub.c все решили.

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

Магия линейного процессора

Кино и немцы: бутаем телефон, проходим хендшейк по gpio, девайс опознается на usb шине, как 0x3006 (драйвер ipc), на одном из интерфейсов которого есть ендпоинты для передачи и получения данных по ipc. Далее слипаю usb девайс (контроллер перестает посылать ему какие-то там периодические сообщения), bp это видит и со своей стороны тоже слипается, слипаю usb порт и ухожу в саспенд ap.

Врубаю обратно, usb не трогаю, вместо этого перевожу bp в флешмод (ставлю ногу flash в 1 и делаю ресет), прохожу хендшейк по gpio. Вот теперь включаю порт и девайс - драйвер usb контроллера замечает, что устройство изменилось во время слипа и опознает новое (0x4003).


[ 20.911537] flash: 0
[ 20.920759] flash: 512
[ 20.927860] reset bp
[ 20.934154] bp handshake entered!
[ 20.941279] ezx-bp: handshake step 1
[ 20.948080] ezx-bp: handshake step 2
[ 21.240547] BP rdy irq
[ 43.045223] usb 1-3: reset full speed USB device using pxa27x-ohci and address 5
[ 43.266384] usb 1-3: device firmware changed
[ 43.271897] usb 1-3: USB disconnect, address 5
[ 43.465206] usb 1-3: new full speed USB device using pxa27x-ohci and address 6
[ 43.697291] usb 1-3: configuration #1 chosen from 1 choice


А тепер без перевода в режим флеша. Бутаем телефон, проходим хендшейк, девайс опознается, саспендим usb девайс, саспендим usb порт, саспендим ap. Просыпаемся, врубаем порт, врубаем девайс - ДЕВАЙС ТУПИТ и не отвечает на контрольные запросы, но при этом моргает ногой (ааа! включите меня!) и потом валится в панику.


[ 25.704865] usb 1-3: reset full speed USB device using pxa27x-ohci and address 5
[ 25.718791] BP rdy irq
[ 25.838537] usb 1-3: USB disconnect, address 5
[ 26.194880] usb 1-3: new full speed USB device using pxa27x-ohci and address 6
[ 35.436193] BP rdy irq
[ 35.441631] BP Lowered WDI line. This is not good :(
[ 41.384807] usb 1-3: device descriptor read/64, error -110
[ 41.684849] usb 1-3: device descriptor read/64, error -62
[ 41.974861] usb 1-3: new full speed USB device using pxa27x-ohci and address 7
[ 42.164846] usb 1-3: device descriptor read/64, error -62
[ 42.454801] usb 1-3: device descriptor read/64, error -62
[ 42.744881] usb 1-3: new full speed USB device using pxa27x-ohci and address 8
[ 43.174716] usb 1-3: device not accepting address 8, error -62
[ 43.364761] usb 1-3: new full speed USB device using pxa27x-ohci and address 9
[ 43.794714] usb 1-3: device not accepting address 9, error -62
[ 43.805893] hub 1-0:1.0: unable to enumerate USB device on port 3


А теперь третий фокус:

Делаем все то же самое, что и в первом случае, но ресет bp делаем без перевода в флешмод - девайс проходит хендшейк, но по usb опять не отвечает.

Рабочая гипотеза - bp не замечает, что надо ресетнуть usb со своей стороны. Чисто теоретически, это должно делаться через single-ended zero - установку двух ног usb в 0 на 10 msec, но это не работает (или я неправильно делаю?), и ничего похожего я в старом ядре не вижу. Зато в старом ядре есть куча непонятной возни вокруг ног 90, 91 и 113 - те пины usb, что идут от хоста к устройству.

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

Внезапный тестпоинт?

Проводил опыты с саспендом usb хоста. Единственное, что понял - система там очень хлипкая, зависит от кучи рейскондишинов и последовательности включения/выключения usb хоста и просыпания/засыпания bp.

И еще словил вот такой замечательный фокус:


[ 8.480980] pxa27x-ohci pxa27x-ohci: GetStatus roothub.portstatus [2] = 0x00130103 PRSC PESC CSC PPS PES CCS
[ 8.493472] hub 1-0:1.0: unable to enumerate USB device on port 3
[ 8.505488] hub 1-0:1.0: state 7 ports 3 chg 0000 evt 0008
[ 8.517448] pxa27x-ohci pxa27x-ohci: GetStatus roothub.portstatus [2] = 0x00030101 PESC CSC PPS CCS
[ 8.529480] hub 1-0:1.0: port 3, status 0101, change 0003, 12 Mb/s
[ 8.699736] hub 1-0:1.0: debounce: port 3: total 100ms stable 100ms status 0x101
[ 8.829765] pxa27x-ohci pxa27x-ohci: GetStatus roothub.portstatus [2] = 0x00100103 PRSC PPS PES CCS
[ 8.899751] usb 1-3: new full speed USB device using pxa27x-ohci and address 6
[ 9.029666] pxa27x-ohci pxa27x-ohci: GetStatus roothub.portstatus [2] = 0x00100103 PRSC PPS PES CCS
[ 9.129612] usb 1-3: ep0 maxpacket = 8
[ 9.142082] usb 1-3: default language 0x0409
[ 9.151041] usb 1-3: udev 6, busnum 1, minor = 5
[ 9.156380] usb 1-3: New USB device found, idVendor=22b8, idProduct=4903
[ 9.167987] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 9.180013] usb 1-3: Product: S Blank Neptune LTE2
[ 9.185511] usb 1-3: Manufacturer: Motorola
[ 9.192990] usb 1-3: uevent
[ 9.215618] usb 1-3: usb_probe_device
[ 9.222460] usb 1-3: configuration #1 chosen from 1 choice
[ 9.249015] usb 1-3: adding 1-3:1.0 (config #1, interface 0)
[ 9.262191] usb 1-3:1.0: uevent
[ 9.289933] usbserial_generic 1-3:1.0: usb_probe_interface
[ 9.302780] usbserial_generic 1-3:1.0: usb_probe_interface - got id
[ 9.340334] hub 1-0:1.0: state 7 ports 3 chg 0000 evt 0008
[ 32.936371] rdy: 1


То есть bp ВНЕЗАПНО перезагрузился и его бут подумал, что флешка чистая, предлагая его шить с ap. Повторить не удалось - все остальные разы bp не хотел подключаться после резюма. На всякий случай - лог этого безобразия: http://pastebin.com/f33b62daa

UPD: опять вылезло. видимо, это не случайный глюк, а закономерный баг. А я был почти уверен, что в этот раз получу обратно модем.
UPD2: и опять...

вторник, 28 июля 2009 г.

Как регистр назвали, то он и показывает

PEDR, defined in Table 3-20, indicates which GPIO pin (enabled through the PWER, PRER and
PFER registers) caused a wake-up from standby, sleep or deep-sleep mode. These bits can be set
only by a rising edge, falling edge, or either on the given GPIO pin, depending on the settings in the PRER and PFER registers.

Вобщем показывает на того педр^W^W ту ногу, за которую дернули, чтобы железка проснулась.

Следующий кандидат на жертву двухмесячного марафона "кто больше обматерит этот драйвер" - PCAP. Теперь, при входе в слип, нам мешает он - быстро-быстро вытаскивает обратно.

UPD: все не так страшно - это всего-то драйвер rtc.