Author's comments concerning the '8139regs.c' debugging aid This module creates a pseudo-file in the '/proc' directory that lets users see current values in the most significant RealTek-8139 NIC's registers by simply typing the command: $ cat /proc/8139regs Here is what the resulting display will look like: --------------------------------------------------------------------- RealTek-8139 Network Controller register-values CR=0D TCR=77000680 RCR=0000F78E MAC=00:50:BF:E9:28:A9 TSD0=8008A062 TSD1=8008A062 TSD2=8008A062 TSD3=8008A062 TSAD0=3789C000 TSAD1=3789C600 TSAD2=3789CC00 TSAD3=3789D200 RBSTART=378A0000 CAPR=DD28 CABR=DD38 ERBCR=0000 ERSR=0A IMR=C07F MULINT=0000 TSAD=F00F REC=00 DIS=00 FCSC=00 --------------------------------------------------------------------- This module can coexist with other network-drivers for the RTL-8139 (such as the '8139too.c' driver distributed with Linux or any driver we are bulding as a course-project), because it does not modify any of the RTL-8139 registers. It omits displaying ISR (the Interrupt Status Register) because reading that register has the 'side-effect' of clearing it, thus potentially intefering with a network driver's interrupt-handler routine. It is perhaps useful to RealTek-8139 network-driver developers as a reverse-engineering tool, or as a debugging aid, since it exhibits, in the above display for example, how the registers were configured by the official Linux '8139too.c' network-driver, and thus allows a comparison with the values we may be programming in our own driver. Allan Cruse 10 Nov 2010