We are seeking an experienced Linux Network Driver Engineer with a strong background in Linux kernel and device driver development. The ideal candidate will have a proven track record of working with network drivers, solid knowledge of Linux internals, and the ability to handle complex debugging and optimization tasks.
Develop, test, and maintain Linux network drivers, ensuring high performance and reliability.
Engage in kernel-level programming and contribute to the Linux kernel community.
Design and implement efficient interrupt handling and DMA mechanisms.
Optimize network driver performance and reduce binary image size.
Troubleshoot and resolve issues related to Linux network drivers using advanced debugging tools.
Collaborate with cross-functional teams to integrate network drivers with broader software and hardware solutions.
Contribute to the development of storage fabric solutions and other kernel-space socket programming tasks.
Education: Bachelor's degree in Electronics and Communication Engineering, Computer Science, or a related field.
Minimum 1 year of professional experience in Linux device driver development. Exceptional freshers with good knowledge through personal projects are also welcome.
Hands-on experience with network drivers, including Ethernet drivers
Experience in storage fabric development, particularly NVMe over IP, is a plus.
Operating Systems: Linux, Windows.
Programming Languages: C.
Software Tools: SVN, cscope, ctags, make/Makefile, gcc, source insight, patchfiles.
Debugging Tools: Gdb, Wireshark, strace.
Linux Kernel Programming:
Network Driver, Character Driver, Block Driver development.
Kernel building and installation from source code.
Concurrency and race condition handling using mutexes, semaphores, and spinlocks.
Memory allocation techniques (kmalloc, vmalloc).
Implementing top and bottom halves of interrupt handlers.
PCI configuration, device enumeration, and register access.
Memory mapping and DMA (streaming and coherent mappings).
Kernel-space socket programming.
Linux Application Programming: Socket programming.
Strong problem-solving skills and attention to detail.
Excellent communication skills in English
Ability to work both independently and as part of a team.
Strong documentation and reporting skills.
Job Type: Full-time
Pay: From 300,
- 00 per year
Benefits: - Flexible schedule
Work from home
Schedule:
Supplemental pay types:
Experience:
- total work: 1 year (Required)
Work Location: In person