Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
This is for academic purposes. I'd like to read something about how a network interface card works.
Most computer hardware books or networking books focus on network topologies, protocols, etc. That's not what I need. Googling about it all I can find is companies stating "my NIC is the best on the planet" but saying nothing about how it works.
A network interface device ought to have a DMA engine, a PCI bus interface, FIFOs for received and ready-to-send packets, etc. I need a book, article, wite paper, webpage or whatever explaining it all. Does anybody know about one?
There are two separate aspects to your question: how Ethernet (or other network) works, and how a specific implementation works. In the case of Ethernet, you need to understand the standard, generically IEEE 802.3, and how it works. Wikipedia makes a good jumping-off point for that. From there, your best references will be the chip manufacturers data-sheets, and especially their reference implementations, upon which most OEMs base their own products. How the NIC fits into the OS can be understood by studying the driver source code for the various chipsets. There is also a, now mostly obsolete, set of drivers for MS-DOS, the crynwr packet drivers which are free, open-source and available for study.
Thanks, theNbomr. I've already read the IEEE 802.3 and PCI standards. Now I'd like to focus in the middle man, i.e. the NIC hardware.
What you say about implementations, the chip manufacturer's data-sheet, is promising but not detailed enough. Most of them only have 2 or 3 pages outlining features but they say nothing about how it works.
Maybe I'll just take a look at a device driver's source code. Thanks.
No, you're looking at the sales glossies. Chip manufacturers publish detailed specs about their products to allow designers to use the the chips in practical designs. This is the information you need to track down. It isn't always easy to find, and sometimes even requires a NDA (especially wireless NICs, due to FCC reg's) before release. Usually, they will also publish a reference design, showing how to implement their chip in a practical application, such as a NIC in the case of ethernet chips. OEMs will take the reference design as the basis for their own product, adding features or making usually minor changes to the design, and producing their product using the chip or chip-set.
It is unlikely that you will get any information about how the chip manufacturer produces the chip, or it's internal architecture, as this would be considered a trade secret. Often, different implementations will be produced over time, which are functionally equivalent, but have different internal makeup, or use different fabrication processes.
I will add that Vendor application data books are another source other than data sheets. Usually the application books have detailed explanation along with schematics to help understand the chip or device.
Mostly the applications are from research or academic appendages of the vendor.