Nucleus USB Function Class Drivers are matched to an interface in the Nucleus USB stack based on certain criteria defined at the creation of the class driver and stored in the match_flag by the _NU_USB_DRVR_Create() routine.
The Nucleus USB Modem Communications Class Driver, starting with version 2.0, ships with a working demo that shows how to create two modem functions on a single device. All of the Nucleus USB communication class and user drivers can handle multiple interfaces therefore multiple instances of those drivers is not required.
Appendix B of the Nucleus USB Function Modem Communications Class Driver User's Guide and Reference Manual explains the needed changes in the descriptor file for adding support for multiple modem function devices. This example uses an Interface Association Descriptor to bind the interfaces together for one modem. This file is included in the demo.
In the demo folder there is a file comp_modem.c which shows the descriptors. Rebuild the application by using the comp_modem.c file instead of modem_desc.c file. Nucleus USB Function Modem Communications Class Driver User's Guide and Reference Manual has detailed instructions for executing the demo application with multiple modem support. Windows XP service pack 2 will be required to test the function demos with the Windows OS.