So I am getting started with writing device drivers. Specifically those used for network interfaces be they Ethernet cards or wireless adapters. Now when it comes to writing a driver, regardless of the operating system, there is going to be "device specific" code for the actual device. Is it necessary for someone who writes network device drivers to know something about the actual electronic workings of such a device? For example, the basis of modulation encoding of frames as they are transmitted and of course decoding radio signals into frames. I do imagine that wi-fi cards can only detect radio signals within a narrow band width. I wish I had a decent technical book about this. Any suggestions? And yeah, I'm a total n00b to device driver development but hey, gotta start somewhere!