KERNEL 2.6.29 and Agere Systems Soft Modem (chipset 11c1:0620) ============================================================== The following is using Fedora Core11. Using agrsm06pci-2.1.80~20090825.tar.gz as the source for the modules to work with this modem: Attempting to compile the modules for kernel 2.6.29 (Fedora Core 11 with its PAE configuration) led to agrsm06pci-2.1.80~20090825/agrsoftmodem.c:263: error: too few arguments to function `__request_region' Examining /usr/src/linux/include/linux/ioport.h I see #define request_region(start,n,name) __request_region(&ioport_resource, (start), (n), (name), 0) #define __request_mem_region(start,n,name, excl) __request_region(&iomem_resource, (start), (n), (name), excl) extern struct resource * __request_region(struct resource *, resource_size_t start, resource_size_t n, const char *name, int flags); #define request_mem_region_exclusive(start,n,name) \ __request_region(&iomem_resource, (start), (n), (name), IORESOURCE_EXCLUSIVE) and it appears that __request_region has gained another argument, a flag which may specify exclusivity along with request_region(start,n,name) which uses a value of zero for that argument. I changed the code // return(request_region(start, n, name)); return(__request_region(&ioport_resource, (start), (n), (name))); in agrsoftmodem.c to // return(request_region(start, n, name)); // return(__request_region(&ioport_resource, (start), (n), (name))); return(__request_region(&ioport_resource, (start), (n), (name), 0)); It seems that request_region was originally used, then changed to use the more kernel-specific __request_region and while request_region did not change, __request_region did. I am no C-programmer but I *seem* to have gotten it to work. MODPROBE: ========= After installing I find that modprobe will not find it. Howver, insmod -f [filename] is used in /etc/init.d/agr_softmodem /sbin/insmod -f /lib/modules`uname -r`/kernel/drivers/char/agrmodem.ko; \ /sbin/insmod -f /lib/modules/`uname -r`/kernel/drivers/char/agrserial.ko; \ /usr/lib/AgereSoftModem/AgereMdmDaemon so one may want to edit the material on using modprobe (which cannot find the module while insmod can specify the module by path/filename and so the attempt to load the modules in agrsm-test.txt from agrsm-tools-0.0.1-2.noarch.rpm using modprobe fails). service agr_softmodem (start|stop) can be used to start/stop it (inserting/removing the modules and so creating/removing /dev/ttyAGS3) in Fedora Core11.