I did some debugging of the source code and discovered that the following:
fcpcmcia_cs: sets up the request io structure for Port1. fcpcmcia_cs: calls CardServices() with function RequestIO and request io structure.cs: function RequestIO calls request_io() with the request info.
cs: request_io() calls alloc_io_space() for Port1. This is when the "odd io request" message is generated. However the function returns normally. cs: request_io() calls alloc_io_space() for Port2. This calls ends with an error.
request_io() calls alloc_io_space() for Port2 since fcpcmcia_cs initializes the socket structures for both ports (see line 164 and 165 of the source code in function fcpcmcia_attach). However, when it calls CardServices() with function RequestIO, it does not specify the base address for Port 2, hence the error.
To fix the problem, I commented out lines 164 and 165 in fcpcmcia_cs.c:
/* link->io.NumPorts2 = 16 link->io.Attributes2 = IO_DATA_PATH_WIDTH_16 */
With this change, the card configures correctly. Unfortunately I do not have access to an ISDN line today to test if the card actually works!! I will check this tomorrow and post the results.
I will also ask AVM support to confirm if the use of Port2 is necessary or if this is a bug. Let's see!