Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I've just bought a Gigabyte GN-BTD02 USB bluetooth dongle and stuck it in my laptop, but although it seems to register and can be seen if I look in dmesg or lsusb, I can't find any program that will actually recognise it or do anything useful with it. My mobile phone (a Sony Ericsson T610) cannot find any devices when I do a search.
I'm using SuSE 9.2 and have run YaST's bluetooth configuration. I enabled obex push, file transfer and device discovery, and set the pin to the default 0000. I have also checked my software installation and all appropriate modules seem to be installed. Strangely, when I first did all this my mobile did pick something up, and just before I set the pin as 0000 it failed to connect. When I changed YaST's five-digit entry that was there already, to 0000, and tried again, the mobile found the device and seemed to recognise everything, showing all the possible profiles correctly.
Since then I've tried all the bluetooth software I can find in KDE, read the SuSE help pages and entered one or two shell commands, but nothing, not a peep. The mobile now consistently fails to find anything. I seem to remember reading that this dongle uses the Blue Soleil stack which is perhaps different from the standard stack. Is this likely to have any effect?
PS I'm also a newbie, so prefer dummy language in replies. Thanks.
Ditch all the GUI utilities to start with and go back to basics. Make sure the device is recognised first then go from there. Run these two commands to check the device is recognised and working, the first will just report it's address and the second will give you some networking info, like ifconfig.
If the output from that looks all good then try locating your phone. Ensure that Bluetooth is activated on the phone and run this command, it'll search the personal area and return any devices it finds.
Now assuming that works, there's no reason it shouldn't, run this to make sure you can create a connection to the phone successfully.
where bdaddr is the address of your phone returned by the scan you just finished.
Try that and see you go, then we can proceed from there
Thanks for the reply. Unfortunately, after digging around some similar posts on this forum, I'd already tried all the steps you mention without success. Typing hcitool dev and hciconfig result in appropriate lines showing that the device is present, but typing hcitool scan results in nothing being found, it just goes back to the prompt after a few seconds. I've checked all the settings of the phone and they're correct, but it can't find my laptop either when I do a search. I've also tried scanning on each device at the same time. The phone is one of the most standard and common phones on the market and I'll be surprised if there's some bizarre incompatibility issue, but having typed hcitool scan whilst in my office the other day it did pick up another more modern bluetooth phone belonging to a friend. I suspect something in the bluetooth drivers on either my phone or in SuSE 9.2 is outdated.
That's weird, sure the phone was in range? Most consumer Bluetooth devices have a working range of around 10 meters with no major obstructions. My old phone was a T610 so I just dug it out of my drawers and tested it, I can discover it and use it the same as my current SE phone so the phone isn't the problem and I doubt the version of your Bluez stack could make a difference either. At any rate, check what version of bluez-libs and bluez-utils you have, it's worth looking at.
In reaching a dead end, I decided to employ my long-time favourite tactic in such situations with dodgy electronic equipment: throw the bastard at the floor. This worked. Although not directly, it did cause the cover to come off and the battery to fall out, in turn powering the device off (something I rarely do except when on planes). Upon switching back on, all was fine in terms of detection.
However, I first tried this in WinXP since my laptop is dual boot. I installed the BlueSoleil software that came with the dongle and was able to successfully send a photo from the phone to my computer. So I went back to SuSE and played around with all the bluetooth programs I could find there. Although I can now recognise the device properly, I can't actually find any useful way of doing anything with it. Sending a photo fails. The graphical kbluetoothd program doesn't seem to have any useful function. It'll open a bluetooth window with an icon where I can click into my phone, and a set of icons for each profile appear, but I can't then find any use for them.
Upon trying your suggested command of l2ping I could only get this to work from a root console, not a user; is this normal? I know there's probably things I can do from a command line but I'd really prefer a simple graphical interface where I can perform file transfers in either direction, be it photos, sounds, themes, contacts etc. At present the 'send file via bluetooth' program will only allow me to send from computer to phone. Just an FTP program might do; could I setup KBear to handle it?
Upon trying your suggested command of l2ping I could only get this to work from a root console, not a user; is this normal?
Yes, it will only work as root. Try opening Konqueror as root and transferring a file, just to make sure it's not a permissions issue. If it's connecting through RFCOMM (not sure how the KDE tools work) then chmoding /dev/rfcomm0 might fix it. Best to pinpoint where the problem is coming from first
PS. I like the way you went about fixing the problem
I've tried opening Konqueror and transferring a file, but the phone gives an instantaneous response of 'connection failed' (as user or root). RFCOMM shows up in dmesg but there's no entry for it anywhere in /dev
I don't really know what RFCOMM is or where to look for it. Should there not be some default location in the filesystem where bluetooth is accessed? /var/lib/bluetooth is an empty folder - should anything be in there?
When I click on the tasktray kbluetoothd icon, it opens up the Konqueror window with the various profile icons, whereupon clicking on the OBEX file transfer icon results in entering a new blank directory with 'connecting' showing in the status bar for about 10 seconds, then a dialog box appears with 'Connection failed to <device>'.
I'll have a dig around the net for any other bluetooth tools but am not sure where to go from here.
I'm not sure as far as this goes, I've never really used Konqueror. Just for reference, RFCOMM is a transport protocol in Bluetooth that is originally meant to be similar in usage to a serial connection but is close enough to TCP. It's used to things like Obex because it's a solid connection and it more reliable for data transfer than L2CAP which is more like shoot-at-the-address-and-hope-it-makes-it. Try doing this as root to create the rfcomm node in /dev and see if it makes a difference. I'd have thought it would have created the node on demand but udev can be a sneaky bastard so you never know...
mknod --mode 666 /dev/rfcomm0 c 216 0
In /var/lib/bluetooth there should be a directory that is named the same as your local BT address that contains a sort of cache of discovered devices and some device-level info about your dongle. Probably not life threatening if it's not there though...
get ndiswrapper, it works, i use it. You also have to recomplile your kernel with 'wireless network (not ham radio) support and usb bluetooth support, not normal bleutooth support. the usb bluetooth things don't seem compatible with pci bluetooth.
once you have a kernel with all that in, gather the usbkey drivers in the ndiswrapper directory and install the .inf file. ndiswrapper simply wraps a windows network driver so the linux kernel can use it. see the docs. use iwconfig to bring the connection up and off you go.
I use it primarily for internet - to listen to radio4 while I work on a laptop plugged into an amplifier - but it is happy enough to mount an extra partition from the office machine, when I am short of space, to compile something from source.
it is not easy, I get this dongle free with an internet box, but used to use an iMac and a very long network cable, but having seen how well usb bleutooth worked when I stayed at the girlfriend's folks over christmas I simply kept recompliling stuff until it worked.
I'm afraid the last post about recompiling the kernel is the sort of thing that fills a newbie like me with dread, besides which it's not so easy to do that since I purchased this laptop with a custom setup from a company that provide their own kernel overlay or something, and so updating is complex and I don't know how to go about it. Anyway, the answer appears to have been more simple all along, so in case anybody else encounters these problems here's the resolution...
Bearing in mind the previous partial success I had with powering the phone off and back on, I thought I'd give it another go. Whilst using KDE as root, and with kbluetoothd running and the usb dongle plugged in, I deleted the entry for my laptop on the phone's list of devices, also turning bluetooth off. Then I powered the phone off and on again, switched bluetooth back on and searched for devices.
Unlike the previous times when it just found the device name 'silvercomet', it this time prefixed 'BlueZ' to the name, which was intriguing but encouraging. The laptop reported it had detected the phone device as before. I clicked on the kbluetoothd icon in the system tray, and in the resulting Konqueror window clicked on the icon that appeared for my phone. The same set of icons appeared for each service or 'profile' that the phone supports, so once again I clicked on 'OBEX file transfer', and after a few seconds in which previously nothing would happen and the connection would fail, miraculously this time three folders appeared for 'pictures', 'sounds' and 'themes'.
It was that simple, just some buggy element with the Sony Ericsson T610 not fully recognising the bluetooth setup without installing/deleting it and powering on and off a couple of times. I didn't even have to throw it the floor this time! I also noted that unlike previously when it detected the laptop and simply added it to the device list, it this time prompted for the pin.
I can now do regular file transfers back and forth from within Konqueror, as root or user, just as I wanted. Hope this info will spare somebody else the weeks of bother I've had getting to this stage. Thanks for all the responses.