[ltp] Serial/PCMCIA problems with TP600E

Thomas Hood linux-thinkpad@www.bm-soft.com
Thu, 15 Feb 2001 23:21:10 +0000 (GMT)


... continuing ...

> I have built tpctl_1.0 against this kernel and I can use it to inspect
> the settings of some of the hardware.  The tpctl-relevant pieces of
> /etc/conf.modules look as follows:
> ------------------------------
> keep
> options thinkpad enable_smapi=1 enable_superio=1 enable_rtcmosram=1
> 
> keep     # Added by tpctlify
> path[thinkpad]=/lib/modules/`uname -r`
> 
> alias char-major-10-170 thinkpad
> ------------------------------

You can delete the second "keep".
 
> Upon boot, the serial driver reports the following:
> ------------------------------
> Serial driver version 4.27 with no serial options enabled
> ttyS00 at 0x03f8 (irq = 4) is a 16550A
> ttyS02 at 0x03e8 (irq = 4) is a 16550A
> ------------------------------

These devices should not have the same interrupt!!

> Checking the settings with setserial:
> ------------------------------
> [root@ska /root]# setserial /dev/ttyS0 autoconfig auto_irq; setserial
> /dev/ttyS0
> /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
> [root@ska /root]# setserial /dev/ttyS2 autoconfig auto_irq; setserial
> /dev/ttyS2
> /dev/ttyS2, UART: 16550A, Port: 0x03e8, IRQ: 4
> ------------------------------
> 
> And with tpctl:
> ------------------------------
> resource state:                                       current
>    floppy controller:                                 enable  0x3f0 IRQ6
>    parallel port:                                     disable 0x3bc IRQ0 COMP
>    serial port 1:                                     enable  0x3f8 IRQ4
>    serial port 2:                                     enable  0x3e8 IRQ7
> ------------------------------
> 
> I have been able to talk to the built-in serial port in this
> configuration.  I haven't tried the IR port yet.  I don't know why
> setserial and the serial drivers believe the IR port uses IRQ 7.
                                                            ^^^^^
You mean IRQ 4, I think.  tpctl reports the irq that serial ports
#1 and #2 (the DB9 and the IR, respectively) are configured to
use.  setserial reports the irq that the driver believes the
hardware to be using.  tpctl has it right.  setserial has it
wrong.

I am am surprised that the IR port *can* use IRQ 7.  I'll
have to reboot my machine into DOS and check.  Assuming it
can (since PS2.EXE lets you assign it IRQ 7), you will
have to use setsetserial to configure /dev/ttyS2 to use
IRQ 7, not IRQ 4.  It seems that serial driver's IRQ 
detection is not working properly.  It must be getting
confused by the fact that there is another serial device
on IRQ 4.  The command
   setserial /dev/ttyS2 irq 4
should do it.

> I have built pcmcia-cs-3.1.24 against this kernel.
> /etc/conf.modules contain the following:
> ------------------------------
> pre-install pcmcia_core /etc/rc.d/init.d/pcmcia start
> ------------------------------
> while /etc/pcmcia/config.opts contains
> ------------------------------
> include port 0x100-0x4ff, port 0x1000-0x17ff
> include memory 0xc0000-0xfffff, memory 0xa0000000-0xa0ffffff
> #
> # Extra port range for IBM Token Ring
> #
> include port 0xa00-0xaff
> #
> # Resources we should not use, even if they appear to be available
> #
> # First built-in serial port
> exclude irq 4
> # built-in MWAVE modem
> exclude irq 3
> exclude irq 10
> # First built-in parallel port
> # exclude irq 7
> # CS4239 sound card uses two interrupts, 5 and 9
> exclude irq 5
> exclude irq 9
> ------------------------------
> (I must admit I'm not sure what the "include" lines are there for)

You might like to compare your file with the one
   http://panopticon.csustan.edu/thood/config.opts
at my site
   http://panopticon.csustan.edu/thood/tp600lnx.htm

> My ethernet PC-card is a 3Com 3C589B.  I seem to be able to use it
> without trouble.  When running with this card inserted,
> /proc/interrupts contains:
> ------------------------------
>            CPU0       
>   0:    1744281          XT-PIC  timer
>   1:      35478          XT-PIC  keyboard
>   2:          0          XT-PIC  cascade
>   5:          0          XT-PIC  Crystal audio controller
>   7:      27595          XT-PIC  3c589_cs
>   8:          2          XT-PIC  rtc
>  11:         15          XT-PIC  usb-uhci, i82365
>  12:      46872          XT-PIC  PS/2 Mouse
>  13:          1          XT-PIC  fpu
>  14:      43827          XT-PIC  ide0
>  15:          0          XT-PIC  ide1
> NMI:          0
> ------------------------------
> (Where are interrupts from the IR port going to appear?
> Will this be a problem?)

Yes!  Because IRQ 7 is used by a device (the IR port) you
should add
    exclude irq 7
to /etc/pcmcia/config.opts.  Then when the card is inserted,
pcmcia cardmgr will assign the card an unused interrupt.

Now on surveying your setup, it seems that all other irqs
are taken.  Therefore you have a problem.  You will have
to disable something so that there is an irq free for the
pcmcia card.  You can use tpctl to disable the IR port
or you might use PS2.EXE to disable the MIDI port.

> /proc/ioports contains
> ------------------------------
> 0000-001f : dma1
> 0020-003f : pic1
> 0040-005f : timer
> 0060-006f : keyboard
> 0070-007f : rtc
> 0080-008f : dma page reg
> 00a0-00bf : pic2
> 00c0-00df : dma2
> 00f0-00ff : fpu
> 0170-0177 : ide1
> 01f0-01f7 : ide0
> 0300-030f : 3c589_cs
> 0376-0376 : ide1
> 0388-038b : Yamaha OPL3
> 03c0-03df : vga+
> 03e8-03ef : serial(set)
> 03f6-03f6 : ide0
> 03f8-03ff : serial(set)
> 0530-0533 : Crystal audio controller
> 8400-8413 : usb-uhci
> fcf0-fcf7 : ide0
> fcf8-fcff : ide1
> ------------------------------

Looks okay.  I am using the ALSA sound drivers
and these use additional ioports
  0220-022f : CS4236+ - SB
for the SoundBlaster interface.

I notice that you don't have the mwavedd.o module loaded.

> and /proc/dma:
> ------------------------------
>  0: Crystal audio controller
>  1: Crystal audio controller
>  4: cascade
> ------------------------------

> My PC-card modem is a 3Com 3CCM156 Global Modem.  If I insert it without
> further ado, the following messages appear in the log:
> ------------------------------
> cardmgr[599]: initializing socket 0
> cardmgr[599]: socket 0: 3Com 3CCM156 56K Global Modem
> 
=== message truncated ===

Hmm.  It seems that your message was too long for the
mailing list server.  Or for my webmail service?  I can't
tell.  Better divide up your future messages into smaller
chunks --- one question per chunk, perhaps.

Thomas



____________________________________________________________
Do You Yahoo!?
Get your free @yahoo.co.uk address at http://mail.yahoo.co.uk
or your free @yahoo.ie address at http://mail.yahoo.ie

----- The Linux ThinkPad mailing list -----
The linux-thinkpad mailing list home page is at:
http://www.bm-soft.com/~bm/tp_mailing.html