Writing a Device Driver

etienne_marais

Honorary Master
Joined
Mar 16, 2008
Messages
16,250
Reaction score
19,740
Location
Centurion
I have decided to get my hands dirty and write a generic device driver for wireless keyboard/mouse for Menuet OS. My first attempt will be in C and then I really want to get down to the nitty-gritty and write it directly in assembly.

Has anybody here attempted writing a device driver on any operating system ?

I see there are some good tutorials on the net, but some pointers may be useful.
 
Go for it there is more than enough information online to get it done. But why dont you play with arduino or one of the many others? Thats more fun than mouse drivers.
 
No experience with that, but good luck.

Perhaps a silly question, but of a Bluetooth keyboard like Logitek says on the box that it is Linux compatible, do you still need to create a driver, or does the kernel recognise it?
 
Go for it there is more than enough information online to get it done. But why dont you play with arduino or one of the many others? Thats more fun than mouse drivers.

Sounds like more fun for sure, I had a craving for some assembly programming and jumped at MenuetOS (currently considering Kolibrios) thinking I could make a contribution to the project while having fun. My neighbour happens to be into raspberry pi and controlling his household devices with remotes and cellphone and http requests etc. I'll consider a chat with him on what would be more meaningful.
 
No experience with that, but good luck.

Perhaps a silly question, but of a Bluetooth keyboard like Logitek says on the box that it is Linux compatible, do you still need to create a driver, or does the kernel recognise it?

It is possible that you first have to download and install the driver for linux, for example some HUAWEI 3G modems were 'supported by linux' but you had to physically download the drivers first. If you have to create the driver yourself then I would not classify it as supported, just potentially supported.
 
It's been ages but I did x86, PIC and 8051 assembler for a few years. Not sure I can help but will monitor this thread.
 
It's been ages but I did x86, PIC and 8051 assembler for a few years. Not sure I can help but will monitor this thread.

Yeah same, only ever programmed in assembler on the old 16F84s etc.
 
Go look at the BSD driver code, it's usually under the MIT license.

6502, 680x0, 8088, 8051, PIC, out of those 680x0 & PIC were coolest.
 
Go look at the BSD driver code, it's usually under the MIT license.

6502, 680x0, 8088, 8051, PIC, out of those 680x0 & PIC were coolest.

Thanks ponder, but any reason to look at BSD drivers rather than just simply linux drivers ?
 
Thanks ponder, but any reason to look at BSD drivers rather than just simply linux drivers ?

If you intend to release it into the wild under the GNU license then the linux drivers are also fine. Not sure what your end goal is here so suggested bsd due to it's simpler license conditions.
 
If you intend to release it into the wild under the GNU license then the linux drivers are also fine. Not sure what your end goal is here so suggested bsd due to it's simpler license conditions.

Thanks ponder, end goal is to learn as much as possible, hopefully making a contribution in the process.
 
Top
Sign up to the MyBroadband newsletter
X