There are two bugs in the code I sent out... case 0x01: /* 16K buffer size */ ia->ia_maddr = 0xCC000; ia->ia_msize = 0x4000; <---- there was an extra 'x' in 0x4000 break; <Omit bunch of code> default: printf("ie: An EtherExpress 16 was detected but memory-mapping is turned off.\n"); <--- Needs a quotation mark at end