<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://paz00.ru/index.php?action=history&amp;feed=atom&amp;title=AC100_Bluetooth_Phone</id>
	<title>AC100 Bluetooth Phone - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://paz00.ru/index.php?action=history&amp;feed=atom&amp;title=AC100_Bluetooth_Phone"/>
	<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=AC100_Bluetooth_Phone&amp;action=history"/>
	<updated>2026-05-01T04:10:15Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://paz00.ru/index.php?title=AC100_Bluetooth_Phone&amp;diff=85&amp;oldid=prev</id>
		<title>Unknown user в 08:13, 15 октября 2014</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=AC100_Bluetooth_Phone&amp;diff=85&amp;oldid=prev"/>
		<updated>2014-10-15T08:13:08Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Предисловие==&lt;br /&gt;
Эти раскопки больше о том, как работает это все изнутри или как все сделать без иксов. В большинстве дистрибутивов нужно лишь потыкаться в меню :)&lt;br /&gt;
&lt;br /&gt;
==Раскопки в интернете==&lt;br /&gt;
Настоятельно рекомендую прочитать статью &amp;quot;[http://onix.opennet.ru/content/view/43/26/ Подключаем Bluetooth телефон к Linux, или Синий зуб на службе cистемного администратора]&amp;quot;, перед тем, как что-то настраивать. Статья дает хорошее представление о том, что такое bluetooth, какие команды и как можно использовать для настройки и просмотра статусов.&lt;br /&gt;
Чуть более актуальная (т.к. bluez поменялся, со вермени написания первой статьи) информация по Bluez описана в статье [http://wiki.openmoko.org/wiki/Manually_using_Bluetooth Manually using Bluetooth].&lt;br /&gt;
[http://git.kernel.org/?p=bluetooth/bluez.git;a=tree;f=doc;hb=HEAD Документация bluez] находится в дереве исходников в папке doc.&lt;br /&gt;
&lt;br /&gt;
Опционально можно почитать:&lt;br /&gt;
[https://wiki.archlinux.org/index.php/Bluetooth archlinux: Bluetooth]&lt;br /&gt;
[http://www.thinkwiki.org/wiki/How_to_setup_Bluetooth How to setup Bluetooth]&lt;br /&gt;
[http://habrahabr.ru/blogs/linux/53966/ Bluetooth в Linux]&lt;br /&gt;
[http://linuxopen.ru/2008/07/23/linux-i-bluetooth-telefon.html Linux и bluetooth телефон]&lt;br /&gt;
[http://linuxopen.ru/2008/02/20/bluetooth-gprs.html Bluetooth, gprs]&lt;br /&gt;
Настройка GPRS соединения может производиться аналогично [[3g модем без NM|настройке внутреннего модема]], либо, полагаю, с использованием Network Manager'а.&lt;br /&gt;
&lt;br /&gt;
==Настройка bluetooth== &lt;br /&gt;
Основную информацию я почерпнул из двух статей, описанных выше, - &amp;quot;[http://onix.opennet.ru/content/view/43/26/ Подключаем Bluetooth телефон к Linux, или Синий зуб на службе cистемного администратора]&amp;quot;, &amp;quot;[http://wiki.openmoko.org/wiki/Manually_using_Bluetooth|Manually using Bluetooth]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''Что нам потребуется'''&lt;br /&gt;
bluez (у меня версия 4.91) - предоставляет утилиты hciconfig, sdptool, hcitool, l2ping&lt;br /&gt;
dbus&lt;br /&gt;
pthon&lt;br /&gt;
dbus-python&lt;br /&gt;
pygobject&lt;br /&gt;
Пакеты ставить в соответствии со своим дистрибутивом я надеюсь все умеют.&lt;br /&gt;
&lt;br /&gt;
'''Рассматриваем bluetooth подробнее'''&lt;br /&gt;
Раньше bluez состоял из множества демонов, теперь же остался только один - bluetoothd.&lt;br /&gt;
Если сервис bluetooth не застартован (как стартануть покажу позже), то hciconfig покаже следующую информацию.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% hciconfig -a&lt;br /&gt;
hci0:    Type: BR/EDR  Bus: USB&lt;br /&gt;
    BD Address: 00:00:00:00:00:00  ACL MTU: 0:0  SCO MTU: 0:0&lt;br /&gt;
    DOWN&lt;br /&gt;
    RX bytes:0 acl:0 sco:0 events:0 errors:0&lt;br /&gt;
    TX bytes:0 acl:0 sco:0 commands:0 errors:0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Сейчас статус DOWN и BD Address (Bluetooth Device Address) нулевой.&lt;br /&gt;
&lt;br /&gt;
Стартуем сервис (конфиги пока не трогаем) и смотрим, что поменялось.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% sudo chmod a+x /etc/rc.d/rc.bluetooth&lt;br /&gt;
% sudo /etc/rc.d/rc.bluetooth start&lt;br /&gt;
% hciconfig -a&lt;br /&gt;
hci0:    Type: BR/EDR  Bus: USB&lt;br /&gt;
    BD Address: 6C:62:6D:16:47:52  ACL MTU: 310:10  SCO MTU: 64:8&lt;br /&gt;
    UP RUNNING PSCAN&lt;br /&gt;
    RX bytes:970 acl:0 sco:0 events:29 errors:0&lt;br /&gt;
    TX bytes:606 acl:0 sco:0 commands:29 errors:0&lt;br /&gt;
    Features: 0xff 0xff 0x8f 0xfe 0x9b 0xff 0x59 0x83&lt;br /&gt;
    Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3&lt;br /&gt;
    Link policy: RSWITCH HOLD SNIFF PARK&lt;br /&gt;
    Link mode: SLAVE ACCEPT&lt;br /&gt;
    Name: 'slackware-0'&lt;br /&gt;
    Class: 0x480100&lt;br /&gt;
    Service Classes: Capturing, Telephony&lt;br /&gt;
    Device Class: Computer, Uncategorized&lt;br /&gt;
    HCI Version: 2.1 (0x4)  Revision: 0x149c&lt;br /&gt;
    LMP Version: 2.1 (0x4)  Subversion: 0x149c&lt;br /&gt;
    Manufacturer: Cambridge Silicon Radio (10)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для поиска устройств можно воспользоваться утилитой hcitool&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% hcitool scan&lt;br /&gt;
Scanning ...&lt;br /&gt;
    00:24:04:2C:C0:5C    Stuw-phone&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
или же сразу смотреть детальный список доступных сервисов утилитой sdptool (вывод достаточно большой даже для одного устройства).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% sdptool browse&lt;br /&gt;
Inquiring ...&lt;br /&gt;
Browsing 00:24:04:2C:C0:5C ...&lt;br /&gt;
Service Name: Network Access Point Service&lt;br /&gt;
Service Description: Personal Ad-hoc Network Service which provides access to a network&lt;br /&gt;
Service RecHandle: 0x10000&lt;br /&gt;
Service Class ID List:&lt;br /&gt;
  &amp;quot;Network Access Point&amp;quot; (0x1116)&lt;br /&gt;
Protocol Descriptor List:&lt;br /&gt;
  &amp;quot;L2CAP&amp;quot; (0x0100)&lt;br /&gt;
    PSM: 15&lt;br /&gt;
  &amp;quot;BNEP&amp;quot; (0x000f)&lt;br /&gt;
    Version: 0x0100&lt;br /&gt;
    SEQ8: dd 6&lt;br /&gt;
Language Base Attr List:&lt;br /&gt;
  code_ISO639: 0x656e&lt;br /&gt;
  encoding:    0x6a&lt;br /&gt;
  base_offset: 0x100&lt;br /&gt;
Profile Descriptor List:&lt;br /&gt;
  &amp;quot;Network Access Point&amp;quot; (0x1116)&lt;br /&gt;
    Version: 0x0100&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Если ей не указать BD Address, то она будет искать все сервисы на всех девайсах. Для поиска сервисов на одном устройстве, нужно указать его.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% sdptool browse 00:24:04:2C:C0:5C&lt;br /&gt;
..&lt;br /&gt;
Service Name: Dial-up networking&lt;br /&gt;
Service RecHandle: 0x10003&lt;br /&gt;
Service Class ID List:&lt;br /&gt;
  &amp;quot;Dialup Networking&amp;quot; (0x1103)&lt;br /&gt;
  &amp;quot;Generic Networking&amp;quot; (0x1201)&lt;br /&gt;
Protocol Descriptor List:&lt;br /&gt;
  &amp;quot;L2CAP&amp;quot; (0x0100)&lt;br /&gt;
  &amp;quot;RFCOMM&amp;quot; (0x0003)&lt;br /&gt;
    Channel: 1&lt;br /&gt;
Language Base Attr List:&lt;br /&gt;
  code_ISO639: 0x656e&lt;br /&gt;
  encoding:    0x6a&lt;br /&gt;
  base_offset: 0x100&lt;br /&gt;
Profile Descriptor List:&lt;br /&gt;
  &amp;quot;Dialup Networking&amp;quot; (0x1103)&lt;br /&gt;
    Version: 0x0100&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Сервисов устройство может поддерживать много, но нас пока интересует один - Dial-up networking. Тут важно запомнить/записать значение параметра channel.&lt;br /&gt;
&lt;br /&gt;
Проверить связь с устройством можно командой l2ping&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% sudo l2ping 00:24:04:2C:C0:5C&lt;br /&gt;
Ping: 00:24:04:2C:C0:5C from 6C:62:6D:16:47:52 (data size 44) ...&lt;br /&gt;
0 bytes from 00:24:04:2C:C0:5C id 0 time 7.74ms&lt;br /&gt;
0 bytes from 00:24:04:2C:C0:5C id 1 time 24.23ms&lt;br /&gt;
0 bytes from 00:24:04:2C:C0:5C id 2 time 23.62ms&lt;br /&gt;
0 bytes from 00:24:04:2C:C0:5C id 3 time 30.45ms&lt;br /&gt;
0 bytes from 00:24:04:2C:C0:5C id 4 time 22.37ms&lt;br /&gt;
5 sent, 5 received, 0% loss&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Посмотреть информацию об устройстве поможет hcitool&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% sudo hcitool info 00:24:04:2C:C0:5C&lt;br /&gt;
Requesting information ...&lt;br /&gt;
    BD Address:  00:24:04:2C:C0:5C&lt;br /&gt;
    Device Name: Stuw-phone&lt;br /&gt;
    LMP Version: 2.0 (0x3) LMP Subversion: 0x2222&lt;br /&gt;
    Manufacturer: Broadcom Corporation (15)&lt;br /&gt;
    Features: 0xbf 0xee 0x0f 0xce 0x98 0x39 0x00 0x00&lt;br /&gt;
        &amp;lt;3-slot packets&amp;gt; &amp;lt;5-slot packets&amp;gt; &amp;lt;encryption&amp;gt; &amp;lt;slot offset&amp;gt;&lt;br /&gt;
        &amp;lt;timing accuracy&amp;gt; &amp;lt;role switch&amp;gt; &amp;lt;sniff mode&amp;gt; &amp;lt;RSSI&amp;gt;&lt;br /&gt;
        &amp;lt;channel quality&amp;gt; &amp;lt;SCO link&amp;gt; &amp;lt;HV3 packets&amp;gt; &amp;lt;u-law log&amp;gt;&lt;br /&gt;
        &amp;lt;A-law log&amp;gt; &amp;lt;CVSD&amp;gt; &amp;lt;paging scheme&amp;gt; &amp;lt;power control&amp;gt;&lt;br /&gt;
        &amp;lt;transparent SCO&amp;gt; &amp;lt;EDR ACL 2 Mbps&amp;gt; &amp;lt;EDR ACL 3 Mbps&amp;gt;&lt;br /&gt;
        &amp;lt;enhanced iscan&amp;gt; &amp;lt;inquiry with RSSI&amp;gt; &amp;lt;extended SCO&amp;gt;&lt;br /&gt;
        &amp;lt;AFH cap. slave&amp;gt; &amp;lt;AFH class. slave&amp;gt; &amp;lt;3-slot EDR ACL&amp;gt;&lt;br /&gt;
        &amp;lt;5-slot EDR ACL&amp;gt; &amp;lt;AFH cap. master&amp;gt; &amp;lt;AFH class. master&amp;gt;&lt;br /&gt;
        &amp;lt;EDR eSCO 2 Mbps&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь нам нужно (на самом деле я пока не проверял обязательность, но полагаю это позволяет выполнять некоторые команды без доп аргументов. могу и ошибаться :) ) поменять конфиг /etc/bluetooth/rfcomm.conf. У меня получился вот такой конфиг (значение channel мы узнали чуть раньше командой sdptool browse 00:24:04:2C:C0:5C).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# RFCOMM configuration file.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
rfcomm0 {&lt;br /&gt;
    # Automatically bind the device at startup&lt;br /&gt;
    bind no;&lt;br /&gt;
&lt;br /&gt;
    # Bluetooth address of the device&lt;br /&gt;
    device 00:24:04:2C:C0:5C;&lt;br /&gt;
&lt;br /&gt;
    # RFCOMM channel for the connection&lt;br /&gt;
    channel    1;&lt;br /&gt;
&lt;br /&gt;
    # Description of the connection&lt;br /&gt;
    comment &amp;quot;Nokia 5130 stuw&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Также советую поменять значение Name в /etc/bluetooth/main.conf, на что-то более вам понятное (это имя будет отображаться на телефоне, когда тошка будет конектиться к нему).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
# Default adaper name&lt;br /&gt;
# %h - substituted for hostname&lt;br /&gt;
# %d - substituted for adapter id&lt;br /&gt;
Name = ac100-stuw&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пробуем соединиться&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% rfcomm connect rfcomm0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Но тут меня ждал облом - код на телефоне я вводил, но соединение обламывалось, т.к. на тошке про код ничего не было известно.&lt;br /&gt;
Порыскав в инете я нашел информацию о том, что теперь нужно использовать [http://git.kernel.org/?p=bluetooth/bluez.git;a=blob_plain;f=test/simple-agent;h=f2cc3dde9f9469eb811084d544ef70c490485f85;hb=8e32a44dfa0cf638e242fd5426143b7789847d40 simple-agent] (находится в дереве исходников bluez, написан на питоне). Для wget нужно адрес брать в кавычки, иначе будете как я по недосмотру скачивать html с данными о ревизиях или что-то подобное.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% wget &amp;quot;http://git.kernel.org/.....43b7789847d40&amp;quot;&lt;br /&gt;
% chmod a+x simple-agent&lt;br /&gt;
% sudo ./simple-agent hci0 00:24:04:2c:c0:5c&lt;br /&gt;
... тут запросится PIN ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Я ввел на телефоне тот же самый pin код и разрешил автоподключение. После перезагрузки компа нужно делать bind (если bluetooth на телефоне не был включен и не стояла включенной опция bind в rfcomm.conf). Операция прошла успешно и у меня появился девайс /dev/rfcomm0&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% sudo rfcomm bind 0&lt;br /&gt;
% rfcomm&lt;br /&gt;
rfcomm0: 00:24:04:2C:C0:5C channel 1 clean&lt;br /&gt;
% ls -l /dev/rfcomm0&lt;br /&gt;
crw-rw---- 1 root dialout 216, 0 Nov 13 16:11 /dev/rfcomm0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
При попытке сделать cat из девайса у меня ничего не вывелось, но автоматически установилось соединение с телефоном. При отмене cat по ctrl+c соединение прекратилось. Что и как можно оптимизировать и как настроить GPRS соединение мне еще предстоит выяснить.&lt;br /&gt;
&lt;br /&gt;
'''Подключаемся к internet'''&lt;br /&gt;
Я использовал статью о [[3g модем без NM|настройке внутреннего модема]] с нашей вики для настройки своего соединения. Единственное заменил /dev/ttyACM0 на /dev/rfcomm0 и mts на beeline :)&lt;br /&gt;
Для подключения я использовал команду pppd call beeline, т.к. pon команды в моем дистре нет, и я не стал искать, в каком пакете она идет.&lt;br /&gt;
&lt;br /&gt;
'''Возможные проблемы'''&lt;br /&gt;
Возможно у Вас этой проблемы не возникнет, но у меня не резолвились адреса - не работал DNS.&lt;br /&gt;
Т.е. ping ya.ru возвращает ошибку - unknown host, а ping 8.8.8.8 проходит на ура.&lt;br /&gt;
Решил я это следующим образом (возможно это не правильный способ, но самый быстрый :) ):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo mv /etc/resolve.conf /etc/resolve.conf.bak&lt;br /&gt;
sudo ln -s /etc/ppp/resolve.conf /etc/resolve.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Unknown user</name></author>
	</entry>
</feed>