# Unable to send files from phone to laptop via bluetooth

## alogim

As the title says, I am currently unable to send files from my phone (OnePlus 5T) to my laptop (HP EliteBook 850 G5). I am, though, perfectly able to send files from my laptop to my phone.

The phone has bluetooth v5.0, while my laptop has the following:

```
hci0:   Type: Primary  Bus: USB

   BD Address: 00:21:6B:DD:9E:41  ACL MTU: 1021:4  SCO MTU: 96:6

   UP RUNNING PSCAN ISCAN 

   RX bytes:98381 acl:262 sco:0 events:7426 errors:0

   TX bytes:630076 acl:259 sco:0 commands:6875 errors:0

   Features: 0xff 0xfe 0x0f 0xfe 0xdb 0xff 0x7b 0x87

   Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 

   Link policy: RSWITCH HOLD SNIFF 

   Link mode: SLAVE ACCEPT 

   Name: 'HP EliteBook 850 G5'

   Class: 0x0c010c

   Service Classes: Rendering, Capturing

   Device Class: Computer, Laptop

   HCI Version: 4.2 (0x8)  Revision: 0x100

   LMP Version: 4.2 (0x8)  Subversion: 0x100

   Manufacturer: Intel Corp. (2)

```

 The device is 

```
Bus 001 Device 002: ID 8087:0a2b Intel Corp. 

Device Descriptor:

  bLength                18

  bDescriptorType         1

  bcdUSB               2.00

  bDeviceClass          224 Wireless

  bDeviceSubClass         1 Radio Frequency

  bDeviceProtocol         1 Bluetooth

  bMaxPacketSize0        64

  idVendor           0x8087 Intel Corp.

  idProduct          0x0a2b 

  bcdDevice            0.10

  iManufacturer           0 

  iProduct                0 

  iSerial                 0 

  bNumConfigurations      1

  Configuration Descriptor:

    bLength                 9

    bDescriptorType         2

    wTotalLength          177

    bNumInterfaces          2

    bConfigurationValue     1

    iConfiguration          0 

    bmAttributes         0xe0

      Self Powered

      Remote Wakeup

    MaxPower              100mA

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        0

      bAlternateSetting       0

      bNumEndpoints           3

      bInterfaceClass       224 Wireless

      bInterfaceSubClass      1 Radio Frequency

      bInterfaceProtocol      1 Bluetooth

      iInterface              0 

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x81  EP 1 IN

        bmAttributes            3

          Transfer Type            Interrupt

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0040  1x 64 bytes

        bInterval               1

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x02  EP 2 OUT

        bmAttributes            2

          Transfer Type            Bulk

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0040  1x 64 bytes

        bInterval               1

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x82  EP 2 IN

        bmAttributes            2

          Transfer Type            Bulk

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0040  1x 64 bytes

        bInterval               1

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        1

      bAlternateSetting       0

      bNumEndpoints           2

      bInterfaceClass       224 Wireless

      bInterfaceSubClass      1 Radio Frequency

      bInterfaceProtocol      1 Bluetooth

      iInterface              0 

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x03  EP 3 OUT

        bmAttributes            1

          Transfer Type            Isochronous

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0000  1x 0 bytes

        bInterval               1

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x83  EP 3 IN

        bmAttributes            1

          Transfer Type            Isochronous

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0000  1x 0 bytes

        bInterval               1

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        1

      bAlternateSetting       1

      bNumEndpoints           2

      bInterfaceClass       224 Wireless

      bInterfaceSubClass      1 Radio Frequency

      bInterfaceProtocol      1 Bluetooth

      iInterface              0 

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x03  EP 3 OUT

        bmAttributes            1

          Transfer Type            Isochronous

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0009  1x 9 bytes

        bInterval               1

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x83  EP 3 IN

        bmAttributes            1

          Transfer Type            Isochronous

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0009  1x 9 bytes

        bInterval               1

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        1

      bAlternateSetting       2

      bNumEndpoints           2

      bInterfaceClass       224 Wireless

      bInterfaceSubClass      1 Radio Frequency

      bInterfaceProtocol      1 Bluetooth

      iInterface              0 

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x03  EP 3 OUT

        bmAttributes            1

          Transfer Type            Isochronous

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0011  1x 17 bytes

        bInterval               1

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x83  EP 3 IN

        bmAttributes            1

          Transfer Type            Isochronous

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0011  1x 17 bytes

        bInterval               1

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        1

      bAlternateSetting       3

      bNumEndpoints           2

      bInterfaceClass       224 Wireless

      bInterfaceSubClass      1 Radio Frequency

      bInterfaceProtocol      1 Bluetooth

      iInterface              0 

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x03  EP 3 OUT

        bmAttributes            1

          Transfer Type            Isochronous

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0019  1x 25 bytes

        bInterval               1

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x83  EP 3 IN

        bmAttributes            1

          Transfer Type            Isochronous

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0019  1x 25 bytes

        bInterval               1

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        1

      bAlternateSetting       4

      bNumEndpoints           2

      bInterfaceClass       224 Wireless

      bInterfaceSubClass      1 Radio Frequency

      bInterfaceProtocol      1 Bluetooth

      iInterface              0 

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x03  EP 3 OUT

        bmAttributes            1

          Transfer Type            Isochronous

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0021  1x 33 bytes

        bInterval               1

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x83  EP 3 IN

        bmAttributes            1

          Transfer Type            Isochronous

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0021  1x 33 bytes

        bInterval               1

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        1

      bAlternateSetting       5

      bNumEndpoints           2

      bInterfaceClass       224 Wireless

      bInterfaceSubClass      1 Radio Frequency

      bInterfaceProtocol      1 Bluetooth

      iInterface              0 

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x03  EP 3 OUT

        bmAttributes            1

          Transfer Type            Isochronous

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0031  1x 49 bytes

        bInterval               1

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x83  EP 3 IN

        bmAttributes            1

          Transfer Type            Isochronous

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0031  1x 49 bytes

        bInterval               1

can't get device qualifier: Resource temporarily unavailable

can't get debug descriptor: Resource temporarily unavailable

Device Status:     0x0001

  Self Powered
```

 I tried with the devices both paired and unpaired. Do you have some suggestions in order to solve this problem?

----------

## LIsLinuxIsSogood

Where on your disk are you trying to send the files to?  You might have a permissions issue, or else some other restrictions on the partition that might be getting in the way.  Also maybe check your use flags for bluez.  And post back?  Not sure why nobody has responded with help yet to this, but I'm sure this can be figured out...but networking issues are usually somewhat tricky.  And it would be good to first rule out the hardware (kernel) as a source of issues.

Please include the emerge --info bluez in your next post.

----------

## alogim

 *LIsLinuxIsSogood wrote:*   

> Where on your disk are you trying to send the files to?  You might have a permissions issue, or else some other restrictions on the partition that might be getting in the way.

 

I don't know how to check where the sent files are going to be saved. The problem is, whenever I try and send something from the phone to the laptop, nothing happens on the laptop side, while the phone emits a notification saying "0 successful, 1 unsuccessful" (with no further details).

 *LIsLinuxIsSogood wrote:*   

> Also maybe check your use flags for bluez.  And post back?

  USE flags for net-wireless/bluez are 

```
net-wireless/bluez-5.50-r1::gentoo was built with the following:

USE="alsa cups deprecated mesh obex readline udev -btpclient -debug -doc -experimental -extra-tools (-selinux) -systemd -test -test-programs -user-session" ABI_X86="(64) -32 (-x32)" PYTHON_TARGETS="python2_7"
```

I also use net-wireless/blueman as bluetooth manager with GUI 

```
net-wireless/blueman-2.1_alpha3::gentoo was built with the following:

USE="nls policykit pulseaudio -appindicator -network" ABI_X86="(64)" PYTHON_SINGLE_TARGET="python3_6 -python3_5 -python3_7" PYTHON_TARGETS="python3_6 -python3_5 -python3_7"
```

 *LIsLinuxIsSogood wrote:*   

> And it would be good to first rule out the hardware (kernel) as a source of issues.

  In the kernel, I have the following: 

```
--- Bluetooth subsystem support

[*]   Bluetooth Classic (BR/EDR) features

<*>     RFCOMM protocol support           

[ ]       RFCOMM TTY support                  

< >     BNEP protocol support

<*>     HIDP protocol support

[*]     Bluetooth High Speed (HS) features

[*]   Bluetooth Low Energy (LE) features  

[ ]   Enable LED triggers                         

[ ]   Bluetooth self testing support           

[*]   Export Bluetooth internals in debugfs

Bluetooth device drivers  --->
```

and

```
<M> HCI USB driver

[*]   Enable USB autosuspend for Bluetooth USB devices by default  

[*]   Broadcom protocol support

[*]   Realtek protocol support  

<M> HCI UART driver             

[*]   UART (H4) protocol support  

[ ]   BCSP protocol support        

[ ]   Atheros AR300x serial support

[] Intel protocol support

[] Intel AG6XX protocol support                                                          

[ ] Marvell protocol support                                                              

< > HCI BCM203x USB driver                                                                

< > HCI BPA10x USB driver                                                               

< > HCI BlueFRITZ! USB driver                                                             

< > HCI DTL1 (PC Card) driver                                                             

< > HCI BT3C (PC Card) driver                                                             

< > HCI BlueCard (PC Card) driver                                                         

< > HCI VHCI (Virtual HCI device) driver                                                  

< > Marvell Bluetooth driver support                                                      

< > Atheros firmware download driver     

```

I just realised that maybe I am missing the Intel protocol support option in the kernel, but it shouldn't work at all then. It is just weird it only works in one direction.

EDIT: I tried recompiling the kernel with Intel protocol support enabled, but the problem persists.

----------

## LIsLinuxIsSogood

Well probably isn't the kernel (for both the reason that of the settings and the fact it works in general...right?)

So that means the problem has to be elsewhere.  In terms of what I can offer my knowledge of Bluetooth as a network tool/set of protocols has a lot of specs and that means a lot of potential issues to troubleshoot.  I wouldn't be suprised if the issue you are having is in regards to the application services offered by bluetooth, which could be a difficult fix, but you can find workaround (look at obexftp package, and other options for mounting exchanged filesystems over bluetooth with obex) ...then there is another likely issue with filesystem permissions. Another thought is what kind of Desktop environment do you run, and does that provide authentication for access inside the environment?

I know this isn't really that helpful, but maybe it will allow you to think about another route to get what you want from the bluetooth on this device.

----------

## Logicien

Blueman allow you to set the folder directory where received files are stored it should notice you too when a file is coming. Clic right on the Blueman icon, Local services/Transfert. There you can set the folder directory where received files are stored.

----------

## alogim

 *Logicien wrote:*   

> Blueman allow you to set the folder directory where received files are stored it should notice you too when a file is coming. Clic right on the Blueman icon, Local services/Transfert. There you can set the folder directory where received files are stored.

  I checked and it is set to the Downloads directory in my home folder. However blueman does not emit any notification when I try to send a file from my phone. 

 *LIsLinuxIsSogood wrote:*   

> Well probably isn't the kernel (for both the reason that of the settings and the fact it works in general...right?)
> 
> So that means the problem has to be elsewhere. In terms of what I can offer my knowledge of Bluetooth as a network tool/set of protocols has a lot of specs and that means a lot of potential issues to troubleshoot. I wouldn't be suprised if the issue you are having is in regards to the application services offered by bluetooth, which could be a difficult fix, but you can find workaround (look at obexftp package, and other options for mounting exchanged filesystems over bluetooth with obex) ...then there is another likely issue with filesystem permissions. Another thought is what kind of Desktop environment do you run, and does that provide authentication for access inside the environment?
> 
> I know this isn't really that helpful, but maybe it will allow you to think about another route to get what you want from the bluetooth on this device.

  I run the Xfce desktop environment.

----------

## LIsLinuxIsSogood

 *Quote:*   

> I checked and it is set

 

Did you make sure turn on File Receiving from the same menu!

----------

## alogim

 *LIsLinuxIsSogood wrote:*   

>  *Quote:*   I checked and it is set 
> 
> Did you make sure turn on File Receiving from the same menu!

 

Yes, option "Accept files from trusted devices" is enabled.

----------

## LIsLinuxIsSogood

And if you did not yet try to attempt to redo the pairing so the devices forget about the connection info and that’s basically in case the settings were wrong.

----------

## LIsLinuxIsSogood

Here is a 64,000 dollar question.

Is the device considered trusted by blueman?  It can be paired without trusted otherwiae.

----------

## Logicien

You can use the Obex applications, obexftp, obexfs and obexpushd to mount your cell on bluetooth device and to pull files from it.

----------

## alogim

 *LIsLinuxIsSogood wrote:*   

> Here is a 64,000 dollar question.
> 
> Is the device considered trusted by blueman?  It can be paired without trusted otherwiae.

  I tried to pair and unpair it several times, but the problem persists. I tried coupling it both with blueman and bluetoothctl, the pairing is successful however, while I can send files TO the phone, I cannot receive any FROM the phone. Maybe I should check the logs and see if something occurs when I try to send something from the phone.

 *Logicien wrote:*   

> You can use the Obex applications, obexftp, obexfs and obexpushd to mount your cell on bluetooth device and to pull files from it.

 

For net-wireless/bluez I can see there is an obex USE flag, should I emerge this package again with that USE flag enabled? Or should I install app-mobilephone/obexftp?

----------

## Logicien

I don't know if the obex USE flag will emerge the obex applications but I think you should enable it globally like other USE flags related to bluetooth. I think your problem can come from missing USE flags who must be enabled and/or because they are not enabled globally.

----------

## alogim

 *Logicien wrote:*   

> I don't know if the obex USE flag will emerge the obex applications but I think you should enable it globally like other USE flags related to bluetooth. I think your problem can come from missing USE flags who must be enabled and/or because they are not enabled globally.

  Okay, I already have bluetooth as global USE flag, I am going to add obex as well, emerge the changes, and will let you know if something changes.

----------

## Logicien

This is th way I mount my cell in /etc/fstab:

```
obexfs#-bXX:XX:XX:XX:XX:XX /mnt/cell fuse allow_other,gid=100,noatime,noauto,rw,uid=0 0 0
```

You can change the options as you wish. There are several ways to mount a bluetooth device, as normal user too.

----------

