2014-02-19

Отправка SMS с помощью GSM-модема из командной строки linux

Используя minicom или другой эмулятор терминала, зацепиться за порт (например /dev/ttyS0) и набрать:

AT+CMGF=1 [Enter] AT+CMGS=+79261234567 [Enter] this is test message [Ctrl+Z]


2013-11-23

Как я стримлю игры с PS3 в HD-качестве

Не так давно настроил HD-захват со своей PS3, и хотя моя схема на данный момент серьезно устарела, думаю будет небесполезно ею поделиться.

На момент покупки первого ключевого компонента моей схемы - карты захвата - с захватом HD-картинки с "плехи" была одна серьезная проблема, а именно: изображение, пересылаемое через HDMI-кабель шло в шифрованном виде, и не было устройств, которые могли бы его расшифровать. Сейчас, возможно (я лично не проверял), эта проблема решена и достаточно воткнуть плеху в какую-нибудь современную авермедию и все будет ок. Мое же устройство, увы, лишено такой возможности и при прямом подключении показывает черный экран. Поэтому полный список оборудования пополнил дополнительный конвертер и в целом выглядит он так:
  1. PS3
  2. Внешняя карта захвата Blackmagic Intensity Pro
  3. Конвертер DVI to HDMI - необходим для отламывания шифрования
  4. Ресивер - носит вспомогательную роль и совершенно не обязателен
  5. Комп, его монитор и внешний ТВ для игр на большом экране
  6. набор кабелей

Для лучшего понимания изобразил схему (кликабельна).

Из схемы видно, что исходно из PS3 выходят два сигнала: видеосигнал, идущий по кабелю HDMI-to-DVI  и изначально зашифрованный, и отдельный звуковой сигнал, идущий по оптическому кабелю. Оба кабеля подключены к конвертеру, который берет видео с DVI-разъема и звук с оптического кабеля, и преобразует их в единый поток выходящий по HDMI - уже не шифрованный, что и требуется для захвата. Тут стоит заметить, что не получится просто взять два переходника - HDMI-to-DVI и обратный - и с их помощью отломать шифрование, поэтому на конвертер, при такой схеме, придется раскошелиться. 

Дальше все просто - сигнал с конвертера уходит на карту захвата и с одной стороны проходит через нее насквозь и уходит в сторону ТВ, с другой - захватывается устройством и по USB 3.0 отдается в комп, где стримится и, до кучи, выводится на монитор при помощи Open Broadcaster Software. 

Хочу заметить, что есть один нюанс, который не позволил мне захватить что-то отличное от черного экрана сразу после сборки этой схемы. Оказалось что для моей карты захвата нужно настроить параметры входящего потока - разрешение и частоту кадров. Так как PS3 может выдавать 1080p при фреймрейте в 59.94 fps, но в играх как правило снижает разрешение, мне пришлось принудительно выставить в ней 720p как максимально поддерживаемое моими устройствами разрешение, чтобы при захвате не ловить черные экраны при выходе в меню. Также частота кадров не в 60, что кажется логичным, а в 59.94 кадра в секунду - то, что, возможно, придется иметь в виду при настройке захвата. Впрочем, хочется верить, что в современных картах захвата все эти настройки производятся автоматически =)

2013-10-28

Использование SD-карты для хранения файлов Google Play Music

Недавно для России официально открыл свои двери сервис Google Play Music. Поимев в него доступ чуть раньше официального открытия, я сразу столкнулся с проблемой на своем планшете от Samsung. Проблема простая - гугл музыка умеет кэшировать треки на устройстве, но делает это исключительно во внутренней памяти. То есть те люди, которые купили девайс с небольшим объемом памяти, понадеявшись на SD в 64 Гб, оказались в пролете. И, как оказалось, решить данную проблему в пару кликов оказалось не то чтобы невозможно, но не так очевидно, как я думал.

Немного шагов, оказавшихся напрасными

Первой моей мыслью было использовать Titanium Backup, который умеет переносить приложения на SD. Не вышло - оказывается мой планшет отформатировал SD в FAT32, а для работы функции переноса приложения титаниуму нужен ext2/3/4. Планшет же наотрез отказался понимать эту файловую систему на ЭСДЭшке, уверяя что она не отформатирована.

Дальше я полез гуглить и выгуглил замечательное по-своему приложение Link2SD, которое учло проблему файловой системы. Работает оно следующим образом: нужно взять свою SD и разбить на 2 части - первую оставить в FAT32, чтобы ее видел планшет, а вторую отформатировать в один из ext'ов. Этот раздел не будет виден в файловых менеджерах (по крайней мере ни один из моих этот раздел не увидел), но сама прога сможет его куда-то смонтировать и перенести туда приложения. Однако - и тут меня постигло разочарование - переносится только сам apk-файл и дальвик-кэш, но не то, что называется Data. Эпик фейл.

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

Саксес стори

И тут я наконец выгуглил правильное решение, которое на самом деле выгуглил едва ли не первым, но отложил на потом. И вот это "потом" настало.
Суть решения сводится к тому, чтобы вручную создать линк (symlink, если быть совсем уж точным) на директорию с кэшем. То есть сделать то, что пытаются делать все приложения, но не осиливают в силу негибкости своей настройки.

Итак, нам понадобится рутованая прошивка (что какбе очевидно) и прога Root Explorer, или любая другая, умеющая делать линки и обращаться к системному разделу андроида. Кэш гугломузыки находится по адресу:
/data/data/com.google.android.music/files/

Соответственно,

  1. Заходим на нашу SD-карту, создаем там папку, например, GoogleMusic
  2. Недолго тычем в нее и выбираем "Ссылка на эту папку", при этом появится кнопка "Создать ссылку" - ее пока нажимать не надо.
  3. Переходим в папку /data/data/com.google.android.music/
  4. Нажимаем "Создать ссылку" 
  5. Убеждаемся что создалась папка (а вернее ссылка) с названием GoogleMusic
  6. Удаляем папку files
  7. Переименовываем GoogleMusic в files
Вуаля! Теперь все файлы будут писаться в /data/data/com.google.android.music/files/, а на деле попадать на SD-карту в нашу папку GoogleMusic, что и требовалось. Еще не пробовал, но полагаю что тем же способом можно перенести файлы сервисов Google Play Videos и Google Play Books

2013-08-09

Прошивка PlayStation Portable (PSP)

Выдержка из поста из моего блога: http://blog.qiwichupa.net/2013/08/playstation-portable.html

Процесс прошивки прекрасно описан тут: http://4pda.ru/forum/index.php?showtopic=217511, перескажу его, сократив как только можно.

  1. Поключаем консоль с карточкой памяти к компу через юсб, 
  2. Если прошивка имеет версию ниже 6.60 (это смотрим в сведениях о системе):
    1. Качаем официальную прошивку
    2. Распаковываем в корень карты памяти (все совпадения перезаписываем)
    3. Отсоединяем консоль и из меню игр запускаем обновление.
  3. Качаем неофициальную прошивку
  4. Распаковываем в корень карты памяти (все совпадения перезаписываем)
  5. Отсоединяем консоль и из меню игр запускаем 6.60 PROMOD-C VCFW
  6. При появлении текстовой консоли и предложения зажать L и нажать X -  зажав и удерживая левый шифт, нажимаем X!
  7. Переходим в меню игр и запускаем 6.60 PROMOD-C SmartLoader

После выполнения этой нехитрой инструкции нас ожидают 2 возможных варианта: или консоль будет прошита напостоянку, или, что более вероятно, временно. Временность означает, что при полной перезагрузке у нас будет грузиться официальная 6.60 (смотрим сведения о системе) и эмуляторы работать не будут. Но среди списка игр будет пункт 6.60 PROMOD-C Fast Recovery, который запустит неофициальную прошивку. Удаления игр при этом не происходит, поэтому по факту это не более чем крохотное неудобство (возможно, кому-то сохранение официальной прошивки вообще будет только плюсом). 

Cкачиваем набор плагинов и распаковываем все так же в корень флешки.

Проверенные эмуляторы (NES, SNES, Sega Megadrive, GameBoy Advanced) скачать прямо тут. Распаковать архив нужно на карту памяти в директорию PSP\GAME, после чего они появятся в списке игр.

2013-04-05

Программа autocad 2011 уже установлена


Помочь установить AutoCAD 2011, пишущий что "программа autocad 2011 уже установлена", может удаление следующей ветки реестра:

HKEY_CLASSES_ROOT\Installer\Products\7D2F387510099140002000060BECB6AB

2013-02-20

Как играть в PS2 игры с USB-диска

Озадачился идеей прошить свою Sony Playstation 2, чтобы поиметь возможность играть ISO'шки, ну и до кучи запускать эмуляторы. В целом, это оказалось не так сложно и я подготовил небольшой кит, который скачать можно тут:
http://dfiles.ru/files/pnav5h4j1

В архив входит:

  1. Прошивка, позволяющая запускать сторонний софт
  2. Софт, позволяющий запускать специально подготовленные игры с USB-диска
  3. Софт, позволяющий подготовить ISO к запуску софтинкой из п.2


Порядок подготовки консоли такой:
  1. Прожигаем FMCBOOT.iso на CD-R
    (я прожигал штатной утилитой из Windows 7. Хотя рекомендуют прожигать на скорости 4х и ниже, я жег на максимуме и моя PS2 нормально прочитала диск
    ВНИМАНИЕ! Есть информация, что данная прошивка не будет работать с версиями приставки 9***)
  2. Вставляем диск в PS2 и загружаемся
  3. Убеждаемся что карта памяти присутствует в приставке
  4. В меню выбираем Multi-Version Install и ждем конца установки 
  5. Перезагружаемся

Дальше готовим игры:
  1. Форматируем USB-диск в FAT32
  2. Запускаем USBUtil v2.0 Full (English).exe
  3. Выбираем File - Create game from ISO
  4. Указываем ISO-образ и, в качестве получателя, наш отформатированный USB-диск
  5. Нажимаем Create и ждем
  6. Кладем на диск файл OPNPS2LD.ELF - это программа OpenPS2Loader,  которая будет загружать нашу подготовленную игру
  7. Для добавления других игр повторяем шаги 2-5
В итоге на диске осядет нарезанный по гигабайту ISO-образ и дополнительный файлик, который лучше не трогать.

Запуск подготовленных игр:
  1. Втыкаем USB-диск в приставку
  2. Включаем или перезагружаем приставку
  3. Выбираем uLaunchELF
  4. В файл-менеджере находим диск (должен быть в разделе mass)
  5. Запускаем OPNPS2LD.ELF
  6. Используя интерфейс OpenPS2Loader находим нужную игру и запускаем.
  7. PROFIT!

2013-02-11

SharePoint 2010: как удалить пул приложений

Для удаления пула приложений в SharePoint 2010 необходимо:

  1. Зайти на сервер администрирования Sharepoint и запустить SharePoint 2010 Management Shell с правами администратора
    (Start -> All Programs -> Microsoft SharePoint 2010 Products -> Правый клик на SharePoint 2010 Management Shell -> Run as administrator)
  2. Выполнить:
    1. Get-SPServiceApplicationPool
      (выведет список созданных пулов)
    2. Remove-SPServiceApplicationPool
      1. Enter the Identity - > Имя пула
      2. Нажмите Y для подтверждения удаления пула
Готово.

2013-02-05

Veeam Backup: Storage is locked by running session

Ошибка: Storage '*.vbk' is locked by running session '*'  может возникнуть при неожиданном рестарте сервера во время работы задания. Проблема решается редактированием базы данных как указано в KB1487 Veeam. В случае использования MS SQL Express последовательность действий для редактирования следующая:

  1. Открываем консоль
  2. sqlcmd -S localhost\veeam
    (если инстанс называется veeam - дефолтное имя)
    если коннект успешен - увидим приглашение 1>
  3. use VeeamBackup
    go

    (если база данных имеет имя по дефолту - VeeamBackup - иначе используем
    sp_databases
    go

    для вывода существующих баз данных)В случае успеха увидим: "Changed database context to VeeamBackup"
  4. delete from [Backup.TrackedActions.Leases]
    delete from [Backup.TrackedActions.LockItems]
    delete from [Backup.TrackedActions.Locks]
    go
  5. Пробуем запустить задание.

2012-12-18

Настройки заббикса на больших количествах клиентов


При увеличении объема кэшей (CacheSize, HistoryCacheSize etc.) может потребоваться прописать файл /etc/sysctl.d/60-zabbixshmem.conf:
kernel.shmmax = 134217728
kernel.shmall = 8388608
kernel.shmmni = 4096

А также увеличить количество соединений к MySQL, изменив в /etc/mysql/my.cfg строку
max_connections = 500

2012-07-25

Zabbix 2.*: Low-Level Discovery для Windows Services

В данной объемной статье я хочу пошагово описать процесс создания Low-Level Discovery Rule в Zabbix 2 для обнаружения сервисов Windows и мониторинга их состояния.

Процесс создания LLDR для сервисов сводится ко двум шагам:

  1. Написанию скрипта, срабатывающего по запросу на конечном сервере, и выдающего список сервисов и ряда полезных нам параметров
  2. Созданию темплейта с описанием Item Prototype и Trigger Prototype
После этих двух шагов мы сможем получать список сервисов с конкретного сервера и отслеживать его состояние - запущен ли он, или упал.

Инструкция максимально подробная, картинок будет много, все они кликабельны.

2012-07-22

Как восстановить GRUB2

Инструкция проверена на Linux Mint 12, в случае с другими дистрибутивами возможны нюансы в 8-м пункте, остальное вроде должно подойти к большинству популярных дистров использующих GRUB2.
  1. Загрузиться с Live CD той же архитектуры, что и основная система
  2. Смонтировать корневой раздел (в примере - sda1) в /mnt
    mount /dev/sda1 /mnt
  3. При вынесенном в отдельный раздел каталоге /boot (в примере - sda2), смонтировать его в /mnt/boot
    mount /dev/sda2 /mnt/boot
  4. Смонтировать каталоги /dev, /proc и /sys на их места в /mnt
    1. mount --bind /dev /mnt/dev
    2. mount --bind /proc /mnt/proc
    3. mount --bind /sys /mnt/sys
  5. Чрутнуться в /mnt
    chroot /mnt
  6. Убедиться что существует файл /boot/grub/grub.cfg (если заведомо не известно, что он был удален), забэкапить
    cp  /boot/grub/grub.cfg  /boot/grub/grub.cfg.bak
  7. Сгенерировать новый конфиг
    grub-mkconfig -o  /boot/grub/grub.cfg
  8. Заинсталлить загрузчик на диск (в примере - sda)
    grub-install.real /dev/sda
  9. Убедиться что операция прошла успешно (читать консоль)
  10. Перезагрузиться

2012-07-18

Как избавиться от кракозябр в zip-архивах в Ubuntu/Mint Linux


  1. Добавить репозиторий:sudo add-apt-repository ppa:frol/zip-i18n
  2. Обновиться

2012-07-16

Zabbix 2.*: APC Battery Template

http://pastebin.com/Sx7pWm37

Данный темплейт подходит для APC Smart-UPS и реализует сбор следующих значений:

  • APC: Time On Battery
  • APC: Run Time Remaining
  • APC: Replace Battery Indicator
  • APC: Output Voltage
  • APC: Output Load (%)
  • APC: Output Frequency
  • APC: Load Current (Amps)
  • APC: Input Voltage
  • APC: Battery Temperature
  • APC: Battery Status
  • APC: Battery Capacity (%)

Для работы требуется указать значение {$SNMP_COMMUNITY}




Таблица распознавания кодировок

В письме пришли кракозябры? Определить кодировку поможет данная таблица. Картинка кликабельна.





2012-07-14

Adobe-flashplugin: высокая скорость воспроизведения в Linux x64

Для лечения проблемы с ускоренным воспроизведением видео в Google Chrome под Linux Ubuntu/Mint x64 следует:

  1. Открыть страницу about:plugins
  2. В правом-верхнем углу страницы нажать ссылку Подробнее
  3. Найти раздел Flash и отключить PepperFlash (и вообще все лишние версии)
Результат должен выглядеть примерно так:


2012-06-27

Как установить Zabbix 2.* на Ubuntu 12.04

Исходники на сайте: http://www.zabbix.com/download.php 
Мануал по установке на сайте: http://www.zabbix.com/documentation/2.0/manual/installation/install

Предустановочные требования.

  1. Установленный с установочными опциями LAMP (Apache+MySQL+PHP) Ubuntu Server 12.04.
  2. Набор дополнительных пакетов для сборки:
    aptitude install build-essential checkinstall libmysqlclient-dev libcurl4-openssl-dev libsnmp-dev libopenipmi-dev libiksemel-dev
    (для 16.04 также: libxml2-dev php-mbstring php-bcmath php-xml )
  3. Распакованный архив с заббиксом (все команды далее исполняются внутри корневой папки с исходниками).
  4. Правка /etc/php5/apache2/php.ini:
    post_max_size = 16M (или больше)
    max_execution_time = 300 (или больше)
    max_input_time = 300 (или больше)
    date.timezone = 'Etc/GMT-4' (для МСК)

Установка базы данных.


shell> mysql -u -p
mysql> create database zabbix character set utf8;
mysql> quit;
shell> mysql -u -p zabbix < database/mysql/schema.sql
# stop here if you are creating database for Zabbix proxy
shell> mysql -u -p zabbix < database/mysql/images.sql
shell> mysql -u -p zabbix < database/mysql/data.sql

Создание пользователя для работы сервиса.

groupadd zabbix ; useradd -g zabbix zabbix

Конфигурационные ключи и установка.

Для сервера:
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-openipmi

Для агента:
./configure --enable-agent --enable-static
make
checkinstall

Кофигурационные файлы Zabbix.


  • Сервер: /usr/local/etc/zabbix_server.conf (DB, username, password. Остальные параметры в зависимости от нагрузки) 
  • Агент: /usr/local/etc/zabbix_agentd.conf (IP сервера
  • Прокси: /usr/local/etc/zabbix_proxy.conf (DB, username, password, IP сервера, Hostname)

Запуск сервисов.

Вручную

zabbix_server
zabbix_agentd
zabbix_proxy

Автостарт

Скопировать из misc/init.d/debian/ файлы zabbix_server и zabbix_agent в каталог /etc/init.d. Добавить в автозапуск:

update-rc.d zabbix-agent defaults
update-rc.d zabbix-server defaults

Установка веб-интерфейса

cd frontends/php cp -a . /var/www
rm /var/www/index.html 


 Далее открыть http://адрес_сервера/ и произвести с помощью мастера установку фронтэнда. Войти под учетной записью admin:zabbix

2012-06-21

Не показывается меню Dropbox в Linux Mint 12


sudo ln -s  /usr/lib/nautilus/extensions-2.0/libnautilus-dropbox.* /usr/lib/nautilus/extensions-3.0/

2012-06-03

удаление старых ядер в Ubuntu

dpkg -l linux-image-* | grep ii | grep -v [a-z]-generic | grep -v `uname -r` | awk '{ print $2 }' | xargs apt-get -y purge

2012-05-15

Копирование теневой копии файла

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


1. Открываем свойства диска и создаем теневую копию диска



























2. Открываем свойства папки, из которой нужно скопировать "замороженное" содержимое. Переходим на вкладку "Предыдущие версии", выбираем нужную версию и нажимаем "Открыть"


3. Из открывшейся "замороженной" папки как из обычной копируем нужные файлы. 

P.S.:
После копирования не забыть удалить точку!
Отключить теневые копии или поправить расписание, чтобы не забивался диск!

Перезагрузка Windows по расписанию


  1. Скачать утилиту:
    http://support.microsoft.com/default.aspx?scid=kb;EN-US;q311272
  2. Положить в папку винды
  3. однострочный батник:
    devcon reboot
    запихать в шедулер