вторник, 3 декабря 2013 г.

OS X: Настройка Time Capsule, или AirPort Extreme, или AirPort Express через SSH-туннель

Дома в качестве WiFi роутера я использую Apple Time Capsule. На самом деле их у меня две, они создают полноценный wifi роуминг (не WDS) и хорошо справляются с нагрузкой из 10 компьютеров и 6 гаджетов, одновременно работают в двух диапазонах 2.4 и 5, не зависают, не шумят, а зимой неплохо обогревают :) настраивать эту железку можно не только с мака и винды, но с айфона и с айпада...

Конечно, это не предел всех моих мечтаний... У сетевой техники Эпл есть несколько существенных недостатков:
1. отсутствие управления через терминал,
2. отсутствие поддержки l2tp и pptp,
3. нет поддержки vlan

Hint, который я опишу ниже, поможет настраивать Time Capsule, или AirPort Express или AirPort Extreme через SSH-туннель. Если вы вдруг забыли установить в настройках роутера параметр разрешающий конфигурировать его через интернет (WAN-порт), но у вас проброшен 22 порт от SSH сервера, просто создайте SSH туннель и воспользуйтесь стандартной AirPort Utility для конфигурации устройства.

Итак, введите команду в Terminal.app

ssh -L 5009:внутренний_ip_роутера:5009 внешний_ip_роутера

Затем запустите AirPort Utility, меню File, Configure Other… Введите IP-адрес 127.0.0.1 и ваш пароль от роутера. А дальше вы знаете ;)

четверг, 21 ноября 2013 г.

Набор AT-команд для модемов HUAWEI e173, e1550, e1750

На этой странице я буду собирать команды модемов Huawei e173, e1550, e1750 и может быть других.

ATI  (вывод информации о модеме)
AT+CFUN=1 (перезагрузка модема, с перерегистрацией в сети GSM без необходимости вытаскивания модема из порта usb

AT^CVOICE=? (проверка голосовых функций модема, если 0 голосовые функции включены)
AT^CVOICE=0 (включение голосовых функций модема)


AT^U2DIAG=0 (режим только модем)
AT^U2DIAG=1 (режим модем + CD-ROM)
AT^U2DIAG=255 (режим модем + CD-ROM + Card Reader)
AT^U2DIAG=256 (режим модем + Card Reader, можно использовать как обычную флешку, отказавшись от установки драйверов модема)

Команды разлочки модема
AT^CARDLOCK="NCK Code"  (Команда снятия блокировки модема к одному оператору, NCK Code - восьмизначное число)
AT^CARDLOCK? (Проверка состояния блокировки модема и количества попыток ввода кода NCK, ответ команды будет CARDLOCK: A,B,0 где A - это состояние блокировки, если A=1, модем заблокирован, если A=2, модем разблокирован. B - это количество оставшихся попыток ввода кода блокировки модема, по умолчанию должно быть 10.)

OS X Mountain Lion: Asterisk 11 и GSM-шлюз chan_dongle

В сети интернет очень много статей, про то как сделать сервер телефонии на базе Linux и Asterisk, но совсем мало как сделать то же самое в самой совершенной системе OS X. Все что будет описано ниже, было собрано и настроено на OS X Mountain Lion 10.8.5. Хочу обратить ваше внимание, на то, что я не пытаюсь досконально описать сам процесс, так как возможно вам придется собирать дополнительные библиотеки и программы или столкнуться с другими сложностями. Пишите о них в комментариях, я постараюсь вам помочь.

Итак, моя цель создать сервер IP-телефонии на базе Asterisk 11.2 (cert2, lts), модуля chan_dongle.so (для работы с USB-модемом HUAWEI-E173). Практический смысл задачи придумайте сами, мною просто движет любопытство.

Установка драйверов модема Huawei e173

Драйвера, от модема Huawei e173 для OS X находятся в установочных файлах штатного программного обеспечения модема (правой кнопкой мыши по установщику, выбираем Show Content и ищем файл MobileConnectDriver.pkg. Так же вы можете скачать этот пакет из Интернет. Если ваш модем huawei привязан к определенному оператору, его можно отвязать от него, и активировать голосовые функции, если они заблокированы. В сети полно статей про отвязку модема, поэтому я не буду повторяться, пользуйтесь гуглом.

После установки модема, он будет определяться в системе устройствами:
/dev/cu.HUAWEIMobile-Diag
/dev/cu.HUAWEIMobile-Modem
/dev/cu.HUAWEIMobile-Pcui

Итак, собираем Asterisk 11.2 cert2

# mkdir /usr/src
# cd /usr/src
# curl -OL http://downloads.asterisk.org/pub/telephony/certified-asterisk/certified-asterisk-11.2-current.tar.gz
# tar xzvf certified-asterisk-11.2-current.tar.gz
# cd certified-asterisk-11.2-cert2
# ./configure
# make menuselect

выбираем что компилировать, если ничего не хотите менять нажимаем клавишу Q (я отключал res_snmp), или просто не выполняем команду make menuselect

# make
# make install
# make samples

Последняя команда установит примеры конфигурационных файлов. На этом будем считать установку Asterisk 11 завершенной. Конфигурационные файлы должны лежать в папке /usr/local/etc/asterisk, лог-файлы в каталоге /Library/Logs/Asterisk, остальные файлы PBX Asterisk расположены в папке "/Library/Application Support/Asterisk", а сам исполняемый файл находиться по адресу /usr/local/sbin/asterisk. Я создал символическую ссылку на исполняемый файл, чтобы каждый раз не указывать путь (в принципе можно было бы добавить этот путь в переменную PATH, делайте так как считаете нужным)

# ln -s /usr/local/sbin/asterisk /usr/bin/asterisk

Для автоматической загрузки сервера Asterisk при старте OS X вам нужно будет создать plist для LaunchDaemons, разместить его в каталоге /Library/LaunchDaemons и загрузить с помощью команды launchctl. Любой маковод должен знать как это делается.

Собираем chan_dongle.so версии 1.1.r34

# cd /usr/src
# curl -OL https://github.com/jstasiak/asterisk-chan-dongle/archive/asterisk11.zip
# unzip asterisk11.zip
# cd asterisk-chan-dongle-asterisk11
# aclocal
# autoconf
# automake -a
# ./configure --with-asterisk=/usr/src/certified-asterisk-11.2-cert2/include

затем я отредактировал созданный Makefile, заменив -Xlinker 10.4 на -Xlinker 10.8 и продолжил компиляцию

# make

а вот саму установку я сделал руками (make install не сработал, а разбираться из-за чего было лениво)

# cp chan_dongle.so /Library/Application\ Support/Asterisk/Modules
# cp etc/dongle.conf /usr/local/etc/asterisk

После установки драйверов модема, Asterisk, модуля chan_dongle.so, остается только настроить dialplan и модуль chan_dongle. Настройку dialplan посмотрите в статье http://habrahabr.ru/post/160299/. А в /usr/local/etc/asterisk/dongle.conf внесите изменения в секции [dongle0].

[dongle0]
audio=/dev/cu.HUAWEIMobile-Diag
data=/dev/cu.HUAWEIMobile-Pcui
imei=ваш imei
imsi=ваш imsi
context=ваш входящий диалплан

imei и imsi можно посмотреть в самом Asterisk с помощью команды dongle show devices. В данном виде мой GSM-шлюз принимает входящие вызовы с sim карты без проблем, сохраняет sms в файл. Вызовов на sim-карту не очень много, поэтому мне сложно судить о производительности или надежности этой системы. Через некоторое время отпишусь по поводу надежности и качества работы системы.

UPDATE: довелось мне обновиться до версии Asterisk 11.6 cert2. И столкнулся с тем, что по SIP появилась односторонняя слышимость. Оказалось что в Asterisk 11.6 по умолчанию компилируются и загружаются модули res_timing_kqueue.so и res_timing_pthread.so. Так вот при загруженном модуле res_timing_kqueue.so и начинает это происходить. Поэтому просто выгрузите его и запретите загружаться.

пятница, 11 октября 2013 г.

Raspberry Pi B rev1 и дисплей от Nokia 5110

Я давно пользуюсь малиной, успел на ней поднять Asterisk, установить FreeBSD, развернуть файловый сервер, ставил прошивку XBMC, чтобы с iPad смотреть фильмы с помощью AirPlay, поднимал apache для отладки сайта, и делал из нее точку доступа на даче. Но сегодня я расскажу как подключить к raspberry дисплей от телефона Nokia 5110 и выводить на этот дисплей информацию.

Для чего вам это нужно, придумайте сами. Мне было нужно, чтобы выводить IP-адрес, и температуру с датчика DS18B20 (про который я тоже напишу, но в следующий раз).

Итак, находим дисплей от Nokia 5110 (или 3310). Я поспрашивал по друзьям, ничего такого не нашел и заказал вот здесь. Ждал около месяца.

Распиновка для Raspberry Pi (B rev1)
Дисплей
Nokia 5110
Rasoberry Pi
Pin 1 (VCC)Pin 1 (3V3)
Pin 2 (GND)Pin 6
Pin 3 (SCE)Pin 15
Pin 4 (RST)Pin 16
Pin 5 (D/C)Pin 13
Pin 6 (DN)Pin 12
Pin 7 (SCLK)Pin 11
Pin 8 (LED)Pin 1 (3V3)

Когда будете собирать, во избежании порчи оборудования, проверьте свою распиновку. Она может отличаться как на распбери, так и на вашем дисплее.

Теперь по софту. Хорошие примеры для программирования монитора есть здесь. В принципе этого достаточно, чтобы вывести на экран все что вам нужно. Для работы этих примеров нужна библиотека Гордона Хендерсона WiringPI. Установить ее можно из портов apt-get install wiringpi или из исходников с официального сайта.

Примеры собираются следующим образом
cc -o pcd8544_test pcd8544_test.c ../PCD8544.c -L/usr/local/lib -lwiringPi
cc -o pcd8544_test2 pcd8544_test2.c ../PCD8544.c -L/usr/local/lib -lwiringPi
cc -o pcd8544_rpi pcd8544_rpi.c ../PCD8544.c -L/usr/local/lib -lwiringPi


Для запуска нужны права рута.

пятница, 20 сентября 2013 г.

OS X Server: смена пароля пользователя домена из командной строки

Для смены пароля пользователя из домена OS X необходимо выполнить следующую команду


dscl -u diradmin -p /LDAPv3/domain.local -passwd /Users/Пользователь
Пользователь - имя пользователя в системе
-p говорит о том что придется вводить пароль администратора домена (diradmin)
/LDAPv3/domain.local это расположение где хранятся данные пользователя, на вашем сервере они могут быть другими. Для того чтобы узнать полный путь введите команду

dscl /Search -read /Users/Пользователь | grep "^AppleMetaNodeLocation"

четверг, 19 сентября 2013 г.

Asus EeePC 900HA не включается

НоутбукAsus EeePC 900HA

Симптомы: при нажатии на кнопку "Вкл" загораются диоды (питание, жесткий диск и вайфай), но работает только вентилятор (монитор выключен). 


Решение: необходим сброс биоса

1. Отключаем зарядное устройство, снимаем аккумулятор
2. Жмем на кнопку выключения питания, чтобы снять остаточное напряжение
3. Разбираем нетбук. Часть болтов спрятана под клавиатурой.
4. Находим круглую литиевую батарейку и аккуратное отключаем ее от материнской платы
5. Ждем пару минут и подключаем все обратно

Скорей всего этот способ вам подойдет.

четверг, 11 июля 2013 г.

CUCM: Как скачать Music-On-Hold (MoH) File

Скачать штатные MOH файлы можно с помощью SSH или из архива резервной копии CUCM.

Вариант 1: С помощью SSH 

Для варианта скачать MOH с помощью SSH вам потребуется sftp сервер (для этого достаточно иметь любую UNIX машину под рукой).

  1. Подключаемся по протоколу SSH к CUCM
  2. Вводим логин и пароль администратора от CUCM
  3. Вводим команду для просмотра файлов MOH (не обязательно, но точные названия файлов нам потом потребуются, если вы знаете названия файлов, можете пропустить этот шаг)
    admin:file list activelog mohprep/*
  4. Скачиваем MOH файлы на sFTP сервер (после ввода команды, потребуется указать адрес sFTP-сервера, порт, имя пользователя, пароль и папку в которую сохранить файлы)
    admin:file get activelog mohprep/SampleAudioSource.alaw.wav

Вариант 2: из архива резервной копии CUCM

чтобы воспользоваться этим способом вам нужно зайти в CUCM DR, и создать резервную копию  tar.gz на sFTP сервер. Затем распаковать архив и найти нужные MOH файлы.

вторник, 4 июня 2013 г.

OS X Lion:управляем настройками DNS из командной строки

Если вам необходимо изменить или задать какие-то сетевые настройки на своем Mac, это можно удаленно с помощью ssh. Для управления сетевыми службами существует утилита networksetup.

Для просмотра указанных DNS серверов на Ethernet адаптере, нужно ввести команду:

$ networksetup -getdnsservers Ethernet

Для установки DNS-серверов из командой строки под OS X, нужно ввести команду:

$ sudo networksetup -setdnsservers Ethernet 8.8.8.8


Если вы пытаетесь менять настройки на Wi-Fi адаптере, то просто замените Ethernet на Wi-Fi. Для OS X 10.6, вместо Wi-Fi название службы airport.

пятница, 31 мая 2013 г.

Ошибка 0x8007232b или 0x8007007B при активации Windows

При попытке активировать Windows Vista или Windows Server 2008 появляется сообщение об ошибке следующего вида:

Ошибки активации: Код 0x8007232b
DNS-имя не существует

При попытке активировать Windows 7, Windows 8 или Windows Server 2012 появляется сообщение об ошибке, подобное одному из следующих сообщений:

Сообщение об ошибке 1
Не удалось активировать Windows. 
Узел служб управления ключами (KMS) не удалось найти в системе DNS; системному администратору следует проверить правильность публикации KMS в DNS. 
Ошибка: 0x8007232b
Описание:
DNS-имя не существует.

Сообщение об ошибке 2
Ошибка: 0x8007007B 
«Имя файла, имя каталога или синтаксис метки тома указаны неверно»

Эта проблема может возникнуть, если вы используете носитель с корпоративной лицензией для установки Windows 7, Windows 8 Windows Vista Enterprice, Windows Vista Business, Windows Server 2012, Windows Server 2008, Windows Server 2008 R2. Или мастеру активации не удается подключиться к узловому компьютеру службы управления ключами (KMS).

В моем случае я заменил ключ продукта MAK с помощью команды: slmgr /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

В вашем случае, прочтите оригинал статьи и выберите подходящий способ устранения проблемы.

воскресенье, 24 февраля 2013 г.

Debian Linux: устанавливаем oracle java

Сперва обновимся и установим Oracle Java

$ su
# echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee -a /etc/apt/sources.list
# echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee -a /etc/apt/sources.list
# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886
# apt-get update
# apt-get install oracle-java7-installer
# exit

Потом сделаем Oracle Java по умолчанию


sudo apt-get install oracle-java7-set-default

воскресенье, 10 февраля 2013 г.

CrossOver 12.1.1 для OS X и русский язык

CrossOver для OS X упорно отказывается работать с русским языком в эмулируемых программах из коробки. Это дело поправимо:

1. Копируем оригинальные шрифты из Windows системы из папки c:\windows\fonts в папку /Users/ИмяПользователяСистемы/Library/Application Support/CrossOver/Bottles/НазваниеБутылки/drive_c/windows/fonts

2. Открываем текстовым редактором TexEdit файл cxbottle.conf по адресу:
/Users/ИмяПользователяСистемы/Library/Application Support/CrossOver/Bottles/НазваниеБутылки/


Находим в этом файле строки:
[EnvironmentVariables]
;;"PROMPT" = "$p$g"


и добавляем под ними:
"LANG"="ru_RU.UTF-8"
"LC_ALL"="ru_RU.UTF-8"

суббота, 2 февраля 2013 г.

OS X Mountain Lion и HTML-теги в ICQ-сообщениях программы iMessage

Как многие наверное знают штатное приложение OS X Mountain Lion для чата ICQ это iMessage. Но iMessage отправляет вашим собеседникам сообщения обрамленные HTML тегами. Чтобы ваши сообщения можно было нормально читать делаем следующее

1. Закрываем iMessage
2. Открываем файл ~/Library/Preferences/com.apple.iChat.AIM.plist, любым доступным редактором plist, например, XCode. Ищем параметр ForceICQPlainText и выставляем значение YES (или true). Закрываем, и сохраняем изменения.
2. Делаем файл доступным для чтения. В коммандной строке (Terminal.app) пишем:
# chmod 400 ~/Library/Preferences/com.apple.iChat.AIM.plist
3. Перезагружаемся или просто делаем выход из системы

пятница, 11 января 2013 г.

OS X Mountain Lion и Terraria 1.1.2

Terraria — компьютерная инди-игра в жанре action-adventure, разработанная студией Re-Logic. Игра основана на исследовании мира, изготовлении предметов, постройке и битве с различными существами. Terraria часто сравнивается с Minecraft. Игру на данный момент приостановили обновлять, так как Re-Logic уделяют внимание другому проекту.

Ну, и как многие другие игры Terraria доступна только под Windows. Для запуска игры Terraria в самой совершенной операционной системе OS X Mountain Lion, необходимо проделать несколько шагов.

  1. скачать wrapper (ниже ссылки на выбор):
  2. Установить Steam для OS X (если еще не установлен)
  3. Ваш профиль в Steam должен быть публичным (проверить можно здесьhttps://steamcommunity.com/, просто найдите себя)
  4. И, конечно же, вы должны обладать лицензионной копией игры, купленной в Steam. Найдите и скопируйте файл terraria.exe на свой Mac (в любую папку). Сделать это можно несколькими способами
  5. При первом запуске оболочки, вас попросят указать месторасположение файла Terraria.exe. Сделайте это.