LINUX.ORG.RU
ФорумMobile

[android][alsa] AlsaMixer на LG O1

 ,


0

1

Доброй ночи всем обитателям ЛОРа!

Так сказать, в продолжении тем http://www.linux.org.ru/forum/talks/6417625 и http://www.linux.org.ru/forum/mobile/6415498 (про возврат денег и шипение телефона соответственно).

Пока в суд я еще не пошел и телефон у меня решил попробовать поковыряться. Проблема: при воспроизведении любого звука шипит усилитель, а не динамик как я думал в начале. Да, именно усилитель, по признакам:
- уровень громкости не влияет на уровень шума
- радио играет нормально (видимо усилитель не используется при прослушивании радио, звук с FM приемника идет в обход)
- изменение коэффициента усиления (в сервисном меню 3845#*500#) влияет на уровень шума, к сожалению убавить шум через это меню нельзя

Это был небольшой оффтопик, теперь собственно суть:
Под звуковой системой андроида обычная (или нет?) alsa, хочу попробовать понастраивать...

Пытаюсь запустить alsamixer, но он не хочет:

# ./alsamixer
ALSA lib control.c:902:(snd_ctl_open_noupdate) Invalid CTL default
cannot open mixer: No such file or directory
# ./alsamixer -c 0
ALSA lib control.c:902:(snd_ctl_open_noupdate) Invalid CTL hw:0
cannot open mixer: No such file or directory
# ./amixer 
ALSA lib control.c:902:(snd_ctl_open_noupdate) Invalid CTL default
amixer: Mixer attach default error: No such file or directory
# ./amixer -c0
ALSA lib control.c:902:(snd_ctl_open_noupdate) Invalid CTL hw:0
amixer: Mixer attach hw:0 error: No such file or directory

Чего ему не хватает?
Все есть:
# ls -l /dev/snd
crw-rw---- system   audio    116,  33 2011-01-07 21:55 timer
crw-rw---- system   audio    116,   0 2011-01-07 21:55 controlC0
crw-rw---- system   audio    116,  24 2011-01-07 21:55 pcmC0D0c
crw-rw---- system   audio    116,  16 2011-01-07 21:55 pcmC0D0p

# ls -l /proc/asound
lrwxrwxrwx root     root              2011-01-07 22:16 msmaudio -> card0
dr-xr-xr-x root     root              2011-01-07 22:16 card0
-r--r--r-- root     root            0 2011-01-07 22:16 pcm
-r--r--r-- root     root            0 2011-01-07 22:16 timers
-r--r--r-- root     root            0 2011-01-07 22:16 cards
-r--r--r-- root     root            0 2011-01-07 22:16 devices
-r--r--r-- root     root            0 2011-01-07 22:16 version

# cat /proc/asound/cards
 0 [msmaudio       ]: MSM-CARD - msm-audio
                      msm-audio (MSM-CARD)

# cat /proc/asound/devices
  0: [ 0]   : control
 16: [ 0- 0]: digital audio playback
 24: [ 0- 0]: digital audio capture
 33:        : timer

# cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version 1.0.23.

# ./amixer -v
amixer version 1.0.23

★★★★★

Последнее исправление: ls-h (всего исправлений: 2)

Ответ на: комментарий от i-rinat

У меня тоже была такая мысль. Только есть небольшая загвоздка: alsamixer идет в комплекте с библиотеками и запускается не просто так, а через скрипт:

TERMINFO=./terminfo TERM=screen3 ./lib/ld-linux.so.3 --library-path ./lib ./bin/alsamixer $*
Не догоняю, как это связать с strace...

ls-h ★★★★★
() автор топика
Ответ на: комментарий от ls-h

Не догоняю, как это связать с strace...

я бы попробовал так:

TERMINFO=./terminfo TERM=screen3 strace -f -o strace-log.txt ./lib/ld-linux.so.3 --library-path ./lib ./bin/alsamixer $* 

-f для того чтобы следить за всеми потомками.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Спасибо, но что-то не идет:
# TERMINFO=./terminfo TERM=screen3 /mnt/sdcard/strace -f ./lib/ld-linux.so.3 --library-path ./lib ./bin/alsamixer
execve("./lib/ld-linux.so.3", ["./lib/ld-linux.so.3", "--library-path", "./lib", "./bin/alsamixer"], [/* 14 vars */]) = 0
syscall: unknown syscall trap 0xe5bcf720

ls-h ★★★★★
() автор топика
Ответ на: комментарий от ls-h

И так:

# TERMINFO=./terminfo TERM=screen3 ./lib/ld-linux.so.3 --library-path ./lib /mnt/sdcard/strace
[1] Segmentation fault TERMINFO=./terminfo TERM=screen3 ./lib/ld-linux.so.3 --library-path ./lib /mnt/sdcard/strace
тоже фигвам

ls-h ★★★★★
() автор топика
Ответ на: комментарий от ls-h

А alsamixer ты случайно не сам собирал? Если так, то надо отладочные printf в него добавить, в районе control.c:902.

Если не сам, то стоит собрать самому.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Спасибо.

Нет, собирал не сам.
Как выяснилось, Android играет звук вообще через другое устройство - /dev/msm_pcm_out.

Так что там все хитрожопо. Вот, думаю поставить Сyanogenmod. Не в курсе, там все так же через жо** или как в обычном настольном linux'е?

ls-h ★★★★★
() автор топика
Ответ на: комментарий от ls-h

> Не в курсе, там все так же через жо** или как в обычном настольном linux'е?

Это тот же андроид, насколько я понимаю. А так как дрова на звук почти всегда проприентарны, то вряд ли звуковую систему когда-нибудь сменят. Думаю, там всё так же.

i-rinat ★★★★★
()
Ответ на: комментарий от ls-h

Хмм.Блин, таки странно это, кстати, читав когда-то вашу тему, уже опасался что и в том, что куплю будет шум, но вроде как обошлось

nutz ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.