There is a function called sregs_init which is being used in modem.c but never declared anywhere. This means that either you didn't enable some things when you configured the kernel source for compilation, or, this function was declared in the old FC2 kernel, but no longer present in the new FC4 kernel. To see what's going on, cd to the kernel source directory and do a recursive grep to see if you can find that function: grep -r sregs_init If you find it, you may get a clue about what you need to enable in the kernel config file. If you don't find it, you'd better get a true modem.