Summary: | Невозможно настроить подключение смартфона для доступа в Интернет по 3G | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | Vyacheslav Dikonov <slava> | ||||||
Component: | bluez | Assignee: | Konstantin A Lepikhov (L.A. Kostis) <lakostis> | ||||||
Status: | CLOSED WORKSFORME | QA Contact: | qa-sisyphus | ||||||
Severity: | normal | ||||||||
Priority: | P3 | CC: | aris, lakostis, shrek, zerg | ||||||
Version: | unstable | ||||||||
Hardware: | all | ||||||||
OS: | Linux | ||||||||
Attachments: |
|
Description
Vyacheslav Dikonov
2015-08-19 21:42:00 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? Created attachment 6347 [details]
Spec для сборки blueman-2.0
Создал каталог /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 и был основным каналом в Интернет для ноутбука в поездках. (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
> А сейчас что-то работает? Можете ли соединиться с телефоном вручную через
> команды:
>
> # 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 не видит подключенного мобильного устройства и не предлагает использовать ранее настроенные соединения.
(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# Попробуйте так # 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 подключать в граф. режиме. (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 и скрипты. > > Третий и четвертый разы опять дают ошибку сегментирования. > Может, это баг какой в wvdial. Я попробую у себя это воспроизвести. Спасибо! > > Думаю, что связь с телефоном заработала, но нужно чтобы NetworkManager умел > > подключаться, а blueberry подключать в граф. режиме. > Либо просто использовать pppd и скрипты. В реальности спустя 2 года (!) после аварии по имени bluez5 остается выбор только между проприетарным блобом для "свистков" мегафона/мтс-а и написанием консольных скриптов без доступа к how-to в Интернете. Это огромный регресс в поддержке bluetooth по отношению к 2015. Пробую собрать новую версию blueman из git. Напоролся на проблемы с макросами сборки pythin-приложений. (In reply to comment #9) > > > Третий и четвертый разы опять дают ошибку сегментирования. > > Может, это баг какой в wvdial. Я попробую у себя это воспроизвести. > Спасибо! Я проверил на одном из своих android телефонов, по крайней мере, инициализация и соединение работают, смотрел через minicom. <skip> > В реальности спустя 2 года (!) после аварии по имени bluez5 остается выбор > только между проприетарным блобом для "свистков" мегафона/мтс-а и написанием > консольных скриптов без доступа к how-to в Интернете. Есть еще ModemManager, но как он работает с bluetooth без понятия. > > Это огромный регресс в поддержке bluetooth по отношению к 2015. Пробую собрать > новую версию blueman из git. Напоролся на проблемы с макросами сборки > pythin-приложений. Как сказать, мне кажется, такие вещи как DUN, это просто становится никому не нужно, везде есть телефоны, которые умеют раздавать интернет через usb или wifi. > <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. Created attachment 7205 [details]
черновой spec для blueman2.1
(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 и каких-то абстрактных "дистрибутив АЛЬТ". (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 или не сам он, а некая недоделка в связанных с ним программах... Кому жаловаться на разрушение связей, совместимости и взаимодействия между разными программами? Разве правильно делает майнтейнер или фирма-разработчик _дистрибутива_, когда выдергивает рабочие компоненты и заменяет их дефектными без проверки последствий? |