“RTP read too short” при работе с FXO-шлюзом D-link

Голосовой шлюз D-Link DVG-6004S
Голосовой шлюз D-Link DVG-6004S

Достался мне FXO шлюз D-Link DVG-6004S который находится в удаленном офисе. А пользователи просто рыдают от того, что он лагает и голос едва слышно и звонки рвутся.

Полез я в консоль, а там почти при каждом входящем звонке вот такое валится:

WARNING[27281] rtp.c: RTCP Read too short

Вродь все понятно как ясный день – RTP пакет приходит или пустым или слишком маленьким.
Задача – сделать его нормальным 🙂

Читати далі

Создание раздела более 2Тб/Linux Creating a Partition Size Larger than 2TB

Обычные пользователи Линукс в основном используют небольшие жесткие и разделы в повседневной жизни, но на серверах порой приходится работать с очень большими разделами. Для примера, невозможно создать раздел размером 4Тб(на базе RAID) используя штатную утилиту fdisk. Она просто не даст возможности создать раздел более 2Тб.

Для решения данной проблемы нужно использовать GNU утилиту parted с GPT. Данная программа поддерживает Intel EFI/GPT таблицу разделов. GPT это стандарт расположения таблицы разделов на жестком диске. Он является частью Extensible Firmware Interface (EFI) стандарта, который разрабатывает Intel как замена устаревшему PC BIOS – реликвии которая тянется со времен первых IBM PC. EFI использует GPT в то время как BIOS использует Master Boot Record (MBR)

Диаграмма иллюстрирует расположение таблицы разделов GUID. Каждый логический блок (LBA) имеет размер 512 байт. LBA адреса с отрицательными значениями указывают на позицию начиная от конца раздела, -1 – это последний адресуемый блок раздела.

Поддержка GPT в ядре Linux

Поддержка EFI GUID разделов есть как на 32битной так и на 64битной платформе. Для использования GPT в своей системе необходимо включить поддержку GPT в ядре. Если не включить поддержку GPT в ядре, то после рестарта сервера ваша файловая система не сможет примонтироватся, а так же возможно повреждение самой таблицы GPT. Некоторые ОС уже идут с поддержкой GPT в ядре, если данная поддержка отсутствует, то при компиляции ядра необходимо установить значение CONFIG_EFI_PARTITION в Y и перекомпилировать ядро 🙂

File Systems
   Partition Types
     [*] Advanced partition selection
     [*] EFI GUID Partition support (NEW)
....

Читати далі

Настройка мониторинга температуры в серверной

Настал момент когда захотелось удаленно мониторить температуру в серверной, а также следить за тем как холодит кондиционер.
Следить за температурой мы будем с Linux-хоста в котором есть COM(RS-232)-порт. Если таковой отсутствует, то можно приобрести переходник USB->RS232
Для измерения температуры используются датчики температуры DS1820 от Dallas

Схема подключения датчика DS1820
Схема подключения датчика DS1820

На этой схеме:
Два диода Шотки 1N5818
Стабилитрон 1N5228 3.9 V
Стабилитрон 1N5234 6.2 V
Резистор 1.5 кОм.
9 -pin’овый разъем ( для подключения к Com – порту материнской платы )
При данной реализации схемы мы используем всего 2 провода для подключения датчика (земля и питание закорочены), что уменьшает количество используемых датчиков и максимальную длину кабеля, по данным из интернета – такая схема может вытягивать 10датчиков на длине 60м. Собственно мне больше и не нужно 🙂

Читати далі

MSI + Ubuntu 11.04 = не работает звук и видео

Будь проклят тот день когда я связался с материнкой MSI V-series
Проблемы: не работает звук в принципе и только запускаешь любое видео Gnome вылетает с Segmentation fault на окно Login-а

Backtrace:
[   968.579] 0: /usr/bin/X (xorg_backtrace+0x3b) [0x80eab1b]
[   968.580] 1: /usr/bin/X (0x8048000+0x5fac8) [0x80a7ac8]
[   968.580] 2: (vdso) (__kernel_rt_sigreturn+0x0) [0x67440c]
[   968.580] 3: /usr/lib/xorg/modules/drivers/openchrome_drv.so (0xf05000+0x26798) [0xf2b798]
[   968.580] 4: /usr/bin/X (0x8048000+0x140c26) [0x8188c26]
[   968.580] 5: /usr/bin/X (0x8048000+0x141682) [0x8189682]
[   968.580] 6: /usr/bin/X (miHandleValidateExposures+0x83) [0x81bc133]
[   968.580] 7: /usr/bin/X (miMoveWindow+0x20c) [0x81bc3ac]
[   968.580] 8: /usr/bin/X (0x8048000+0xa7f0b) [0x80eff0b]
[   968.580] 9: /usr/bin/X (ConfigureWindow+0x49d) [0x809a3cd]
[   968.580] 10: /usr/bin/X (0x8048000+0x22239) [0x806a239]
[   968.580] 11: /usr/bin/X (0x8048000+0x28167) [0x8070167]
[   968.580] 12: /usr/bin/X (0x8048000+0x1a81c) [0x806281c]
[   968.581] 13: /lib/i386-linux-gnu/libc.so.6 (__libc_start_main+0xe7) [0x19ee37]
[   968.581] 14: /usr/bin/X (0x8048000+0x1a411) [0x8062411]
[   968.581] Segmentation fault at address 0x1b7
[   968.581]
Caught signal 11 (Segmentation fault). Server aborting
[   968.581]
Please consult the The X.Org Foundation support
	 at http://wiki.x.org
 for help.
[   968.581] Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[   968.581]

Читати далі

life:) відкриває міграцію на оновлений тариф «life:) смартфон – контракт»

З 20 червня 2011 року. Оператор мобільного зв’язку life:) оголошує про можливість переходу для існуючих абонентів на тарифний план «life:) смартфон – контракт» при купівлі смартфона life:)
Також буде відсутня додаткова угода при підключенні.
Крім того, в рамках тарифного плану обсяг інтернет-трафіку збільшено до 1,5 Гбайт на місяць.
Абонентська плата за щомісячний пакет послуг 5000 хвилин на дзвінки в мережі life:),100 хвилин на дзвінки на інші мережі та 1,5 Гбайт мобільного інтернету
становить 69 грн (з ПДВ та ПФ).

Читати далі

Подборка комманд sed

Скомуниздена подборка консольных команд с помощью Sed

REM Удалить пустые строки в файле
sed -e "/^$/d" 1x.txt > 2x.txt

REM Delete all newline.( Concatenate each line of 1x.txt into 1 line of string )
sed ":a;N;$!ba;s/\n//g" 1x.txt > 2x.txt
REM http://sed.sourceforge.net/sedfaq5.html#s5.10

REM Print line without 'code'
sed -n "/code/!p" 1x > 2x.txt
REM In bash shell, use single quote.

REM Delete line 2 up to line 10 inclusively.
sed -e "2,10d" 1x.txt > 2x.txt

REM Пропустить 3-ю строку(Заменить 'a' на 'b' во всех строках кроме 3-й).
sed -e "3n; s/a/b/g" 1x.txt > 2x.txt

Читати далі

сменить кодировку для файлов в каталоге

Если нужно понять кодировку содержимого во многих файлах, то может пригодится такая команда-скрипт: cat test.sh #!/bin/bash cd /your/dir/ for file in *.html; do iconv -f CP1251 -t UTF8 $file > /new/dir/$file done