Re: Addning new protocol and new driver on Linux

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



A new topic to the list :)

- Write netlink api for access with iproute2

Cheers,

2015-05-18 17:21 GMT-03:00 Daniel. <danielhilst@xxxxxxxxx>:
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



--
"Do or do not. There is no try"
  Yoda Master
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux