# Wanting to code a bluetooth driver. Starting point?



## ThoughtCriminal (Aug 27, 2020)

OK, SO...

I am running FreeBSD 12.1-RELEASE on a Lenovo x260

I got the mobile broadband module working after some help and encouragement from members of the forums.

In an effort to have everything working on the laptop I've come up to a problem...

Bluetooth on this device doesn't seem to be supported.

I get the following after running `service bluetooth start`
`/etc/rc.d/bluetooth: ERROR: Unsupported device`

Soo. I'm guessing Bluetooth for this laptop isn't yet supported. dmesg doesn't have a ubt0 anywhere and in /var/log/messages the only mention of bluetooth is: `/etc/rc.d/bluetooth: ERROR: Unable to setup Bluetooth stack for device ubt0`

Yes I have searched google. Yes I have followed the handbook. The conclusion I come up with is it is a 4.1 Bluetooth device and not currently supported.

So.. What to do?

I am an intermediately skilled C programmer, I know the difference between a process and a thread, know what pointers are and how to abuse them as well as structs and linked lists.

I figure I might as well become part of the community and try and contribute something.. Where do I start?

I have a copy of the following;

FreeBSD device drivers
FreeBSD Rootkits(kernel hacking)

as well as; The design and implementation of the FreeBSD Operating System, 2nd Ed.

So I'm good for reading material. I just need a starting point. I have the laptop datasheet. 

I like the ideals of FreeBSD and the community around it..I guess I'm just trying to say 'Hello World'

cheers.


----------



## Emrion (Aug 27, 2020)

Look for the code of the Linux driver (if it exists). Understand it and convert it to FreeBSD.


----------

