Colibri iMX6ULL: Bluetooth FTP

Hi team,

I’ve been trying to use Bluetooth FTP with ObexFTP to exchange some files per customer request but I’ve been unable to do so, so I kindly ask for some help.

I’ve created a custom image build with obexftp obex-data-server obex-client and even tho I can perfectly pair and scan, both my laptop and phone don’t seem to be able to interact with the devices through OPP and FTP profiles.

Through the info command, the OOP service seems to be there, but all obexftp commands are unable to reach.

root@colibri-imx6ull:~# obexftp -b A4:07:B6:A8:0F:E0 -c / -l
Browsing A4:07:B6:A8:0F:E0 ...
Connecting...failed: connect
unknown error on connect
Still trying to connect
Connecting...failed: connect
unknown error on connect
Still trying to connect
Connecting...failed: connect
unknown error on connect
Still trying to connect

Bluetoothctl shows that the ULL seems to briefly connect to the device in question but quickly disconnects again.

I’m no expert in Bluetooth so maybe I’m missing something but it seems that the OOP and FTP are not reaching, and only the audio source is available.

I’ve tried OOP through a laptop and a phone and between themselves work well but I’m unable to retrieve or push from/to the ULL.

I believe at the very least OOP should work while FTP may need additional configuration. Therefore I kindly ask you for some assistance for the below:

  1. Is there any extra configuration needed for the OPP to work? Kindly let me know if you need something to better track the issue. Could it be related to the 1.0A version and that is not supported?
  2. Is it possible to change/activate to FTP?

Some of the commands I’ve tried are:

obexftp -b A4:07:B6:A8:0F:E0 -c / -l
obexftp -b A4:07:B6:A8:0F:E0 -g log.txt 
obexftp -b A4:07:B6:A8:0F:E0 -c /storage/emulated/0/ -g log.txt 
obexftp -b A4:07:B6:A8:0F:E0 -c /storage/emulated/0/ -p evcs-demo_file
obexftp -b A4:07:B6:A8:0F:E0 -p evcs-demo_file

Many thanks and kind regards,
Alvaro.

We’re using BlueZ 5 on our BSP. BlueZ 5 deprecated the C API used by SDP and other applications (like rfcomm). All modern Linux BT apps use DBus API. However you can still use legacy apps by following https://bbs.archlinux.org/viewtopic.php?id=201672
Make sure that you device is first paired, trusted and connected, this can be done via bluetoothctl. Since obexftp is at this point 10+ years silent, I’m not expecting much success with modern devices. To get anything from android it was necessary to hack the code.

Hi @dominik.tx, thanks! 2 things then:

There is no heavy requirement on using ObexFTP or any of the sort (same for Android), but I just followed our documentation (I’ll gladly update it if better options are available). Is there any better alternative that may help achive this FTP or any sort of bluetooth file transfer? Does BlueZ offer their own client/server application that could be integrated and/or ran in a dev machine for testing? (without Python preferibly, but any option at this point would be valid actually).

Additionally, for now (as they need to get this Friday latest), the customer would like to use SPP to confirm the connection and exchange some messages. I would check this first thing tomorrow but are there any insights to achieve this that may help? Did you have the chance to try this? I’m afraid that I don’t have any current knowledge on the BlueZ environment but I would gladly check.

Many thanks again.
Alvaro.

hi @alvaro.tx

are your questions still open or did you already find an answer?

Hi Jaski, I’m investigating from my side about this. I don’t expect new answers but any help in the topic would be appreciated of course :slight_smile:

Dominik gave me very good insights and I’ve just finished adapting a SPP server (serial port profile) that could be used in the Colibri iMX6ULL. I hope to do the same with the FTP solution because non of the obexftp related solutions have worked with the current BSP.