[ltp] Report for NSC FIR

Tom Grydeland linux-thinkpad@www.bm-soft.com
Fri, 2 Mar 2001 15:57:35 +0100 (MET)


A new long report :-)

Setup is the same as last time --
 * TP 600E, findchip Found NSC PC87338
 * kernel 2.2.18, unpatched except for Thomas Hood's nsc-ircc patch
   minus the request-region chunk.
 * irda-utils-0.9.13
 * tpctl 1.0
 * pcmcia 3.1.24 (for lspnp/setpnp)

I looks as if irtty might have been responsible for my failure last
time.  This time I was able to load the module, irattach to it,
and irdadump did see some traffic on the link (although very little --
only one packet every five seconds or so), but the Palm gave no
indication of seeing any traffic, and it did not appear in the discovery
log.

((Maybe I am asking for the impossible now?  Is the Palm FIR-capable?))

Anyway, here's the log, captured with 'script' and edited for clarity.
Comments are introduced with '%'

Script started on Fri Mar  2 06:10:10 2001
#
# tpctl --rsx
resource state:					     current
   serial port :					    enable  0x3f8 IRQ4
   serial port :					    enable  0x3e8 IRQ7
# lspnp -v -b 13
13 IBM0071 IBM Thinkpad infrared port
	irq 7
	io 0x03e8-0x03ef
	dma 3
# cat /etc/conf.modules

% non-IR-related stuff deleted

# IrDA
alias tty-ldisc-11	irtty
alias char-major-161	ircomm-tty
# These values are hard-coded in irattach (not instance order)
alias irda-dongle-0 tekram		# Tekram IrMate IR-210B
alias irda-dongle-1 esi			# ESI JetEye
alias irda-dongle-2 actisys		# Actisys IR-220L
alias irda-dongle-3 actisys		# Actisys IR-220L+
alias irda-dongle-4 girbil		# Greenwich GIrBIL
alias irda-dongle-5 litelink		# Parallax LiteLink
alias irda-dongle-6 airport		# Adaptec Airport 1000 and 2000
# IrNET module...
alias char-major-10-187 irnet		# Official allocation of IrNET

# NSC IR controller in the TP600E
alias	irda0	 nsc-ircc
options nsc-ircc dongle_id=0x09 irq=7, io=0x03e8

# lspnp -v -b 13
13 IBM0071 IBM Thinkpad infrared port
	irq 7
	io 0x03e8-0x03ef
	dma 3
# sync
# modprobe irda0
# tail /var/log/messages
Mar  2 06:10:40 host cardmgr[23299]: watching 2 sockets
Mar  2 06:10:40 host kernel: cs: IO port probe 0x0c00-0x0cff: clean.
Mar  2 06:10:40 host kernel: cs: IO port probe 0x0800-0x08ff: clean.
Mar  2 06:10:40 host kernel: cs: IO port probe 0x0100-0x04ff: clean.
Mar  2 06:10:40 host kernel: cs: IO port probe 0x0a00-0x0aff: clean.
Mar  2 06:11:59 host kernel: IrDA (tm) Protocols for Linux-2.2 (Dag Brattli)
Mar  2 06:11:59 host kernel: nsc-ircc, Found chip at io base 0x02e
Mar  2 06:11:59 host kernel: nsc-ircc, Driver loaded (Dag Brattli)
Mar  2 06:11:59 host kernel: IrDA: Registered device irda0
Mar  2 06:11:59 host kernel: nsc-ircc, Using dongle: IBM31T1100 or Temic TFDS6000/TFDS6500
# irattach irda0 -d
1.1 Tue Nov  9 15:30:55 1999 Dag Brattli
# tail /var/log/messages
Mar  2 06:10:40 host kernel: cs: IO port probe 0x0a00-0x0aff: clean. 
Mar  2 06:11:59 host kernel: IrDA (tm) Protocols for Linux-2.2 (Dag Brattli) 
Mar  2 06:11:59 host kernel: nsc-ircc, Found chip at io base 0x02e 
Mar  2 06:11:59 host kernel: nsc-ircc, Driver loaded (Dag Brattli) 
Mar  2 06:11:59 host kernel: IrDA: Registered device irda0 
Mar  2 06:11:59 host kernel: nsc-ircc, Using dongle: IBM31T1100 or Temic TFDS6000/TFDS6500 
Mar  2 06:12:30 host irattach: executing: '/sbin/modprobe irda0'
Mar  2 06:12:30 host irattach: Starting device irda0
Mar  2 06:12:30 host irattach: executing: 'echo host > /proc/sys/net/irda/devname'
Mar  2 06:13:28 host kernel: IrCOMM protocol (Dag Brattli) 

% At this point, I placed the Palm in front of the IR port

# cat /proc/net/irda/discovery
IrLMP: Discovery log:

# lsmod
Module			Size  Used by
nsc-ircc	       13768   1
irda		      143649   1  [nsc-ircc]
ds			6120   2
i82365		       21620   2
pcmcia_core	       49984   0  [ds i82365]
superio			5040   0  (autoclean) (unused)
smapi			2364   0  (autoclean) (unused)
thinkpad		2640   0  (autoclean) [superio smapi]
# cat /proc/interrupts
	   CPU0
  0:   10403598		 XT-PIC	 timer
  1:	 188795		 XT-PIC	 keyboard
  2:	      0		 XT-PIC	 cascade
  7:	      2		 XT-PIC	 irda0
  8:	     23		 XT-PIC	 rtc
 11:	     54		 XT-PIC	 usb-uhci, i82365
 12:	 571838		 XT-PIC	 PS/2 Mouse
 13:	      1		 XT-PIC	 fpu
 14:	 155377		 XT-PIC	 ide0
 15:	 910089		 XT-PIC	 ide1
NMI:	      0

% as my own user, I tried 'pilot-xfer -p /dev/irnine -l' and started
% HotSync on the Palm

# irdadump
05:13:47.862355 xid:cmd ff1cffd6 > ffffffff S=6 s=1 (14)
05:13:52.862316 xid:cmd ff1cffd6 > ffffffff S=6 s=1 (14)
05:13:57.862481 xid:cmd ff1cffd6 > ffffffff S=6 s=1 (14)
05:14:02.862317 xid:cmd ff1cffd6 > ffffffff S=6 s=1 (14)
05:14:07.862351 xid:cmd ff1cffd6 > ffffffff S=6 s=1 (14)
05:14:12.862350 xid:cmd ff1cffd6 > ffffffff S=6 s=1 (14)
05:14:17.862351 xid:cmd ff1cffd6 > ffffffff S=6 s=1 (14)
05:14:22.862353 xid:cmd ff1cffd6 > ffffffff S=6 s=1 (14)
05:14:27.862351[xid:cmd ff1cffd6 > ffffffff S=6 s=1 (14)

9 packets received by filter
# lsmod
Module			Size  Used by
af_packet		5676   0  (autoclean)
ircomm-tty	       30144   1  (autoclean)
ircomm		       13436   0  (autoclean) [ircomm-tty]
nsc-ircc	       13768   1
irda		      143649   1  [ircomm-tty ircomm nsc-ircc]
ds			6120   2
i82365		       21620   2
pcmcia_core	       49984   0  [ds i82365]
superio			5040   0  (autoclean) (unused)
smapi			2364   0  (autoclean) (unused)
thinkpad		2640   0  (autoclean) [superio smapi]
# cat /proc/interrupts
	   CPU0
  0:   10415315		 XT-PIC	 timer
  1:	 189001		 XT-PIC	 keyboard
  2:	      0		 XT-PIC	 cascade
  7:	      2		 XT-PIC	 irda0
  8:	     23		 XT-PIC	 rtc
 11:	     54		 XT-PIC	 usb-uhci, i82365
 12:	 571838		 XT-PIC	 PS/2 Mouse
 13:	      1		 XT-PIC	 fpu
 14:	 155454		 XT-PIC	 ide0
 15:	 910089		 XT-PIC	 ide1
NMI:	      0
# ll /dev/irnine
crw-rw-rw-   1 root	root	 161,	0 Mar  2 06:15 /dev/irnine
# ll /dev/ircomm0
crw-rw-rw-   1 root	root	 161,	0 Feb 18 16:47 /dev/ircomm0
# pilot-xfer -p /dev/irnine -l
Waiting for connection on /dev/irnine (press the HotSync button now)...
Abort on signal!

[1]+  Stopped		      pilot-xfer -p /dev/irnine -l
# kill %1

[1]+  Stopped		      pilot-xfer -p /dev/irnine -l
#  lsmod
Module			Size  Used by
af_packet		5676   0  (autoclean)
ircomm-tty	       30144   0  (autoclean)
ircomm		       13436   0  (autoclean) [ircomm-tty]
nsc-ircc	       13768   1
irda		      143649   1  [ircomm-tty ircomm nsc-ircc]
ds			6120   2
i82365		       21620   2
pcmcia_core	       49984   0  [ds i82365]
superio			5040   0  (autoclean) (unused)
smapi			2364   0  (autoclean) (unused)
thinkpad		2640   0  (autoclean) [superio smapi]
[1]+  Terminated	      pilot-xfer -p /dev/irnine -l
# rmmod af_packet
# rmmod ircomm-tty
# rmmod nsc-ircc
rmmod: nsc-ircc: Device or resource busy
# killall irattach
# rmmod nsc-ircc
# lsmod
Module			Size  Used by
irda		      143649   0
ds			6120   2
i82365		       21620   2
pcmcia_core	       49984   0  [ds i82365]
superio			5040   0  (autoclean) (unused)
smapi			2364   0  (autoclean) (unused)
thinkpad		2640   0  (autoclean) [superio smapi]
# rmmod irda
# lsmod
Module			Size  Used by
ds			6120   2
i82365		       21620   2
pcmcia_core	       49984   0  [ds i82365]
superio			5040   0  (autoclean) (unused)
smapi			2364   0  (autoclean) (unused)
thinkpad		2640   0  (autoclean) [superio smapi]
# /etc/rc.d/init.d/pcmcia/stop
Shutting down PCMCIA services: cardmgr modules.
# lsmod
Module			Size  Used by
superio			5040   0  (autoclean) (unused)
smapi			2364   0  (autoclean) (unused)
thinkpad		2640   0  (autoclean) [superio smapi]
# tpctl --rsx
resource state:					     current
   serial port :					    enable  0x3f8 IRQ4
   serial port :					    enable  0x3e8 IRQ7
# setserial -g /dev/ttyS?
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: unknown, Port: 0x02f8, IRQ: 3
/dev/ttyS2, UART: 8250, Port: 0x03e8, IRQ: 4
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3
# umount /usr
umount: /usr: device is busy
exit 1
#

Script done on Fri Mar	2 06:17:43 2001

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

At the end, the serial port again claims to have an 8250 uart, (which is
what it did when I crashed last), so I proceeded to take the machine
down to runlevel 1, umount /home and /usr, disable and then reenable the
IR port using tpctl (no crashes this time!), reload the serial module
(this time it recognised the uart as a 16550A), and bring the machine
back to runlevel 3, and remount the partitions.  No reboot this time :-)

I'm not sure whether this is a success or a failure.  I could load
nsc-ircc, irattach irda0, unload the module and restore the IR port, but
I couldn't talk to anything over it.  The output from irdadump seems to
indicate something is not right -- with SIR I get a flurry of messages
every five seconds, not just one.


-- 
//Tom Grydeland <Tom.Grydeland@phys.uit.no>


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