Bug 31212 - Невозможно настроить подключение смартфона для доступа в Интернет по 3G
Summary: Невозможно настроить подключение смартфона для доступа в Интернет по 3G
Status: CLOSED WORKSFORME
Alias: None
Product: Sisyphus
Classification: Development
Component: bluez (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Konstantin A Lepikhov (L.A. Kostis)
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-08-19 21:42 MSK by Vyacheslav Dikonov
Modified: 2017-09-11 11:04 MSK (History)
4 users (show)

See Also:


Attachments
Spec для сборки blueman-2.0 (5.85 KB, text/plain)
2015-08-20 11:48 MSK, Vyacheslav Dikonov
no flags Details
черновой spec для blueman2.1 (7.97 KB, text/x-rpm-spec)
2017-09-08 23:20 MSK, Vyacheslav Dikonov
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Vyacheslav Dikonov 2015-08-19 21:42:00 MSK
Blueberry не дает возможности настроить подключение смартфона для доступа в Интернет по 3G. Телефон виден и спаривается, но подключить его после спаривания невозможно.

При попытке подключения получаем ошибку a2dp-source profile connect failed for A0:4E:04:A2:EE:C7: Protocol not available. 

a2dp абсолютно не нужен! Как запретить использовать a2dp непонятно. Где сменить имя компьютера в bluetooth и определить список интересующих служб непонятно.  Каталога /etc/bluetooth больше нет. Где находится настройка непонятно. Blueman нет. bluetooth-wizard в gnome-bluetooth нет. Network-manager при попытке добавить сетевое соединение по bluetooth не видит спаренных устройств.

Нельзя такую какашку было выкладывать.
Comment 1 Vyacheslav Dikonov 2015-08-20 00:26:46 MSK
После сборки blueman-2.0 с
https://github.com/blueman-project/blueman

соединение начало устанавливаться. В blueman и blueberry телефон показан как подключенный но NetworkManager по-прежнему не видит устройства в диалоге добавления bluetooth соединения.   
Из blueman видна ошибка DUN:


Соединение невозможно или разорвано: Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/blueman/services/meta/SerialService.py", line 29, in connect
    port_id = create_rfcomm_device(Adapter(props['Adapter']).get_properties()['Address'], props['Address'], 1)
  File "_blueman.pyx", line 218, in _blueman.create_rfcomm_device (_blueman.c:2127)
Exception: Can't connect RFCOMM socket

Все рекомендации в интернете сводятся к правке несуществующих конфигов bluez в /etc/bluetooth. Как настроить RFCOMM socket в сизифной версии bluez?
Comment 2 Vyacheslav Dikonov 2015-08-20 11:48:16 MSK
Created attachment 6347 [details]
Spec для сборки blueman-2.0
Comment 3 Vyacheslav Dikonov 2015-08-20 12:47:42 MSK
Создал каталог /etc/bluetooth и в нем rfcomm.conf
Теперь имеем следующее:

$ rfcomm
rfcomm0: 90:27:E4:F9:04:BD -> A0:4E:04:A2:EE:C7 channel 1 connected [reuse-dlc release-on-hup tty-attached]

Почему в пакете bluez нет хотя-бы заготовок этоих конфигов?

Однако, в логах по-прежнему видна ошибка:

Bluetooth: TIOCGSERIAL is not supported.

Что дальше - опять непонятно.

До этого тот самый телефон (N900) прекрасно работал с bluez4 и был основным каналом в Интернет для ноутбука в поездках.
Comment 4 Konstantin A Lepikhov (L.A. Kostis) 2017-09-04 00:55:23 MSK
(In reply to comment #3)
> Создал каталог /etc/bluetooth и в нем rfcomm.conf
> Теперь имеем следующее:
> 
> $ rfcomm
> rfcomm0: 90:27:E4:F9:04:BD -> A0:4E:04:A2:EE:C7 channel 1 connected [reuse-dlc
> release-on-hup tty-attached]
> 
> Почему в пакете bluez нет хотя-бы заготовок этоих конфигов?
> 
> Однако, в логах по-прежнему видна ошибка:
> 
> Bluetooth: TIOCGSERIAL is not supported.
> 
> Что дальше - опять непонятно.
> 
> До этого тот самый телефон (N900) прекрасно работал с bluez4 и был основным
> каналом в Интернет для ноутбука в поездках.

А сейчас что-то работает? Можете ли соединиться с телефоном вручную через команды:

# rfcomm connect hci0 <phone bluetooth MAC>

и потом через какой-нибудь wvdial подключиться, указав порт как /dev/rfcomm
Comment 5 Vyacheslav Dikonov 2017-09-07 13:11:52 MSK
> А сейчас что-то работает? Можете ли соединиться с телефоном вручную через
> команды:
> 
> # rfcomm connect hci0 <phone bluetooth MAC>
> 
> и потом через какой-нибудь wvdial подключиться, указав порт как /dev/rfcomm
Сегодня попробовал:

# hcitool scan
Scanning ...
	A0:4E:04:A2:EE:C7	Nokia N900


# rfcomm connect hci0 A0:4E:04:A2:EE:C7
Connected /dev/rfcomm0 to A0:4E:04:A2:EE:C7 on channel 1
Press CTRL-C for hangup


# wvdial
--> WvDial: Internet dialer version 1.61
--> Initializing modem.
--> Sending: ATZ
OK
--> Modem initialized.
--> Sending: ATDP*99#
--> Waiting for carrier.
Ошибка сегментирования

Содержимое wvdial.conf:
[Dialer Defaults]
Modem = /dev/rfcomm0
#Init = ATZ
#Init2 = AT S11=50
Phone = *99#
Username = mts
Password = mts

Как нужно инициализировать мобильник из wvdial мне неясно. 

Blueman сейчас нет, NetworkManager не видит подключенного мобильного устройства и не предлагает использовать ранее настроенные соединения.
Comment 6 Konstantin A Lepikhov (L.A. Kostis) 2017-09-07 13:20:47 MSK
(In reply to comment #5)
> > А сейчас что-то работает? Можете ли соединиться с телефоном вручную через
> > команды:
> > 
> > # rfcomm connect hci0 <phone bluetooth MAC>
> > 
> > и потом через какой-нибудь wvdial подключиться, указав порт как /dev/rfcomm
> Сегодня попробовал:
> 
> # hcitool scan
> Scanning ...
>     A0:4E:04:A2:EE:C7    Nokia N900
> 
> 
> # rfcomm connect hci0 A0:4E:04:A2:EE:C7
> Connected /dev/rfcomm0 to A0:4E:04:A2:EE:C7 on channel 1
> Press CTRL-C for hangup
> 
> 
> # wvdial
> --> WvDial: Internet dialer version 1.61
> --> Initializing modem.
> --> Sending: ATZ
> OK
> --> Modem initialized.
> --> Sending: ATDP*99#
> --> Waiting for carrier.
> Ошибка сегментирования
> 
> Содержимое wvdial.conf:
> [Dialer Defaults]
> Modem = /dev/rfcomm0
> #Init = ATZ
> #Init2 = AT S11=50
> Phone = *99#
> Username = mts
> Password = mts
> 
> Как нужно инициализировать мобильник из wvdial мне неясно. 
> 
> Blueman сейчас нет, NetworkManager не видит подключенного мобильного устройства
> и не предлагает использовать ранее настроенные соединения.
Насколько я помню из прошлого, нужно еще APN задать через init2:

Init2 = AT+CGDCONT=1,"IP","internet.mts.ru"
Phone = *99***1#

Попробуйте так
Comment 7 Vyacheslav Dikonov 2017-09-07 13:32:04 MSK
# wvdial
--> WvDial: Internet dialer version 1.61
--> Initializing modem.
--> Sending: ATZ
MATZ
OK
M
--> Sending: AT+CGDCONT=1,"IP","internet.mts.by"
OK
--> Modem initialized.
--> Sending: ATDP*99#
--> Waiting for carrier.
Ошибка сегментирования

Второй запуск:
# wvdial
--> WvDial: Internet dialer version 1.61
--> Initializing modem.
--> Sending: ATZ
~[7f]}#@!}!} } }2}#}$@#}!}$}%\}"}&} }*} } g}%~~[7f]}#@!}!} } }2}#}$@#}!}$}%\}"}&} }*} } g}%


Третий и четвертый разы опять дают ошибку сегментирования.

Думаю, что связь с телефоном заработала, но нужно чтобы NetworkManager умел подключаться, а blueberry подключать в граф. режиме.
Comment 8 Konstantin A Lepikhov (L.A. Kostis) 2017-09-07 17:43:51 MSK
(In reply to comment #7)
> # wvdial
> --> WvDial: Internet dialer version 1.61
> --> Initializing modem.
> --> Sending: ATZ
> MATZ
> OK
> M
> --> Sending: AT+CGDCONT=1,"IP","internet.mts.by"
> OK
> --> Modem initialized.
> --> Sending: ATDP*99#
> --> Waiting for carrier.
> Ошибка сегментирования
> 
> Второй запуск:
> # wvdial
> --> WvDial: Internet dialer version 1.61
> --> Initializing modem.
> --> Sending: ATZ
> ~[7f]}#@!}!} } }2}#}$@#}!}$}%\}"}&} }*} } g}%~~[7f]}#@!}!} }
> }2}#}$@#}!}$}%\}"}&} }*} } g}%
> 
> 
> Третий и четвертый разы опять дают ошибку сегментирования.
Может, это баг какой в wvdial. Я попробую у себя это воспроизвести.

> 
> Думаю, что связь с телефоном заработала, но нужно чтобы NetworkManager умел
> подключаться, а blueberry подключать в граф. режиме.
Либо просто использовать pppd и скрипты.
Comment 9 Vyacheslav Dikonov 2017-09-08 17:19:34 MSK
> > Третий и четвертый разы опять дают ошибку сегментирования.
> Может, это баг какой в wvdial. Я попробую у себя это воспроизвести.
Спасибо!

> > Думаю, что связь с телефоном заработала, но нужно чтобы NetworkManager умел
> > подключаться, а blueberry подключать в граф. режиме.
> Либо просто использовать pppd и скрипты.
В реальности спустя 2 года (!) после аварии по имени bluez5 остается выбор только между проприетарным блобом для "свистков" мегафона/мтс-а и написанием консольных скриптов без доступа к how-to в Интернете.
 
Это огромный регресс в поддержке bluetooth по отношению к 2015. Пробую собрать новую версию blueman из git. Напоролся на проблемы с макросами сборки pythin-приложений.
Comment 10 Konstantin A Lepikhov (L.A. Kostis) 2017-09-08 17:49:19 MSK
(In reply to comment #9)
> > > Третий и четвертый разы опять дают ошибку сегментирования.
> > Может, это баг какой в wvdial. Я попробую у себя это воспроизвести.
> Спасибо!
Я проверил на одном из своих android телефонов, по крайней мере, инициализация и соединение работают, смотрел через minicom.

<skip>
> В реальности спустя 2 года (!) после аварии по имени bluez5 остается выбор
> только между проприетарным блобом для "свистков" мегафона/мтс-а и написанием
> консольных скриптов без доступа к how-to в Интернете.
Есть еще ModemManager, но как он работает с bluetooth без понятия.

> 
> Это огромный регресс в поддержке bluetooth по отношению к 2015. Пробую собрать
> новую версию blueman из git. Напоролся на проблемы с макросами сборки
> pythin-приложений.
Как сказать, мне кажется, такие вещи как DUN, это просто становится никому не нужно, везде есть телефоны, которые умеют раздавать интернет через usb или wifi.
Comment 11 Vyacheslav Dikonov 2017-09-08 23:19:15 MSK
 
> <skip>
> > В реальности спустя 2 года (!) после аварии по имени bluez5 остается выбор
> > только между проприетарным блобом для "свистков" мегафона/мтс-а и написанием
> > консольных скриптов без доступа к how-to в Интернете.
> Есть еще ModemManager, но как он работает с bluetooth без понятия.
modem-manager-gui сумел просканировать мобильные сети и показать версию прошивки N900. Функции установки соединения не наблюдается. 

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

> > Это огромный регресс в поддержке bluetooth по отношению к 2015. Пробую собрать
> > новую версию blueman из git. Напоролся на проблемы с макросами сборки
> > pythin-приложений.
Собрал.  Вот что говорит blueman2.1 из git на попытку подключения телефона:

blueman-manager 22.50.34 WARNING  ManagerDeviceMenu:133 fail      : fail g-io-error-quark: GDBus.Error:org.freedesktop.DBus.Python.dbus.exceptions.DBusException: Modem Manager не поддерживает соединение (36)

Может это быть связано с сегфолтами wvdial?

> Как сказать, мне кажется, такие вещи как DUN, это просто становится никому не
> нужно, везде есть телефоны, которые умеют раздавать интернет через usb или
> wifi.
Напуркуя нужен удвоенный расход батареи? Мой телефон в таком режиме разряжается за час, а с bt работает долго. Для USB же нужно провод никогда не забывать. Все оставшиеся живые функции у bluez5 нужны крайне редко. Давайте тогда официально объявлять что дистрибутив АЛЬТ не поддерживает bluetooth.
Comment 12 Vyacheslav Dikonov 2017-09-08 23:20:05 MSK
Created attachment 7205 [details]
черновой spec для blueman2.1
Comment 13 Konstantin A Lepikhov (L.A. Kostis) 2017-09-09 01:41:41 MSK
(In reply to comment #11)
<skip> 
> > > Это огромный регресс в поддержке bluetooth по отношению к 2015. Пробую собрать
> > > новую версию blueman из git. Напоролся на проблемы с макросами сборки
> > > pythin-приложений.
> Собрал.  Вот что говорит blueman2.1 из git на попытку подключения телефона:
> 
> blueman-manager 22.50.34 WARNING  ManagerDeviceMenu:133 fail      : fail
> g-io-error-quark:
> GDBus.Error:org.freedesktop.DBus.Python.dbus.exceptions.DBusException: Modem
> Manager не поддерживает соединение (36)
Я понимаю вашу боль, что привычные GUI перестали работать, но при чем тут bluez? Вешайте баг на blueman/ModemManager/etc, это все чем вы можете пользоваться. Как уже было проверено выше, DUN функционал до сих поддерживается и работает, почему это перестало работать в GUI утилитах вопрос к разработчикам этих утилит.
 
<skip>
> Напуркуя нужен удвоенный расход батареи? Мой телефон в таком режиме разряжается
> за час, а с bt работает долго. Для USB же нужно провод никогда не забывать. Все
> оставшиеся живые функции у bluez5 нужны крайне редко. Давайте тогда официально
> объявлять что дистрибутив АЛЬТ не поддерживает bluetooth.
"у меня такая же левая нога и она не болит". Давайте не будем перекладывать ваши проблемы на пакет bluez и каких-то абстрактных "дистрибутив АЛЬТ".
Comment 14 Vyacheslav Dikonov 2017-09-11 11:04:56 MSK
(In reply to comment #13)
> > blueman-manager 22.50.34 WARNING  ManagerDeviceMenu:133 fail      : fail
> > g-io-error-quark:
> > GDBus.Error:org.freedesktop.DBus.Python.dbus.exceptions.DBusException: Modem
> > Manager не поддерживает соединение (36)
> при чем тут bluez? Вешайте баг на blueman/ModemManager/etc, 
> это все чем вы можете пользоваться. 
> Как уже было проверено выше, DUN функционал до сих поддерживается
Он перестал поддерживаться с переходом bluez4 -> bluez5 (см. начало бага), но теперь  восстановлен на нижнем уровне (bluez). Ура! ЧАСТИЧНОЕ решение проблемы.

Вся же проблема состоит в том, что ранее стандартно работавшая функция подключения к интернету через bt и 3/4G без танцев с бубном для пользователя, который не помнит на память про ATCGDCONT и т.п. разрушена в 2015 и даже спустя 2 года починена лишь частично.  


Вся связка демонов, драйверов и интерфейсов к ним настолько усложнилась и так размазана по разным пакетам, что я не совсем понимаю, на что именно ругается программа blueman (а прочие ГИ вообще не умеют подключать BT-DUN). Почему падает wvdial? Пока пробую жаловаться на ModemManager, но может это был и не тот modem-manager или не сам он, а некая недоделка в связанных с ним программах... 


Кому жаловаться на разрушение связей, совместимости и взаимодействия между разными программами? 

Разве правильно делает майнтейнер или фирма-разработчик _дистрибутива_, когда выдергивает рабочие компоненты и заменяет их дефектными без проверки последствий?