<-- Back to Linux PCMCIA Survey.
By Jan-Erik Ekberg: I
encountered the very same problem as all of you, e.g.
the phone card didn't just work, even if /var/log/messages
seemed all right. The reason (after having played around
in the serial_cs.c a while) seems to be that the card has
16 consecutive IO-lines, which the serial_cs.c sees as
a dual-interface card and thus assigns two serial ports
for it, unfortunately with the same IRQ (I guess that SHOULD
be OK, but it didn't work out anyway). I haven't yet found
out what the latter 8 IO-lines are used for, but my guess is
that the card actually is dual-port card, and that the second
port is used for voice if it is brought into the machine, and
that it might be possible to get that port to work also with
some clever kernel configuration. Still, the quick hack below
just removes the second serial port, and thus solves the problem
to some part (at least the data and SMS worked just fine, which,
I guess, most of you would be using anyway).
So, here it goes, solution No 1:
I have a more or less basic installation of RedHat 6.x, with
kernel 2.2.14 and pcmcia - package 3.1.8
even though I thing it doesn't matter very much which version
you are using, as long as you have the sources for the PCMCIA
package, as you must compile it with this solution. If I remember
correctly, the serial package looks more or less the same even
in 2.0 distributions. Thus, I give no diff, but rather instructions
so that you can make the proper adjustments to your version.
-----------------------------------------------------
setup_serial(info, link->io.BasePort1, link->irq.AssignedIRQ);
for (i = 0; i < info->multi-1; i++)
setup_serial(info, base2+(8*i), link->irq.AssignedIRQ);
return 0;
-----------------------------------------------------
to
-----------------------------------------------------
setup_serial(info, link->io.BasePort1, link->irq.AssignedIRQ);
/* for (i = 0; i < info->multi-1; i++)
* setup_serial(info, base2+(8*i), link->irq.AssignedIRQ);
*/
return 0;
-----------------------------------------------------
That's it. You should see in /var/log/messages, that only one
port has come up, then just go with e.g. minicom to access it.