LINUX.ORG.RU

Сообщения mittorn

 

Java SE 6 armv7a-armhf-cortex-a8 скачать бесплатно без смс

 , ,

Собственно вопрос: где можно найти сборку JDK 6 для armhf?
Интересует именно 6 версия т.к на 7 в используемой программе наблюдаются неприятные глюки на любой платформе.

mittorn
()

Проблемы с video4linux

 , ,

При захвате видео через ffmpeg c v4l2 через каждые несколько кадров начинают повторяться первые кадры. В результате изображение мерцает.
Камера sun4i_csi0, сенсор gc0308.
При получении видео через mplayer изображение нормальное, если частота 10fps или больше.
В dmesg при использовании mplayer появляется строка buffer count is invalid, set to 3.
В При использовании ffmpeg buffer count is invalid, set to 5, что скорее всего и является причиной. Процент использования времени процессора в обоих случаях небольшой. Как убрать мерцание? Со внешней usb камерой работает одинаково хорошо.

mittorn
()

Как вылечить исходники ядра после установки времени на 2052 год?

 ,

Взбесился rtc при сбое гибернации (на этот раз на десктопе).
Не зная этого, я пересобрал ядро. Теперь оно ругается:
make[1]: Предупреждение: Время изменения файла `include/config/auto.conf' находится в будущем (1208655574)
make[1]: предупреждение: Неправильный ход часов. Сборка может быть неполной.
Ждать 2052 года не хочется. clean не помог. Как вылечить исходники?

mittorn
()

i915 ломает гибернацию

 , , , z77

При включенном i915 (совместно с nvidia) гибернация начинает работать нестабильно: система крашится при повторном включении nvidia.
i915 собран модулем, однако почему-то подгруждается при загрузке сам. Постоянно он не нужен, но и отключать насовсем тоже не собираюсь.
После восстановления выдаёт такое предупреждение:
Wrong MCH_SSKPD value: 0x20100406 и просит обновить BIOS.
При попытке выгрузить i915 пишет Плохое Покойся_с_миром значение (Bad RIP value) и крашится. То же при попытке выгрузить nvidia.
Ещё почему-то в rtc время встало на 2052 год.

mittorn
()

Оптимальные параметры сборки для выполнения в qemu

 , , ,

Нужно запустить x86-приложение в qemu на другой архитектуре. Для этого требуется x86-окружение и желательно x86-wine.
Встал вопрос: какие флаги оптимизации (CFLAGS) и какая архитектура (i386,i686) нужны для наиболее производительной эмуляции?
Гугл не помог, но может я плохо искал?

mittorn
()

Сервис для ханения изменяемой строки или динамического ip.

Нужен бесплатный сервис, позволяюший хранить периодически изменяемую строку текста так, чтобы она была доступна по http по постоянной ссылке, как альтернатива всяким dyndns.
Динамический dns не устраивает т.к он медленно обновляется и требует возни. У сервисов хранения текста есть сложности с редактированием, нужно дополнительно слать POST и парсить страницу, да и онм могут быть недоступными. Может, кто-нибудь знает что-то подходящее?

mittorn
()

Сильные траблы с rtc

Устройство на Allwinner A10

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

Сначала перестал инициализироваться дисплей (как в linux, так и в заводском abdroid), потом после 1.5-минутного ожидания загрузился стоковый андройд, тут же крашнулся и система после перезапуска вроде бы заработала нормально, только время сбросилось.

После загрузки linux при попытке установить время произошла блокировка: в консоли блокируется всё кроме sysrq reboot, в иксах все анимации вроде работают, но терминалы и фокусировка ввода застрявают.

Вот что всплывает в логе при загрузке:

[    1.120000] sunxi-rtc sunxi-rtc: sunxi_rtc_probe tmp_data = 380239965
[    1.130000] sunxi-rtc sunxi-rtc: sunxi_rtc_gettime
[    1.130000] sunxi-rtc sunxi-rtc: read time 2069-11-15 23:56:10
[    1.140000] using rtc device, rtc, for alarms
[    1.140000] sunxi-rtc sunxi-rtc: rtc core: registered rtc as rtc0
[    4.360000] sunxi-rtc sunxi-rtc: sunxi_rtc_gettime
[    4.360000] sunxi-rtc sunxi-rtc: read time 2072-14-18 26:59:13
[    4.370000] sunxi-rtc sunxi-rtc: hctosys: invalid date/time
14 месяц 26 часов - меня убило. Попытка чтения даты из usespace (hwclock -r):
<7>[ 1235.520000] sunxi_rtc_open 
<6>[ 1235.560000] sunxi-rtc sunxi-rtc: sunxi_rtc_gettime
<6>[ 1235.620000] sunxi-rtc sunxi-rtc: read time 2055-13-1 9:42:60
<6>[ 1235.690000] sunxi-rtc sunxi-rtc: sunxi_rtc_gettime
<6>[ 1235.750000] sunxi-rtc sunxi-rtc: read time 2061-3-7 15:48:2
Попытка записи даты (hwclock -c):
<7>[   65.690000] sunxi_rtc_open 
<6>[   65.710000] sunxi-rtc sunxi-rtc: sunxi_rtc_gettime
<6>[   65.760000] sunxi-rtc sunxi-rtc: read time 2054-12-0 8:41:59
<6>[   65.810000] sunxi-rtc sunxi-rtc: sunxi_rtc_gettime
<6>[   65.860000] sunxi-rtc sunxi-rtc: read time 2013-3-23 31:0:18
Т.е перед записью дата обязательно считывается. Можно как-то это обойти? Может после перезаписи оно перестанет брюхню нести (если часы на месте)? Или мне начинать искать gpio-часы и пины, на которые их можно привесить?

mittorn
()

bluez и blueman не работают: *** glibc detected *** bluetoothd: free(): invalid next size (fast)

 , , детектед,

Обнаружилась причина проблем с bluetooth-клавиатурой: при попытке подключения спаренного hid-устройства bluez сыпется с зависанием:

bluetoothd[2223]: input/server.c:connect_event_cb() Incoming connection from 0C:FC:83:81:49:2A on PSM 17
bluetoothd[2223]: input/server.c:connect_event_cb() Incoming connection from 0C:FC:83:81:49:2A on PSM 19
*** glibc detected *** bluetoothd: free(): invalid next size (fast): 0x41dd0b98 ***
*** glibc detected *** bluetoothd: malloc(): memory corruption: 0x41dd0bb8 ***

Подключение в данном случае вызывалось со стороны клавиатуры. blueman после доустановки значков и gconf стал открывать почти все диалоговые окна (до этого работало только about), однако при попытке сопряжения или подключения bt получаю следующее:

row_update_event (/usr/lib/python2.7/site-packages/blueman/gui/manager/ManagerDeviceList.py:286)
row update event Trusted 0 
_________
row_update_event (/usr/lib/python2.7/site-packages/blueman/gui/manager/ManagerDeviceList.py:286)
row update event Paired 0 
_________
monitor_power_levels (/usr/lib/python2.7/site-packages/blueman/gui/DeviceList.py:214)
starting monitor 
*** glibc detected *** /usr/bin/python2.7: free(): invalid next size (fast): 0x014baf78 ***
_________
child_closed (/usr/lib/python2.7/site-packages/blueman/Functions.py:140)
/usr/bin/blueman-manager closed 
Через gnome-bluetooth сопряжение создаётся, после чего происходит вышеописанный краш bluetoothd. Один раз после сопряжения и перезагрузки клавиатура подключилась. Баг воспроизводится в gentoo и предположительно в lubuntu (там я логи не снимал, но поведение было таким же) и linaro (http://pengpod.com/forum/viewtopic.php?t=646&p=1687 - похожий случай) Через hidd без сопряжения клавиатура работает, однако в этом случае каждый раз нужно нажимать connect. В android и на x86 (bluez постарее) клавиатура работает стабильно. В андройд помогает нажатие пары кнопок, а в linux надо полсистемы переворошить, чтобы всё работало.

mittorn
()

Отладка гибернации в отсутствии консоли

Наложил патч гибернации для cortex-a8 на linux-sunxi, добавил патч на resumewait (т.к mmc инициализируется с задержкой). Тесты проходит удачно, то есть состояние устройств и процессора сохраняется нормально. При гибернации во время остановки устройств гаснет дисплей и отключается usb, на котором wi-fi (так и должно быть т.к отключается преобразователь питания на 5В) Если выбрать режим reboot, перезагрузки не происходит. После включения ядро не находит образ, хотя раздел обнаруживает - то есть образ не записывается. no_console_suspend не помогает (тогда последние строки - отключение питания дисплея) Других способов подключения к консоли пока не вижу, serial можно только через пины sd вывести, а с него идёт загрузка. Есть ещё способы отладки гибернации (получения консоли)?

mittorn
()

Запуск бинарников для android в chroot

 , , ,

Собрал Cyanogenmod 7.2 с целью выпилить init, чтобы запускать его в chroot (хочу сделать портативную сборку android для запуска в chroot).

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

Статические бинарники при запуске из корня работают, но при запуске из chroot ошибка сегментирования их настигает довольно быстро: путём добавления отладочно-трассировачных строк

printf("<function name>");
при каждом вызове функций выяснилось, что ошибка сегментирования происходит между вызовом одной из функций и первой её строкой.

Динамически слинкованные вылетают сразу при загрузке libc (виноват linker)

Так, как linker собран статически, попробывал запустить его из корня:

xecve("/android-chroot/root/system/bin/linker", ["/android-chroot/root/system/bin/"...], [/* 40 vars */]) = 0

set_tls(0xb0013d48, 0x1, 0xb0014870, 0, 0xb0012f7c) = 0
getpid()                                = 1744

sigaction(SIGILL, {0xb0005bfd, [], SA_RESTART}, {SIG_DFL, [], 0}, 0) = 0

....... остальные sigaction

sigaction(SIGPIPE, {0xb0005bfd, [], SA_RESTART}, {SIG_DFL, [], 0}, 0) = 0

--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0xffffff60} ---

Далее идёт обработчик для sigsegv, который снова рушится уже без обработки.
Результат не зависит от аргументов и места запуска. gdb пробовал приаттачить, но у него с chroot проблемы, к тому же несмотря на сборку в отладочном режиме отладочные символы почему-то отсутствуют (ну это же android).

P.S Код функции main линкера:

int main(int argc, char **argv)
{
    return 0;
}
ЧТО ТУТ МОЖЕТ ПРИВЕСТИ К SIGSEGV???????

P.P.S в коде linker есть ассемблерный файл, вызывающий _linker_init. При попытке дописать туда printf ругается:

ERROR: malloc called from the dynamic linker!

По крайней мере это означает, что хоть что-то работает.

Ещё могу добавить, что не вылетает adb, хотя работоспособность проверить тоже не могу т.к отстутствует модуль g_android.

mittorn
()

mc не запускается, пока не проломится в сеть

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

mittorn
()

KDSETKEYCODE/KDGETKEYCODE сломано - setkeycodes/getkeycodes не работают

Это баг ядра или такая фича? Купил клавиатуру, на которой майуточные разработчики вместо верхнего ряда сделали дурацкие медиаклавиши. Думал, чт удастся переназначить через setkeycodes, однако получаю:

KDSETKEYCODE: Недопустимый аргумент failed to set scancode xxx to keycode xx

Попробовал на десктопе с другой версией ядра, там всё работает. На телефоне с 2.6.35 и планшете с 3.0.76-sunxi не работает. Проверил getkeycodes, но он тоже не работает: Plain scancodes xx (hex) versus keycodes (dec) 0 is an error; for 1-88 (0x01-0x58) scancode equals keycode

0x58: 88 - - - - - - - 0x60: - - - - - - - - 0x68: - - - - - - - - 0x70: - - - - - - - - 0x78: - - - - - - - -

Escaped scancodes e0 xx (hex)

e0 00: - - - - - - - - e0 08: - - - - - - - - e0 10: - - - - - - - - e0 18: - - - - - - - - e0 20: - - - - - - - - e0 28: - - - - - - - - e0 30: - - - - - - - - e0 38: - - - - - - - - e0 40: - - - - - - - - e0 48: - - - - - - - - e0 50: - - - - - - - - e0 58: - - - - - - - - e0 60: - - - - - - - - e0 68: - - - - - - - - e0 70: - - - - - - - - e0 78: - - - - - - - -

strace пишет, что при запросах происходит EINVAL. Пробовал пересобирать getkeycodes (вырезал из него предварительно все привязки, чтобы работал на одном лишь libc), результат тот же. Куда копать и чем? Задолбался уже пальцы с кнопкой fn выворачивать.

mittorn
()

Отключить таймаут ssh

 , ,

Имеется 2 хоста. Периодически работа одного из них останавливается (echo mem/disk >/sys/power/state), иногда обоих. Хосты имеют фиксированные адреса.

С первого на второй установлено ssh подключение. Если первый отдыхал длительное время, пока второй был активен, при возвращении первого в рабочее состояние получаю Write failed: Broken pipe. Как сделать, чтобы соединенние не разрывалось в таком случае?

mittorn
()

Трансляция вызовов OpenGL в OpenGL ES

 , glesport, ,

Настроил 3D-ускорение в linux на своём планшете. Сильно опечалило, что egl и gles в linux годится только для запуска нескольких тестов и нескольких портов. Но ведь возможна трансляция вызовов одной подсистемы в другую (как это происходит в wine).

После недолгого поиска обнаружил несколько проектов:

DOGLESS - проект, занимающийся сабжем. Заброшен в 2004 году в неактуальном состоянии

glesport - заброшен в 2007 году. На тот момент реально работал (заменял обычный opengl, работали простые игры раз в 20 быстрее swrast). К сожалению, хостер заблокировал доступ к сайту с cgit. Есть несколько адаптированных срезов в эмуляторе ps для maemo.

Может, есть какие-то ресурсы, где может остаться копия? Или у кого-нибудь остался glesport?

Интересны так же другие подобные проекты.

Перемещено mono из games

mittorn
()

Как подключить bluetooth-клавиатуру?

 , , опять сломали

Как подключить bluetooth-клавиатуру в linux? Гугл выдаёт инструкции для старых версий bluez и пестрит упоминаниями blueman/bluedevil/bluetooth-applet. Вышеупомянутые утилиты в действительности не способны ни на что кроме передачи файлов (да и она хромает не по детски). При остальных действиях сыпятся разнообразные ошибки.

Сам bluez же ни на что не способен:

dbus.exceptions.DBusException: org.bluez.Error.DoesNotExist: Does Not Exist

Куда копать? Винду ставить? Там несомненно BT работает, а здесь каждый год его ломают чуть менее, чем полностью.

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

mittorn
()

Как скачать большой реп через git?

Имеется довольно скудное интернет-соединение (1 мегабит), крупное дерево исходников (модификация вядра) на мноюненавистном (одна из частных причин ниже) гитхабе. Сначала скачивал срезы в zip (каждый по 200 мб).Теперь выяснилось, что срезов недостаточно т.к часто нужно перемещаться между ревизиями. Начал клонировать реп, пока что только определённый бранч:

Receiving objects: 8% (286344/3478975), 177.75 MiB | 98 KiB/s

То есть, он больше 2 ГБ? Или это собранное вядро? Соединение может оборваться, в таком случае прийдётся качать заново? Я тогда и за 3 года могу его и не скачать! А что, если я не один бранч клонировать буду? У меня же места на диске не хватит! Объясните мне, что делать? Может я что-то не так понял?

mittorn
()

Неквадратный пиксель и linux DE

Купил подешёвке китайский планшет на Allwinner A10 для установки linux на нём. Обнаружил, что физическое соотношние сторон ~1.79 не соответствует 800/480~1.66. Это сильно заметно визуально. Поддерживаются ли неквадратные пиксели в GNOME2/MATE, LXDE, XFCE, KDE? Интересует возможность адекватно просматривать изображения, желательно ещё, чтобы интерфейс не сильно корёжило. Ещё хочется, чтобы изображения на веб-страницах аддекватно отображались. Или может, лучше его сразу назад сдать?

mittorn
()

kexec - ядро перезагружается после появления лого.

 , ,

Собрал ядро для телефона Samsung GT-B5512, пытаюсь протестировать его через kexec. Оригинальное (работоспособное) ядро при запуске через kexec через секунду перезагружает устройство (но оно запускается), та же беда с кастомным (которое сейчас прошито и каждые 2/3 попытки загрузки даёт фризы).

Собранное ядро (в нём включено отображение логотипа и фреймбуферная консоль) тоже запускается, на экране видно лого, после которого происходит перезагрузка. Включена отладка, но никакого текста на экране не видно.

Пробовал изменять CONFIG_PANIC_TIMEOUT на 10000, но десятискеундной паузы перед ребутом не наблюлаю. Если установить значение init на /sbin/adb или что-нибудь ещё, что без /dev не работает, перезагрузка происходит чуть быстрее.

Как определить причину перезагрузки? Почему не вижу консоли?

По идее, если прошить ядро, должно загрузиться, но не шить же каждый тест (если не запустится, не понятно, как восстанавливать). К тому же мне нужна консоль.

Версия 2.6.35.7

.config http://pastebin.com/aPS4R9zN

Ядро GT-B5512_GB_Opensource.zip с opensource.samsung.com

Ещё напрягает, что если собирать обычным gcc-4.7.2 из crossdev, ядро просто виснет, но из sourcery g++ (он рекомендован для сборки в инструкции и в нескольких howto по данной платформе) ядро себя ведёт как официальное.

mittorn
()

Отслеживание обмена данных с символьным устройством

 , , ,

Есть проприетарный драйвер (в виде набора библиотек, загружаемых андройдом), работающий с dsp-ядром. Связь с оборудованием сделана в виде символьного устройства rk28-dsp. Он каким-то образом загружает туда firmware и передаёт параметры поток. Есть исходный код ядерной части. Нужно как-то отследить, что происходит с устройством. Пробовал трассировать процессы, работающие с устройством, но в вывод попадает только close(fd). Есть возможность собрать свой модуль под ядро, так что по идее можно попробовать сделать фейковое устройство. Может ещё какие-нибудь способы есть? Всё это под arm архитектуру, может можно как-нибудь достать код из бинарника? Хочу перехватить эти данные

mittorn
()

Как декодировать видео на Rockchip RK2818 аппаратно?

 hardware decoder,

Есть много эл. книг и планшетов на этой платформе, в android видео декодируется аппаратно, софтверно проц не тянет ничего вообще. В android драйвер реализован в виде библиотеки кодека, с видеодрайвером никак не связан. Вывод реализован заменой чёрных пикселей на видео (видео продолжает выводиться, если переключить на VT). Хочу сделать декодирование видео без запуска android, в произвольном дистре, это можно как-нибудь сделать? Доступны исходники ядра, есть сборка CM.

mittorn
()