[ltp] IR on TP 600 - set_disc(11): Bad file descriptor

Leif Jonsson linux-thinkpad@www.bm-soft.com
Tue, 02 Nov 1999 09:21:09 +0100


Hello all!

I'm sorry to drag this on you again but if anyone knows
what I am doing wrong I would be very glad if he or she
could enlighten me.

I run RedHat 6.0 using kernel 2.2.12 with the patch from 
the Linux IRDA pages applied.

Here is all the data I could imagine to be useful for debugging...
Sorry for the bandwidth!

I have done :

        ps2 sera address 1
        ps2 ir address 2
        ps2 sera enable
        ps2 ir enable

--------------------------------------------------------------------
[root] (~) uname -a
Linux lejon.testbed.era.ericsson.se 2.2.12 #4 Mon Nov 1 16:32:20 CET
1999 i686 unknown

--------------------------------------------------------------------

[root] (~) cat /proc/interrupts 
           CPU0       
  0:     170063          XT-PIC  timer
  1:       1536          XT-PIC  keyboard
  2:          0          XT-PIC  cascade
  5:          2          XT-PIC  Crystal audio controller
  7:       1015          XT-PIC  3c589_cs
  9:          1          XT-PIC  MPU-401 UART
 10:          4          XT-PIC  i82365
 12:      11118          XT-PIC  PS/2 Mouse
 13:          1          XT-PIC  fpu
 14:       4403          XT-PIC  ide0
 15:          6          XT-PIC  ide1
NMI:          0

--------------------------------------------------------------------

[root] (~) dmesg
...
Serial driver version 4.27 with no serial options enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
pty: 256 Unix98 ptys configured
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.9)
Sound initialization started
Sound initialization complete
RAM disk driver initialized:  16 RAM disks of 4096K size
loop: registered device at major 7
PIIX4: IDE controller on PCI bus 00 dev 39

...

Linux PCMCIA Card Services 3.0.14
  kernel build: 2.2.12 #2 Mon Sep 27 15:18:26 CEST 1999
  options:  [pci] [cardbus] [apm]
Intel PCIC probe: 
  TI 1250A PCI-to-CardBus at bus 0 slot 2, mem 0x20301000, 2 sockets
    host opts [0]: [ring] [pwr save] [isa irq] [no pci irq] [lat
168/176] [bus 1/3]
    host opts [1]: [ring] [pwr save] [isa irq] [no pci irq] [lat
168/176] [bus 4/6]
    ISA irqs (scanned) = 3,4,7,10 status change on irq 10
cs: IO port probe 0x1000-0x17ff: excluding 0x15e8-0x15ef
cs: IO port probe 0x0100-0x04ff: excluding 0x200-0x207 0x220-0x22f
0x4d0-0x4d7
cs: IO port probe 0x0a00-0x0aff: clean.
cs: memory probe 0xa0000000-0xa0ffffff: clean.
eth0: 3Com 3c589, io 0x300, irq 7, hw_addr 00:60:97:CA:92:37
  8K FIFO split 5:3 Rx:Tx, auto xcvr

...

--------------------------------------------------------------------

[root] (~) ls /dev/ir*
crw-rw-r--   1 root     root     161,   0 Oct 28 16:27 /dev/ircomm0
crw-rw-r--   1 root     root     161,   1 Oct 28 16:28 /dev/ircomm1
crw-rw-r--   1 root     root     161,  16 Oct 29 06:29 /dev/irlpt0
crw-rw-r--   1 root     root     161,  17 Oct 29 06:29 /dev/irlpt1

--------------------------------------------------------------------

[root] (~) cat /etc/conf.modules
alias parport_lowlevel parport_pc
pre-install pcmcia_core /etc/rc.d/init.d/pcmcia start

alias sound cs4232
pre-install sound insmod sound dmabuf=1
alias midi opl3
options opl3 io=0x388
options cs4232 io=0x530 irq=5 dma=0 dma2=1 mpuio=0x330 mpuirq=9
synthirq=-1 synthio=-1

keep     # Added by tpctlify
path[thinkpad]=/lib/modules    # Added by tpctlify

alias char-major-10-170 thinkpad    # Added by tpctlify

options thinkpad enable_smapi=1 enable_superio=1 enable_rtcmosram=1  #
Added by tpctlify
# IrDA
alias tty-ldisc-11 irtty
alias char-major-161 ircomm-tty
[root] (~) 

--------------------------------------------------------------------

[root] (~) cat /proc/ksyms | grep ir
c4834744 undo_irq       [pcmcia_core]
c4834610 try_irq        [pcmcia_core]
c4832230 get_first_tuple        [pcmcia_core]
c48351c8 get_first_region       [pcmcia_core]
c027c800 local_irq_count
c010999c enable_irq
c0109970 disable_irq
c0109930 disable_irq_nosync
c012ef88 __mark_inode_dirty
c012eee4 is_subdir
c012a5bc vfs_rmdir
c0109ac4 request_irq
c0109b44 free_irq
c0109bd8 probe_irq_on
c0109c60 probe_irq_off
c01cf4ec autoirq_setup
c01cf4f8 autoirq_report
c023c040 fat_dir_operations
c013f0d0 fat_mark_buffer_dirty
c01408a4 fat_readdir
c0140a40 fat_dir_ioctl
c0140b24 fat_dir_empty
c0144ff4 msdos_mkdir
c0144f08 msdos_rmdir
c01473cc vfat_mkdir
c0147270 vfat_rmdir
c023c9c0 proc_dir_inode_operations
c01695bc sock_no_socketpair
c0168a78 register_firewall
c0168ae4 unregister_firewall
c0168bac call_in_firewall
c0168bfc call_out_firewall
c0168b5c call_fw_firewall
c0196258 irttp_open_tsap
c01963e8 irttp_close_tsap
c0196c1c irttp_connect_response
c01964a4 irttp_data_request
c0196e28 irttp_disconnect_request
c0196860 irttp_flow_request
c0196894 irttp_connect_request
c019645c irttp_udata_request
c0196d5c irttp_dup
c018eacc irda_notify_init
c018eba0 irmanager_notify
c018ed7c irda_lock
c0282e44 proc_irda
c019a844 irda_param_insert
c019a8d8 irda_param_extract
c019a978 irda_param_extract_all
c019a6d8 irda_param_pack
c019a7d0 irda_param_unpack
c018f050 iriap_getvaluebyclass_request
c01985f4 irias_object_change_attribute
c019865c irias_add_integer_attrib
c01986b4 irias_add_octseq_attrib
c0198710 irias_add_string_attrib
c0198584 irias_insert_object
c0198498 irias_new_object
c0198558 irias_delete_object
c01985a0 irias_find_object
c01985b8 irias_find_attrib
c0198768 irias_new_integer_value
c01987a8 irias_new_string_value
c0198804 irias_new_octseq_value
c0190454 irlmp_discovery_request
c019080c irlmp_register_client
c01908e8 irlmp_unregister_client
c01908a0 irlmp_update_client
c01906d8 irlmp_register_service
c019076c irlmp_unregister_service
c019066c irlmp_service_to_hint
c0190598 irlmp_data_request
c018fcb8 irlmp_open_lsap
c018fdd4 irlmp_close_lsap
c018ff20 irlmp_connect_request
c0190110 irlmp_connect_response
c0190258 irlmp_disconnect_request
c0190a68 irlmp_get_daddr
c0190a58 irlmp_get_saddr
c01901cc irlmp_dup
c0196084 hashbin_get_first
c019aa2c irda_unregister_compressor
c019a9b8 irda_register_compressor
c0195734 irda_init_max_qos_capabilies
c0195bd0 irda_qos_bits_to_value
c0197870 irda_device_open
c0197af0 irda_device_close
c0197bf4 irda_device_setup
c01983c0 irda_device_set_media_busy
c0197e6c irda_device_txqueue_empty
c0197c60 irda_device_net_open
c0197c98 irda_device_net_close
c0197e8c irda_device_init_dongle
c0197f1c irda_device_register_dongle
c0197f9c irda_device_unregister_dongle
c0195528 irda_start_timer
c01a34b4 end_that_request_first
c01a5f94 ide_timer_expiry
c01f0c68 mod_firmware_load
[root] (~) 

--------------------------------------------------------------------

[root] (~) setserial /dev/ttyS1
/dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3
[root] (~) 

--------------------------------------------------------------------
After this I do

[root] (~) irattach /dev/ttyS1
0.1 Fri Jul 25 11:45:26 1997 Dag Brattli
[root] (~) 

And I get:

Nov  2 09:16:24 localhost irattach: Serial connection established.
Nov  2 09:16:24 localhost irattach: irattach: tty: set_disc(11): Bad
file descriptor

In the syslog

--------------------------------------------------------------------

Highest regards and respect...
-Leif Jonsson

-- 
Leif Jonsson, ERA/T/KA       mailto:Leif.von.Jonsson@era-t.ericsson.se
Ericsson Radio Systems       phoneto:+46(0)84047215
----- The Linux ThinkPad mailing list -----
The linux-thinkpad mailing list home page is at:
http://www.bm-soft.com/~bm/tp_mailing.html