TuxMobil
site map · index a-z · search   





Resources

· Wholesale Cell Phone Accessories on DHgate.com




TuxMobil - PCMCIA Annotations 2



<-- 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.

  • 0. In the serial_cs.c in the clients-directory in David Hind's PCMCIA - package we will disconnect the setup of multiport cards in the following way:
  • 1. Find the function multi_config(dev_link_t *link), in my code on line 388.
  • 2. In the end of this function, (at line 461), the serial ports are configured. Comment out the configuration of ADDITIONAL ports, i.e. change
        -----------------------------------------------------
        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;
        -----------------------------------------------------
  • 3. Recompile (it's enough to say make in the clients-directory and move the newly generated serial_cs.c to /lib/modules/"whatever"/pcmcia and re-insert the card.

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.








print · i-mode · WAP · PDA
contact · imprint · privacy (P3P) · sponsors · RSS

© Werner Heuser 1997-2013 · http://tuxmobil.org/pcmcia_linux_db_a2.html · last change Mon Nov 12 2007