Addning new protocol and new driver on Linux

Daniel. danielhilst at gmail.com
Mon May 18 16:21:59 EDT 2015


Hi all!

I have a driver for nordic nRF24L01+ module:
http://www.nordicsemi.com/eng/Products/2.4GHz-RF/nRF24L01P

I'm looking for a requirements list of what I need to do. For now I have
this topics

- Write driver using kernel NAPI (I already have a driver working with cdev
API)
- Write new protocol and export to userspace as a new socket type (no ideia
on this)

As example I'm using the linux socketCan, I want to do like they did, but
with nRF24L01+. I have no ideia how this two topics touch one each other...
Any documentation, simple examples, tutorials, guide lines, articles or irc
chat on subject is welcome, I look on LDD3, but its outdated, I'm using
kernel 3.0 for development,

As first version requeriment I want to send frames (32 bytes fixed) with
sendto() and receive (32 bytes fixed too) with recvfrom()... Messages
should be enqueued while sending, the driver need to iterate over a
circular list of remote nodes, exchaning frames and delivering the received
to userspace...

Something like:

for (;;) {
  node *n = get_next_node();
  send_frames_to(n); // <- send enqueed frames, unblocking sendto() caller
  receive_frames_from(n); // <- deliver received frames to recvfrom() caller
}

Thanks in advance!
Cheers

-- 
*"Do or do not. There is no try"*
  *Yoda Master*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20150518/459d6cbb/attachment.html 


More information about the Kernelnewbies mailing list