LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   PC config for Bluetooth - not able to d/l anything. (https://www.linuxquestions.org/questions/slackware-14/pc-config-for-bluetooth-not-able-to-d-l-anything-4175656862/)

business_kid 07-04-2019 10:05 AM

PC config for Bluetooth - not able to d/l anything.
 
I have XFCE4 on Slackware64-Current using an AR3012 device. The other end for test purposes is my S7 Edge poser phone, which works flawlessly up to bluetooth-4.x.

On X, I have to restart rc.bluetooth, start (ugh!) pulseaudio, the bluetooth icon doesn't work, but when I try the command blueman-manager in a terminal, it goes. I have to pair again, argue with every detail (don't hide away - be visible; don't give me audio - give me a network connection, etc.) while the terminal throws hysterical python "DeprecationWarning" messages with dbus & polkit adding to the log spam.

Then it eventually tries to go, but apparently falls over transferring a file. I suspect it's lack of a PC download location, but I never saw any progress on the progress bar. How do I set up a Download location? My obstinate box will send a file ok, but not receive one.

alex14641 07-04-2019 11:19 AM

There are issues with blueman 2.1, so the latest update reverted to 2.0.8.

business_kid 07-05-2019 05:02 AM

Quote:

Originally Posted by alex14641 (Post 6011923)
There are issues with blueman 2.1, so the latest update reverted to 2.0.8.

Thanks. I'll make sure not to update to that. I'm using the April 2019 iso of Current, so I'm actually on blueman-2.0.8

business_kid 07-05-2019 06:09 AM

Tried to pair with the phone today (had it paired with a previous distro revision, but unpaired it). Here's some errors
Code:

/usr/bin/blueman-assistant:273: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  rbs.append(Gtk.RadioButton(service.name))
/usr/bin/blueman-assistant:280: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  rbs.append(Gtk.RadioButton(_("Don't connect")))
_________
connected (/usr/lib64/python3.7/site-packages/blueman/services/meta/NetworkService.py:17)
Could not get properties of network service: org.freedesktop.DBus.Error.InvalidArgs: No such interface 'org.bluez.Network1'
_________
connected (/usr/lib64/python3.7/site-packages/blueman/services/meta/NetworkService.py:17)
Could not get properties of network service: org.freedesktop.DBus.Error.InvalidArgs: No such interface 'org.bluez.Network1'

When I try to pair them, I get this dialogue
Code:

Generate (/usr/lib64/python3.7/site-packages/blueman/gui/manager/ManagerDeviceMenu.py:173)
Samsung Galaxy S7 edge
_________
on_device_property_changed (/usr/lib64/python3.7/site-packages/blueman/gui/DeviceList.py:163)
list: device_prop_ch ServicesResolved 1 /org/bluez/hci0/dev_D8_C4_E9_64_0F_05
_________
row_update_event (/usr/lib64/python3.7/site-packages/blueman/gui/manager/ManagerDeviceList.py:274)
row update event ServicesResolved 1
_________
on_device_property_changed (/usr/lib64/python3.7/site-packages/blueman/gui/DeviceList.py:163)
list: device_prop_ch Paired 1 /org/bluez/hci0/dev_D8_C4_E9_64_0F_05
_________
row_update_event (/usr/lib64/python3.7/site-packages/blueman/gui/manager/ManagerDeviceList.py:274)
row update event Paired 1
_________
connected (/usr/lib64/python3.7/site-packages/blueman/services/meta/NetworkService.py:17)
Could not get properties of network service: org.freedesktop.DBus.Error.InvalidArgs: No such interface 'org.bluez.Network1'
_________
connected (/usr/lib64/python3.7/site-packages/blueman/services/meta/NetworkService.py:17)
Could not get properties of network service: org.freedesktop.DBus.Error.InvalidArgs: No such interface 'org.bluez.Network1'

It's a very long winded way of saying "Nice try but no cigar." The Samsung has no difficulty pairing with other devices. The kernel of it seems to be 2 names for the 'network' (/org/bluez/hci0/dev_D8_C4_E9_64_0F_05, & org.bluez.Network1).

Tonus 07-05-2019 06:20 AM

PC config for Bluetooth - not able to d/l anything.
 
Same phone, current too :
I've used bluetoothctl to pair. Once and no problem since.

Not in front of the computer right now but commands are quite clear. Just say if help is needed with it.

business_kid 07-06-2019 05:26 AM

As I look at it, blueman-manager fails to pair them. Bluetoothctl lists them (surprisingly) as paired devices but doesn't have a file transfer option. Blueman-manager does have file transfer but fails (even as root) to receive anything. :-o.

Richard Cranium 07-06-2019 08:37 PM

Quote:

Originally Posted by business_kid (Post 6012143)
Tried to pair with the phone today (had it paired with a previous distro revision, but unpaired it). Here's some errors
Code:

/usr/bin/blueman-assistant:273: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  rbs.append(Gtk.RadioButton(service.name))
/usr/bin/blueman-assistant:280: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  rbs.append(Gtk.RadioButton(_("Don't connect")))
_________
connected (/usr/lib64/python3.7/site-packages/blueman/services/meta/NetworkService.py:17)
Could not get properties of network service: org.freedesktop.DBus.Error.InvalidArgs: No such interface 'org.bluez.Network1'
_________
connected (/usr/lib64/python3.7/site-packages/blueman/services/meta/NetworkService.py:17)
Could not get properties of network service: org.freedesktop.DBus.Error.InvalidArgs: No such interface 'org.bluez.Network1'

When I try to pair them, I get this dialogue
Code:

Generate (/usr/lib64/python3.7/site-packages/blueman/gui/manager/ManagerDeviceMenu.py:173)
Samsung Galaxy S7 edge
_________
on_device_property_changed (/usr/lib64/python3.7/site-packages/blueman/gui/DeviceList.py:163)
list: device_prop_ch ServicesResolved 1 /org/bluez/hci0/dev_D8_C4_E9_64_0F_05
_________
row_update_event (/usr/lib64/python3.7/site-packages/blueman/gui/manager/ManagerDeviceList.py:274)
row update event ServicesResolved 1
_________
on_device_property_changed (/usr/lib64/python3.7/site-packages/blueman/gui/DeviceList.py:163)
list: device_prop_ch Paired 1 /org/bluez/hci0/dev_D8_C4_E9_64_0F_05
_________
row_update_event (/usr/lib64/python3.7/site-packages/blueman/gui/manager/ManagerDeviceList.py:274)
row update event Paired 1
_________
connected (/usr/lib64/python3.7/site-packages/blueman/services/meta/NetworkService.py:17)
Could not get properties of network service: org.freedesktop.DBus.Error.InvalidArgs: No such interface 'org.bluez.Network1'
_________
connected (/usr/lib64/python3.7/site-packages/blueman/services/meta/NetworkService.py:17)
Could not get properties of network service: org.freedesktop.DBus.Error.InvalidArgs: No such interface 'org.bluez.Network1'

It's a very long winded way of saying "Nice try but no cigar." The Samsung has no difficulty pairing with other devices. The kernel of it seems to be 2 names for the 'network' (/org/bluez/hci0/dev_D8_C4_E9_64_0F_05, & org.bluez.Network1).

Not really.

One describes a network interface (org.bluez.Network1), i.e. what methods and attributes should a network interface provide over DBus?

The other is your network interface as seen by bluez over DBus (/org/bluez/hci0/dev_D8_C4_E9_64_0F_05).

business_kid 07-07-2019 03:27 AM

Thanks for exercising your mind on this.
Where I am now is that they are paired, the Samsung receives files, but the PC doesn't.

Richard Cranium 07-07-2019 08:08 PM

What does the command...
Code:

dbus-send --system --dest=org.bluez --type=method_call --print-reply /org/bluez/hci0/dev_D8_C4_E9_64_0F_05 org.freedesktop.DBus.Properties.GetAll string:org.bluez.Device1
...return on your system?

It'll be an ugly XML blob. The really interesting bits will be in the UUIDs dict entry, but I'd like to see the entire output, if you will.

business_kid 07-08-2019 03:43 AM

Quote:

Originally Posted by Richard Cranium (Post 6012942)
What does the command...
Code:

dbus-send --system --dest=org.bluez --type=method_call --print-reply /org/bluez/hci0/dev_D8_C4_E9_64_0F_05 org.freedesktop.DBus.Properties.GetAll string:org.bluez.Device1
...return on your system?

It'll be an ugly XML blob. The really interesting bits will be in the UUIDs dict entry, but I'd like to see the entire output, if you will.

I opened a terminal and did the 'su -' bit to avoid permissions problems, so I'm not usually root, it's just that network stuff can be funny.
Code:

root@RoseViolet:~# dbus-send --system --dest=org.bluez --type=method_call --print-reply /org/bluez/hci0/dev_D8_C4_E9_64_0F_05 org.freedesktop.DBus.Properties.GetAll string:org.bluez.Device1
method return time=1562575098.119401 sender=:1.1 -> destination=:1.15 serial=16 reply_serial=2
  array [
      dict entry(
        string "Address"
        variant            string "D8:C4:E9:64:0F:05"
      )
      dict entry(
        string "AddressType"
        variant            string "public"
      )
      dict entry(
        string "Name"
        variant            string "Samsung Galaxy S7 edge"
      )
      dict entry(
        string "Alias"
        variant            string "Samsung Galaxy S7 edge"
      )
      dict entry(
        string "Class"
        variant            uint32 5898764
      )
      dict entry(
        string "Icon"
        variant            string "phone"
      )
      dict entry(
        string "Paired"
        variant            boolean true
      )
      dict entry(
        string "Trusted"
        variant            boolean false
      )
      dict entry(
        string "Blocked"
        variant            boolean false
      )
      dict entry(
        string "LegacyPairing"
        variant            boolean false
      )
      dict entry(
        string "Connected"
        variant            boolean false
      )
      dict entry(
        string "UUIDs"
        variant            array [
              string "00001105-0000-1000-8000-00805f9b34fb"
              string "0000110a-0000-1000-8000-00805f9b34fb"
              string "0000110c-0000-1000-8000-00805f9b34fb"
              string "0000110e-0000-1000-8000-00805f9b34fb"
              string "00001112-0000-1000-8000-00805f9b34fb"
              string "00001115-0000-1000-8000-00805f9b34fb"
              string "00001116-0000-1000-8000-00805f9b34fb"
              string "0000111f-0000-1000-8000-00805f9b34fb"
              string "0000112d-0000-1000-8000-00805f9b34fb"
              string "0000112f-0000-1000-8000-00805f9b34fb"
              string "00001132-0000-1000-8000-00805f9b34fb"
              string "00001200-0000-1000-8000-00805f9b34fb"
              string "00001800-0000-1000-8000-00805f9b34fb"
              string "00001801-0000-1000-8000-00805f9b34fb"
            ]
      )
      dict entry(
        string "Modalias"
        variant            string "bluetooth:v0075p0100d0201"
      )
      dict entry(
        string "Adapter"
        variant            object path "/org/bluez/hci0"
      )
      dict entry(
        string "ServicesResolved"
        variant            boolean false
      )
  ]
root@RoseViolet:~#

Doing it as a user seemed to produce similar results.

Richard Cranium 07-08-2019 01:35 PM

Quote:

Originally Posted by business_kid (Post 6011897)
My obstinate box will send a file ok, but not receive one.

Ugh, I missed that bit. There has to be something on the linux side that implements the DBus org.bluez.obex.Agent1 interface be able to send files to the server. (see https://git.kernel.org/pub/scm/bluet...-agent-api.txt) I don't know off the top of my head if anything in Slackware does so.

https://docs.ubuntu.com/core/en/stac.../sending-files indicates that nothing in Ubuntu Core does.

Since your phone has a service UUID of "00001105-0000-1000-8000-00805f9b34fb", it provides the Object Push Profile service. (see https://www.bluetooth.com/specificat...ice-discovery/) That's why you can send stuff to it without too many problems.

business_kid 07-09-2019 03:44 AM

Quote:

Originally Posted by business_kid
My obstinate box will send a file ok, but not receive one.


Indeed, that's the issue. May we ask the Slackware systems guys about this? In talking Bluetooth, how does a pc running slackware64 receive a file via bluetooth and where does it put it?


I find it very poor form if the bluetooth stack won't accept a file. My big drive(s) hang out on the pc, and it's handy/imperative to be able to update to them. I have been doing it via the all-seeing all-recording Google Drive, or the significantly slower mega.nz. Both automatically make zips, although you can d/l directories. That doesn't speed things up any.

Richard Cranium 07-09-2019 09:07 PM

Right-click your blueman-applet icon. Go to plugins. Look for TransferService and ensure it is enabled. Click the close button.
Right-click your blueman-applet icon (again). Go to "local services". Go to Transfer. Enable "Accept files from trusted devices". Set your incoming folder as you wish. Click "Apply" and "Close".

Any better?

business_kid 07-10-2019 06:43 AM

To make a long story boring I finally gave up on blueman-manager but got through nevertheless. So despite the fact that this whole desperately below par, I got through.

My blueman-manager behaves differently to yours, Richard. I can configure nothing from the applet. The icon has X stuff only. I have the 'Adapter/Device/View/Help" menu and some 'Search' & 'Setup' buttons. I'm in XFCE.

I found the transfer service. It is turned on. Interestingly, PPPS support was off. When I went to enable it, it threw up a dependency issue: "Plugin NMDUNSupport conflicts with PPPSupport. Loading PPPSupport will unload NMDUNSupport. Proceed?" with a yes/no.

I didn't know what to do, but it doesn't work presently, so I tried it. It doesn't accept files that way either, failing silently. I get 'sending failed' on the Android, nothing on the PC.

And I kept getting asked ( as user) do I want to enable bluetooth. It really hasn't a breeze what's going on. I have Slackware64-Current, last updated April.

I won't lower the tone of the discussion by saying how I felt about this (!) so I got into bluetoothctl as root, typed help and started enabling this big time. I was paired with it, I unblocked it, tried to connect (which failed) I trusted it which was a change, and then the transfer to the PC succeeded. It appears there's also something called sdptool which maintains a database (somewhere) of known good devices, and that's one thing I haven't tried. It's significant that the man page lists a bug "Insufficient (Er, NO) Documentation."

Of course, blueman-manager held up the transfer until I clicked on the "Accept" dialog in X. I gather the issue was a lack of trust.


All times are GMT -5. The time now is 12:56 PM.