rc.serial is called by rc.sysinit if the file exists. One must therefore copy rc.serial to rc.d directory. Observing the boot log you will find that the serial ports are not probed. Essentially rc.serial gets control but the 'if arg for $1 being 'start' is not satisfied since it wasn't passed. Therefore no setserial is performed. Also as an aside the pci.h file is completely clueless about U.S. Robotics internal pci modems. It has no vendor id and no device (1008) id. Therefore the uart is undiscoverable and the port remains dead. There are many problems in the area the least of which being documention and scripts that do not work. Possibly in wrong place. Parms passed are not valid or not passed. I suggest you place a USR 56K Internal FaxModem in your pci slot and try to utilize it. It is NOT a winmodem. I can communicate with it via Minicom and doing a setserial myself. Eventually I will hack it into the operatin system I have installed but you should fix this defect.
I need to alter this report slighty. I failed to notice the * in the IF stmt in rc.serial. The IF stmt does run but with nothing in the 'serial.conf' file it will do nothing. I had to prime the 'serial.conf' by doing a setserial -g and then issuing a rc.serial with the stop value passed to get the serial.conf file written. This is a catch 22. I know Linux doesn't handle PnP but still there is a lot of confusion here. Also the pci.h is still deficient. I don't see many new entries for internal modems that have been out for some time. You can close this problem but I basically submitted it for others to see what the problem was. If you get way down in the depths of SERIAL HOWTO you can find some wording on this but its flaky at best.