[13:49:02] <zombah> добрый день всем
[15:43:58] <stuw> zombah, у тебя на хромкасте стоковая прошивка или кастом?
[15:44:11] <zombah> stuw: сто
[15:44:14] <zombah> stuw: сток
[15:44:36] <stuw> zombah, она iptv умеет или только ютьюб и с экрана стрим?
[15:45:05] <zombah> stuw: под iptv ты dlna имеешь ввиду?
[15:45:33] <stuw> хм, dlna это вроде другое ) хотя хз, надо обновить свои знания
[15:49:47] <zombah> stuw: ну что ты под iptv имеешь ввиду расскажи своими словами 8)
[15:50:57] <stuw> провайдеры обчно тв предлагают через ethernet. Хз, как оно там устроено. Термин DLNA вроде появился много позже IPTV, поэтому предполагаю, что это разные вещи :))
[15:51:42] <zombah> stuw: ну я понял, такое оно умеет только со спец приложением
[15:52:01] <zombah> но если под него есть кастом прошивки, то может там есть по дефолту
[15:55:28] <zombah> аа уже смотрю нет кастом прошивок прикрыли дырки через которые рут брали и новых пока не нашли 8)
[15:55:49] <zombah> stuw: если тебя только iptv интересует бери малину а не хромекаст
[15:55:56] <stuw> zombah, о, на хромкасте HDMI CEC есть
[15:56:18] <zombah> stuw: на малине тоже cec вроде пашет
[15:57:20] <stuw> zombah, я вообще присматриваю свисток/коробку для телека на кухне. В идеале хотелось бы IPTV, но и обычного инета хватит, если с IPTV будет гемор. HDMI CEC маст хев, ибо без него имхо неудобно с несколькими пультами
[15:58:01] <stuw> там у меня планируется только электричество. Соответственно ненавистного тебе ethernet кабеля не будет, только вифи )
[15:58:18] <zombah> телек на кухне? %) омг вот это полное погружение
[15:58:30] <stuw> 40"
[15:59:17] <stuw> шучу-шучу ))) мелкий, жене что-нибудь смотреть/слушать во время готовки
[15:59:51] <zombah> ну все равно лучше малину так как там у тебя точно iptv и dlna заработают а вот с хромкастом еще фиг знает
[16:00:29] <vasy> Привет всем!
[16:00:39] <zombah> vasy: привет
[16:00:45] <stuw> привет :)
[16:01:43] <vasy> zombah: я тут ril немного поковырял, и в libril-qc-qmi-1.so нашел AudioSystem::setParameters
[16:01:56] <zombah> блин в сусе уже ядро бранчнули под будущий релиз а я так и не понял почему оно не пашет на тоше
[16:02:23] <zombah> vasy: хм внутри блоба прям? интересно
[16:02:34] <vasy> я его в IDA смотрю
[16:02:45] <zombah> понял
[16:02:49] <vasy> мало, что понимаю, но ...
[16:03:16] <vasy> и он с libmedia.so слинковам
[16:03:19] <stuw> хм, возможно nm на арме можно заюзать, чтобы посмотреть символы либы. Хотя IDA лучше
[16:03:27] <stuw> но сложнее )
[16:03:53] <zombah> libmedia это откуда чтот не припоминаю сходу
[16:04:09] <zombah> системная либа чтоли?
[16:04:19] <vasy> ага
[16:04:32] <zombah> эка
[16:04:36] <zombah> плохо это
[16:05:50] <vasy> из hardware/cm/audio libmedia собирается
[16:06:19] <vasy> да как-то печально
[16:07:19] <zombah> ну посмотри что там за финкциями они обмениваются
[16:07:54] <zombah> если будет понятно что это нам поможет, можно будет врапер сделать вокруг этого libril-qc-qmi
[16:08:12] <vasy> а как посмотреть? ...
[16:08:20] <zombah> vasy: я не знаю 8)
[16:08:30] <vasy> я вот тоже...
[16:09:00] <zombah> посмтри названия всех функций может будут похожие
[16:10:17] <stuw> вы помните, что и в каких комбинациях либ/ядра/ril у вас работает?
[16:11:58] <vasy> vasy@vasy2 system_stok/vendor/lib $ nm -C -D libril-qc-qmi-1.so | grep -i audio
[16:11:58] <vasy> 0004a5fd T qcril_am_set_call_audio_driver
[16:11:58] <vasy> U android::AudioSystem::setParameters(int, android::String8 const&)
[16:12:19] <vasy> stuw: от ядра нечего не зависит
[16:13:00] <stuw> ок. Я просто к тому, что если не помните, то лучше какую таблицу сделать. Я за вашими исследованиями не успеваю, поэтому не лезу больше помогать :)
[16:13:08] <stuw> *не успеваю следить
[16:13:31] <vasy> stuw: а мы сильно нечего так и не выяснили...
[16:14:29] <vasy> с audio hal из cm11 звука при звонке нет, с hal из стока или legacy из cm работает на одной sim
[16:16:10] <stuw> т.е. все зависит от hal ? сток и легаси - норм, из cm11 - не пашет. hal легко менять один на другой?
[16:16:42] <vasy> сток и легаси - не совсем норм, звук только на одной из 2-х sim
[16:16:58] <stuw> на двух сим он где-нибудь пашет?
[16:17:19] <vasy> ну только на стоковой прошивке
[16:18:15] <stuw> т.е. сток пашет норм. Если из стока взять hal, то пашет звук только на одной симке?
[16:18:25] <stuw> *взять в cm11
[16:18:29] <vasy> stuw: да
[16:19:04] <vasy> точнее на той симке на которой последней был включен режим 3G
[16:20:22] <stuw> жуткая жуть. hal что из себя представляет?
[16:21:16] <vasy> libril-qc-qmi-1.so либа на 4 Мегабайта.... libril и rild я так понимаю только обертка для нее. и как я понимаю она сильно вендор спецефична, не подходит от одного производителя к другому...
[16:21:16] <vasy> и нет реферсной или хоть какой-то утекшей в исходниках посмотреть что там...
[16:21:52] <stuw> какие файлы меняете, когда меняете hal ?
[16:22:16] <vasy> из этого собирается audio.primary.msm8610.so
[16:22:19] <stuw> вы же бинарями меняете, если я правильно понял
[16:22:57] <vasy> stuw: https://github.com/cm-nokia-x2/proprietary_vendor_nokia_ara/commit/a6b54dda98588d033faa7e3b60038f49bb20f622
[16:24:13] <vasy> audio.primary.msm8610.so и audio_policy.msm8610.so и есть по сути audio hal, остальное зависимости и конфиги
[16:26:13] <stuw> можешь выложить бинари обеих версий куда-нибудь. Я попробую глянуть, чем они отличаются. Шансов мало, но может что бросится в глаза
[16:26:16] <stuw> ?
[16:27:12] <vasy> stuw: а зачем бинари? можно сорцы поизучать
[16:27:57] <stuw> можно и сорцы до кучи ) но в сорцах куча дефайнов разных
[16:28:35] <stuw> у кастома есть тоже сорцы?
[16:28:43] <vasy> там есть legacy , если собрать его то работает аналогично стоковым бинарям
[16:29:31] <vasy> ifeq ($(BOARD_USES_LEGACY_ALSA_AUDIO),true)
[16:29:31] <vasy> include $(MY_LOCAL_PATH)/legacy/Android.mk
[16:29:31] <vasy> else
[16:29:31] <vasy> include $(MY_LOCAL_PATH)/hal/Android.mk
[16:30:27] <stuw> поянл, спасибо
[16:30:31] <vasy> вот стоковые бинари:
[16:30:31] <vasy> https://github.com/cm-nokia-x2/proprietary_vendor_nokia_ara/blob/a6b54dda98588d033faa7e3b60038f49bb20f622/proprietary/lib/hw/audio.primary.msm8610.so
[16:30:31] <vasy> https://github.com/cm-nokia-x2/proprietary_vendor_nokia_ara/blob/a6b54dda98588d033faa7e3b60038f49bb20f622/proprietary/lib/hw/audio_policy.msm8610.so
[16:30:31] <vasy> сечас положу куда-нибудь hal cm11
[16:30:43] <vasy> который не legacy
[16:34:13] <vasy> stuw: это cm11 "новый" hal
[16:36:00] <vasy> но судя по всему дело не в hal, а ril, точнее в libril-qc-qmi-1.so, который дергает (задает параметры или еще что-то) audio hal, и новый вообще дергать не умеет, а старый дергает не совсем так как на стоке
[16:40:41] <stuw> тогда попробуй посмотри список функций, которые есть/нужны libril-qc-qmi-1.so
[16:40:52] <stuw> команда nm на тошке
[16:41:16] <vasy> nm -C -D libril-qc-qmi-1.so| wc -l
[16:41:16] <vasy> 1969
[16:41:23] <vasy> 2000 тысячи функция
[16:41:32] <stuw> и то же самое для либов hal'а.
[16:41:39] <vasy> я ж говорю это либа на 4 Мегабайта!
[16:41:40] <stuw> там часть функций экспортится, часть нужна
[16:41:57] <stuw> экспорт с буквой T, нужные с U
[16:42:09] <stuw> так можно найти пересечение по функциям в этих либах
[16:42:24] <vasy> vasy@vasy2 system_stok/vendor/lib $ nm -C -D libril-qc-qmi-1.so| grep U| wc -l
[16:42:24] <vasy> 228
[16:42:24] <vasy> vasy@vasy2 system_stok/vendor/lib $ nm -C -D libril-qc-qmi-1.so| grep T| wc -l
[16:42:24] <vasy> 1555
[16:43:25] <stuw> если libril-qc-qmi-1.so дергает хал, то среди U функций libril-qc-qmi-1.so ищи те, которые есть в хале
[16:43:42] <stuw> руками без вариантов, нужен скрипт
[16:43:54] <vasy> из аудио вроде только android::AudioSystem::setParameters
[16:45:20] <stuw> ясно, вероятно параметры в строке отличаются
[16:45:40] <vasy> U android::AudioSystem::setParameters(int, android::String8 const&)
[16:45:40] <stuw> из исходников пока в глаза бросается различное именование use case'ов
[16:46:17] <stuw> это может быть проблемой, т.к. одна либа оперирует одними названиями, другая не помнимает их (грубое предположение)
[16:46:55] <stuw> grep -R USE_CASE ../android_hardware_qcom_audio-caf | grep '"'
[16:46:56] <stuw> grep -R USECASE_ ../android_hardware_qcom_audio-caf | grep '"'
[16:47:20] <vasy> stuw: ага, логично
[16:52:28] <vasy> https://github.com/CyanogenMod/android_frameworks_av/blob/8b8d02886bd9fb8d5ad451c03e486cfad74aa74e/media/libmedia/AudioSystem.cpp#L181
[16:52:28] <vasy> а это я так понимаю тот самый android::AudioSystem::setParameters
[16:52:52] <stuw> да, похоже на то
[16:52:53] <vasy> // set/get audio hardware parameters. The function accepts a list of parameters
[16:52:53] <vasy> // key value pairs in the form: key1=value1;key2=value2;...
[16:52:53] <vasy> // Some keys are reserved for standard parameters (See AudioParameter class).
[16:52:53] <vasy> // The versions with audio_io_handle_t are intended for internal media framework use only.
[16:53:38] <stuw> кстати эти параметры тоже могут отличаться и быть специфичными для разных версий
[16:53:47] <vasy> // reserved parameter keys for changing standard parameters with setParameters() function.
[16:53:48] <vasy> // Using these keys is mandatory for AudioFlinger to properly monitor audio output/input
[16:53:48] <vasy> // configuration changes and act accordingly.
[16:53:48] <vasy> // keyRouting: to change audio routing, value is an int in audio_devices_t
[16:53:48] <vasy> // keySamplingRate: to change sampling rate routing, value is an int
[16:53:48] <vasy> // keyFormat: to change audio format, value is an int in audio_format_t
[16:53:48] <vasy> // keyChannels: to change audio channel configuration, value is an int in audio_channels_t
[16:53:49] <vasy> // keyFrameCount: to change audio output frame count, value is an int
[16:53:49] <vasy> // keyInputSource: to change audio input source, value is an int in audio_source_t
[16:53:50] <vasy> // (defined in media/mediarecorder.h)
[16:53:50] <vasy> // keyScreenState: either "on" or "off"
[17:57:17] <evglit> Что-то у меня rtc не работает на федоре.
[17:57:42] <zombah> evglit: дату не сохраняет?
[17:58:27] <evglit> Тут (https://lists.fedoraproject.org/pipermail/arm/2014-January/007299.html) сказано выполнить команду: /sbin/hwclock --hctosys -f /dev/rtc1 && /sbin/hwclock --systohc -f /dev/rtc0.
[17:59:15] <zombah> evglit: dmesg |grep -i rtc
[18:00:59] <evglit> zombah, да, дата выставляется чисто по ntp, если интернета нет, то дата на 1970 год сбрасывается.
[18:03:03] <zombah> evglit: так а ты этот htosys то сделал как написано?
[18:03:43] <zombah> ну по логу у тебя только один rtc
[18:03:49] <evglit> Вывод команды /sbin/hwclock --hctosys -f /dev/rtc1 && /sbin/hwclock --systohc -f /dev/rtc:
[18:03:50] <evglit> hwclock: settimeofday() завершился неудачей: Недопустимый аргумент
[18:03:58] <evglit> Невозможно установить системные часы.
[18:04:17] <evglit> hwclock --debug
[18:04:19] <zombah> а кто стал rtc0
[18:04:28] <evglit> hwclock из util-linux 2.26.2
[18:04:29] <evglit> hwclock: невозможно открыть /dev/rtc: Нет такого файла или каталога
[18:04:29] <evglit> Не найден пригодный часовой интерфейс.
[18:04:29] <evglit> hwclock: Cannot access the Hardware Clock via any known method.
[18:06:01] <evglit> <zombah> а кто стал rtc0, даже первая часть не выполняется: /sbin/hwclock --hctosys -f /dev/rtc1.
[18:06:14] <evglit> hwclock: settimeofday() завершился неудачей: Недопустимый аргумент
[18:06:14] <evglit> Невозможно установить системные часы.
[18:06:40] <zombah> хз я этой утилитой не пользовался никогда
[18:07:29] <evglit> В openSUSE та же беда была.
[18:11:35] <zombah> запросто
[18:13:34] <stuw> grep -R 'setParameters' android_hardware_qcom_audio-caf
[18:13:41] <stuw> результат неожиданный немного
[18:16:17] <stuw> grep -R AUDIO_PARAMETER_STREAM_ROUTING ../android_hardware_qcom_audio-caf
[18:16:52] <stuw> хотя если вы пересобираете hal, а не кладете бинари, то значение должно совпадать в разных халах
[18:22:56] <stuw> https://github.com/CyanogenMod/android_frameworks_av/blob/8b8d02886bd9fb8d5ad451c03e486cfad74aa74e/media/libmedia/AudioSystem.cpp#L181 - здесь бы залогировать строку с параметрами...
[18:24:10] <vasy> stuw: уже собираю с
[18:24:10] <vasy> ALOGE("AudioSystem::setParameters keyValuePairs=%s",keyValuePairs.string());
[18:24:49] <vasy> libwebviewchromium.so слинкован с libmedia.so так что это не быстро :)
[18:25:27] <stuw> ну ты же не хидера поменял ) если система вменяемая, должна быстро собрать
[18:28:16] <vasy> всеравно libwebviewchromium персобирает
[18:28:16] <vasy> prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/bin/arm-linux-androideabi-g++ -nostdlib -Wl,-soname,libwebviewchromium.so -Wl ...
[18:43:35] <vasy> хм...
[18:43:36] <vasy> вот так при звонке на "новом" hal"
[18:43:36] <vasy> E/AudioSystem( 231): AudioSystem::setParameters keyValuePairs=fm_volume=0.4253543019
[18:43:36] <vasy> E/AudioSystem( 1814): AudioSystem::setParameters keyValuePairs=volume_boost=off
[18:43:36] <vasy> E/AudioSystem( 231): AudioSystem::setParameters keyValuePairs=fm_volume=0.2668402195
[18:44:41] <stuw> Лучше весь лог сравнивать. В начале может идти инициализация роутингов или еще чего.
[18:45:06] <vasy> в начале это при загрузке?
[18:45:49] <stuw> да, лучше с самого старта системы смотреть последовательность вызовов. Но это можно напотом отложить (пока просто собрать весь лог)
[18:46:17] <stuw> не факт, что сразу найдем, что не так, а с полным логом мы сможем откатываться назад по времени работы системы и смотреть ,что происходило
[18:47:21] <vasy> а нечего тут и нет только:
[18:47:21] <vasy> E/AudioSystem( 233): AudioSystem::setParameters keyValuePairs=fm_volume=0.0000000000
[18:47:21] <vasy> E/AudioSystem( 233): AudioSystem::setParameters keyValuePairs=fm_volume=0.4253543019
[18:47:21] <vasy> E/AudioSystem( 814): AudioSystem::setParameters keyValuePairs=screen_state=on
[18:47:21] <vasy> E/AudioSystem( 814): AudioSystem::setParameters keyValuePairs=screen_state=off
[18:47:21] <vasy> после загрузки...
[19:08:39] <vasy> о, а это с легаси hal при загрузке:
[19:08:39] <vasy> E/AudioSystem( 226): AudioSystem::setParameters keyValuePairs=routing=2
[19:08:39] Last message repeated 1 time(s).
[19:08:39] <vasy> E/AudioSystem( 226): AudioSystem::setParameters keyValuePairs=fm_volume=0.0078476826
[19:09:25] <vasy> а это при звонке:
[19:09:25] <vasy> E/AudioSystem( 801): AudioSystem::setParameters keyValuePairs=in_call=true
[19:09:25] <vasy> E/AudioSystem( 226): AudioSystem::setParameters keyValuePairs=fm_volume=0.0000000000
[19:09:25] <vasy> E/AudioSystem( 226): AudioSystem::setParameters keyValuePairs=routing=1
[19:09:26] Last message repeated 1 time(s).
[19:09:26] <vasy> E/AudioSystem( 226): AudioSystem::setParameters keyValuePairs=fm_volume=0.2668401897
[19:09:45] <vasy> в этом я так понимаю и все дело:
[19:09:45] <vasy> E/AudioSystem( 801): AudioSystem::setParameters keyValuePairs=in_call=true
[19:15:45] <vasy> хм но разницы между работающей и неработающей sim нету и там и там
[19:15:45] <vasy> E/AudioSystem( 799): AudioSystem::setParameters keyValuePairs=in_call=true
[19:15:45] <vasy> E/AudioSystem( 226): AudioSystem::setParameters keyValuePairs=fm_volume=0.0000000000
[19:15:45] <vasy> E/AudioSystem( 226): AudioSystem::setParameters keyValuePairs=routing=1
[19:15:46] Last message repeated 1 time(s).
[19:15:46] <vasy> E/AudioSystem( 226): AudioSystem::setParameters keyValuePairs=fm_volume=0.2668401897
[19:15:46] <vasy> один в один ...
[19:17:11] *** vasy уехал обдумывать все это...