InfraRed connections in Puppy

What works, and doesn't, for you. Be specific, and please include Puppy version.
Post Reply
Message
Author
tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

InfraRed connections in Puppy

#1 Post by tempestuous »

Puppy already contains the necessary "irda" kernel modules for various types of infrared sensor devices.

To communicate with other infrared devices such as PDA's, mobile phones, or printers you need "irda-utils". Get the dotpup here - http://dotpups.de/dotpups/System_Utilit ... -0.4-1.pup

Or to allow InfraRed remote controls units to control applications on your computer, or to turn your computer into a remote control itself, you need "LIRC". The LIRC libraries are already contained in the MPlayer dotpups here http://dotpups.de/dotpups/Multimedia/Mplayer-1.0rc1/ and the necessary LIRC modules are available as a separate dotpup.

Configuring the infrared drivers and the utilities can be complex.
The IrDA homepage at http://irda.sourceforge.net/ lists a good HOWTO here http://tuxmobil.org/Infrared-HOWTO/

The LIRC homepage at http://www.lirc.org/ has links for FAQ, HOWTOs and Documentation.

And forum member cookevillain provided a good IrDA-printing HOWTO here http://www.murga-linux.com/puppy/viewtopic.php?t=14367
User avatar
claude
Posts: 150
Joined: Sat 14 Apr 2007, 16:11
Location: Saint-Jérôme, Qc

Irda

#2 Post by claude »

Hi, tempestuous,

I read your post on probable solution for IRDA port on laptop:
here is my problem:
Old laptop toshiba Satellite 4090xdvd: no mention of any setting or Irda port in the BIOS.

I am using a frugal install of Puppy Lite 4.20 with kernel 2.6.25.16

I installed irda-utils-0.9.18+smcinit-0.4-1.pup as recommended in your post;

after rebooting, this is the output of dmesg:
lirc_dev: IR Remote Control driver registered, major 61
lirc_dev: lirc_register_plugin: sample_rate: 0
lirc_sir: I/O port 0x03e8, IRQ 4.
lirc_sir: Installed
ttyS1: LSR safety check engaged!
ttyS1: LSR safety check engaged!

I have added this to /etc/modprobe.conf

alias tty-ldisc-11 irtty-sir
alias char-major-161 ircomm-tty

the following command was issued:
irattach /dev/ttyS1 -s

setserial /dev/ttyS1
/dev/ttyS1, UART: 16550, Port: 0x02f8, IRQ: 3
irdadump do not give any output

xmode2 do not respond the my remote control

(Sanyo RB-SL40)

Anything else I can try for get a solution to my problem ?

Thank you very much for your time and help.

Claude
tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#3 Post by tempestuous »

Well it's a long time since I used IrDA - not since my old VAIO 505 died in 2007. But I'll give it a go:
Google tells me your irda driver is "donauboe". You could check this by running the "lsmod" command.
claude wrote:lirc_sir: I/O port 0x03e8, IRQ 4.
I think those resource values represent /dev/ttyS0 or /dev/ttyS2
So the irattach command should be -

Code: Select all

irattach /dev/ttyS0 -s
or

Code: Select all

irattach /dev/ttyS2 -s
If you still get no results from irdadump, I seem to remember that the the serial driver (which is built into the Puppy kernel image) must sometimes be cleared from accessing the serial port that the irda driver is trying to use. This can be achieved by running the "setserial" command with zero values, then reload your irda driver. Thus -

Code: Select all

rmmod donauboe
setserial /dev/ttyS0 uart none port 0x0 irq 0
modprobe donauboe
irattach /dev/ttyS0 -s
or

Code: Select all

rmmod donauboe
setserial /dev/ttyS2 uart none port 0x0 irq 0
modprobe donauboe
irattach /dev/ttyS2 -s
User avatar
claude
Posts: 150
Joined: Sat 14 Apr 2007, 16:11
Location: Saint-Jérôme, Qc

infrared connection

#4 Post by claude »

Tempestuous,

I tried your suggestions about ttyS0 or ttyS2 without success:

irdadump does not give any result......

Thank you very much.

Claude
tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#5 Post by tempestuous »

There's a chance that when the donauboe driver loads, it creates an interface called "irda0", but there's a chance that this interface may need to be raised with "ifconfig irda0 up". So your complete command sequence would be -

Code: Select all

rmmod donauboe
setserial /dev/ttyS0 uart none port 0x0 irq 0
modprobe donauboe
ifconfig irda0 up
irattach /dev/ttyS0 -s
And even though you have configured /etc/modprobe.conf to auto-load the irda modules, it might be worth manually loading them, just to be sure -

Code: Select all

modprobe ircomm-tty
modprobe irtty-sir
User avatar
claude
Posts: 150
Joined: Sat 14 Apr 2007, 16:11
Location: Saint-Jérôme, Qc

InfraRed connections in Puppy

#6 Post by claude »

I tried your suggestions about modprobe et irda0: no more results.
I joined a few more information from my configuration:

the output from /cat/interrupts:
CPU0
0: 1757453 XT-PIC-XT timer
1: 1486 XT-PIC-XT i8042
2: 0 XT-PIC-XT cascade
3: 2 XT-PIC-XT
4: 2 XT-PIC-XT lirc_sir
5: 2 XT-PIC-XT
6: 3 XT-PIC-XT floppy
7: 2 XT-PIC-XT
8: 1 XT-PIC-XT rtc
9: 410 XT-PIC-XT acpi
10: 2 XT-PIC-XT
11: 411 XT-PIC-XT yenta, yenta, uhci_hcd:usb1, wifi0, irda0
12: 24161 XT-PIC-XT i8042
14: 22098 XT-PIC-XT ata_piix
15: 27 XT-PIC-XT ata_piix
NMI: 0 Non-maskable interrupts
LOC: 0 Local timer interrupts
TRM: 0 Thermal event interrupts
SPU: 0 Spurious interrupts
ERR: 0
MIS: 0


the content of lsmod:
Module Size Used by
donauboe 11392 0
irtty_sir 5376 0
sir_dev 11780 1 irtty_sir
ircomm_tty 21512 0
ircomm 10884 1 ircomm_tty
lirc_sir 14820 0
lirc_dev 11700 1 lirc_sir
wlan_scan_sta 13440 1
ath_rate_sample 13312 1
ndiswrapper 170516 0
ath_pci 207160 0
wlan 225008 4 wlan_scan_sta,ath_rate_sample,ath_pci
ath_hal 303328 3 ath_rate_sample,ath_pci
serio_raw 5892 0
radio_maestro 6912 0
videodev 30976 1 radio_maestro
v4l1_compat 13700 1 videodev
compat_ioctl32 1024 1 radio_maestro
video 16016 0
output 2944 1 video
i2c_piix4 7692 0
i2c_core 18576 1 i2c_piix4
irda 96312 4 donauboe,sir_dev,ircomm_tty,ircomm
crc_ccitt 1664 2 donauboe,irda
pcspkr 2432 0
fan 4740 0
toshiba_acpi 5144 0
evdev 10752 0
battery 11012 0
thermal 15644 0
button 6928 0
processor 28208 2 thermal
ac 5124 0
fuse 48284 2
aufs 150040 1
nls_iso8859_1 4096 1
nls_cp437 5760 1
usbhid 29696 0
usb_storage 85952 0
uhci_hcd 23820 0
usbcore 136560 5 ndiswrapper,usbhid,usb_storage,uhci_hcd
squashfs 46856 2
yenta_socket 26252 3
rsrc_nonstatic 12928 1 yenta_socket

and the content of modprobe.conf:
alias binfmt-204 binfmt_aout
alias binfmt-263 binfmt_aout
alias binfmt-264 binfmt_aout
alias binfmt-267 binfmt_aout
alias binfmt-387 binfmt_aout
alias binfmt-332 iBCS
alias binfmt--310 binfmt_java
alias block-major-1-* rd
alias block-major-2-* floppy
alias block-major-3-* ide-probe-mod
alias block-major-7-* loop
alias block-major-8-* sd_mod
alias block-major-9-* md
alias block-major-11-* sr_mod
alias block-major-13-* xd
alias block-major-15-* cdu31a
alias block-major-16-* gscd
alias block-major-17-* optcd
alias block-major-18-* sjcd
alias block-major-20-* mcdx
alias block-major-22-* ide-probe-mod
alias block-major-23-* mcd
alias block-major-24-* sonycd535
alias block-major-25-* sbpcd
alias block-major-26-* sbpcd
alias block-major-27-* sbpcd
alias block-major-29-* aztcd
alias block-major-32-* cm206
alias block-major-33-* ide-probe-mod
alias block-major-34-* ide-probe-mod
alias block-major-37-* ide-tape
alias block-major-44-* ftl
alias block-major-46-* pcd
alias block-major-47-* pf
alias block-major-56-* ide-probe-mod
alias block-major-57-* ide-probe-mod
alias block-major-58-* lvm-mod
alias block-major-88-* ide-probe-mod
alias block-major-89-* ide-probe-mod
alias block-major-90-* ide-probe-mod
alias block-major-91-* ide-probe-mod
alias block-major-93-* nftl
alias block-major-97-* pg
alias char-major-4-* serial
alias char-major-5-* serial
alias char-major-6-* lp
alias char-major-9-* st
alias char-major-10-0 busmouse
alias char-major-10-2 msbusmouse
alias char-major-10-3 atixlmouse
alias char-major-10-130 wdt
alias char-major-10-131 wdt
alias char-major-10-135 rtc
alias char-major-10-139 openprom
alias char-major-10-144 nvram
alias char-major-10-157 applicom
alias char-major-10-175 agpgart
alias char-major-10-184 microcode
alias char-major-10-200 tun
alias char-major-13-* input
alias char-major-13-32 mousedev
alias char-major-14-* soundcore
alias char-major-19-* cyclades
alias char-major-20-* cyclades
alias char-major-21-* sg
alias char-major-22-* pcxx
alias char-major-23-* pcxx
alias char-major-27-* ftape
alias char-major-34-* scc
alias char-major-35-* tclmidi
alias char-major-36-* netlink
alias char-major-37-* ide-tape
alias char-major-48-* riscom8
alias char-major-49-* riscom8
alias char-major-57-* esp
alias char-major-58-* esp
alias char-major-63-* kdebug
alias char-major-90-* mtdchar
alias char-major-96-* pt
alias char-major-99-* ppdev
alias char-major-107-* 3dfx
alias char-major-108-* ppp_generic
alias char-major-109-* lvm-mod
alias char-major-161-* ircomm-tty
alias char-major-171-* raw1394
alias char-major-195-* NVdriver
alias char-major-200-* vxspec
alias char-major-206-* osst
alias dos msdos
alias dummy0 dummy
alias dummy1 dummy
alias iso9660 isofs
alias md-personality-1 linear
alias md-personality-2 raid0
alias md-personality-3 raid1
alias md-personality-4 raid5
alias md-personality-7 multipath
alias net-pf-1 unix
alias net-pf-2 ipv4
alias net-pf-4 ipx
alias net-pf-5 appletalk
alias net-pf-17 af_packet
alias netalias-2 ip_alias
alias irlan0 irlan
alias irda-dongle-0 tekram
alias irda-dongle-1 esi
alias irda-dongle-2 actisys
alias irda-dongle-3 actisys
alias irda-dongle-4 girbil
alias irda-dongle-5 litelink
alias irda-dongle-6 airport
alias irda-dongle-7 old_belkin
alias plip0 plip
alias plip1 plip
alias tunl0 ipip
alias cipcb0 cipcb
alias cipcb1 cipcb
alias cipcb2 cipcb
alias cipcb3 cipcb
alias ppp0 ppp_generic
alias ppp1 ppp_generic
alias slip0 slip
alias slip1 slip
alias tty-ldisc-1 slip
alias tty-ldisc-3 ppp_async
alias tty-ldisc-11 irtty-sir
alias tty-ldisc-14 ppp_synctty
alias ppp-compress-18 ppp_mppe
alias ppp-compress-21 bsd_comp
alias ppp-compress-24 ppp_deflate
alias ppp-compress-26 ppp_deflate
alias parport_lowlevel parport_pc
alias usbdevfs usbcore
alias /dev/ppp ppp_generic
alias /dev/lp0 /dev/lp1 lp
alias char-major-116-* snd
options sb io=0x220 irq=7 dma=1 dma16=5 mpu_io=0x330
install binfmt-0000 /bin/true
install char-major-10 /bin/true
install char-major-10-1 /bin/true
install dummy0 /sbin/modprobe -o dummy0 --ignore-install dummy
install dummy1 /sbin/modprobe -o dummy1 --ignore-install dummy
install eth0 /bin/true
install net-pf-10 /bin/true
install net-pf-19 /bin/true
install net-pf-3 /bin/true
install net-pf-6 /bin/true
install ov518_decomp { /sbin/modprobe ov511; } ; /sbin/modprobe --first-time --ignore-install ov518_decomp
install scsi_hostadapter /bin/true
install wacom /sbin/modprobe --first-time --ignore-install wacom && { /sbin/modprobe evdev; /bin/true; }
remove ov518_decomp /sbin/modprobe -r --first-time --ignore-remove ov518_decomp && { /sbin/modprobe -r ov511; /bin/true; }
remove wacom { /sbin/modprobe -r evdev; } ; /sbin/modprobe -r --first-time --ignore-remove wacom
install sdhci /sbin/modprobe mmc_block ; /sbin/modprobe --ignore-install sdhci
remove sdhci /sbin/modprobe -r --ignore-remove sdhci ; /sbin/modprobe -r mmc_block
install tifm_7xx1 /sbin/modprobe --ignore-install tifm_7xx1 ; /sbin/modprobe mmc_block ; /sbin/modprobe tifm_sd
alias char-major-62 ltserial
alias /dev/ttySLTM0 ltserial
alias wlan0 ndiswrapper

# --- BEGIN: Generated by ALSACONF, do not edit. ---
# --- ALSACONF version 1.0.16 ---
alias snd-card-0 snd-es1968
alias sound-slot-0 snd-es1968
# --- END: Generated by ALSACONF, do not edit. ---

I hope this information to be useful for you to find a solution.

Thank you very much for your support.

Claude
User avatar
claude
Posts: 150
Joined: Sat 14 Apr 2007, 16:11
Location: Saint-Jérôme, Qc

InfraRed connections in Puppy

#7 Post by claude »

I tried something else:

echo 1 > /proc/sys/net/irda/discovery

and now irdadump gives the following:

15:16:59.520050 xid:cmd 40bb9847 > ffffffff S=6 s=0 (14)
15:16:59.607947 xid:cmd 40bb9847 > ffffffff S=6 s=1 (14)
15:16:59.695974 xid:cmd 40bb9847 > ffffffff S=6 s=2 (14)
15:16:59.783993 xid:cmd 40bb9847 > ffffffff S=6 s=3 (14)
15:16:59.871964 xid:cmd 40bb9847 > ffffffff S=6 s=4 (14)
15:16:59.959982 xid:cmd 40bb9847 > ffffffff S=6 s=5 (14)
15:17:00.047972 xid:cmd 40bb9847 > ffffffff S=6 s=* Linux hint=0400 [ Computer ] (21)

7 packets received by filter

Claude
tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#8 Post by tempestuous »

claude wrote:

Code: Select all

echo 1 > /proc/sys/net/irda/discovery
Ah, well done claude. That command puts your infrared interface into "discovery" mode. Now when "irdadump" is running, you could press some buttons on your remote control and you should then see some response from irdadump.

Now that you know your infrared interface is working, you can move on to LIRC. LIRC has its own set of utilities, and I don't think that irattach is necessary ... in fact, I think that irattach may interfere with LIRC.
claude wrote:

Code: Select all

lirc_dev: IR Remote Control driver registered, major 61
lirc_dev: lirc_register_plugin: sample_rate: 0
lirc_sir: I/O port 0x03e8, IRQ 4.
lirc_sir: Installed
I see the LIRC modules (lirc_sir and lirc_dev) have loaded. That's good.
Next you need a configuration file specific to your Sanyo RB-SL40, as /etc/lircd.conf
There's a config file for a similar model, the Sanyo RB-SL22 here -
http://lirc.sourceforge.net/remotes/sanyo/
If this config file is not correct, you will need to generate one yourself. Instructions here -
http://www.lirc.org/html/help.html#new_remote

Are you trying to control MPlayer? My MPlayer package includes a LIRC configuration file as /root/.mplayer/lircrc
You need to check that your remote's config file has key names which correlate to the MPlayer key names.

And finally, you need to start the lirc daemon -

Code: Select all

/usr/sbin/lircd --driver=default --device=/dev/lirc --output=/dev/lircd
User avatar
vickyg2003
Posts: 63
Joined: Sat 30 Apr 2011, 02:18

#9 Post by vickyg2003 »

I don't mean to hijack this thread, but I am very interested in infrared controls. I'm a JP1 enthusiast and sometimes people give me lirc files to create signals. Up until now I didn't even consider that I could create lirc files with Puppy.

What kind of IR sensor works well with LIRC?
tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#10 Post by tempestuous »

vickyg2003 wrote:What kind of IR sensor works well with LIRC?
The LIRC homepage lists a range of external IR receivers, some serial, some USB, on the left side under the heading "Commercially available"
http://www.lirc.org/
There are various LIRC drivers (kernel modules) to support these devices, which I contributed here -
http://www.murga-linux.com/puppy/viewtopic.php?t=26511
The LIRC drivers, for different Puppy kernel versions, are all in the first post. A complete list of the LIRC drivers is mentioned in the last post in that thread.

And quite a number of older laptops had IR receivers built-in, using one of several different IR chipsets. Apparently only the Winbond and SMC chipsets are known to be compatible with LIRC ... forum member claude has the "Toshiba OBOE" IR chipset, so his mileage may vary.
User avatar
claude
Posts: 150
Joined: Sat 14 Apr 2007, 16:11
Location: Saint-Jérôme, Qc

InfraRed connections in Puppy

#11 Post by claude »

Well, I thing that my mileage will be very low.....

Even with output from IRDADUMP, IRDA do not detect anything from my remote device...... I tried mode2 and xmode2 and no result at all.....

Before I close this case, any new suggestion ?

Thank you very much.

Claude
tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#12 Post by tempestuous »

claude, I was specifically referring to compatibility with LIRC, so yes, mode2 and xmode2 may fail with your device.

But basic IrDA functionality should still work.
While "irdadump" is running, try pressing a remote control towards your laptop. The response from irdadump is simply to pause spitting out information. So if you keep pressing a remote button constantly, you should see a long pause.
Post Reply