I was asked to install a 3Com 3CR990-TX-95 (10/100 Mbps PCI NIC with DES) network card in a Linux box which will run 2.2.19 (upgrading is not an option at the moment). The only place I could find a driver for this card is at 3Com at http://support.3com.com//infodeli/tools/nic/linux/3c990-1.0.0a.tar.gz . Uncompressing and trying to compile this results in [root@ttt 3c990-1.0.0a]# make gcc -c -DMODULE -D__KERNEL__ -Wall -Wstrict-prototypes -O2 -I/usr/src/linux/include 3c990.c `[ -f /usr/src/linux/include/linux/modversions.h ] && echo -DMODVERSIONS` 3c990.c:225: redefinition of `dma_addr_t' /usr/src/linux/include/asm/types.h:44: `dma_addr_t' previously declared here make: *** [up] Error 1 Source around line 225 reads #if (LINUX_VERSION_CODE < 0x02032a) typedef u32 dma_addr_t; static inline void *pci_alloc_consistent(struct pci_dev *hwdev, size_t size, dma_addr_t *dma_handle) { void *virt_ptr; virt_ptr = kmalloc(size, GFP_KERNEL); *dma_handle = virt_to_bus(virt_ptr); return virt_ptr; } #define pci_free_consistent(cookie, size, ptr, dma_ptr) kfree(ptr) #define pci_map_single(cookie, address, size, dir) virt_to_bus(address) #define pci_unmap_single(cookie, address, size, dir) #endif Removing the offending typedef, everything compiles, but insmod now complains about Unresolved symbols. 3c990.o: unresolved symbol __ioremap_R9eac042a 3c990.o: unresolved symbol pci_find_class_R6c460806 3c990.o: unresolved symbol __const_udelay_Reae3dfd6 3c990.o: unresolved symbol __wake_up_Rf5158008 3c990.o: unresolved symbol skb_over_panic_Reb537f7b 3c990.o: unresolved symbol interruptible_sleep_on_timeout_R28b3ac9b 3c990.o: unresolved symbol kmalloc_R93d4cfe6 3c990.o: unresolved symbol pci_read_config_byte_Re5ceea13 3c990.o: unresolved symbol pci_write_config_byte_Re84d5397 3c990.o: unresolved symbol jiffies_R0da02d67 3c990.o: unresolved symbol eth_type_trans_R8aab9fa2 3c990.o: unresolved symbol free_irq_Rf20dabd8 3c990.o: unresolved symbol unregister_netdev_Rfaea9366 3c990.o: unresolved symbol alloc_skb_R6e2a21d1 3c990.o: unresolved symbol init_etherdev_Rb934287f 3c990.o: unresolved symbol __kfree_skb_Rab3f354e 3c990.o: unresolved symbol kfree_R037a0cba 3c990.o: unresolved symbol printk_R1b7d4074 3c990.o: unresolved symbol netif_rx_Rf46dc26d 3c990.o: unresolved symbol iounmap_R5fb196d4 3c990.o: unresolved symbol request_irq_R0c60f2e0 3c990.o: unresolved symbol pci_read_config_word_R8764d15f Can someone shed any light on this please ? Kris, -- Kris Boulez Tel: +32-9-241.11.00 AlgoNomics NV Fax: +32-9-241.11.02 Technologiepark 4 email: kris.boulez@algonomics.com B 9052 Zwijnaarde http://www.algonomics.com/ - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html