воскресенье, 28 июня 2009 г.

Dell Latitude D630

Поменял свой Acer на чудо техники от Dell. Железо в нем следующее:
  • Core 2 Duo T8100 2.1Ghz
  • Nvidia Quadro NVS 135M
  • Broadcom BCM4312 802.11b/g (Wireless 1395 WLAN Mini-Card)
Остальное для "диагноза" не важно. Видео завелось без проблем по изложенной ранее инструкции. Судя по смутным данным из Интернета, карточка примерно соответствует GeForce 8400. Разницы после 8600 не почувствовал.

А вот с Wi-Fi как быть, я не сразу понял. Между прочим, в Ubuntu 8.10 Wi-Fi завелся без проблем. В Debian придется чуток по-плясать с бубном. Если у вас ядро из репозитория, то наверное можно сделать так:
# m-a a-i broadcom-sta-source
# apt-get install broadcom-sta-common
Если же ядро из исходников, то ставим broadcom-sta-source и broadcom-sta-common, распаковываем исходники куда положено, собираем ядро и модули, ставим пакеты.
У меня данный модуль упорно не хотел подключаться при загрузке системы, пришлось насильно вписать его и модуль для шифрования в файл /etc/modules для их "автозагрузки":
wl
ieee80211_crypt_tkip
После этого интерфейс карточки нормально цепляется через Network Manager 0.7.

Пока что не разобрался с местным "фирменным" пакетом для поддержки таких фишек как DVD-ROM с горячим извлечением и специальных сочетаний клавиш, может допишу об этом позже....

Обновление
Начиная с версии ядра 2.6.32, карта Wi-Fi поддерживается свободным драйвером b43. Единственное, необходимо установить пакет, скачивающий и извлекающий прошивку для карточки:
# apt-get install b43-fwcutter (см. обновление 2)

и согласиться на скачивание и извлечение прошивок.
Также, если был установлен пакет broadcom-sta-common со вспомогательными файлами для проприетарных драйверов, то его необходимо удалить. Вместе с ним удалятся и сами проприетарные драйверы. Пакет мешает автоматической загрузке свободного драйвера при старте системы.

Обновление 2
Как оказалось, b43-fwcutter из репозитория Debian устарел и не подходит для моей карточки. Если вы успели установить b43-fwcutter, делаем следующее:
# apt-get purge b43-fwcutter
# rm -R /lib/firmware/b43 /lib/firmware/b43-legacy
Как гласит инструкция на сайте, посвященном Wi-Fi в Linux, нужно сделать следующее (из любой папки, где не жалко намусорить):
$ git clone http://git.bu3sch.de/git/b43-tools.git
$ cd b43-tools/fwcutter
$ make
$ cd ..
$ wget http://downloads.openwrt.org/sources/broadcom-wl-4.178.10.4.tar.bz2
$ tar xjf broadcom-wl-4.178.10.4.tar.bz2
$ cd broadcom-wl-4.178.10.4/linux
# export FIRMWARE_INSTALL_DIR="/lib/firmware"
# ../../fwcutter/b43-fwcutter -w "$FIRMWARE_INSTALL_DIR" wl_apsta.o
После этого можно пользоваться.

Еще одним закрытым драйвером в системе стало меньше и это замечательно! В следующем ядре обещают еще и nouveau в основную ветку включить. Если он и правда достаточно хорош для повседневного использования, то в моей системе не останется закрытых драйверов.

четверг, 7 мая 2009 г.

Blueman - управляющий синим зубом

С bluetooth в GNOME как-то изначально не заладилось... Не было хорошей программы, умеющей всё сразу. Как раз такой программой и является Blueman. Заявленные возможности:
  • Добавление устройств в "доверенные", обмен ключами.
  • Поиск доступных устройств для подключения.
  • Соединение с интернетом через GPRS/EDGE/3G, также умеет создавать rfcomm-устройства и они становятся доступны для подключения через Network Manager 0.7
  • Создание и подключение к сетям через синий зуб.
  • Работа с устройствами ввода и аудио.
  • Прием, передача файлов. Можно просматривать файлы на устройствах в Nautilus через службу OBEX.
До недавних пор не было возможности собрать или установить Blueman версии выше 0.6 в Debian. Новые версии основаны на стеке bluez 4, а в Debian была доступна только 3-я версия этого пакета. Но и этой преграды больше нет. В экспериментальной ветке появился наконец-то bluez 4, спасибо причастным к этому людям. Однако после установки пакетов от Ubuntu из репозитория программа отказалась работать. Пришлось скачать исходники пакета и собрать его заново. После этого всё запустилось и заработало. Уже собранные пакеты (Blueman и Obex Data Server) для Debian под архитектуру i386 есть на моей страничке.

Обновление
Blueman уже есть в репозиториях Debian! Спасибо виновным!

среда, 1 апреля 2009 г.

Foxmarks + nginx + WebDAV = синхронизация закладок

Если у вас вдруг имеется компьютер с Debian (или с другой nix-системой), постоянно подключенный к интернету, и нужно синхронизировать закладки браузера с нескольких машин через интернет, то неплохим решением будет поднять web-сервер на этом компьютере (будем называть его сервером), настроить протокол WebDAV, поставить в браузер плагин Foxmarks, настроить плагин на работу с собственным сервером и радоваться жизни. В качестве сервера я использовал VDS с 64Мб памяти и 1Гб места на жестком.

Т.к. на VDS установлен Debian Etch, пришлось подключить репозитории testing. Далее ставим очень легкий web-сервер nginx:
# apt-get install nginx
Далее создаем файл /etc/nginx/sites-available/bookmarks следующего содержания:

server {
listen 8080;
server_name your.domain.name;

client_body_temp_path /path/to/temp;
charset utf-8;

auth_basic get-out;
auth_basic_user_file /etc/nginx/pass;

location / {
root /path/to/your/bookmarks;
dav_methods PUT DELETE MKCOL COPY MOVE;
create_full_put_path on;
dav_access user:rw group:rw all:r;
}
}

В этом файле нужно настроить следующее:
  • 8080 - порт для соединений. Если вы собираетесь синхронизироваться из офиса, где перекрыта часть портов, здесь есть смысл поставить один из открытых портов.
  • your.domain.name - доменное имя вашего сервера.
  • /path/to/temp - путь к временной папке.
  • /etc/nginx/pass - путь к файлу с именами пользователей и паролями, его мы создадим позже.
  • /path/to/your/bookmarks - путь к папке, куда и будет производиться синхронизация.
  • user:rw group:rw all:r - права для вновь создаваемых сервером файлов.
Теперь включим эту настройку:
# ln -s /etc/nginx/sites-available/bookmarks /etc/nginx/sites-enabled/bookmarks

Для создания файлика с паролями нам понадобится утилита htpasswd из пакетов apache2-utils или mini-httpd. Можно сгенерировать файл на другой машине и затем перенести его (или просто скопировать содержимое). Для создания файла выполним следующее:
# htpasswd -c /etc/nginx/pass username
Первый параметр - это файл, путь к которому мы указали в настройках nginx. username - имя пользователя, с которым мы будем заходить на сервер. В процессе работы утилита спросит 2 раза новый пароль для пользователя и отрапортует об успехе.

Можно смело перезапускать nginx для применения настроек:
# /etc/init.d/nginx restart

Далее ставим Foxmarks в Iceweasel (Firefox). При первом запуске плагин попробует настроить нам учетную запись на своем сервере, нужно отказаться от этого. Первым делом идем в настройки браузера, в раздел "Приватность" -- "Исключения...", пишем в поле "Адрес сайта" адрес нашего сервера и жмем кнопку "Включить". Закрываем окно. Это нужно потому, что браузер по-умолчанию блокирует cookies от каких-попало сайтов.

Теперь идем в настройки Foxmarks (можно быстро попасть туда, нажав на иконке в статусной строке). Здесь необходимо настроить следующее:
  • Первым делом на вкладке "Дополнительно" нужно включить опцию "Использование собственного сервера" и вписать 2 адреса к файлам для синхронизации закладок и паролей. Например, такие адреса:
    http://your.domain.name/bookmarks.json
    http://your.domain.name/passwords.json
  • На вкладке "Учетная запись" нужно заполнить поля "Имя пользователя" и "Пароль" теми данными, которые вы указали утилите htpasswd.
И всё. Жмем на кнопку синхронизации и радуемся жизни. Идею такой настройки подсказали в jabber-конференции debian@conference.jabber.ru

Обновление
При первой синхронизации может возникнуть проблема, связанная наверное с отсутствием файлов на сервере. Нужно зайти в Foxmarks и на вкладке "Дополнительно" нажать кнопку "Отправить" напротив "Перезаписать закладки на сервере". Это нужно делать при первой для сервера синхронизации. При появлении нового клиента это делать уже не нужно, т.к. вы убьете свои закладки на сервере.