Всем привет. Поставили предо мною задачу по реализации передачи музыки, а так же голосовых сообщений на большие (порядка 3 км) расстояния. Конечно же, как всегда, так, что бы было как можно более бесплатно. Вести монтаж линии в такую даль - дело неблагородное. К тому же накануне в те края подвели оптоволокно. Одним словом, локальная сеть есть. Тут-то я и вспомнил про свой горячо любимый Mint. Немного погуглив, решил взять для этих целей связку Icecast2 + Ices2, благо в репах все есть. Собственно и взял. Гайдов на эту тему более чем предостаточно, но если кому-то надо - могу привести свой, но не суть.
 Если в чем-то неправ, прошу меня поправить, но работать приблизительно оно должно так (по сути работает, но есть нюансы, см. внизу поста) :
 Ices хавает с устройства 'default' аудио-поток, затем посылает и монтирует его в указанной точке к серверу вещания Icecast, который в свою очередь выбрасывает аудио в сеть в виде ogg файла (в моём случае).
 Далее на любом ПК из сети мы открываем скаченный с через веб-интерфейс Icecast'а файл Examples1.ogg, и открываем его, к примеру, в VLC проигрывателе, и слышим всё, что попадает в зону слышимости микрофона сервера. 
 
 Ставим Icecast2, конфигурируем. Мой конфиг:
 <icecast>
 <location>Earth</location>
 <admin>icemaster@localhost</admin>
 <limits>
 <clients>100</clients>
 <sources>2</sources>
 <threadpool>5</threadpool>
 <queue-size>524288</queue-size>
 <client-timeout>30</client-timeout>
 <header-timeout>15</header-timeout>
 <source-timeout>10</source-timeout>
 <burst-on-connect>1</burst-on-connect>
 <burst-size>65535</burst-size>
 </limits>
 <authentication>
 <source-password>password</source-password>
 <relay-password>password</relay-password>
 <admin-user>admin</admin-user>
 <admin-password>password</admin-password>
 </authentication>
 <hostname>localhost</hostname>
 <listen-socket>
 <port>8000</port>
 </listen-socket>
 <mount>
 <mount-name>/example-complex.ogg</mount-name>
 <username>othersource</username>
 <password>hackmemore</password>
 <max-listeners>1</max-listeners>
 <dump-file>/tmp/dump-example1.ogg</dump-file>
 <burst-size>65536</burst-size>
 <fallback-mount>/example2.ogg</fallback-mount>
 <fallback-override>1</fallback-override>
 <fallback-when-full>1</fallback-when-full>
 <intro>/example_intro.ogg</intro>
 <hidden>1</hidden>
 <no-yp>1</no-yp>
 <authentication type="htpasswd">
 <option name="filename" value="myauth"/>
 <option name="allow_duplicate_users" value="0"/>
 </authentication>
 <on-connect>/home/icecast/bin/stream-start</on-connect>
 <on-disconnect>/home/icecast/bin/stream-stop</on-disconnect>
 </mount>
 <mount>
 <mount-name>/auth_example.ogg</mount-name>
 <authentication type="url">
 <option name="mount_add" value="http://myauthserver.net/notify_mount.php"/>
 <option name="mount_remove" value="http://myauthserver.net/notify_mount.php"/>
 <option name="listener_add" value="http://myauthserver.net/notify_listener.php"/>
 <option name="listener_remove" value="http://myauthserver.net/notify_listener.php"/>
 </authentication>
 </mount>
 <fileserve>1</fileserve>
 <paths>
 <basedir>/usr/share/icecast2</basedir>
 <logdir>/var/log/icecast2</logdir>
 <webroot>/usr/share/icecast2/web</webroot>
 <adminroot>/usr/share/icecast2/admin</adminroot>
 <alias source="/" destination="/status.xsl"/>
 </paths>
 <logging>
 <accesslog>access.log</accesslog>
 <errorlog>error.log</errorlog>
 </logging>
 <security>
 <chroot>0</chroot>
 <changeowner>
 <user>icecast2</user>
 <group>icecast</group>
 </changeowner>
 </security>
 </icecast>
 
 прописываем все что необходимо, согласно мануалам, запускаем 
 sudo service Icecast2 start
 host:8000 откликается, страницу показывает, админку выдает, проблем нет.
 
 Дальше аналогично ставим Ices2. Конфигурируем:
 
 <ices>
 <background>0</background>
 <logpath>/var/log/ices</logpath>
 <logfile>ices.log</logfile>
 <logsize>2048</logsize>
 <loglevel>4</loglevel>
 <consolelog>0</consolelog>
 <stream>
 <metadata>
 <name>Example stream name</name>
 <genre>Example genre</genre>
 <description>A short description of your stream</description>
 <url>http://mysite.org</url>
 </metadata>
 <input>
 <module>alsa</module>
 <param name="rate">44100</param>
 <param name="channels">2</param>
 <param name="device">default</param>
 <param name="metadata">1</param>on
 <param name="metadatafilename">test</param>
 </input>
 <instance>
 <hostname>localhost</hostname>
 <port>8000</port>
 <password>password</password>
 <mount>/example1.ogg</mount>
 <yp>1</yp> 
 <encode> 
 <quality>0</quality>
 <samplerate>22050</samplerate>
 <channels>1</channels>
 </encode>
 <downmix>1</downmix>
 <resample>
 <in-rate>44100</in-rate>
 <out-rate>22050</out-rate>
 </resample>
 </instance>
 </stream>
 </ices>
 
 По сути при такой конфигурации работает, но в данном случае важно для меня не это.
 
 Итак, суть вопроса:
 
 в конфиге Ices2, есть строчка:
 
 <param name="device">default</param>
 
 Если смотреть на оф. сайте, и прочих гайдах, народ ставит вместо 'default' нечто похожее на hw:0,0
 Как я понимаю, это физический адрес нашей звуковухи.
 Ок, делаем aplay -l, видим:
 card 0: PCH [HDA Intel PCH, device 0: ALC233 Analog [ALC233 Analog]
 Subdevices 1/1
 Subdevice #0: Subdevice #0 
 
 Пытаемся указать явно: <param name="device">hw:0,0</param>
 Ices запускаться отказывается, по причине отсутствия потока с данного устройства.
 
 Быть может, у кого-нибудь есть идеи, как мне явно задать устройство, с коротого берем поток?
