Местные зеркала репозиториев

Здесь собираются зеркала репозиториев различных linux-дистрибутивов. Расположение зеркал - Приморский край, главным образом - Владивосток. Добавление новых зеркал - приветствуется.

→ Читать дальше...

2013-04-20

UTF8 локаль в ArchLinux

Дизель выложил в свое время замечательную ссылочку на форуме по поднятию UTF8 локали в Arch Linux

Здесь я хочу что бы все желающие выдавали свои дополнения, оформенные в виде статьи.

Итак, положим начало...

→ Читать дальше...

2009-12-03

Доступ в интернет через связку Linux+Bluetooth+Mobile+GPRS на примере Arch Linux

В этом руководстве без лишних слов и очень кратко описывается весь процесс настройки USB Bluetooth адаптера и ppp соединения для доступа в интернет через мобильный телефон.

В качестве примера приведены настройки для двух операторов сотовой связи Приморья: НТК и МегаФон Дальний Восток.

Для начала давайте разберемся, что мы будем делать и для чего нам это нужно. Наша конечная цель - заставить работать связку Linux+Bluetooth+Mobile+GPRS. То есть первое, что нам нужно:

  • Заставить работать Bluetooth адаптер (в этом руководстве речь пойдет о USB адаптерах).
  • Настроить соединение между телефоном и компьютером посредством bluetooth. Будем использовать стек Bluez.
  • Настроить соответствующим образом pppd.
  • Ура! Работает! Или не работает...

Ну, а теперь обо всем по порядку.

Настройка ядра

Я настраивал адаптер Tekram TM-304. Для того, чтоб заставить эту штуку работать, сначала скомпилируем некоторые модули ядра.

Если вы используете make menuconfig для конфигурирования ядра, то вот как нужно расставить флажки:

Networking support
  Bluetooth subsystem support  --->
    <M>   L2CAP protocol support
    < >   SCO links support
    <M>   RFCOMM protocol support
    [*]   RFCOMM TTY support
    < >   BNEP protocol support
    <M>   HIDP protocol support
  Bluetooth device drivers  --->
    <M> HCI USB driver

Ну а если вы используете make config или решили вручную включить нужные опции в конфиге ядра (обычно это файл /ust/src/linux/.config), то вот они:

CONFIG_BT=m
CONFIG_BT_L2CAP=m
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_HIDP=m
CONFIG_BT_HCIUSB=m

Все. Можно собирать модули. Не забудьте позаботиться о загрузке необходимых модулей при каждой перезагрузке (если udev не настроен должным образом).

Если у вас нет желания возиться с модулями или религия не позволяет их использовать, можете собрать ядро монолитно. Должно работать. Не проверял.

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

$ modprobe bluetooth

По зависимостям он должен автоматически потянуть модули: rfcomm, hidp, l2cap, hci_usb. Если этого не произошло, то грузим их все по порядку, а в самую последнюю очередь модуль bluetooth.

Переходим к настройке стека bluetooth и сопутствующих утилит

Ставим необходимый набор утилит для работы с bluetooth стеком Bluez. Через зависимости тянется пакет bluez-libs. $ pacman -S bluez-utils

Запускаем всю bluetooth подсистему: $ /etc/rc.d/bluetooth start Сразу не забываем добавить автоматический запуск этого скрипта при загрузке системы. Для этого в файле /etc/rc.conf в переменную DEAMONS добавляем соответствующую запись.

Проверяем, что в телефоне включен bluetooth и что он виден всем.

Теперь попытаемся найти все bluetooth устройства, находящихся в зоне досигаемости нашего bluetooth адаптера. $ hcitool scan Запомните (шутка) запишите адрес bluetooth адаптера, соответствующий вашему телефону.

В файле /etc/rfcomm.conf в параметре device указываем адрес нашего телефона. И не забываем установить значение параметра "bind" в "yes"! Иначе не будет автоматически создан файл устройства /dev/rfcomm0 и его созданием придется заморачиваться отдельно.

В файле /etc/hcid.conf в качестве параметра pin_helper указываем /usr/bin/simplepin. Разбираться с навороченым bluezpin, который идет в комплекте, да еще и написан на питоне, совсем не охота. Мы напишем скрипт немного проще:

/usr/bin/simplepin:

#!/bin/sh
echo "PIN:1234"

Вот и весь скрипт.

Перезапускаем всю bluetooth подсистему:

$ /etc/rc.d/bluetooth stop
$ /etc/rc.d/bluetooth start

Теперь можно проверить, работает ли у нас bluetooth соединение. Для этого установим соединение: $ hcitool cc <адрес bluetooth адаптера вашего телефона>

Если все прошло гладко, то команда $ hcitool con должна выдать информацию об установленном соединении.

Теперь попробуем отправить запрос на аутентификацию: $ hcitool auth <адрес bluetooth адаптера вашего телефона>

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

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

Переходим к настройке ppp соединения

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

Содержимое файла /etc/ppp/peers/ntc-gprs:

lcp-echo-failure 0
lcp-echo-interval 0
connect /etc/ppp/peers/ntc-gprs-connect-chat
/dev/rfcomm0
115200
crtscts
local
noipdefault
ipcp-accept-local
defaultroute
#replacedefaultroute
usepeerdns
novj
nobsdcomp
novjccomp
nopcomp
noaccomp
noauth
mtu 1400

Здесь стоит обратить внимание на последнюю строку: "mtu 1400". По умолчанию значение параметра mtu (Maximum Transfer Unit) равно 1500. А у нашего провайдера максимальный размер пакета ограничен цифоркой несколько меньшей. Какая это точно цифра, мне узнать не удалось, но со значением 1400 все работает на ура. Если этот параметр не указать, то интернет у вас тоже будет работать, но, поработав немного, вы заметите, что, оказывается, не можете добавлять в форумы сообщения, состоящие более чем из одной-двух строк. Неприятно. mtu 1400 спасет отца русской демократии.

Содержимое файла /etc/ppp/peers/ntc-gprs-connect-chat:

exec chat -vS       '' \rAT       TIMEOUT 12       OK ATH       OK ATE1       OK 'AT+CGDCONT=1,"IP","internet.ntc"'       OK ATD*99***1#       TIMEOUT 22       SAY "\nwaiting for connect...\n"       CONNECT ""       SAY "\nConnected."

Здесь, в зависимости от того, какой у вас оператор мобильной связи, может меняться только один параметр: APN (точка входа). Здесь я привел пример для НТК. Если, например, у вас "Мегафон дальний восток", то в качестве APN нужно указать internet.dv.

Содержимое файла /etc/resolv.conf:

# Для NTC IP адреса DNS серверов будут такими:
nameserver 80.243.64.67
nameserver 80.243.68.34

# Для "Мегафон дальний восток" такими:
nameserver 83.149.52.77
nameserver 194.186.112.18

Вот и все. После этого все должно работать. Пробуем подключиться:

$ pppd call ntc-gpts

Материалы по теме:

P.S.: Очень рекомендую источник [3]. Обнаружил я эту статью уже после того, как написал свою. Кстати, телефон у автора такой же как у меня ;)

(c) Rayven, 2006.

ArchLinux, nForce4: настройка сенсоров

  • Делаем раз: pacman -Sy lm_sensors
  • Редактируем /etc/rc.conf, в загружаемые модули добавляем (MODULES): i2c-nforce2 i2c-isa eeprom it87
  • В /etc/rc.local добавляем строчку sensors -s
  • Открываем /etc/modprobe.conf, добавляем:

    I2C module options

    alias char-major-89 i2c-dev

→ Читать дальше...

2009-12-03