Dear Tapan, Here is the driver code section in coredrv/afedsp_int.c which outputs the the h/w failure message you can read in dmesg: // Afe&DSP initialization ---------------------------------------------------------------- { unsigned int device_ids[3]; device_ids[0] = driver->pci.pdev->device; device_ids[1] = driver->pci.pdev->vendor; device_ids[2] = driver->pci.pdev->subsystem_device << 16 | driver->pci.pdev->subsystem_vendor; Status = afe_init(device_ids); if (0 != Status ) { printk(KERN_ERR"Can't initialize modem h/w\n"); release_resources((void*)devAfe, 2); return -1; } } printk(KERN_INFO "%s: Loaded\n", DRIVER_NAME); My problem is that I do only own the binary code for afe_init so it's difficult for me to easily check and/or modify the code. I eventually can cheat with the following information: device_ids[0] = driver->pci.pdev->device; device_ids[1] = driver->pci.pdev->vendor; device_ids[2] = driver->pci.pdev->subsystem_device << 16 | driver->pci.pdev->subsystem_vendor; presenting another 537 board to afe_init. Please remember, I already modified the code right above to add TJ320_VENDOR_ID + 1 (your Silicon 537 [Winmodem] board) case INTEL_VENDOR_ID: case SIS_VENDOR_ID: case NVIDIA_VENDOR_ID: case TJ320_VENDOR_ID + 1: devAfe->iobase = driver->mem_base; devAfe->membase = driver->io_base; request_region(driver->io_base, driver->io_range, DRIVER_NAME); request_region(driver->mem_base, driver->mem_range, DRIVER_NAME); break; - http://vouters.dyndns.org:8080/ Philippe Vouters (Fontainebleau/France)