Оживление почти убитого D-Link DNS 320l

У меня этот чудо девайс работает уже полтора года. Работает отлично, и особых нареканий к нему нет. Разве что стоковая прошивка совсем уж бедная по своим возможностям, и чтобы более полноценно использовать D-Link DNS 320l, желательно установить на него fun_plug, или прошить альтернативной прошивкой Alt-f.

fun_plug я поставил в первую очередь, и он мне очень понравился. Можно ставить дополнительные программы, использовать всю мощь доступа по ssh, в том числе и для бэкапа важных данных через rsync. Все просто замечательно было с fun_plug, если бы не сильно урезанное ядро системы. Уж не знаю зачем, но D-Link в своем firmware из ядра выпилил модуль iptables, и без него невозможно настроить nat, маскарадинг и прочие прелести. А мне вот что-то вдруг захотелось развернуть на своем аппарате OpenVPN, и я решил таки сменить прошивку на Alt-f.

Кстати, Alt-f — молодцы, сделали весьма качественный продукт. Комьюнити проекта пока не очень большое, но оно динамично развивается. Мне прошивка в целом понравилась, но в ней есть и минусы:

1. Веб интерфейс D-Link DNS 320l в прошивке Alt-F весьма убог по сравнению с родым firmware D-Link. Это не так критично, если конфигурировать устройство через консоль, но все равно — неприятно.

2. По умолчанию после установки прошивки у меня не запустился важны демон — dns320l-daemon. Он снимает показания с датчиков температуры и без него вентилятор охлаждения просто не запустится. А это уже серьезно, поскольку чревато перегревом как процессора, так и винчестеров и выходом их из строя. Проблема эта легко устраняется, но надо знать, что проблема существует.

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

В общем, поигравшись вдоволь с прошивкой Alt-F, я все-таки решил откатиться к прошивке оригинальной D-Link. И тут случилось страшное, во время перепрошивки хранилища пропало питание — и D-Link DNS 320l перестал загружаться. Совсем. Кнопка сброса к заводским установкам не помогла — достучаться до хранилища не было никакой возможности.

Последней надеждой была возможность подключения к хранилищу через serial console, для этого надо было найти соответствующие места на плате хранилища и припаять к ним провода. Но пайка проводов — это полбеды; настоящей проблемой было найти переходник RS232-ttl или USB-ttl. Причем DNS 320l использует низковольтный ttl (3.3 вольта), поэтому далеко не факт, что подойдет переходник на 5-вольтовый TTL. У нас в городе так и не удалось найти ни одного готового переходника, или подходящего телефонного дата-кабеля для создания такого переходника. Пришлось заказывать переходник в Китае, на AliExpress.

Удивительно, но покупка двух переходников на микросхеме PL2303 в Китае с доставкой в Россию оказалась намного выгоднее, чем покупка отдельных деталей и сборка своими силами. Я отдал меньше 1 доллара за каждый из переходников, а заказал я их 2 штуки — поскольку предполагал, что своими неумелыми действиями я могу спалить этот переходник. В общем, мне удалось подключить переходник к плате хранилища, и при включении питания хранилища я мог видеть все сообщения загрузки системы.

Выяснилось, что загрузчик u-boot был в полном порядке, а вот при попытке загрузки ядра выскакивало следующее сообщение:

...
starting pid 538, tty '': '/etc/rc.sh'
** Mounting /etc/fstab
umount: proc: not mounted
umount: proc: not mounted
umount: /usr/local/modules: not mounted
sh: can't open /usr/sbin/pre_usb.sh
umount: /usr/local/tmp/image.cfs: not found
umount: /usr/local/tmp: not mounted
first good block is 0
image len = 1835626867 , image checksum = 5f656761
kernel or ramdisk error
...

Образ рамдиска или ядра был битым во флеш-памяти, я мне надо было его перезаписать по новой. Говорят, как-то можно перезаписать флеш-память командами из u-boot, но я поступил по-другому.

Сначала я скачал firmware Alt-f, и с помощью утилиты dns323-firmware-tools-master извлек из firmware образ ядра и рамдиска:

splitdns323fw -k uKernel -i uInitrd -d uDefaults -s uSquashfs Alt-F-0.1RC4-DNS-320L-rev-A1.bin

На выходе получил файлы uKernel, uInitrd, uDefaults и uSquashfs (последние 2 не понадобились). Далее, развернул сервер tftp и в его корень положил полученные файлы. Потом, при загрузке хранилища в нужном месте нажал пробел и единицу, в результате получил доступ к командной строке u-boot:

 ** MARVELL BOARD: DB-88F6702A-BP LE
U-Boot 1.1.4 (Aug 22 2012 - 17:06:54) Marvell version: 3.6.0.DNS-320L.01
U-Boot code: 00600000 -> 0067FFF0  BSS: -> 006CFB00
Soc: 88F6702 A1 CPU running @ 1000Mhz L2 running @ 500Mhz
SysClock = 400Mhz , TClock = 166Mhz
DRAM (DDR2) CAS Latency = 5 tRP = 5 tRAS = 18 tRCD=6
DRAM CS[0] base 0x00000000   size 256MB
DRAM Total size 256MB  16bit width
Addresses 8M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (8M - 7M): Done
NAND:128 MB
Flash:  0 kB
CPU : Marvell Feroceon (Rev 1)
Streaming disabled
Write allocate disabled
USB 0: host mode
PEX 0: interface detected no Link.
Net:   egiga0 [PRIME]
Hit any key to stop autoboot:  0
Marvell>>

Про «Hit any key to stop autoboot» они конечно переврали, надо нажимать строго Пробел и потом цифру 1. Дальше последовательность действий была такой:

setenv ipaddr 192.168.1.7 # прописываю IP адрес сетевого хранилища
setenv serverip 192.168.1.9 # прописываю IP адрес tftp-сервера
tftp 0xa00000 uKernel # загружаю образ ядра в формате u-boot в память по адресу 0xa00000
tftp 0xf00000 uInitrd # загружаю initrd в память по адресу 0xf00000
bootm 0xa00000 0xf00000 # запускаю операционную систему БЕЗ перешивания флеш памяти — если что-то пойдет не так, всегда можно перезагрузиться.

Через некоторое время загрузился интерфейс Alt-F по адресу http://192.168.1.7 В нем уже есть возможность полноценно залить прошивку Alt-F или D-Link во флеш-память. После перепрошивки перезагрузился — и все заработало. Правда, при перепрошивке слетели все настройки — но это уже мелочи, сетевое хранилище удалось оживить.

OpenSuSe 13.1, ноутбук с видеокартой Nvidia и старые игры в wine

Так получилось, что ранее я ругал карты ATI Radeon здесь, тут и там. И для разнообразия у меня появился ноутбук Lenovo Z560 с карточкой Nvidia на борту. Пропиетарные дрова с сайта Nvidia ставятся без проблем, все работает хорошо — за исключением одного маленького нюанса.

Почему-то разработчики драйверов перешли на новую версию протокола randr, и теперь в системе для экрана ноутбука определяется только одно единственное разрешение экрана:

> xrandr -q
Screen 0: minimum 8 x 8, current 1366 x 768, maximum 8192 x 8192
VGA-0 disconnected (normal left inverted right x axis y axis)
LVDS-0 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
   1366x768       60.0*+   50.0  
HDMI-0 disconnected (normal left inverted right x axis y axis)

В старой версии протокола разрешений экрана можно было получить гораздо больше:

> xrandr --q1
 SZ:    Pixels          Physical       Refresh
*0   1366 x 768    ( 340mm x 191mm )  *50   51  
 1   1280 x 720    ( 318mm x 179mm )   52  
 2   1024 x 768    ( 254mm x 191mm )   53  
 3    800 x 600    ( 199mm x 149mm )   54  
 4    640 x 480    ( 159mm x 119mm )   55  
Current rotation - normal
Current reflection - none
Rotations possible - normal left inverted right 
Reflections possible - X Axis Y Axis

Если надо кодить, или править документ какой-нибудь, то проблемы это не вызывает. Но если решил порубиться в старую игрушку с древним разрешением экрана (например, 640×480), то игра вполне себе может ругаться на разрешение экрана. Например, у меня fallout не запускался, и появлялось сообщение Error initializing video mode 640×480, и в консоли при этом был виден текст ошибки такого вот содержания:

err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 640x480x8 @0! (XRandR 1.2)

Оказывается, проблему победить можно. Надо лишь наваять 2 скрипта и поместить их куда-нибудь в пути. Первый скрипт позволяет менять разрешение экрана из командной строки:

> cat setres.sh
#!/bin/bash
RESOLUTION=$1
nvidia-settings --assign CurrentMetaMode="LVDS-0: nvidia-auto-select @$RESOLUTION +0 +0 {ViewPortIn=$RESOLUTION, ViewPortOut=$RESOLUTION}"

Второй скрипт собственно меняет разрешение экрана на правильное, запускает fallout в десктопе со «правильным» разрешением экрана, ну и возвращает настройки разрешения обратно по завершении игры:

> cat fallout1.sh
#!/bin/sh
cd /home/username/.wine/drive_c/Program Files/GOG.com/Fallout
/usr/local/bin/setres.sh 640x480
wine explorer /desktop=foo,640x480 falloutw.exe
/usr/local/bin/setres.sh 1366x768
cd $HOME

Смена разрешения на 640×480 — необязательный шаг, и если его не сделать, можно играть в оконном режиме. А вот для полноэкранного режима без смены разрешения не обойтись.

Просмотр RTMP-потока на телевизорах Samsung

Мой телевизор Samsung UE46C5000QW не умеет просматривать видео, транслируемое в UDP или в RTMP. Зато он умеет смотреть фильмы по сети с использованием DLNA, поэтому я решил попробовать настроить связку телевизора UE46C5000QW и роутера D-Link DIR 300 Rev b для просмотра IPTV без использования компьютера — это не так уж и сложно.

Родная прошивка DIR 300 вполне справлялась с UDP потоками, но преобразовать UDP поток в DLNA-совместимый HTTP поток ей не по зубам. Пришлось сменить прошивку роутера на DD-WRT v24-sp2 (build 14896). Прошивка хороша тем, что под нее можно собирать много линуксовых приложений, загружать их при необходимости и использовать по прямому назначению. Под прошивку были найдены udpxy (преобразователь udp потока в tcp), и upnpd — маленький демон, который публикует плейлисты в DLNA-совместимом формате. Информации о том, как это можно сделать, в сети навалом; так же как и сборок этих приложений под большинство роутеров, работающих под DD WRT или OpenWRT.

Все бы хорошо, но вот потоки RTMP по-прежнему смотреть на телевизоре было невозможно. Для преобразования RTMP в HTTP был давным-давно написан пакет rtmpdump, в составе которого есть маленький прокси — rtmpgw, который в теории должен справляться с задачей.

Но тут есть три проблемы. Во-первых, чистый rtmpgw не добавляет правильные заголовки в http-поток, в результате чего телевизор разрывает соединение и ругается на неподдерживаемый формат файла (даже если видео и аудио кодеки абсолютно точно поддерживаются им). Любой расово правильный медиаплеер (mplayer, vlc) показывают такие потоки, но не телевизоры Samsung.

Во вторых, из-за одной довольно криво написанной функции оригинальный rtmpgw очень нехило кушает CPU, что не есть хорошо.

В-третьих, я так и не нашел готовой сборки rtmpgw для dd-wrt своего роутера. Поэтому пришлось качать исходники, ковыряться в исходном коде и собирать свой вариант rtmpgw. И в результате у меня получился вот такой бинарник rtmpgw (mipsel, не путать с mips — он не совместим) — качайте на здоровье и можете ставить его в свой роутер.

Использовать его можно примерно так. На роутере сохраняются команды, выполняемые при каждой загрузке:

cd /tmp
wget http://www.bloged.org/downloads/rtmpgw
chmod +x rtmpgw
/tmp/rtmpgw --buffer 120000 -v -g 8082 -D 192.168.1.1 >/dev/null 2>/dev/null &

где 192.168.1.1 — внутренний IP роутера

Если запуск прошел успешно, то по адресу http://192.168.1.1:8082 будет транслироваться RTMP поток, который можно передать в качестве параметра. Проверить работоспособность можно из локальной сети за роутером:

vlc "http://192.168.1.1:8082/?r=rtmp:%2F%2Fvipwowza.yacast.net%2Ffrance24_live_en&s=http:%2F%2Fwww.france24.com%2Fen%2Fsites%2Fall%2Fmodules%2Fmaison%2Faef_player%2Fflash%2Fplayer_new.swf&t=rtmp:%2F%2Fvipwowza.yacast.net%2Ffrance24_live_en&p=http:%2F%2Fwww.france24.com&y=f24_liveen.stream"

VLC покажет англоязычную трансляцию France 24, если мой бинарник совместим с вашей прошивкой и вы все сделали правильно. К сожалению, транслировать такое в телевизор Cамсунг не получится — конкретно в этом потоке он не поймет кодеки (по крайней мере мой телевизор ругается на них). Тут нужен транскодинг, но это уже совсем другая тема для разговора.

Остальные каналы, которые я нашел с кодеками H264 – MPEG-4 AVC / Mpeg Audio Layer (mpga), транслируются без проблем.

Заметил одну особенность в некоторых трансляциях. Часть из них транслируются нормально, у другой части наблюдается прогрессирующее отставание звука от картинки на телевизорах Samsung. Убогий самсунговский плеер почему-то не может синхронизировать видео и звук при длительной работе на таких потоках. Причем если поток сохранить в файл и открыть его через DLNA, отставания нет даже в телевизоре; оно наблюдается только при онлайн трансляции. А в vlc или mplayer такая проблема не наблюдается вообще, они умеют синхронизировать картинку со звуком, даже если в потоке есть потери фреймов.

Про перемотку, DLNA и телевизор Samsung.

Смеркалось. KTorrent докачивал очередной фильм в FullHD, и в мою не совсем трезвую голову пришла шальная мысль: а почему бы и не посмотреть это кино на телевизоре вместо монитора? А что, кабель HDMI — есть, на видеокарте выход HDMI — есть, на телевизоре разьем HDMI тоже имеется. Соединить одно с другим несложно и этот вариант 100% рабочий. Но мы не ищем легких путей, ибо телевизоров дома может быть несколько и вдруг мне приспичит посмотреть на каждом ящике свой фильм — одного кабеля HDMI будет маловато.

Так что созрел у меня коварный план — поднять у себя DLNA-сервер и раздавать фильмы в локальной сети. С OpenSuSe 12.2 поставить miniDLNA вообще не проблема, но сложности начались там, где я их не ожидал. Телевизор Samsung UE46C5000QWX прекрасно воспроизводит фильмы через DLNA, но отказывается их перематывать. Однако у меня были подозрения, что телевизор все-таки перематывать умеет, т. к. при выключении фильма и повторном его запуске он предлагал продолжить воспроизведение с места остановки. Если внимательно вчитаться в инструкцию к телевизору, то там будет написано — перемотка не поддерживается при просмотре видео через DLNA; и это касается многих моделей Samsung TV.

Однако методом научного тыка и просмотра камментов к багам miniDLNA таки были обнаружены кнопки на пульте, которые перематывают видео. Они оказались нестандартные, вместо кнопок перемотки надо было нажимать на кнопки навигации по меню (вправо и влево) — и перемотка стала работать как надо.

Правда, есть один нюанс, перемотка срабатывает не всегда. Например, файлы flv скачанные с youtube почему-то не перематваются. Но это уже не проблема, т. к. перекодировать flv в avi (который легко перематывается) совсем не сложно:

mencoder -oac mp3lame -ovc lavc -o file.avi file.flv

Вообще, телевизоры Samsung производят приятное впечатление по качеству железа, и отвратительное по качеству софта/прошивок. Непонятная ситуация с перемоткой может расцениваться как бага или как недокументированная фича; а вот отсутствие возможности отключения экрана при проигрывании музыки — это уже серьезная недоработка, которую Samsung и не думает исправлять.

Как обнаружить перегрев CPU в OpenSuSe 12.2

Не так давно столкнулся с очередной проблемой с железом. Компьютер c OpenSuSe 12.2 после какого-то непродолжительного времени работы самопроизвольно выключался. После очередного включения иногда раздавался звук сирены в BIOS, и в /var/log/messages периодически появлялась надпись: [Hardware Error]: Machine check events logged

Первое, что надо сделать — это установить пакет sensors и проверить температуру процессора:

$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +94.0°C  (high = +78.0°C, crit = +100.0°C)
Core 1:       +92.0°C  (high = +78.0°C, crit = +100.0°C)

Если на компьютере не выполняются тяжелые приложения, то температура ядер процессора не должна превышать параметра high. Но у меня камень грелся градусов до 90 после включения, что говорило о проблемах с охлаждением процессора

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

После включения проблем с перегревом CPU больше не наблюдалось, после включения компьютера температура ядер была на уровне 38-40 градусов

Работа модема через GPRS / 3G в OpenSUSE 11.4

Обнаружил интересную багу в работе модема через GPRS или 3G. В качестве звонилки я использую wvdial с вот такими настройками:

[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","mtelinternet"
Modem = /dev/ttyACM0
Phone = *99***1#
Idle Seconds = 30000
Modem Type = USB Modem
Stupid Mode = 1
Compuserve = 0
Baud = 460800
Auto DNS = on
New PPPD = Yes
Dial Command = ATDT
Ask Password = 0
ISDN = 0
Password = internet
Username = internet

Соединение происходит, адреса DNS серверов успешно получаю при соединении, а вот сам интернет работает через раз. Причем угадать, будет ли он работать или нет, никакой возможности не имеется. Симптомы следующие, после установки соединения wvdial пытается отресолвить какое-то тестовое доменное имя, и таким образом определяет, работает ли DNS в установленном соединении:

Warning, can not find address for www.suse.de
Warning, address lookup does not work
Nameserver (DNS) failure, the connection May not work.

Если такие предупреждения видны, то возможны 2 ситуации.

Во-первых, wvdial не смог прописать адреса DNS сервера в /etc/resolv.conf. Лечится прописыванием адресов провайдера вручную — что и было сделано; но проблема не была устранена полностью.

Во-вторых, возможны проблемы с размерами окна tcp в туннеле ppp. В этом случае надо поиграться с настройками размера окна tcp:

echo “0″ >/proc/sys/net/ipv4/tcp_window_scaling

Лично мне это очень помогло, после чего я решил установить такие настройки в системе по умолчанию — дописал в /etc/sysctl.conf вот такую строчку:

net.ipv4.tcp_window_scaling = 0

и перечитал параметры:

# sysctl -p

После всех манипуляций интернет стал работать намного более стабильно. В качестве модема я использовал свой телефон Nokia E5

Использование телефона Nokia E5-00 в качестве модема в OpenSuSe 11.4

Nokia E5

0. Переводим в телефоне режим соединения по USB в “Nokia PC Suite”. Если его использовать в режиме “Накопитель” – модем просто не определится в системе.

1. Подключаем телефон с помощью дата-кабеля. Смотрим на его параметры, и у меня они выглядят примерно так:

# lsusb | grep Nokia
Bus 002 Device 005: ID 0421:0380 Nokia Mobile Phones

2. Проверяем, распознала ли операционная система это устройство как модем:

# ls -l /dev/tty* | grep dialout
crw-rw---- 1 root dialout 4, 64 Jul 14 11:42 /dev/ttyS0
crw-rw---- 1 root dialout 4, 65 Jul 14 10:59 /dev/ttyS1
crw-rw---- 1 root dialout 4, 66 Jul 14 10:59 /dev/ttyS2
crw-rw---- 1 root dialout 4, 67 Jul 14 10:59 /dev/ttyS3
crw-rw---- 1 root dialout 4, 68 Jul 14 10:59 /dev/ttyS4
crw-rw---- 1 root dialout 4, 69 Jul 14 10:59 /dev/ttyS5
crw-rw---- 1 root dialout 4, 70 Jul 14 10:59 /dev/ttyS6
crw-rw---- 1 root dialout 4, 71 Jul 14 10:59 /dev/ttyS7

3. Устройство не определилось. В этом случае надо загрузить модуль ядра с соответствующими параметрами:

# modprobe usbserial vendor=0x0421 product=0x0380

Параметры для vendor и product берем из вывода lsusb на шаге 1.

4. Проверяем, появился ли модем:

# ls -l /dev/tty* | grep dialout
crw-rw---- 1 root dialout 166, 0 Jul 14 11:54 /dev/ttyACM0
crw-rw---- 1 root dialout 4, 64 Jul 14 11:42 /dev/ttyS0
crw-rw---- 1 root dialout 4, 65 Jul 14 10:59 /dev/ttyS1
crw-rw---- 1 root dialout 4, 66 Jul 14 10:59 /dev/ttyS2
crw-rw---- 1 root dialout 4, 67 Jul 14 10:59 /dev/ttyS3
crw-rw---- 1 root dialout 4, 68 Jul 14 10:59 /dev/ttyS4
crw-rw---- 1 root dialout 4, 69 Jul 14 10:59 /dev/ttyS5
crw-rw---- 1 root dialout 4, 70 Jul 14 10:59 /dev/ttyS6
crw-rw---- 1 root dialout 4, 71 Jul 14 10:59 /dev/ttyS7

5. Модем готов к работе, создаем конфигурационный файл для wvdial (МТС):

$ cat /etc/wvdial.conf
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","internet.mts.ru"
Modem = /dev/ttyACM0
Phone = *99***1#
Idle Seconds = 300
Modem Type = USB Modem
Stupid Mode = 1
Compuserve = 0
Baud = 460800
Auto DNS = on
New PPPD = Yes
Dial Command = ATDT
Ask Password = 0
ISDN = 0
Password = mts
Username = mts

Если внимательно посмотреть на конфигурационный файл, то он почти на 100% совпадает с тем, что я использовал для телефона SonyEricsson K750i, разница только в скорости. Здесь она 460800 Baud, а там была 115200.

Обзор телефона Nokia E5

Nokia E5

Решил я свой телефон поменять, ибо мой SonyEricsson K750i уже морально и физически устарел. К новому телефону предъявил следующие требования:

  1. Он должен быть Труъ Телефономъ, т.е. быть классической формы и не быть тачскрином
  2. Он дожен уметь совершать голосовые звонки в Skype и в других SIP клиентах через Wi-Fi
  3. В идеале он должен держать заряд подольше
  4. Желательно наличие QWERTY клавиатуры

На текущий момент под такие требования подошло всего несколько телефонов стоимостью до 7к рублей. Очень заинтересовали 2 из них, BlackBerry Curve 8520 и Nokia E5; но как выяснилось, Блекбери не подойдет. Дело в том, что по непонятным причинам на российский рынок поставляют эти модели с залоченым вайфаем. В принцепе эта проблема решаема, в сервисном центре недолго думая смогут его включить, однако нести только что купленый телефон в сервисный центр – моветон.

Так что мой выбор пал на Nokia E5, и я его купил. Но первое впечатление оказалось отвратительным. Версия софта на телефоне была древней, жутко тормозила и периодически телефон зависал. Пришлось скачать програмку Nokia Mobile Suite, и с ее помощью залить в телефон последнюю версию софта с исправленными багами. Но опять же это оказалось непросто, ибо пару раз в процессе заливки софта телефон намертво вис, и процесс приходилось начинать заново.

После ряда безуспешных попыток обновить софт мне в голову пришла светлая мысль – а не сделать ли телефону Hard Reset? Благо на нокиях это делается совсем просто – с помощью ввода сервисного кода *#7370#.

И тут случилось чудо, телефон перестал виснуть – тогда мне и удалось его обновить до версии софта 091.001 (версию софта можно узнать набрав *#0000#).

После обновления телефон стал работать нормально, исчезли зависания и тормоза. Домашняя точка доступа WiFi сразу подцепилась телефоном, и можно было бы начать тестирования звонков с использованием SIP. Однако выяснилось, что почему-то Нокия не установила в систему приложение Advanced SIP Settings, без которого встроенный SIP клиент работать не сможет. Пришлось курить много форумов, искать решение проблемы – но все же проблему решить удалось.

Для этого пришлось завести себе аккаунт на developer.nokia.com, и скачать вот отсюда SIP VOIP 3.x Settings (164 Kb). Главное не промахнуться, т.к. SIP VOIP 3.1 Settings не совместимы с Nokia E5-00. Без регистрации на developer.nokia.com скачать не получится, поэтому регистрация обязательна.

После установки софта встроенный SIP клиент заработал на отлично. Но как оказалось, можно обойтись и без него. Через магазин Ovi можно скачать два бесплатных SIP клиента – Fring и Nimbuz, они замечательно справляются со звонками через SIP. Nimbuz на мой взгляд удобнее, т.к. в отличие от Fring он позволяет регистрировать сразу несколько SIP аккаунтов.

Следующим на очереди был Skype. В Ovi Store он тоже был в качестве бесплатной программы, но почему-то передача голоса в нем работала отвратительно – было слышно сплошное бульканье, в результате чего собеседник ничего не мог разобрать из нашего разговора. Это лечится установкой скайпа с сайта skype.com, только ОБЯЗАТЕЛЬНО надо ставить версию Skype для платформы S60 без тачскрина (в настоящий момент последняя версия Skype v.1.50.12, т.е. файл называется Skype_S60_3_0_v_1_5_0_12.sisx). Загруженный с сайта Skype работает на ура.

Вот теперь телефон меня устраивает на все 100%. Держит заряд отлично, удобно набирать текст на клавиатуре; качество голоса при звонках через WiFi – отличное, при звонках через 3G – приемлемое.

А еще в телефоне обнаружился чудо-режим работы Автономный, при котором телефон блокирует доступ к сети оператора сотовой связи. Т.е. звонить и чатиться можно в нем только через Wi-Fi без боязни попасть на деньги, связанные с использованием интернета в роуминге. Особенно актуально это тем, кто только что слез с самолета в аэропорту и решил сделать звонок домой об успешном приземлении.

А раз так, то грабительским расценкам за роуминг можно сказать “Прощай”, ибо Wi-Fi есть практически везде, куда я езжу. Не везде он бесплатный, но в любом случае стоимость работы в платной сети вайфай на несколько порядков ниже стоимости звонка в роуминге. Я знаю о чем говорю, т.к в далеком 2010-м году я сдуру позвонил из аэропорта Майами, что обошлось мне в 150 рублей за минуту разговора. А вайфай в этом аэропорту полностью бесплатен; даже розетки питания есть возле кресел в зале ожидания – и они доступны для всех желающих с ноутбуками.

В общем мой вердикт такой: если не пугает необходимость обновления софта, этот телефон стоит брать. Он стоит своих денег, и ему альтернативы нет среди смартфонов с классическим типом корпуса и без тачскрина.

D-Link DWL-2100 AP в режиме точки доступа

Есть у меня эта замечательная точка доступа, которая служит мне верой и правдой вот уже 4-й год. Использовал ее в режиме Access Point, и вот теперь настал черед попробовать ее как Client. И все меня устраивало до тех пор, пока мне не понадобилось посадить за ней несколько хостов.

Ну так вот, из всех компьютеров, подсоединенных к точке доступа в режиме клиента, работал только единственный компьютер. Долго искал причину, пока не наткнулся на официальный FAQ от D-Link, где утверждают, что за точкой доступа в режиме “Client” может быть только один хост.

На самом деле это не так. Одна из последних версий прошивок позволяет цеплять несколько клиентов за точкой доступа.

Еще по теме:
Проектирование и настройка домашней сети
Настройка домашней сети и проблемы несовместимости оборудования

OpenSuSe 11.3, D-Link DWA 525 и танцы с бубном

D-Link DWA 525, сетевая карта с WiFi

Моя домашняя сеть продолжает расти, и мне потребовалось подключить еще один компьютер к моей точке доступа D-Link DWL 2100 AP. Посмотрев на прайс-листы ближайшего приличного магазина, присмотрелся я к сетевой карте с антенной – а именно к D-Link DWA 525. Традиционно погуглил эту карту на предмет наличия проблем с установкой под линуксом – вроде все чисто, решил купить. И тут началось….

Под Windows XP она встала и работает неплохо, но с картой совершенно не было драйверов под линукс. Свежепоставленная OpenSuSe 11.3 так же карточку не опознала как сетевую, пришлось качать драйвер с сайта dlink.ru и собирать его.

Дальше было еще интереснее, драйвер от dlink собрался, но карта работала только с открытыми сетями, без WEP или WPA шифрования. Разумеется, меня такой вариант не устроил, стал искать другое решение проблемы. Оказалось, что драйвера от d-link – это совсем не то, что нужно. Для карты D-Link DWA 525 прекрасно подошел последний драйвер от карты на том же чипсете (Ralink 3060, последнюю версию драйвера можно скачать с официального сайта: http://www.ralinktech.com/support.php?s=2).

Однако и тут обошлось не без танцев с бубном. Перед компиляцией драйвера надо залезть в файл os/linux/config.mk и поправить 2 строчки:

HAS_WPA_SUPPLICANT=y
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y
(эти фичи выключены по умолчанию).

После сборки драйвера (make и make install) все замечательно заработало бы, если бы не ошибка в скрипте /etc/sysconfig/network/scripts/ifup-wireless Вместо этого глючного скрипта следует скачать исправленный скрипт, и только тогда все заработает, как надо.

Все вышесказанное относится к OpenSuSe 11.3 без обновлений (из коробки). Возможно, что после обновления этот скрипт уже будет пропатчен