А теперь кто-нибудь напишите для страдающих эмулятор либы-клиента pulseaudio, которая будет теребить альсу делая вид что теребит пульсаудио
Решил я вчера прикрутить к пека валяющийся у меня динамический микрофон, типа тех, что для караоке.
Но микрофон выдавал дикий шум и при записи/мониторинге звучал только в левом канале. Долго ебался я с ручечками, крутилочками и дрочилочками в alsamixer'е, но успеха не достиг. Решил уже, что микрофон мой убог и переходник с 6,35 на 3,5 убог.
Но попробовал всё же счастья попытать напрямую теребя HDA'шечку, благо опыт был.
Запустил HDA Analyzer, и начал играться с микрофоном в alsamixer'е.
Нашел пин ответственный за микрофон, нашел микшер ответственный за микрофон. Обнаружил, что управление этим микшером почему-то не показывает состояние, изменяемое alsamixer'ом, а показывает будто он отовсюду отключен. Контролы как будто write only.
И обнаружил я у пина (не один пин конечно, разъем, но HDA называет их пинами) много крутилочек и теребил их, пока не обнаружил крутилку с названием VREF, у которой были положения 50, 80, 100, HIZ и GRD. И вот при положениях HIZ и GRD и шум пропадал и правый канал появлялся.
И решил я, что 50, 80, 100 это напряжения, что подаются как референсные для АЦП, но что такое HIZ и GRD не понял. Пришлось здесь найти даташит по кодеку своему - Realtek ALC 887. Из даташита я узнал, что 50, 80, 100 это значения напряжения в процентах от AVDD, а HIZ это оказывается Hi-Z, положение с высоким импедансом, а GRD это 0%, GND. Высокий импеданс у референсного напряжения? ШТО? И вообще оказывается VREF это какой-то ВЫХОД.
Тут пришлось отправиться курить как же подключаются микрофоны к пека. Оказалось, что на контакт для правого канала подается питание для электретных микрофонов. И вот этот самый VREF это оно и есть. Неудивительно, что всё распидорашивало, когда моно-джек динамического микрофона замыкал этот контакт на землю.
И вот тут почти всё заебись, я уже могу приводить карточку в правильное состояние одной командой,
hda-verb /dev/snd/hwC0D0 0x19 SET_PIN_WIDGET_CONTROL 32
но тут обнаруживается, что уровни левого канала выше чем правого процентов на 60. Оказывается, чтобы они стали почти ровно одинаковыми, у правого канала нужно включить буст.
И вот теперь всё работает, заебись и божественно.
Здесь я понимаю, что микрофон я в основном использую в ШИНДОШС, для забегов с друзяшками в Battlefield 4.
И вот там-то ХУЙ МНЕ КТО ДАСТ ВЫКЛЮЧИТЬ ПИТАНИЕ МИКРОФОНА И НАСТРОИТЬ НЕСИММЕТРИЧНЫЙ БУСТ ДЛЯ НЕГО. На часах 05:19.
Легкая наркомания: захотел сделать копию корня перед перепрошивкой ссдшки.
ДОБАВЛЯЕМ LV КОРНЯ МИРРОР НА PV НА НЖМД
ЖДЕМ ЗАВЕРШЕНИЯ СИНХРОНИЗАЦИИ
ДЕЛАЕМ СПЛИТМИРРОР
ПОЛУЧАЕМ КОПИЮ РАЗДЕЛА С ССД НА ВИНТЕ
Попутно обнаружил, что fstrim скастованный на дм-миррор вызывает NMI.
Кстати, палю свою хуйню, управляющую сессией -- runit-session.
В директориях примеры сервисов. Сервис evrouter для примера задисаблен.
У меня запускатеся так:
$cat ~/.xinitrc
#!/bin/sh
exec ~/git/runit-session/runit-session /home/stil/git/runit-session
Теперь объяснение зачем нужна временная директория и копирование списка сервисов:
Затем, чтобы ты, сука, мог две сессии одновременно запустить!
Инсталляция дебиана овер ссх с загрузкой через PXE это как ебать мраморную статую.
И вроде бы всё при ней...
А не получается!
В общем если кому-то придется страдать этой же хуйней, вот командная строка:
append vga=788 initrd=debian-installer/amd64/initrd.gz auto=true interface=auto priority=critical url=http://обожеэтожеаадрессервера/anna-remote-install.conf
И пресид-файл (то, что выше названо anna-remote-install.conf):
d-i debian-installer/locale string en_US
d-i console-keymaps-at/keymap select us
d-i keyboard-configuration/xkb-keymap select us
d-i preseed/early_command string anna-install network-console
d-i anna/choose_modules string network-console
d-i network-console/password password обожеэтожепароль
d-i network-console/password-again password обожеэтожепароль
d-i mirror/country string manual
d-i mirror/http/hostname string mirror.yandex.ru
d-i mirror/http/directory string /debian
d-i mirror/http/proxy string
которые работают в wheezy на момент 10.12.2013.
Сижу обмазываюсь третьим Serious Sam'ом. В начале было пиздец уныло, сплошное какое-то каловдутие, а не сэм.
Но постепенно количество ФАНА начало нарастатать, а потом и просто, сука, ЗАШКАЛИВАТЬ.
Сэм оказывается еще торт, да. Не всё ещё просрано.
Ломающие новости, посоны:
We will very unlikely support multiple graphical logins of the same
user at the same time, in any default setup. Custom setups or setups
which declare that as supported will need to add their own logic to
make that possible.
Это цитата Кея Сиверса -- мейнтейнера udev и второго после ленички в разработке systemd/logind/journald.
[ 32.140002] BUG: soft lockup - CPU#0 stuck for 22s! [init:1]
[ 32.140002] Modules linked in:
[ 32.140002] Pid: 1, comm: init Not tainted 3.8.6-hardened #6 /i815E-W83627HF
[ 32.140002] EIP: 0060:[<c0819183>] EFLAGS: 00000297 CPU: 0
[ 32.140002] EIP is at _raw_spin_lock+0x16/0x1d
[ 32.140002] EAX: db7dc038 EBX: db7dc000 ECX: b4d1f009 EDX: 0000000a
[ 32.140002] ESI: b4cfe000 EDI: db685034 EBP: b4cfe000 ESP: db43dd88
[ 32.140002] DS: 0068 ES: 0068 FS: 00d8 GS: 0000 SS: 0068
[ 32.140002] CR0: 8005003b CR2: 00000000 CR3: 1b638000 CR4: 000007d0
[ 32.140002] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
[ 32.140002] DR6: ffff0ff0 DR7: 00000400
[ 32.140002] Process init (pid: 1, ti=db438274 task=db438000 task.ti=db438274)
[ 32.140002] Stack:
[ 32.140002] c049e0af b4d1f000 db7dc000 00000020 c049ba04 00000020 db685000 db685034
[ 32.140002] db685034 b4cfe000 c049c143 42100133 db68503c 00000000 db45c000 db438000
[ 32.140002] db685000 db77a300 db7dc000 00000000 c04b16e6 b4cfe000 00021000 00800000
[ 32.140002] Call Trace:
[ 32.140002] [<c049e0af>] ? track_exec_limit+0x30/0x149
[ 32.140002] [<c049ba04>] ? __vm_enough_memory+0x1f/0x100
[ 32.140002] [<c049c143>] ? expand_downwards+0x1c3/0x1f9
[ 32.140002] [<c04b16e6>] ? setup_arg_pages+0x27e/0x309
[ 32.140002] [<c04c1167>] ? do_close_on_exec+0x13/0xbf
[ 32.140002] [<c04b4658>] ? __inode_permission+0x4e/0x89
[ 32.140002] [<c04e32d8>] ? load_elf_binary+0x602/0xfb6
[ 32.140002] [<c04afc9e>] ? __check_object_size+0x2b/0xd4
[ 32.140002] [<c04b043e>] ? copy_strings+0x218/0x253
[ 32.140002] [<c04b055e>] ? search_binary_handler+0xc7/0x27f
[ 32.140002] [<c04e2cd6>] ? create_elf_tables+0x548/0x548
[ 32.140002] [<c04b1da4>] ? do_execve_common+0x3cc/0x585
[ 32.140002] [<c080c311>] ? kernel_init+0x70/0xab
[ 32.140002] [<c0819dbb>] ? ret_from_kernel_thread+0x1b/0x30
[ 32.140002] [<c080c2a1>] ? rest_init+0x55/0x55
[ 32.140002] Code: 89 c8 0f b7 db 3e 66 0f b1 1a 66 39 c8 0f 94 c0 0f b6 c0 5b c3 ba 00 01 00 00 3e 66 0f c1 10 0f b7 d2 88 d1 c1 ea 08 38 d1 74 06 <f3> 90 8a 08 eb f6 c3 53 89 c1 9c 58 8d 74 26 00 89 c3 fa 90 8d
[ 32.140002] Kernel panic - not syncing: softlockup: hung tasks
PaX! Безопасность до неработоспособности!
Вот так должен выглядеть терминал: http://huynya2.blasux.ru/q/scrot-2013-05-14-11-38-27_1280x1024_crop.png
Всё остальное - хуита, мешающая работать