Quote:
Originally Posted by saivinob
well I meant that in the cd provided with the bluetooth dongle(name 'zippy') there is no driver for linux provided. Only .exe for Windows 2000/XP is present. That's why I thought there may not be a driver for it.
|
That rarely means anything for most linux devices. For the most part, if a driver exists, it comes bundled with the kernel as a loadable module. This doesn’t mean you can’t use some third-party driver (e.g., nvidia graphics drivers), but it isn’t usually necessary.
In the case of bluetooth on linux, there is a bluetooth stack called
BlueZ which is now a
qualified bluetooth subsystem (i.e., it’s recognized by the official standards body). This means it should automatically work with most bluetooth devices (all those devices which comply with the standard). For the BlueZ stack, the modules are spread out a bit. You will need
bluetooth.ko. You will most likely also need
hci_usb.ko (assuming your dongle is USB). You might additionally need
l2cap.ko,
sco.ko,
rfcomm.ko,
hidp.ko, or
bnep.ko if you want to utilize bluetooth for an ACL (Asynchronous Connection-Less) link, an SCO (Synchronous Connection-Oriented) link, the bluetooth serial port profile, the human interface device profile (e.g., mouse/keyboard), or the bluetooth network emulation profile respectively.
Quote:
Originally Posted by saivinob
Also, could you please elloborate on bluez***
|
bluez-libs and
bluez-utils are the canonical userspace complements of the BlueZ kernel stack. bluez-libs provides an API to interact with bluetooth device nodes, and bluez-utils provides several utilities that use that API (
hcid is the main one). Theoretically, any linux application wishing to use bluetooth may use the bluez-libs API directly. In practice, most bluetooth applications interact with
hcid through the use of dbus calls.
Quote:
Originally Posted by saivinob
In Debian and FreeBSD (also in CentOS) there is a blue tooth icon. But, I'm not able to open the Bluetooth menu by doublecliking on the Bluetooth icon as you would in XP. I didnot try enabling bluetooth on my phone and to search for the bluetooth devices nearby. Should I try that?
|
I have two experiences with using bluetooth on linux. The first was with Ubuntu. I installed something called “Bluetooth File Sharing” (or gnome-bluetooth). Then I plugged in my bluetooth dongle, and everything else happened automatically—I could push files from my computer onto my phone and from my phone onto my computer. The second was with my own source-compiled system. I made sure the appropriate modules were enabled when I compiled my kernel. I compiled and installed bluez-libs and bluez-utils. I hand-tweaked my
udev scripts and
hcid.conf. With hcid running, I could connect to my phone. With some additionaly software, I could send and receive files. I could also configure
hcid to implement the headset profile through
ALSA, enabling me to use my computer speakers and microphone as a headset for my cellphone.
What I’m trying to say is that using bluetooth with linux can either be very complicated or very easy. I would first suggest you follow a guide or howto for whatever distro you’re using. If that doesn’t work, then this is how you troubleshoot:
- Make sure you have the kernel modules installed.
- Look for dmesg output upon plugging in your dongle for the first time (this means boot without it plugged in, and see what the kernel logs say when you do plug it in).
- Make sure you have bluez-libs and bluez-utils installed (through your distro’s package manager).
- Make sure that when you plug in your dongle, hcid starts.
- Try to make hcid start in verbose mode and look for log messages.
- Read and tweak if necessary hcid.conf.
- See if you can pair with your phone.
- See what messages hcid spits out when you try to do anything with that paired connection (e.g., OBEX-PUSH).
- If all else fails, use hcidump and the bluez-mailing list.
P.S., don’t try to use the BlueZ userspace on freebsd—it uses an alternate stack called netgraph.