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

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

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

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

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

Про Paypal и регистратора internet.bs

С начала марта internet.bs перестал принимать Paypal для оплаты доменов. Если верить информации с их стены в фейсбуке, Paypal заблокировл их аккаунт для приема платежей:

Why have you stopped accepting PayPal?

It was not our decision, actually Paypal without notice and without a clear explanation suspended the service. We are working with them to find a solution.

We are shocked by their approach, but we are sure they will soon review their position as they might have received wrong or inaccurate reports, after all we are an ICANN domain name Registrar we only sell domains and we have always been in full compliance with their published policies and rules. As such there is really little ground for them to unilaterally suspend their services in particular without notice. Of course we welcome any advice or suggestion to have them reestablish the account without delay.

You should also notice that we have backup solutions for payment such as Moneybookers, WebMoney, AlertPay and we are working on 2Checkout and WorldPay. Last but not least we have applied for a dedicated merchant account, so we won’t be subject to third party “fancy” polices.

Особенно повезло американцам, которые регистрировали домены у багамского регистратора. Американцам уже давно прикрыли лавочку с Moneybookers (ныне именуемых Skrill), так что американскому трудовому народу придется пересаживаться на Webmoney или палить номера своих кредитных карточек в других сомнительных финансовых сервисах.

COPEAC R.I.P.

28 Jan 2012
Effective immediately Copeac.com has ceased all operations.
Помянем добрым словом и отправим в последний путь очередную партнерку.

OpenSuSe 11.4 и некорректное размонтирование дисков при выключении

Не так давно заметил багу. При включении OpenSuSe 11.4 замечал, что иногда диски определялись как некорректно выключенные (Transaction replayed …). И подумал, а что за хрень, почему это происходит?

Оказалось, что при выключении компьютера скрипты выполняются параллельно, и иногда выключение происходит до того, как раздел диска был корректно размонтирован. Эта бага лечится очень просто, надо лишь отключить параллельный запуск скриптов, т.е. в файле /etc/sysconfig/boot прописать RUN_PARALLEL=”no” (у меня этот параметр был установлен в “yes”).

С тех пор диски размонтируются корректно при выключении

Старый ноутбук и KDE4

Есть у меня древний ноутбук (Dell Latitude L110 с 512Mb RAM), на который я установил OpenSuSe 11.4. В качестве оконного менеджера я с дуру поставил KDE4, о чем в последствии сильно пожалел. KDE4 штука красивая, но жутко требовательная к ресурсам – сам оконный менеджер стартует секунд 30, и съедает практически всю доступную память, и все приложения начинают дико тормозить

Оптимизировать KDE до определенных пределов можно, но все же это полумеры. Наиболее радикальным решением была бы смена оконного менеджера на что-нибудь более легковесное. И я решил попробовать icewm lite вместо KDE.

В OpenSuSe 11.4 сменить оконный менеджер очень легко, сначала через Yast надо его установить (там буквально 2-3 пакета), и далее редактором /etc/sysconfig в секции Desktop => Window manager => DEFAULT_WM заменить на icewm.

Запускаю иксы и удивляюсь – оконный менеджер загрузился моментально. Выглядит он, мягко говоря, по-спартански (в стиле Windows 95), эффектов графических нет, и благодаря этому примерно 256 мегабайт памяти было свободно. Ура, казалось бы, долгожданный эффект достигнут.

Однако две вещи меня не устроили. По умолчанию язык у меня был английский, и возможности переключения на русский не было. На привычные мне сочетания клавиш (Ctrl+Shift) оконный менеджер никак не реагировал.

Эта проблема решилась очень просто. Я создал конфигурационный файл /etc/X11/xorg.conf.d/90-keytable.conf следующего содержания:

Section "InputClass"
Identifier "LocalKeyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "us,ru"
Option "XkbVariant" ",winkeys"
Option "XkbOptions" "grp:ctrl_shift_toggle"
EndSection

И со следующего запуска иксов у меня стала нормально работать русская раскладка клавиатуры с переключением между языками по нажатию Ctrl+Shift.

Вторая проблема – отсутствие звука. В KDE у меня звук регулировался приложением kmix, и я его решил добавить в автозагрузку icewm, чтобы привычными горячими клавишами его включать, выключать и регулировать громкость.

Для этого я создал файл /etc/icewm/startup со следующим содержимым:

#!/bin/sh
kmix &

На файл добавил права на исполнение:

# chmod a+x /etc/icewm/startup

И все. После запуска звук легко регулируется горячими клавишами (правда, в трее его не видно – но это уже мелочь).

Еще статьи об OpenSuSe 11.4:

  • OpenSuSe 11.4 и старый матричный принтер
  • OpenSuSe 11.4 и встроенные видеокарты Intel
  • Переход на OpenSuSe 11.4
  • OpenSuSe 11.4 и старый матричный принтер

    Так случилось, что есть у меня чудо буржуйской техники – древний, но все еще вполне рабочий принтер Epson LX 300+, который служит мне верой и правдой уже много лет. Решил я его подружить с OpenSuSe 11.4 – и тут обнаружил, что во-первых, принтер не определяется системой; и во-вторых, драйверов под него нет.

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

    • parport
    • parport_pc
    • lp

    Почему-то модуль lp по умолчанию не загружается в OpenSuSe 11.4, так что этот модуль надо поставить в автозагрузку (например, можно через Yast: Редактор /etc/sysconfig => System => Kernel => MODULES_LOADED_ON_BOOT или любым другим удобным способом).

    С драйверами хуже, родных драйверов именно для этого принтера в OpenSuSe нет. Но вместо них прекрасно подходит Epson Dot Matrix driver (OpenPrintingPPD/ghostscript/Epson-Dot_Matrix.epsonc.ppd.gz), который доступен через кнопку “Пакеты драйверов”.

    Управление ответом в php скрипте

    Однажды мне понадобилось отправлять ответ пользователю в браузер до завершения работы php-скрипта. Известно, что даже такой простой скрипт не отпустит посетителя со страницы в течение 20 секунд:

    header("Location: http://www.bloged.org",TRUE,301);
    sleep(20);
    ?>

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

    set_time_limit(80);
    header("Location: http://www.bloged.org",TRUE,301);
    header("Content-Length: 0");
    header("Connection: close");
    flush();
    error_log("Это пишется сразу в лог\n", 3, "/ramdisk/log.txt");
    sleep(60);
    error_log("А это через минуту\n", 3, "/ramdisk/log.txt");
    ?>

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

    OpenSuSe 11.4 и встроенные видеокарты Intel

    После перехода на OpenSuSe 11.4 я заметил, что видеокарта Radeon HD 5570 с пропиетарными драйверами ATI работает без нареканий; однако две других машины с интегрированными видеокартами Intel работали из рук вон плохо.

    Во-первых, меня очень разочаровал мой ноутбук Dell Latitude L110 c видеокартой на чипсете Intel 915GM. Но не потому, что он плохой; а потому, что железо уже морально устарело (буку стукнуло 5 лет, которые он отслужил верой и правдой в боевых условиях), и поддержка некоторых фич прекращена с 1 квартала 2011 года. Это значит, что в следующих релизах операционных систем семейства Linux заставить карту работать будет все сложнее, и в конце концов случится то же, что и произошло с картой ATI Radeon X 1650, т.е. на оборудовании можно будет ставить крест.

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

    1. Обновляем до последних версий пакеты

    xorg-x11-driver-video
    xorg-x11-driver-intel-legacy

    2. Сохраняем старый xorg.conf (на всякий случай):

    # mv /etc/X11/xorg.conf /etc/X11/xorg.conf.old

    В runlevel 3 (без иксов) запускаем конфигурилку X:

    # X -configure

    Он там подумает, и родит файл /root/xorg.conf.new. В нем надо внести некоторые исправления:

    а) если драйвер определился как “intel”, меняем его на “intellegacy”:

    Driver “intellegacy”

    б) включаем DRI (у меня он был выключен после автоматического конфигурирования, и mplayer показывал видео только в маленьком окошке без возможности развернуть его на весь экран):

    Option “DRI” “on”

    в) Отключаем фичу, которая больше не поддерживается:

    Option “XvMC” “off”

    Потом копируем его в xorg.conf и запускаем иксы:

    # cp /root/xorg.conf.new /etc/X11/xorg.conf
    # startx

    У меня после этого все заработало на ноутбуке. После этого проверил 3D ускорение:

    $ glxinfo | grep direct
    direct rendering: Yes

    На второй машине у меня была другая видеокарта, но тоже интеловская (Intel Corporation 82865G Integrated Graphics Controller).

    Сконфигурировал там xorg.conf аналогичным образом, и в результате X запустились, glxinfo показал direct rendering: Yes, a mplayer перестал работать.

    Лечится исправлением видеодрайвера для mplayer:

    # cat /etc/mplayer/mplayer.conf | grep gl2
    vo=gl2,x11

    Теперь и mplayer заработал на ура.

    Переход на OpenSuSe 11.4

    Убил выходные на то, чтобы 3 компьютера проапгрейдить со старых ОС на OpenSuSe 11.4.

    Хуже всего проходил upgrade с 11.0 на 11.4 на ноутбуке. Вроде и система установилась нормально, перегружаю ноутбук, и при попытке залогиниться получаю отбивку – “Неизвестный модуль” (или для англоязычной версии “Module is unknown”).

    Выяснилось, что в 11.4 для авторизации используются модули PAM (которые не были установлены на ноутбуке в версии 11.0 и при апгрейде система их “забыла” поставить). Так что есть два варианта решения проблемы – либо доставить модули руками (что проблематично, т.к. так просто залогиниться не получится), либо отключить использование PAM при логине – я так и сделал.

    Процедура следующая. При загрузке системы в меню Grub надо выбрать соответствующий вариант загрузки и руками в опцию загрузки написать single. В однопользовательском режиме надо поправить файл /etc/pam.d/login, и закомментировать строчку:

    #session required pam_resmgr.so

    После перезагрузки ноутбука в обычном режиме в систему уже можно было залогиниться, но запустить X с помощью startx мог только root (остальным пользователям не хватало прав). Проблема не наблюдалась в runlevel 5 (т.к. там иксы стартуют от рута), но у меня все работает в runlevel 3 и иксы запускаются только при необходимости. Это лечится добавлением прав на запуск:

    # chmod a+s /usr/bin/Xorg

    Прощай, Google App Engine!

    Это завершающая статья про Google App Engine. Я принял решение отказаться от использования GAE в своих проектах.

    Сначала платформа Google App Engine мне показалась очень интересной. Я даже наваял на ней пару тестовых приложений, и когда меня все устроило, запустил несколько более-менее серьезных проектов на GAE.

    Потом выяснилось, что Google стал блокировать доступ к сайтам на GAE по непонятным причинам, а спустя какое-то время даже прикрыл свой проект appgallery.appspot.com, написанный на GAE и предназначенный для популяризации этой платформы.

    Такой зависимости от капризов гугла я терпеть не мог, и решил уйти с платформы Google App Engine.

    Когда я забрал данные из хранилища в Google App Engine в формате sqlite3, я думал, что сконвертировать их, например в mysql, будет совсем не сложно.

    Я ошибался. Данные в дампе оказались нечитаемыми, и с ними нормально работать мог только движок Google App Engine. Поэтому мне пришлось сделать реэкспорт данных из хранилища GAE в другой читабельный формат.

    К счастью, bulkloader умеет экспортировать данные и в других форматах, например, CSV или XML. Про экспорт в XML есть хорошая статья на Хабре, где по полочкам и разложено, как настроить bulkloader.yaml для корректного преобразования данных в XML.

    Так как сайты на платформе GAE может хостить только Google, платформа оказалась тупиковой ветвью в развитии фреймворков на Python, использовать ее стало бесполезно и даже опасно. Уж лучше писать на Django, чем бездарно тратить время на GAE.