LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices


Reply
  Search this Thread
Old 01-18-2013, 06:12 PM   #1
BoraxMan
Member
 
Registered: Apr 2010
Posts: 103

Rep: Reputation: 11
Question Paired bluetooth devices can't transfer files


I have a thinkpad T43 with Fedora 17 installed. The problem I am having, is transferring files between the Thinkpad and my Nokia phone.

The bluetooth applet works, and I can pair the phone. I can run sdptool to successfully query the bluetooth services the phone has, and a hcitool scan shows my phone. l2ping pings the phone, but each ping returns 0 bytes and ends with Recv failed (though it DOES ping). I can't use obexftp to browse the phone, or send files. I've tried the KDE blutooth manager, GNOME, blueman and all the same issue. Pairing is fine, it can see the phone, but file transfers time out.

I've tried Puppy Linux, and bluetooth file transfers DO work there, using the same tools (bluez), so it's not an issue with the bluetooth adapter or the phone. The hardware works fine.

dmesg and the system log show nothing untoward. How can I troubleshoot this? It seems that there is communication, but file transfer does not proceed. One difference I noted between my Fedora installation and Puppy Linux is the l2cap module, which isn't present in Fedora. Is this the culprit? Is l2cap part of Kernel 3.x?

Unfortunately, I can't get anymore information other than a 'timeout' error, and the phone doesn't print anything useful either.

Any help would be appreciated. The only thing I can think of, is either obexftp is not connecting properly due to not being passed the PIN code, or that the data transfer protocol which is used is not working properly.
 
Old 01-18-2013, 08:27 PM   #2
unSpawn
Moderator
 
Registered: May 2001
Posts: 29,415
Blog Entries: 55

Rep: Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600
Using Fedora, is the Thinkpad visible when you scan from the phone and do transfers work from phone to laptop? I don't know if this still works but what does this return?:
Code:
dbus-send --system --type=method_call --print-reply --dest=org.bluez /org/bluez/hci0 org.bluez.Adapter.GetMode
 
Old 01-19-2013, 05:17 AM   #3
BoraxMan
Member
 
Registered: Apr 2010
Posts: 103

Original Poster
Rep: Reputation: 11
Quote:
Originally Posted by unSpawn View Post
Using Fedora, is the Thinkpad visible when you scan from the phone and do transfers work from phone to laptop? I don't know if this still works but what does this return?:
Code:
dbus-send --system --type=method_call --print-reply --dest=org.bluez /org/bluez/hci0 org.bluez.Adapter.GetMode


I get this.

Error org.freedesktop.DBus.Error.UnknownMethod: Method "GetMode" with signature "" on interface "org.bluez.Adapter" doesn't exist


The Thinkpad is visible from the phone, but I can't transfer from the phone to the laptop. I also tried with an iMac, and couldn't transfer to or from the iMac either, but again, they can see each other, and pair successfully. Pairing the devices work, and data is transferred, but Obex FTP doesn't go. What is frustrating, is the lack of documentation, or helpful error messages or the fact that linux subsystems keep changing, which mean config files change, etc.

{EDIT}

I get this error in my system log.

Jan 20 10:18:52 Oberon dbus-daemon[4789]: dbus[4789]: [system] Rejected send message, 2 matched rules; type="method_return", sender=":1.27" (uid=0 pid=5398 comm="/usr/sbin/bluetoothd -n ") interface="(unset)" member="(unset)" error name="(unset)" requested_reply="0" destination=":1.13" (uid=500 pid=4860 comm="/usr/libexec/obex-client ")

So I assume dbus, or whatever it is, is rejecting the transfer. How do I allow it?

Last edited by BoraxMan; 01-19-2013 at 05:23 PM.
 
Old 01-31-2013, 03:14 AM   #4
BoraxMan
Member
 
Registered: Apr 2010
Posts: 103

Original Poster
Rep: Reputation: 11
Upgraded to Fedora 18, and its made no difference!

Any hints on how to troubleshoot? How to figure out which application layer I need to look at?
 
Old 01-31-2013, 06:51 AM   #5
unSpawn
Moderator
 
Registered: May 2001
Posts: 29,415
Blog Entries: 55

Rep: Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600
Code:
# Try this. This should give you the devices path:
dbus-send --system --dest=org.bluez --print-reply / org.bluez.Manager.ListAdapters
# and substitute it (w/o quotes) where it says "THISPATH":
dbus-send --system --dest=org.bluez --print-reply THISPATH org.bluez.Adapter.GetProperties
# the elements will show discoverable and pairable mode
 
Old 02-02-2013, 12:17 AM   #6
BoraxMan
Member
 
Registered: Apr 2010
Posts: 103

Original Poster
Rep: Reputation: 11
Quote:
Originally Posted by unSpawn View Post
Code:
# Try this. This should give you the devices path:
dbus-send --system --dest=org.bluez --print-reply / org.bluez.Manager.ListAdapters
# and substitute it (w/o quotes) where it says "THISPATH":
dbus-send --system --dest=org.bluez --print-reply THISPATH org.bluez.Adapter.GetProperties
# the elements will show discoverable and pairable mode
The relevant section is this

Code:
      )
      dict entry(
         string "Powered"
         variant             boolean true
      )
      dict entry(
         string "Discoverable"
         variant             boolean true
      )
      dict entry(
         string "Pairable"
         variant             boolean true
      )
      dict entry(
         string "DiscoverableTimeout"
         variant             uint32 0
      )
      dict entry(
         string "PairableTimeout"
         variant             uint32 0
      )
      dict entry(
         string "Discovering"
         variant             boolean false
      )
      dict entry(
         string "Devices"
         variant             array [
               object path "/org/bluez/3118/hci0/dev_18_86_AC_7E_A7_A9"
            ]
      )
Seems to suggest it is discoverable and pairable. When I try to transfer, it DOES pair succesfully. I can see on my phone an indicator showing that it is paired, but the file transfer does not proceed. My phone does not acknowledge that a file is to be recieved.

However, I have discovered this command,

obexftp --nopath --noconn -uuid none -b BLUETOOTH DEVICE -c FTP_CHANNEL --put FILE_TO_SEND

Which gets closer. With this command, the phone asks whether to accept an incoming file, but alas, the file does not transfer.

Closer....
 
  


Reply

Tags
bluetooth



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
How to reconnect with previously paired bluetooth device? redss Ubuntu 1 06-28-2011 05:35 PM
Paired bluetooth phone as a modem, wvdial not working. lifeforce4 Red Hat 0 06-12-2009 06:27 PM
Bluetooth file transfer without authentication Stratofortress Linux - Software 0 05-06-2009 01:38 PM
Bluetooth transfer toketin Linux - Software 2 07-24-2008 03:44 PM
Bluetooth File Transfer Problem gbowden Slackware 0 12-27-2006 05:00 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 10:25 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration