Skip to contentSkip to conversation

help with bluetooth on linux

Bluez-devel Jean Tourrilhes 3 participants 3 messages May 12, 2005 – May 13, 2005 1 message not in the archive Bluetooth drivers

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

#1 lore raw
Quoted 6 lines · Gabriel Marques

Hi, I've found your e-mail in a "how to" about "Brainboxes BlueTooth + Linux Howto".
The tutorial is helping a lot but I still got some problems, and I was hoping you could help me out with any information.
In my work (with JavaTV) I need to set up a communication channel over a BT device, using an open-source Java BT stack.

That's typical of the Java people, they want to rewrite the
whole OS in Java. This only lead to lot of duplicated code, interoperability problem and madness. Please use the OS existing BT stack, don't rewrite your own.
Let suppose your Java programe use a Java BT stack, and you
want both your Java program and a regular C/C++ program (BT mouse/audio driver) to use BT, how do you make that work. You can't.

Quoted 5 lines

JavaBluetooth relies on a serial/tty abstraction of the HCI layer (H4), and works fine with serial (RS232) BT dongles.
But those are hard and expensive to find, and all I have is two USB dongles. One is a 3com and the other came from china.
Well, my problem is: *How to make JavaBluetooth work with an USB dongle*

Don't. It's a waste of time.
The proper question is : how do I access in Java the existing
BT stack of Linux that is fully debugged and fully functional.

Quoted 4 lines

I've installed Fedora Linux (kernel 2.6.11-1.14_FC3), and the USB dongle was recognized automatically, its running fine trough BlueZ. can you help me with some steps on putting the usb_bt>serial_bt driver to work?

No, what you need to do is to create a JNI enabling your Java
program to access the BlueZ APIs. The BlueZ APIs are all sockets of various types, and most likely you only need one or two types, so this is not as bad as it looks like. Yeah, it's a shame that writting JNI is so messy, SUN should improve that.
If you want an example of such JNI, you can look at the
Java-IrDA API done be a collegue of mine. That's the right way to do it.
Actually, somebody might have already done that, so ask around...

Regards,

Jean

-------------------------------------------------------
This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7393&alloc_id=16281&op=click
_______________________________________________
Bluez-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

#2 lore raw

You can do anything with Java. In Java, everything is pointer and all the functions are virtual, and from language point of view it is cooler than C/C++. Finally, everything will go to 0s and 1s, but it is NOT cool to use them directly. People who don't like Java are usually not good C/C++ programmers.

Jack

Quoted 46 lines · Jean Tourrilhes
Quoted 6 lines · Gabriel Marques

Hi, I've found your e-mail in a "how to" about "Brainboxes BlueTooth + Linux Howto".
The tutorial is helping a lot but I still got some problems, and I was hoping you could help me out with any information.
In my work (with JavaTV) I need to set up a communication channel over a BT device, using an open-source Java BT stack.

That's typical of the Java people, they want to rewrite the
whole OS in Java. This only lead to lot of duplicated code, interoperability problem and madness. Please use the OS existing BT stack, don't rewrite your own.
Let suppose your Java programe use a Java BT stack, and you
want both your Java program and a regular C/C++ program (BT mouse/audio driver) to use BT, how do you make that work. You can't.

Quoted 5 lines

JavaBluetooth relies on a serial/tty abstraction of the HCI layer (H4), and works fine with serial (RS232) BT dongles.
But those are hard and expensive to find, and all I have is two USB dongles. One is a 3com and the other came from china.
Well, my problem is: *How to make JavaBluetooth work with an USB dongle*

Don't. It's a waste of time.
The proper question is : how do I access in Java the existing
BT stack of Linux that is fully debugged and fully functional.

Quoted 4 lines

I've installed Fedora Linux (kernel 2.6.11-1.14_FC3), and the USB dongle was recognized automatically, its running fine trough BlueZ. can you help me with some steps on putting the usb_bt>serial_bt driver to work?

No, what you need to do is to create a JNI enabling your Java
program to access the BlueZ APIs. The BlueZ APIs are all sockets of various types, and most likely you only need one or two types, so this is not as bad as it looks like. Yeah, it's a shame that writting JNI is so messy, SUN should improve that.
If you want an example of such JNI, you can look at the
Java-IrDA API done be a collegue of mine. That's the right way to do it.
Actually, somebody might have already done that, so ask around...

Regards,

Jean

Quoted 10 lines

-------------------------------------------------------
This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7393&alloc_id=16281&op=click
_______________________________________________
Bluez-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

-------------------------------------------------------
This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7393&alloc_id=16281&op=click
_______________________________________________
Bluez-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

#3 lore raw
In reply to Jean Tourrilhes

First of all, thanks for answering my questions, but there was a misundertanding here. And sorry if my questions created a Java vs. C battle.
Comments are in line:

Quoted 9 lines · Jean
Quoted 5 lines · Gabriel Marques

Hi, I've found your e-mail in a "how to" about "Brainboxes BlueTooth + Linux Howto".
The tutorial is helping a lot but I still got some problems, and I was hoping you could help me out with any information. In my work (with JavaTV) I need to set up a communication channel over a BT device, using an open-source Java BT stack.

Quoted 6 lines

That's typical of the Java people, they want to rewrite the
whole OS in Java. This only lead to lot of duplicated code, interoperability problem and madness. Please use the OS existing BT stack, don't rewrite your own.

Hehe, I'm not a Java addict who wants to rewrite the OS in java.
I'm writing applications for set-top boxes (DTV receivers), they only run Java (well, for the manufacturer they run RTLinux or something), and have no BT implementation.
The only return channel they provide is a phone modem, or sometimes something that the manufacturer implements, and a serial port, that is used for debugging and Java apps. loading.
Since I can't force the manufacturers to provide me a bluetooth return channel, but I can ask them to open acess to the serial port, the solution I found is to plug a serial BT dongle on it.
That implies in implementing the stack in Java. I totally agree that this is a task for C or even hardware to implement, but for business reasons, I have to validate some prototypes with BT so that maybe, someday, the Java API will be implemented in the OS. Well, thats the future, for now, I have to make a Java BT stack talk to a serial BT device, implement some apps. over it, so that in sequence I can port it tho some set-tops.
Windows is way too restrictive to this phase of developing, so I'm using linux, but I can't send questions to the BlueZ forums, cause it's off-topic. (actually I already tried :) )

Quoted 6 lines

Let suppose your Java programe use a Java BT stack, and you
want both your Java program and a regular C/C++ program (BT mouse/audio driver) to use BT, how do you make that work. You can't.

That won't happen, the only apps. that will use the BT will be java ones, and once the Java API is valid, it wil probably be implemented by the set-top OS/hardware.

Quoted 9 lines
Quoted 5 lines

JavaBluetooth relies on a serial/tty abstraction of the HCI layer (H4), and works fine with serial (RS232) BT dongles. But those are hard and expensive to find, and all I have is two USB dongles. One is a 3com and the other came from china. Well, my problem is: *How to make JavaBluetooth work with an USB dongle*

Don't. It's a waste of time.

True, but what can I do, it comes with the package :)

Quoted 10 lines

The proper question is : how do I access in Java the existing
BT stack of Linux that is fully debugged and fully functional.

Quoted 4 lines

I've installed Fedora Linux (kernel 2.6.11-1.14_FC3), and the USB dongle was recognized automatically, its running fine trough BlueZ. can you help me with some steps on putting the usb_bt>serial_bt driver to work?

Quoted 11 lines

No, what you need to do is to create a JNI enabling your Java
program to access the BlueZ APIs. The BlueZ APIs are all sockets of various types, and most likely you only need one or two types, so this is not as bad as it looks like. Yeah, it's a shame that writting JNI is so messy, SUN should improve that.
If you want an example of such JNI, you can look at the
Java-IrDA API done be a collegue of mine. That's the right way to do it.
Actually, somebody might have already done that, so ask around...

I've asked around a lot before asking to you, perhaps you can indicate some list or reference, like the IrDA one. Thanks.

Quoted 5 lines

Regards,

Jean

Oh, and I've sent the last message from a wrong e-mail, I'm still getting used to Thunderbird :)

-------------------------------------------------------
This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7393&alloc_id=16281&op=click
_______________________________________________
Bluez-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel