NIC driver guide


 
Thread Tools Search this Thread
Special Forums IP Networking NIC driver guide
# 1  
Old 05-14-2008
NIC driver guide

Hi

I need to know how a driver for a network interface card works, I want to learn the basic principles since I know that every driver has its specific implementation.
For example when we speak about the scheduler, we can read an operating system book and learn general design concepts e.g. multilevel feedback, round robin schedule, etc. Then if we look at linux's scheduler we can learn its specific implementation for one of the general scheduler studied form the operating system book.
I'd like to do the same thing with the NIC driver.
Thank you in advance.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Solaris

Finding the NIC driver version on Solaris 11

In Solaris 10 it was easy, a simple grep through modinfo output and you'd have the version of any loaded module, including your NIC drivers. In my career I've seen many people relying on this information in their scripts. Now I'm on Solaris 11, and where have the version numbers gone? The... (0 Replies)
Discussion started by: cambridge
0 Replies

2. Programming

My NIC driver cannot send and recieve in parallel!

Hi, all: My writed NIC driver for rtl8139d adapter on linux 3.0.4 cannot send and recieve simultaneously but is able to send or recieve in parallel respectively. As soon as it send and recieve at the same time, the transmmition rate on both directions gradually decrease to zero b/s and report... (1 Reply)
Discussion started by: liklstar
1 Replies

3. UNIX for Advanced & Expert Users

My NIC driver couldn't send and recieve data simultaneously?

Hi, all: My writed NIC driver for rtl8139d adapter on linux 3.0.4 cannot send and recieve simultaneously but is able to send or recieve in parallel respectively. As soon as it send and recieve at the same time, the transmmition rate on both directions gradually decrease to zero b/s and report... (0 Replies)
Discussion started by: liklstar
0 Replies

4. Solaris

Packaging driver for NIC

Hi guys My friend needs nfo driver for his Solaris box. I installed that driver for myself from scratch and he needs that driver in SVR4 format. I downloaded source code and run make and this is the point I don't how to proceed. How can I recognize which needs go to the package ? Does make... (0 Replies)
Discussion started by: solaris_user
0 Replies

5. Solaris

x86 Solaris 10 nic driver added but not attached. NIC is not detected.

I couldn't install my nic in solaris 10. I compiled and added the driver but failed to attach the driver and ifconfig output shows only loopback dev. Please see the following output and tell me whether my nic has been detected and why the driver failed to attach? My nic is detected in linux... (0 Replies)
Discussion started by: vectrum
0 Replies

6. UNIX for Advanced & Expert Users

How does a NIC driver activate with upper layer mutually?

Hi, all: How can I know whether the packets recieved from network by my own NIC driver are transmitted to upper layer(IP layer) or not? How can I know if the packets come from upper layer are passed to my own NIC driver and go out further? Is there any shell command or utility show... (9 Replies)
Discussion started by: liklstar
9 Replies

7. Red Hat

How to verify the current NIC driver version installed in RHEL5.3??

Guys, Can you help me how to verify the current installed NIC driver version in RHEL5.3? Thanks.:D (1 Reply)
Discussion started by: shtobias
1 Replies

8. SCO

install NIC driver for Intel Pro 1000

hi I have a fresh installation of SCO 5.0.6 and I have download a NIC driver for Intel Pro 1000: ftp://ftp.sco.com/pub/openserver5/507/drivers/eeG_5.0.7g/VOL.000.000 Howto install it using floppy? ---------- Post updated at 04:02 PM ---------- Previous update was at 02:18 PM... (0 Replies)
Discussion started by: ccc
0 Replies

9. UNIX for Advanced & Expert Users

NIC Driver

Hi:- I am trying to install a device driver for Intel NIC card on TurboLinux, but getting following errors, cc -O -Wall -o eepro100-diag eepro100-diag.c eepro100-diag.c:72: unistd.h: No such file or directory eepro100-diag.c:73: stdio.h: No such file or directory eepro100-diag.c:74:... (1 Reply)
Discussion started by: s_aamir
1 Replies

10. UNIX for Dummies Questions & Answers

NIC driver building question

I'm way confused. I loaded RH 7.1 on an old P-75 Compaq. IT has an EtherExpress pro/100 card in it and I have that attached to the optional port on our firewall with a crossover....I can't seem to get the card to negotiate with the firewall...it's currently 100Meg at Half duplex. I'm at a loss... (3 Replies)
Discussion started by: kwalter
3 Replies
Login or Register to Ask a Question
NDIS(4)                                                    BSD Kernel Interfaces Manual                                                    NDIS(4)

NAME
ndis -- NDIS miniport driver wrapper SYNOPSIS
options NDISAPI device ndis device wlan DESCRIPTION
The ndis driver is a wrapper designed to allow binary Windows(R) NDIS miniport network drivers to be used with FreeBSD. The ndis driver is provided in source code form and must be combined with the Windows(R) driver supplied with your network adapter. The ndis driver uses the ndisapi kernel subsystem to relocate and link the Windows(R) binary so that it can be used in conjunction with native code. The ndisapi sub- system provides an interface between the NDIS API and the FreeBSD networking infrastructure. The Windows(R) driver is essentially fooled into thinking it is running on Windows(R). Note that this means the ndis driver is only useful on x86 machines. To build a functional driver, the user must have a copy of the driver distribution media for his or her card. From this distribution, the user must extract two files: the .SYS file containing the driver binary code, and its companion .INF file, which contains the definitions for driver-specific registry keys and other installation data such as device identifiers. These two files can be converted into a kernel module file using the ndisgen(8) utility. This file contains a binary image of the driver plus registry key data. When the ndis driver loads, it will create sysctl(3) nodes for each registry key extracted from the .INF file. The ndis driver is designed to support mainly Ethernet and wireless network devices with PCI, PCMCIA and USB bus attachments. (Cardbus devices are also supported as a subset of PCI.) It can support many different media types and speeds. One limitation however, is that there is no consistent way to learn if an Ethernet device is operating in full or half duplex mode. The NDIS API allows for a generic means for determining link state and speed, but not the duplex setting. There may be driver-specific registry keys to control the media setting which can be configured via the sysctl(8) command. DIAGNOSTICS
ndis%d: watchdog timeout A packet was queued for transmission and a transmit command was issued, however the device failed to acknowledge the transmission before a timeout expired. SEE ALSO
altq(4), arp(4), netintro(4), ng_ether(4), ifconfig(8), ndis_events(8), ndiscvt(8), ndisgen(8), wpa_supplicant(8) NDIS 5.1 specification, http://www.microsoft.com. HISTORY
The ndis device driver first appeared in FreeBSD 5.3. AUTHORS
The ndis driver was written by Bill Paul <wpaul@windriver.com>. BSD March 14, 2010 BSD