Skip to content

Latest commit

 

History

History
13 lines (11 loc) · 699 Bytes

README.md

File metadata and controls

13 lines (11 loc) · 699 Bytes

This repository contains my work regarding r8169 linux driver. Actual source code is C&P from original r8169.c file and cleaned from redundant logic. Motivation was preparing minimal driver (in sense of source code) which:

  • works with real PCIe device RTL8111/8168
  • handle probe() procedure via insmod
  • handle open() procedure
  • handle close() procedure
  • handle remove() procedure via rmmod
  • perform full autonegotiation with link partner
  • handle events related to link state (plugging cable trigger LOWER_UP + Link Up)
  • setup interface to LOWER_UP state

Because final driver is quite big, fragile and ugly I decided to extract each iteration to separated files: r8169.0.c, r8169.1.c etc.