BlueZ 4.101 with kernel 2.6.37 - bluetooth

I have custom device which is on kernel version 2.6.37. In this I have BlueZ version 4.98. I would like to create own GATT server with BT820 Blue-tooth USB-HCI dongle which need minimum BlueZ 4.101. So I have cross-compiled BlueZ 4.101. I would like to know do I need to back-port kernel also? I don't find any information related to kernel on BlueZ.

Related

Is there a way to run iBeacon on Bluetooth 2.0 compat. device?

So I have a Linux with old BT2.0. I want to use it as iBeacon. Energy consumption is not my concern; the only one is API. Is it possible?
Unfortunately no. iBeacon and beacons in general depend on BLE advertisements, and this was introduced as part of the Bluetooth Low Energy features that are part of BT4.0. The only way around this is if you added a BT4.0 HCI dongle or a Bluetooth v4.0 device to your Linux machine.
You can find more information here:-
5 Things to Know about Beacon Technology
BLE Beacon Technology Made Simple
What are BLE Beacons
Pluggable USB Bluetooth v4.0 Dongle
Best Bluetooth Adapters in 2020
You will also need a relatively new version of Linux in order to have BlueZ support for BLE. Ideally your laptop should be on Linux v4.4 or later, but theoretically this should work from Linux v3.13 onwards. More details are found here:-
Bluetooth Linux Kernel Supported Versions
Checking BLE Capability on Linux

Do i need Bluez when using a bluetooth dongle

i am new to Linux and Bluetooth. i know that the standard implementation of the bluetooth protocol stack is bluez. I know that alsa is not supporting bluez anymore and if you want to use audio over bluetooth, you need pulseaudio. so pulseaudio should support HSP/HFP since version 6 and bluez 5.x. Know i was wondering if i can connect a usb-dongle to my hardwareboard (raspberryPi) there is a serial connection to the board. is that right? so the Dongle has the BT-STack and you can use alsa audio over USB like an USB HEadset?
i hope someone can help me.
The answering this vast addressable question is not that easy. I have few hints which will help you to narrow down.
BlueZ is user layer stack to communicate or use the functionality of Linux Kernel Bluetooth subsystem and provides helpers to developers.
USB Dongle itself doesn't have any stack and I don't really understand your question in that sense. To brief, USB Bluetooth Dongle is just the hardware device with Bluetooth functionalities. To make it functional, you need Linux Kernel Bluetooth system support enabled and either you can directly make use of "socket" system calls to pair,connect etc., or use BlueZ to develop applications with API's
BlueZ itself doesn't provide API's for developers, instead it makes use of the DBus to provide methods, properties and signals with vast range functionalities. Check here
If you interested in Audio Playback using Bluetooth, then you should register your media player and audio sink with BlueZ with according media DBus Interfaces.
To add, I am currently developing a framework library to wrap the DBus functionality provided by BlueZ for friendly development of applications. Check this repo and it is currently in initial development phase.

does linux kernel 2.6.22 support bluetooth 4.0

my project has a hardware with linux kernel 2.6.22 without build-in bluetooth.
recently we want to implement ibeacon so we think it needs bluetooth 4.0 usb dangle.
my question is does linux kernel 2.6.22 support bluetooth 4.0 ?
Because from bluez5.0 website http://lwn.net/Articles/531133/, it says that bluetooth 4.0 is not supported until kernel 3.5 .
so, is it true that without kernel support, we can't just use the bluez5.0 userspace library to control bluetooth4.0 usb dangle?
any feedback is highly appreciated!. Thanks!
Steven Song

Linux driver for embedded Linux

I'm looking to attach some USB devices to my embedded Linux board.
It is an TI-ARM processor running embedded Linux, but I guess it could be any embedded Linux board.
If I purchase an USB device which has Linux support/driver, can this driver (generally) be re-compiled to work with the ARM architecture? (Instead of Windows ect.).
Yes, USB drivers can generally be expected to compile for other architectures other than x86. Of course this presumes that your board does have a host USB port. There are a few boards that have only USB device ports, and many SoCs have both USB host & device ports.
But successfully compiling the (USB) driver may only be part of the task.
Some (USB) devices may require additional packages of libraries and other drivers for interfacing to application programs. For instance a USB digital TV tuner requires numerous packages (V4L, ALSA, I2C driver, userland firmware loading) to actually work.
Clarification
These additional dependencies that you may have to build are not because of USB.
The dependencies are related to the type of device.
An Ethernet interface, whether integrated into the SoC or offboard using USB, would be easily configured for full support in the kernel (e.g. protocol stack) and userland (e.g. Busybox has ifconfig, ping and routing apps).
A PCI TV tuner would have the same dependencies as the USB tuner. But the embedded environment typically means that you don't have any/most of these multimedia dependencies already built/installed.

Bluetooth Module Appears Not to Be working

I've built a Buildroot linux image for my PhidgetSBC and included bluetooth support unfortunately it appears my bluetooth USB dongle isn't working. Although I have not tested it with code it's internal LED does not illuminate when I plug it in.
When I issue lsmod I see this:
Module Size Used by Not tainted
usb_storage 33699 -
btusb 8560 -
bluetooth 50130 -
It appears bluetooth is in the kernel but how could I test my usb dongle?
This is definitely not Buildroot related, but rather hardware and kernel configuration rleated. Unfortunately, you're giving way too few details: which Bluetooth USB dongle you're talking about, what kernel version using, what is your kernel configuration, etc.
First of all, check if your USB device appears when running lsusb.

Resources