There's a fix to this problem which I will explain here (source)
modify rtbth_core_bluez.c
line 406 and just comment out this line.
//hdev->ioctl = rtbt_hci_dev_ioctl;
then change rtbth_core_bluez.c
line #216 and comment out the original line, replacing it with:
//status = hci_recv_frame(skb);
status = hci_recv_frame(hdev, skb);
after that, you need to change rtbth_core_bluez.c
in line 86 and make these changes (is it clear?)
//int rtbt_hci_dev_send(struct sk_buff *skb)
int rtbt_hci_dev_send(struct hci_dev *hdev, struct sk_buff *skb)
{
//struct hci_dev *hdev = (struct hci_dev *)skb->dev;
after making these changes you should be able to compile and add your BT devices, although I never managed to add a device myself.
by the way, the patch provided inside the link does not work and you have to do this by yourself.
Best Answer
I use Ubuntu 16.04 (Kernel 4.8)
Run
Download zip from here on GitHub and unzip it to Desktop.
Change your directory to new unzipped directory (i.e.
~/Desktop/rtbth-dkms-master
).Run the following commands one by one
Add
rtbth
at the end, then Ctrl+O and ENTER (to save the file) and Ctrl+x to close the editorReboot
Ref : https://askubuntu.com/a/828925/703994 ; https://askubuntu.com/a/904222/703994