Oblong_Cheese
October 28th, 2009, 08:52 AM
Hi all,
I have been trying to get this combination to work for some time now. I have followed some guides but they appear to all be for 9.04. I will post the relevant information below:
Basics:
owen@owen-htpc:~$ lsusb
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 002: ID 15c2:0038 SoundGraph Inc.
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 007: ID 1532:0007 Razer USA, Ltd DeathAdder Mouse
Bus 001 Device 006: ID 0603:00f2 Novatek Microelectronics Corp.
Bus 001 Device 004: ID 04fc:0c25 Sunplus Technology Co., Ltd
Bus 001 Device 003: ID 1a40:0101 TERMINUS TECHNOLOGY INC.
Bus 001 Device 002: ID 14aa:0221 AVerMedia (again) or C&E AVermedia DVBT Tuner Dongle
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
owen@owen-htpc:~$ cat /proc/bus/usb/devices | grep -A 5 15c2
P: Vendor=15c2 ProdID=0038 Rev= 0.01
C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=02 Driver=lirc_imon
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
I:* If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=lirc_imon
E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
So we can see the correct driver is being loaded instead of usbhid.
owen@owen-htpc:~$ ls /dev/ | grep lir
lirc0
lircd
owen@owen-htpc:~$ ls /dev/ | grep lc
lcd0
Here is where I am confused. All of the guides for 9.04 talk about having to run two instances of lirc for the two devices present to combine them into the one device - 9.10 seems to have already sorted that out for us?
When I use irw it responds with absolutely nothing at all. And the strangest part is this:
owen@owen-htpc:~$ perl -e 'print pack "H*", "80000000091e0088"' > /dev/lcd0
bash: /dev/lcd0: Permission denied
owen@owen-htpc:~$ sudo perl -e 'print pack "H*", "80000000091e0088"' > /dev/lcd0
bash: /dev/lcd0: Permission denied
BUT with the following configurations:
LCDd.conf
# LCDd.conf -- configuration file for the LCDproc server daemon LCDd
#
# This file contains the configuration for the LCDd server.
#
# The format is ini-file-like. It is divided into sections that start at
# markers that look like [section]. Comments are all line-based comments,
# and are lines that start with '#' or ';'.
#
# The server has a 'central' section named [server]. For the menu there is
# a section called [menu]. Further each driver has a section which
# defines how the driver acts.
#
# The drivers are activated by specifiying them in a driver= line in the
# server section, like:
#
# Driver=curses
#
# This tells LCDd to use the curses driver.
# The first driver that is loaded and is capable of output defines the
# size of the display. The default driver to use is curses.
# If the driver is specified using the -d <driver> command line option,
# the Driver= options in the config file are ignored.
#
# The drivers read their own options from the respective sections.
## Server section with all kinds of settings for the LCDd server ##
[server]
# Where can we find the driver modules ?
# IMPORTANT: Make sure to change this setting to reflect your
# specific setup! Otherwise LCDd won't be able to find
# the driver modules and will thus not be able to
# function properly.
# NOTE: Always place a slash as last character !
DriverPath=/usr/lib/lcdproc/
# Tells the server to load the given drivers. Multiple lines can be given.
# The name of the driver is case sensitive and determines the section
# where to look for further configuration options of the specific driver
# as well as the name of the dynamic driver module to load at runtime.
# The latter one can be changed by giving af File= directive in the
# driver specific section.
#
# The following drivers are supported:
# bayrad, CFontz, CFontz633, CFontzPacket, curses, CwLnx, ea65,
# EyeboxOne, g15, glcdlib, glk, hd44780, icp_a106, imon, imonlcd, IOWarrior,
# irman, joy, lb216, lcdm001, lcterm, lirc, lis, MD8800, ms6931, mtc_s16209x,
# MtxOrb, mx5000, NoritakeVFD, picolcd, pyramid, sed1330, sed1520, serialPOS,
# serialVFD, shuttleVFD, sli, stv5730, svga, t6963, text, tyan, ula200,
# xosd
Driver=imonlcd
# Tells the driver to bind to the given interface
Bind=127.0.0.1
# Listen on this specified port; defaults to 13666.
Port=13666
# Sets the reporting level; defaults to 2 (warnings and errors only).
#ReportLevel=3
# Should we report to syslog instead of stderr ? [default: no; legal: yes, no]
#ReportToSyslog=yes
# User to run as. LCDd will drop its root priviledges, if any,
# and run as this user instead.
User=nobody
# The server will stay in the foreground if set to true.
#Foreground=no
# Hello message: each entry represents a display line; default: builtin
#Hello=" Welcome to"
#Hello=" LCDproc!"
# GoodBye message: each entry represents a display line; default: builtin
#GoodBye="Thanks for using"
#GoodBye=" LCDproc!"
# Sets the default time in seconds to displays a screen.
WaitTime=5
# If yes, the the serverscreen will be rotated as a usual info screen. If no,
# it will be a background screen, only visible when no other screens are
# active. The special value 'blank' is similar to no, but only a blank screen
# is displayed. [default: on; legal: on, off, blank]
ServerScreen=on
# Set master backlight setting. If set to 'open' a client may control the
# backlight for its own screens (only). [default: open; legal: off, open, on]
#Backlight=open
# Set master heartbeat setting. If set to 'open' a client may control the
# heartbeat for its own screens (only). [default: open; legal: off, open, on]
#Heartbeat=open
# set title scrolling speed [default: 10; legal: 0-10]
#TitleSpeed=10
# The "...Key=" lines define what the server does with keypresses that
# don't go to any client.
# These are the defaults:
ToggleRotateKey=Enter
PrevScreenKey=Left
NextScreenKey=Right
#ScrollUpKey=Up
#ScrollDownKey=Down
# If you have only 4 keys, you can choose to use this:
#ToggleRotateKey=Enter
#PrevScreenKey=Up
#NextScreenKey=Down
# If you have only 3 keys, you can choose to use this:
#ToggleRotateKey=Enter
#PrevScreenKey=Up
## The menu section. The menu is an internal LCDproc client. ##
[menu]
# You can configure what keys the menu should use. Note that the MenuKey
# will be reserved exclusively, the others work in shared mode.
# The following works excellent with 4 keys or more.
MenuKey=Escape
EnterKey=Enter
UpKey=Up
DownKey=Down
# If you have 6 keys you may define these as well
#LeftKey=Left
#RightKey=Right
# If you have only 3 keys, you could use something like this:
#MenuKey=Escape
#EnterKey=Enter
#DownKey=Down
## Curses driver ##
[curses]
# color settings
# foreground color [default: blue]
Foreground=blue
# background color when "backlight" is off [default: cyan]
Background=cyan
# background color when "backlight" is on [default: red]
Backlight=red
# display size [default: 20x4]
Size=20x4
# What position (X,Y) to start the left top corner at...
# Default: (7,7)
TopLeftX=7
TopLeftY=7
# use ASC symbols for icons & bars [default: no; legal, yes, no]
UseACS=no
# draw Border [default: yes; legal: yes, no]
DrawBorder=yes
## Soundgraph iMON LCD ##
[imonlcd]
# Specify which iMon protocol should be used [legal: 0=15c2:ffdc device,
# 1=15c2:0038 device; default: 0]
Protocol=1
# Set the exit behavior [legal: 0=leave shutdown message, 1=show the big clock,
# 2=blank device; default: 1]
OnExit=1
# Select the output device to use [default: /dev/lcd0]
Device=/dev/lcd0
# Select the displays contrast [default: 200; legal: 0-1000]
Contrast=200
# Specify the size of the display in pixels [default: 96x16]
#Size=96x16
# Set the backlight state [default: on; legal: on, off]
#Backlight=on
# Set the disc mode [legal: 0=spin the "slim" disc - two disc segments,
# 1=their complement spinning; default: 0]
#DiscMode=0
# EOF
(irrelevant driver sections omitted)
When I select Driver=curses I get the ugly time printout, and when I select Driver=imonlcd I get the ServerScreen with the heartbeat etc.
I have been trying to get this combination to work for some time now. I have followed some guides but they appear to all be for 9.04. I will post the relevant information below:
Basics:
owen@owen-htpc:~$ lsusb
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 002: ID 15c2:0038 SoundGraph Inc.
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 007: ID 1532:0007 Razer USA, Ltd DeathAdder Mouse
Bus 001 Device 006: ID 0603:00f2 Novatek Microelectronics Corp.
Bus 001 Device 004: ID 04fc:0c25 Sunplus Technology Co., Ltd
Bus 001 Device 003: ID 1a40:0101 TERMINUS TECHNOLOGY INC.
Bus 001 Device 002: ID 14aa:0221 AVerMedia (again) or C&E AVermedia DVBT Tuner Dongle
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
owen@owen-htpc:~$ cat /proc/bus/usb/devices | grep -A 5 15c2
P: Vendor=15c2 ProdID=0038 Rev= 0.01
C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=02 Driver=lirc_imon
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
I:* If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=lirc_imon
E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
So we can see the correct driver is being loaded instead of usbhid.
owen@owen-htpc:~$ ls /dev/ | grep lir
lirc0
lircd
owen@owen-htpc:~$ ls /dev/ | grep lc
lcd0
Here is where I am confused. All of the guides for 9.04 talk about having to run two instances of lirc for the two devices present to combine them into the one device - 9.10 seems to have already sorted that out for us?
When I use irw it responds with absolutely nothing at all. And the strangest part is this:
owen@owen-htpc:~$ perl -e 'print pack "H*", "80000000091e0088"' > /dev/lcd0
bash: /dev/lcd0: Permission denied
owen@owen-htpc:~$ sudo perl -e 'print pack "H*", "80000000091e0088"' > /dev/lcd0
bash: /dev/lcd0: Permission denied
BUT with the following configurations:
LCDd.conf
# LCDd.conf -- configuration file for the LCDproc server daemon LCDd
#
# This file contains the configuration for the LCDd server.
#
# The format is ini-file-like. It is divided into sections that start at
# markers that look like [section]. Comments are all line-based comments,
# and are lines that start with '#' or ';'.
#
# The server has a 'central' section named [server]. For the menu there is
# a section called [menu]. Further each driver has a section which
# defines how the driver acts.
#
# The drivers are activated by specifiying them in a driver= line in the
# server section, like:
#
# Driver=curses
#
# This tells LCDd to use the curses driver.
# The first driver that is loaded and is capable of output defines the
# size of the display. The default driver to use is curses.
# If the driver is specified using the -d <driver> command line option,
# the Driver= options in the config file are ignored.
#
# The drivers read their own options from the respective sections.
## Server section with all kinds of settings for the LCDd server ##
[server]
# Where can we find the driver modules ?
# IMPORTANT: Make sure to change this setting to reflect your
# specific setup! Otherwise LCDd won't be able to find
# the driver modules and will thus not be able to
# function properly.
# NOTE: Always place a slash as last character !
DriverPath=/usr/lib/lcdproc/
# Tells the server to load the given drivers. Multiple lines can be given.
# The name of the driver is case sensitive and determines the section
# where to look for further configuration options of the specific driver
# as well as the name of the dynamic driver module to load at runtime.
# The latter one can be changed by giving af File= directive in the
# driver specific section.
#
# The following drivers are supported:
# bayrad, CFontz, CFontz633, CFontzPacket, curses, CwLnx, ea65,
# EyeboxOne, g15, glcdlib, glk, hd44780, icp_a106, imon, imonlcd, IOWarrior,
# irman, joy, lb216, lcdm001, lcterm, lirc, lis, MD8800, ms6931, mtc_s16209x,
# MtxOrb, mx5000, NoritakeVFD, picolcd, pyramid, sed1330, sed1520, serialPOS,
# serialVFD, shuttleVFD, sli, stv5730, svga, t6963, text, tyan, ula200,
# xosd
Driver=imonlcd
# Tells the driver to bind to the given interface
Bind=127.0.0.1
# Listen on this specified port; defaults to 13666.
Port=13666
# Sets the reporting level; defaults to 2 (warnings and errors only).
#ReportLevel=3
# Should we report to syslog instead of stderr ? [default: no; legal: yes, no]
#ReportToSyslog=yes
# User to run as. LCDd will drop its root priviledges, if any,
# and run as this user instead.
User=nobody
# The server will stay in the foreground if set to true.
#Foreground=no
# Hello message: each entry represents a display line; default: builtin
#Hello=" Welcome to"
#Hello=" LCDproc!"
# GoodBye message: each entry represents a display line; default: builtin
#GoodBye="Thanks for using"
#GoodBye=" LCDproc!"
# Sets the default time in seconds to displays a screen.
WaitTime=5
# If yes, the the serverscreen will be rotated as a usual info screen. If no,
# it will be a background screen, only visible when no other screens are
# active. The special value 'blank' is similar to no, but only a blank screen
# is displayed. [default: on; legal: on, off, blank]
ServerScreen=on
# Set master backlight setting. If set to 'open' a client may control the
# backlight for its own screens (only). [default: open; legal: off, open, on]
#Backlight=open
# Set master heartbeat setting. If set to 'open' a client may control the
# heartbeat for its own screens (only). [default: open; legal: off, open, on]
#Heartbeat=open
# set title scrolling speed [default: 10; legal: 0-10]
#TitleSpeed=10
# The "...Key=" lines define what the server does with keypresses that
# don't go to any client.
# These are the defaults:
ToggleRotateKey=Enter
PrevScreenKey=Left
NextScreenKey=Right
#ScrollUpKey=Up
#ScrollDownKey=Down
# If you have only 4 keys, you can choose to use this:
#ToggleRotateKey=Enter
#PrevScreenKey=Up
#NextScreenKey=Down
# If you have only 3 keys, you can choose to use this:
#ToggleRotateKey=Enter
#PrevScreenKey=Up
## The menu section. The menu is an internal LCDproc client. ##
[menu]
# You can configure what keys the menu should use. Note that the MenuKey
# will be reserved exclusively, the others work in shared mode.
# The following works excellent with 4 keys or more.
MenuKey=Escape
EnterKey=Enter
UpKey=Up
DownKey=Down
# If you have 6 keys you may define these as well
#LeftKey=Left
#RightKey=Right
# If you have only 3 keys, you could use something like this:
#MenuKey=Escape
#EnterKey=Enter
#DownKey=Down
## Curses driver ##
[curses]
# color settings
# foreground color [default: blue]
Foreground=blue
# background color when "backlight" is off [default: cyan]
Background=cyan
# background color when "backlight" is on [default: red]
Backlight=red
# display size [default: 20x4]
Size=20x4
# What position (X,Y) to start the left top corner at...
# Default: (7,7)
TopLeftX=7
TopLeftY=7
# use ASC symbols for icons & bars [default: no; legal, yes, no]
UseACS=no
# draw Border [default: yes; legal: yes, no]
DrawBorder=yes
## Soundgraph iMON LCD ##
[imonlcd]
# Specify which iMon protocol should be used [legal: 0=15c2:ffdc device,
# 1=15c2:0038 device; default: 0]
Protocol=1
# Set the exit behavior [legal: 0=leave shutdown message, 1=show the big clock,
# 2=blank device; default: 1]
OnExit=1
# Select the output device to use [default: /dev/lcd0]
Device=/dev/lcd0
# Select the displays contrast [default: 200; legal: 0-1000]
Contrast=200
# Specify the size of the display in pixels [default: 96x16]
#Size=96x16
# Set the backlight state [default: on; legal: on, off]
#Backlight=on
# Set the disc mode [legal: 0=spin the "slim" disc - two disc segments,
# 1=their complement spinning; default: 0]
#DiscMode=0
# EOF
(irrelevant driver sections omitted)
When I select Driver=curses I get the ugly time printout, and when I select Driver=imonlcd I get the ServerScreen with the heartbeat etc.