Monthly Archiv: Июнь, 2011

Asus Xonar DG в Ubuntu 11.04

Любителям качественной музыки рано или поздно становится недостаточно интегрированной аудиокарты, какой бы качественной она не была. Хотя спрос на дискретный аудиокарты весьма незначительный по сравнению с объемами десятилетней давности, он существует и довольно стабилен.

 

Но если до недавних пор выбора производителей практически не было — Creative властвовал безраздельно, то сейчас весьма ощутимую конкуренцию продукции Сreative составляет Asus со своей линейкой Xonar.

Следует отметить, что вся линейка ASUS Xonar, включая даже младшую модель, идёт в коробочной поставке, включая 8 см планку для Low-Profile плат, что упрощает установку в небольшие HTPC-корпуса.

Представленная в этом обзоре младшая модель линейки — Asus Xonar DG — поддерживает вывод звука в формате 5.1, а также оснащена встроенным усилителем для наушников.

На задней панели платы находится три аналоговых (mini-jack 3,5mm) разъема для вывода звука 5.1, один из которых  (фронтальный) поддерживает работу с наушниками. Кроме того, плата оснащена также совмещенным аналоговым входом для микрофона или линейного входа, и цифровым оптическим выходом. На самой плате есть разъем для подключения фронтальной панели корпуса (наушники + микрофон), выход цифрового звука для подключения к видеокартам с HMDI, а также такой анахронизм, как Aux-In (для подключения вывода аналогового звука с  других внутренних устройств, например, ТВ-тюнеров).

К сожалению, до недавнего времени, поддержка звуковых карт Asus  в Linux была проблемной. Ситуация должна была измениться в Ubuntu 11.04 ( благодаря ядру 2.6.38 / ALSA 1.0.24).  Сейчас разработчика ALSA предупреждают о том, что, к сожалению, фронтальная панель и усилитель наушников пока не поддерживается. Кроме того, не рекомендуется использовать и ALSA в чистом виде по причине того, что у карты нет аппаратного регулятора громкости, т.о. необходимо использоваться PulseAudio.

После установки аудиокарты в слот PCI и загрузки операционной системы, Ubuntu без проблем обнаружила устройство и обеспечила его работу.  Утилита lspci определяет карту следующим образом:

03:07.0 Multimedia audio controller: C-Media Electronics Inc CMI8788 [Oxygen HD Audio]

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

В свойствах устройства в параметрах PulseAudio возможно выбрать различные варианты вывода звука (колонки, фронтальные наушники, наушники на задней панели). Хотя фронтальная панель в данный момент не работает, при переключении из корпуса отчётливо слышен щелчок переключения выхода. Звук весьма качественный, однако, как было сказано выше, усилитель наушников пока не функционирует, поэтому между выбором Speaker и Headphones 2 разницы не замечено.

К сожалению, с использованием PulseAudio у меня не получилось добиться работоспособности аудиовхода. Возможно, он будет функционировать под «чистым» ALSA, однако в этом случае возникает проблема с регулировкой громкости.

В целом, выводы несколько неоднозначные: с одной стороны, мы получаем качественную LowProfile-аудиокарту  формата 5.1 для установки в HTPC (и не только) за весьма умеренную цену, с другой стороны — значительная часть  функций в Linux пока не доступна. Карту можно смело посоветовать тем, кто хочет получить качественный звук и ничего кроме за небольшие деньги (так, в качестве аудиовхода для VoIP можно использовать интегрированную карту), а всем прочим я бы посоветовал дождаться  более полной поддержки со стороны ALSA (благо, разработчики о недоработках знают).

Установка, настройка VPN-сервереа (PPTPD), настройка маршрутизации.

PPTPD — point-to-point сервер, для установки туннельного, защищённого соединения.

PPP (англ. Point-to-Point Protocol) — двухточечный протокол канального уровня (Data Link) сетевой модели OSI. Обычно используется для установления прямой связи между двумя узлами сети, причем он может обеспечить аутентификацию соединения, шифрование и сжатие данных. Используется на многих типах физических сетей: нуль-модемный кабель, телефонная линия, сотовая связь и т. д.

Часто встречаются подвиды протокола PPP такие, как Point-to-Point Protocol over Ethernet (PPPoE) , используемый для подключения по Ethernet, и иногда через DSL; и Point-to-Point Protocol over ATM (PPPoA), который используется для подключения по ATM Adaptation Layer 5 (AAL5), который является основной альтернативой PPPoE для DSL.

PPP представляет собой целое семейство протоколов: протокол управления линией связи (LCP), протокол управления сетью (NCP), протоколы аутентификации (PAP, CHAP), многоканальный протокол PPP (MLPPP).

Установка pptpd:

aptitude install pptpd

Настройка:

gedit /etc/ppp/pptpd-options

В этот конфиг добавляем строку logfile /var/log/pptpd.log — лог нашего сервера, и debug. Это не обязательно делать.

Дальше: gedit /etc/pptpd.conf

В конце файла добавьте две строки вида:
localip 192.168.0.1 # это виртуальный ИП адрес вашего сервера.
remoteip 192.168.0.234-238,192.168.0.245 # это диапазон адресов, которые будут даваться подключившимся к вам пользователям.

В gedit /etc/ppp/chap-secrets добавляем аккаунты клиентов.
# Secrets for authentication using CHAP
# client server secret IP addresses
xxx * 000000 192.168.10.232

Вот так выглядит это выглядит. ИП адресс можно не указывать, если не укажите — будет выдаватся какой то из диапазона выше указаных адресов. Имя — ххх, пароль — 000000. Не забудьте звёздочку.

После этого в терминале — pptpd — сервер запущен,готов к использованию.

Дальше нам нужно настроить маршрутизацию, так как будет создан только туннель точка-точка. Нам нужно направить поток интернета с одного туннеля в другой, и наоборот. Для этого напишем скрипт вот такого содержания.

#!/bin/sh
PATH=/usr/sbin:/sbin:/bin:/usr/bin

#
# delete all existing rules.
#
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X

# Always accept loopback traffic
iptables -A INPUT -i lo -j ACCEPT

# Allow established connections, and those not coming from the outside
iptables -A INPUT -m state —state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state —state NEW -i ! ppp0 -j ACCEPT
iptables -A FORWARD -i ppp0 -o ppp1 -m state —state ESTABLISHED,RELATED -j ACCEPT

# Allow outgoing connections from the LAN side.
iptables -A FORWARD -i ppp1 -o ppp0 -j ACCEPT

# Masquerade.
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

# Don’t forward from the outside to the inside.
iptables -A FORWARD -i ppp0 -o ppp0 -j REJECT
iptables -A FORWARD -i eth0 -o ppp0 -j REJECT
# Enable routing.
echo 1 > /proc/sys/net/ipv4/ip_forward

Собственно у меня два туннеля — ppp0 и ppp1,за то, что бы они обменивались ip-пакетами, отвечает эта часть скрипта:
# Allow established connections, and those not coming from the outside
iptables -A INPUT -m state —state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state —state NEW -i ! ppp0 -j ACCEPT
iptables -A FORWARD -i ppp0 -o ppp1 -m state —state ESTABLISHED,RELATED -j ACCEPT

# Allow outgoing connections from the LAN side.
iptables -A FORWARD -i ppp1 -o ppp0 -j ACCEPT

Если, к примеру, у вас интернет имеется не через ppp0 а через любое другое соединение (посмотреть название вы можете набрав в терминале ifconfig) то вам нужно просто заменить ppp0 на этот интерфейс.

После этого сохраняем скрипт, даём определённый права на запуск и выполняем.

Всё это выполнялось на Ubuntu 11.04 desktop.