В Sun, 12 Sep 2010 19:47:33 +0300 Dmitry Podgorny <pasis.ua@gmail.com> пишет:
В Sun, 12 Sep 2010 16:45:17 +0200 Alex Naumov <posix.ru@googlemail.com> пишет:
Всем привет.
Есть идея написать простейший драйвер для сетевой карты. Если кого интересует, присоединяйтесь к обсуждению ;)
Пока оттолкнуться можно от http://linuxgazette.net/156/jangir.html, http://linuxportal.ru/entry.php/2622_0_3_0_C/ и http://dmilvdv.narod.ru/Translate/index.html - Linux Device Drivers, Third Edition (LDD3) на русском языке
С уважением, Alex
Предлагаю начать с драйвера для сетевых карт AMD PCNet-PCI II и PCNet-PCI III. Разобраться в работе этой карточки просто и она эмулируется большинством эмуляторов/ВМ. Ведь учиться писать драйвер на реальной машине проблематично, довольно часто работа нестабильного драйвера приводит к kernel panic, из-за чего приходится перезапускать машину.
Литература: pcnet.txt в атаче содержит мои наброски в то время, когда я писал этот драйвер. Много важных моментов я не успел там помянуть, но все же он будет полезен. PCnet Family Software Design Considerations (основная документация): http://www.nalanda.nitc.ac.in/industry/AppNotes/AMD/19669.pdf PCNet-PCI II datasheet: http://pdfdata.datasheetsite.com/web/24528/AM79C970A.pdf Можно поискать документацию по продуктам AMD: http://www.nalanda.nitc.ac.in/industry/AppNotes/AMD/Index.html#m4 Конкретные реализации драйвера можно посмотреть в ядре Linux и в Plan9 А также незаменимая книжка "Linux. Сетевая архитектура. Структура и реализация сетевых протоколов я ядре", которую в электронном виде найти невозможно.