顯示具有 lirc 標籤的文章。 顯示所有文章
顯示具有 lirc 標籤的文章。 顯示所有文章

2010年5月23日 星期日

iMon VFD on Arch Linux

1. you have to install lirc which provides kernel module ( driver ) support for soundgraph imon devices

pacman -S lirc

2. use the command, modinfo, to find out all parameters of a module

modinfo lirc_imon
--

filename: /lib/modules/2.6.33-ARCH/kernel/drivers/misc/lirc_imon.ko
..
..
parm: debug:Debug messages: 0=no, 1=yes(default: no) (int)
parm: display_type:Type of attached display. 0=autodetect, 1=vfd, 2=lcd, 3=vga, 4=none (default: autodetect) (int)
..
..

3. create a module setting for imon vfd

vi /etc/modprobe.d/lirc_imon.conf
--

options lirc_imon display_type=1

4. enable lirc_imon module

modprobe lirc_imon

after that, my linux created two device files, /dev/lirc0 /dev/lcd2

5. copy correct remote setting to /etc/lircd.conf, my model is imon pad

cp /usr/share/lirc/remotes/imon/lircd.conf.imon-pad /etc/lircd.conf


6. start lirc daemon

/etc/rc.d/lircd start


7. install LCDproc in AUR

yaourt lcdproc

8. edit server configuration file, /etc/LCDd.conf

vi /etc/LCDd.conf
--

..
..
Driver=imon
..
..
[imon]

# select the device to use
Device=/dev/lcd2

# display dimensions
Size=16x2
..
..

9. start lcdproc server daemon

/etc/rc.d/lcdd start

10. edit client configuration file, /etc/lcdproc.conf

vi /etc/LCDd.conf
--
# address of the LCDd server to connect to
Server=localhost

# Port of the server to connect to
Port=13666

# set reporting level
ReportLevel=7

# report to to syslog ?
ReportToSyslog=false

# run in foreground [default: false; legal: true, false]
#Foreground=true

# PidFile location when running as daemon [default: /var/run/lcdproc.pid]
#PidFile=/var/run/lcdproc.pid

# slow down initial announcement of modes (in 1/100s)
#delay=2

# display name for the main menu [default: LCDproc HOST]
#DisplayName=lcdproc


## screen specific configuration options ##

[CPU]
# Show screen
Active=True
OnTime=1
OffTime=2
ShowInvisible=false


[Iface]
# Show screen
Active=True

# Show stats for Interface0
Interface0=eth0
# Interface alias name to display [default: ]
Alias0=LAN

# Show stats for Interface1
#Interface1=eth1
#Alias1=WAN

# Show stats for Interface2
#Interface2=eth2
#Alias2=MGMT

# for more than 3 interfaces change MAX_INTERFACES in iface.h and rebuild

# Units to display [default: byte; legal: byte, bit, packet]
unit=bit

# add screen with transferred traffic
#transfer=TRUE


[Memory]
# Show screen
Active=True


[Load]
# Show screen
Active=True
# Min Load Avg at which the backlight will be turned off [default: 0.05]
LowLoad=0.05
# Max Load Avg at which the backlight will start blinking [default: 1.3]
HighLoad=1.3


[TimeDate]
# Show screen
Active=True
# time format [default: %H:%M:%S; legal: see strftime(3)]
TimeFormat="%H:%M:%S"
# date format [default: %x; legal: see strftime(3)]
DateFormat="%x"


[About]
# Show screen
Active=false


[SMP-CPU]
# Show screen
Active=false


[OldTime]
# Show screen
Active=false
# time format [default: %H:%M:%S; legal: see strftime(3)]
TimeFormat="%H:%M:%S"
# date format [default: %x; legal: see strftime(3)]
DateFormat="%x"


[BigClock]
# Show screen
Active=false


[Uptime]
# Show screen
Active=false


[Battery]
# Show screen
Active=false


[CPUGraph]
# Show screen
Active=false


[ProcSize]
# Show screen
Active=false


[Disk]
# Show screen
Active=false


[MiniClock]
# Show screen
Active=false
# time format [default: %H:%M; legal: see strftime(3)]
TimeFormat="%H:%M"


# EOF

11. run lcdproc as root because of the permission of default PidFile location

sudo lcdproc

12. various clients were made for different displays dimensions so the only way is modify the source code if you want to make a client fit for your lcd

2008年1月17日 星期四

Enable Analog TV Card with Remote Control to Watch TV on Ubuntu

linux kernel has saa7134 module built-in. All you need is to load it.

1. create a module setting file for booting use

sudo vi /etc/modprobe.d/saa7134

# This setting is for LifeView FlyTV Prime 3X / FlyVIDEO3000
# you can find correct values from http://gentoo-wiki.com/HARDWARE_saa7134
options saa7134 card=2 tuner=50

2. in order to load saa7134 while booting, add the name of module into /etc/modules

sudo vi /etc/modules

saa7134

3. reboot to enable the above settings

# some useful commands for module
modprobe <name> # load module manually
lsmod # list all modules have been loaded
rmmod <name> # remove module manually

4. install tv software

sudo apt-get install tvtime

5. start tvtime from Application -> Sound & Video -> tvtime

6. control TV with arrow keys
↑ +channel
↓ -ch
→ +volume
← -vol

7. check if IR Receiver has been found

dmesg | grep IR

--
input: saa7134 IR (LifeView FlyVIDEO30 as /devices/pci0000:00/0000:00:1e.0/0000:01:00.0/input/input4

8. figure out what number of event is registered

cat /proc/bus/input/devices

--
I: Bus=0001 Vendor=5168 Product=0138 Version=0001
N: Name="saa7134 IR (LifeView FlyVIDEO30"
P: Phys=pci-0000:01:00.0/ir0
S: Sysfs=/devices/pci0000:00/0000:00:1e.0/0000:01:00.0/input/input4
U: Uniq=
H: Handlers=kbd event4
B: EV=100003
B: KEY=c0304 390000 0 0 0 0 0 0 c0000002 1e0000 0 0 10000ffc

9. install and configure lirc

sudo apt-get install lirc

--
choose Linux input layer (/dev/input/eventX) as remote
choose None as IR transmitter which is able to both send and receive
choose /dev/input/eventX as custom event interface

9. make sure lirc is running

sudo ps -ef | grep lirc

if not, start it

sudo /etc/init.d/lirc start

10. use irw command to check if the device does work

irw

--
# press any button on your remote control
0000000000010175 00 MODE linux-input-layer
0000000000010189 00 VIDEO linux-input-layer
0000000000010188 00 AUDIO linux-input-layer
.
.

11. then begin to record your own definition, follow the instructions on screen

sudo irrecord -H devinput -d /dev/input/event4 /etc/lirc/lircd.conf

--
# Please make this file available to others
# by sending it to
#
# this config file was automatically generated
# using lirc-0.8.3(devinput) on Mon Nov 10 00:57:50 2008
#
# contributed by Luke
#
# brand: LifeView
# model no. of remote control: FlyVIDEO30
# devices being controlled by this remote: FlyTV Prime 3X Series
#

begin remote

name FlyVIDEO30
bits 16
eps 30
aeps 100

one 0 0
zero 0 0
pre_data_bits 16
pre_data 0x8001
gap 207867
toggle_bit_mask 0x80010006

begin codes
Air/CATV 0x0175
Video 0x0189
Audio 0x0188
Power 0x0074
AV_Source 0x0182
FullScreen 0x0174
Stereo 0x0170
Mute 0x0071
1 0x0002
2 0x0003
3 0x0004
4 0x0005
5 0x0006
6 0x0007
7 0x0008
8 0x0009
9 0x000A
0 0x000B
Recall 0x0081
Enter 0x001C
VOL+ 0x0073
VOL- 0x0072
CH+ 0x0192
CH- 0x0193
end codes

end remote



reload the new lircd.conf

sudo /etc/init.d/lirc reload

12. make .lircrc for tvtime-command execution

vi .lircrc

--
# This is an example config file for your LIRC remote. All buttons
# depend on what you have configured in your lircd.conf file. Please
# refer to this and adjust the labels below accordingly.
#
# tvtime is controlled through a separate program called tvtime-command.
# For a list of commands, see 'man tvtime-command'. Key events can
# be 'faked' using the command KEY_EVENT, which allows for mapping a
# single remote control button to both a menu mode command and a normal
# mode command.
#
# begin
# prog = irexec
# button = DISPLAY
# config = tvtime-command DISPLAY_INFO
# end


# This section includes two configs, what this does is that it allows
# you to open tvtime and close tvtime with one button. If your remote
# has seperate buttons for this, then you can break it apart.
begin
prog = irexec
button = POWER
config = tvtime &
config = tvtime-command QUIT
end


# The following defines most of the common buttons found on a remote and
# what commads they would map to inside tvtime.
begin
prog = irexec
button = Air/CATV
config = tvtime-command DISPLAY_INFO
repeat = 1
end
begin
prog = irexec
button = Video
config = tvtime-command SHOW_MENU
end
begin
prog = irexec
button = AV_Source
config = tvtime-command TOGGLE_INPUT
end
begin
prog = irexec
button = FullScreen
config = tvtime-command TOGGLE_FULLSCREEN
end

begin
prog = irexec
button = Audio
config = tvtime-command TOGGLE_AUDIO_MODE
end
begin
prog = irexec
button = Stereo
config = tvtime-command SET_AUDIO_MODE stereo
config = tvtime-command SET_AUDIO_MODE mono
end
begin
prog = irexec
button = Mute
config = tvtime-command TOGGLE_MUTE
end

# Menu navigation.
begin
prog = irexec
button = CH+
config = tvtime-command UP
repeat = 1
end
begin
prog = irexec
button = CH-
config = tvtime-command DOWN
repeat = 1
end
begin
prog = irexec
button = VOL+
config = tvtime-command RIGHT
repeat = 2
end
begin
prog = irexec
button = VOL-
config = tvtime-command LEFT
repeat = 2
end

begin
prog = irexec
button = Recall
config = tvtime-command CHANNEL_JUMP
repeat = 1
end

begin
prog = irexec
button = 1
config = tvtime-command CHANNEL_1
end
begin
prog = irexec
button = 2
config = tvtime-command CHANNEL_2
end
begin
prog = irexec
button = 3
config = tvtime-command CHANNEL_3
end
begin
prog = irexec
button = 4
config = tvtime-command CHANNEL_4
end
begin
prog = irexec
button = 5
config = tvtime-command CHANNEL_5
end
begin
prog = irexec
button = 6
config = tvtime-command CHANNEL_6
end
begin
prog = irexec
button = 7
config = tvtime-command CHANNEL_7
end
begin
prog = irexec
button = 8
config = tvtime-command CHANNEL_8
end
begin
prog = irexec
button = 9
config = tvtime-command CHANNEL_9
end
begin
prog = irexec
button = 0
config = tvtime-command CHANNEL_0
end
begin
prog = irexec
button = Enter
config = tvtime-command ENTER
end

commands support by tvtime-command, see http://tvtime.sourceforge.net/usage.html#tvtimecommand

13. irexec should be started before running tvtime, tvtime is signalled from lirc using this helper application. if we need it start after gnome login, go to

System -> Preference -> Sessions
Startup Programs -> Add
Name: irexec
Command: /usr/bin/irexec -d
Comment:

Save