[Lcdproc] Seg Fault with Edgy and HD44780

Aaron Katz aaronkatz@rogers.com
Tue Nov 7 17:06:09 2006


This is a multi-part message in MIME format.
--------------090403080405090707010907
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit

Hi
I assume you mean the interface to the display. I used the winamp wiring 
method.
I also want to note that when i compile lcdproc on my laptop which does 
not even have a parallel port and using an LCDd.conf which is changed 
only so that the driver is hd44780 rather then curses it does the exact 
same thing. Using that kind of LCDd.conf does the same as well on my 
desktop server.



# LCDd.conf
#
# 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 -d is specified on the command line, 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]

# Tells the server to load the given drivers. Multiple lines can be given.
# The name of the driver is exactly the same as the name of the driver
# module that is to be loaded, including the case of the letters !
# (That is: unless a file= option is given in the driver section)
#Driver=CFontzPacket
Driver=hd44780
Driver=joy
#Driver=MtxOrb
#Driver=CFontz633
#Driver=CwLnx
#Driver=glcdlib
#Driver=imon
#Driver=NoritakeVFD
#Driver=serialVFD

# 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
#ReportToSyslog=yes

# Sets the default time in seconds to displays a screen.
WaitTime=5

# User to run as.  LCDd will drop its root priviledges,
# if any, and run as this user instead.
User=nobody

# 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.
ServerScreen=no

# The server will stay in the foreground if set to true.
#Foreground=no

# 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/local/lib/lcdproc/

# The "...Key=" lines define what the server does with keypresses that
# don't go to any client.
# These are the defaults:
ToggleRotateKey=Escape
PrevScreenKey=Left
NextScreenKey=Right
ScrollUpKey=Up
ScrollDownKey=Down

# If you have only 4 keys, you can choose to use this:
#ToggleRotateKey=Enter
#PrevScreenKey=Left
#NextScreenKey=Right

# 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=Enter
EnterKey=Escape
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



### Driver sections are below this line, in alphabetical order  ###




## Curses driver ##
[curses]

# color settings
# foreground color [default: blue]
Foreground=blue
# background color when "backlight" is ff [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




## Hitachi HD44780 driver ##
[hd44780]

# Port where the LPT is. Usual values are 0x278, 0x378 and 0x3BC
Port=/dev/parport0

# Select what type of connection. See documentation for types.
ConnectionType=winamp

# If you have a keypad connected.
# You may also need to configure the keypad layout further on in this file.
Keypad=no

# set the initial contrast (for bwctusb only) [default: 0; legal: 0 - 1000]
Contrast=0

# If you have a switchable backlight.
Backlight=no

# If you have the additional output port ("bargraph") and you want to
# be able to control it with the lcdproc OUTPUT command
OutputPort=no

# Specifies if the last line is pixel addressable or it controls an
# underline effect. [default: true (= pixel addressable); legal: yes, no]
#Lastline=true

# Specifies the size of the LCD.
# In case of multiple combined displays, this should be the total size.
Size=20x4

# For multiple combined displays: how many lines does each display have.
# Vspan=2,2 means both displays have 2 lines.
#vspan=2,2

# If you have a KS0073 or an other 'almost HD44780-compatible', set this
# flag to get into extended mode (4-line linear).
# This flag is NOT the old obsolete Extended option.
#ExtendedMode=yes

# If your display is slow and cannot keep up with the flow of data from
# LCDd, garbage can appear on the LCDd. Set this delay factor to 2 or 4
# to increase the delays. Default: 1.
DelayMult=10

# You can reduce the inserted delays by setting this to false.
# On fast PCs it is possible your LCD does not respond correctly.
# Default: true.
DelayBus=false

# If you have a keypad you can assign keystrings to the keys.
# See documentation for used terms and how to wire it.
# For example to give directly connected key 4 the string "Enter", use:
#   KeyDirect_4=Enter
# For matrix keys use the X and Y coordinates of the key:
#   KeyMatrix_1_3=Enter
KeyMatrix_4_1=Enter
KeyMatrix_4_2=Up
KeyMatrix_4_3=Down
KeyMatrix_4_4=Escape




## Joystick driver ##
[joy]

# Select the input device to use [default: /dev/js0]
Device=/dev/input/js0

# set the axis map
#Map_Axis1neg=Left
#Map_Axis1pos=Right
#Map_Axis2neg=Up
#Map_Axis4pos=Down

# set the button map
Map_Button1=Left
Map_Button2=Down
Map_Button3=Right
Map_Button4=Up
Map_Button5=Enter
Map_Button6=Escape


## LB216 driver ##
[lb216]

# Select the output device to use [default: /dev/lcd]
Device=/dev/lcd

# Set the initial brightness [default: 255; legal: 0 - 255]
Brightness=255

# Set the communication speed [default: 9600; legal: 2400, 9600]
Speed=9600

# Reinitialize the LCD's BIOS [default: no; legal: yes, no]
Reboot=no



## LCDM001 driver ##
[lcdm001]

Device=/dev/ttyS1

# keypad settings
# Keyname      Function
#              Normal context              Menu context
# -------      --------------              ------------
# PauseKey     Pause/Continue              Enter/select
# BackKey      Back(Go to previous screen) Up/Left
# ForwardKey   Forward(Go to next screen)  Down/Right
# MainMenuKey  Open main menu              Exit/Cancel
PauseKey=LeftKey
BackKey=UpKey
ForwardKey=DownKey
MainMenuKey=RightKey

# You can rearrange the settings here.
# If your device is broken, have a look at server/drivers/lcdm001.h




## LIRC input driver ##
[lirc]

# Specify an alternative location of the lircrc file [default: ~/.lircrc]
#lircrc=/etc/lircrc.lcdproc

# Must be the same as in your lircrc
#prog=lcdd



## Text driver ##
[text]
# Set the display size [default: 20x4]
Size=20x4



## OnScreen Display using libxosd ##
[xosd]

# set display size [default: 20x4]
Size=20x4

# font to use
Font=-*-terminus-*-r-*-*-*-320-*-*-*-*-*

# EOF



Matteo Pillon wrote:
> On Tue, Oct 31, 2006 at 07:12:11PM +0100, Matteo Pillon wrote:
>   
>> On Tue, Oct 31, 2006 at 10:43:17AM -0500, Aaron Katz wrote:
>>     
>>> I have run gdb and gotten two different results on my 18 kernel i get :
>>> Failed to read a valid object file image from memory.
>>>
>>>       
>> Can you give more details about the interface you used?
>>     
>
> Please attach your LCDd.conf.
>
> Bye.
>
>   


--------------090403080405090707010907
Content-Type: text/html; charset=ISO-8859-15
Content-Transfer-Encoding: 8bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-15"
 http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi<br>
I assume you mean the interface to the display. I used the winamp
wiring method.<br>
I also want to note that when i compile lcdproc on my laptop which does
not even have a parallel port and using an LCDd.conf which is changed
only so that the driver is hd44780 rather then curses it does the exact
same thing. Using that kind of LCDd.conf does the same as well on my
desktop server.<br>
<br>
<br>
<br>
# LCDd.conf<br>
#<br>
# This file contains the configuration for the LCDd server.<br>
# <br>
# The format is ini-file-like. It is divided into sections that start at<br>
# markers that look like [section]. Comments are all line-based
comments,<br>
# and are lines that start with '#' or ';'.<br>
#<br>
# The server has a 'central' section named [server]. For the menu there
is<br>
# a section called [menu]. Further each driver has a section which<br>
# defines how the driver acts.<br>
#<br>
# The drivers are activated by specifiying them in a driver= line in the<br>
# server section, like:<br>
#<br>
#   Driver=curses<br>
#<br>
# This tells LCDd to use the curses driver.<br>
# The first driver that is loaded and is capable of output defines the<br>
# size of the display. The default driver to use is curses.<br>
# If -d is specified on the command line, the Driver= options in the <br>
# config file are ignored.<br>
#<br>
# The drivers read their own options from the respective sections.<br>
<br>
<br>
<br>
## Server section with all kinds of settings for the LCDd server ##<br>
[server]<br>
<br>
# Tells the server to load the given drivers. Multiple lines can be
given.<br>
# The name of the driver is exactly the same as the name of the driver<br>
# module that is to be loaded, including the case of the letters !<br>
# (That is: unless a file= option is given in the driver section)<br>
#Driver=CFontzPacket<br>
Driver=hd44780<br>
Driver=joy<br>
#Driver=MtxOrb<br>
#Driver=CFontz633<br>
#Driver=CwLnx<br>
#Driver=glcdlib<br>
#Driver=imon<br>
#Driver=NoritakeVFD<br>
#Driver=serialVFD<br>
<br>
# Tells the driver to bind to the given interface<br>
Bind=127.0.0.1<br>
<br>
# Listen on this specified port; defaults to 13666.<br>
Port=13666<br>
<br>
# Sets the reporting level; defaults to 2 (warnings and errors only).<br>
#ReportLevel=3<br>
<br>
# Should we report to syslog instead of stderr ? Default: no<br>
#ReportToSyslog=yes<br>
<br>
# Sets the default time in seconds to displays a screen.<br>
WaitTime=5<br>
<br>
# User to run as.  LCDd will drop its root priviledges,<br>
# if any, and run as this user instead.<br>
User=nobody<br>
<br>
# If yes, the the serverscreen will be rotated as a usual info screen.
If no,<br>
# it will be a background screen, only visible when no other screens are<br>
# active.<br>
ServerScreen=no<br>
<br>
# The server will stay in the foreground if set to true.<br>
#Foreground=no<br>
<br>
# Where can we find the driver modules ?<br>
# IMPORTANT: Make sure to change this setting to reflect your<br>
#            specific setup! Otherwise LCDd won't be able to find<br>
#            the driver modules and will thus not be able to<br>
#            function properly.<br>
# NOTE: Always place a slash as last character !<br>
DriverPath=/usr/local/lib/lcdproc/<br>
<br>
# The "...Key=" lines define what the server does with keypresses that<br>
# don't go to any client.<br>
# These are the defaults:<br>
ToggleRotateKey=Escape<br>
PrevScreenKey=Left<br>
NextScreenKey=Right<br>
ScrollUpKey=Up<br>
ScrollDownKey=Down<br>
<br>
# If you have only 4 keys, you can choose to use this:<br>
#ToggleRotateKey=Enter<br>
#PrevScreenKey=Left<br>
#NextScreenKey=Right<br>
<br>
# If you have only 3 keys, you can choose to use this:<br>
#ToggleRotateKey=Enter<br>
#PrevScreenKey=Up<br>
<br>
<br>
<br>
## The menu section. The menu is an internal LCDproc client. ##<br>
[menu]<br>
# You can configure what keys the menu should use. Note that the MenuKey<br>
# will be reserved exclusively, the others work in shared mode.<br>
<br>
# The following works excellent with 4 keys or more.<br>
MenuKey=Enter<br>
EnterKey=Escape<br>
UpKey=Up<br>
DownKey=Down<br>
# If you have 6 keys you may define these as well<br>
LeftKey=Left<br>
RightKey=Right<br>
<br>
# If you have only 3 keys, you could use something like this:<br>
#MenuKey=Escape<br>
#EnterKey=Enter<br>
#DownKey=Down<br>
<br>
<br>
<br>
### Driver sections are below this line, in alphabetical order  ###<br>
<br>
<br>
<br>
<br>
## Curses driver ##<br>
[curses]<br>
<br>
# color settings<br>
# foreground color [default: blue]<br>
Foreground=blue<br>
# background color when "backlight" is ff [default: cyan]<br>
Background=cyan<br>
# background color when "backlight" is on [default: red]<br>
Backlight=red<br>
<br>
# display size [default: 20x4]<br>
Size=20x4<br>
<br>
# What position (X,Y) to start the left top corner at...<br>
# Default: (7,7)<br>
TopLeftX=7<br>
TopLeftY=7<br>
<br>
# use ASC symbols for icons &amp; bars [default: no; legal, yes, no]<br>
UseACS=no<br>
<br>
<br>
<br>
<br>
## Hitachi HD44780 driver ##<br>
[hd44780]<br>
<br>
# Port where the LPT is. Usual values are 0x278, 0x378 and 0x3BC<br>
Port=/dev/parport0<br>
<br>
# Select what type of connection. See documentation for types.<br>
ConnectionType=winamp<br>
<br>
# If you have a keypad connected.<br>
# You may also need to configure the keypad layout further on in this
file.<br>
Keypad=no<br>
<br>
# set the initial contrast (for bwctusb only) [default: 0; legal: 0 -
1000]<br>
Contrast=0<br>
<br>
# If you have a switchable backlight.<br>
Backlight=no<br>
<br>
# If you have the additional output port ("bargraph") and you want to<br>
# be able to control it with the lcdproc OUTPUT command<br>
OutputPort=no<br>
<br>
# Specifies if the last line is pixel addressable or it controls an<br>
# underline effect. [default: true (= pixel addressable); legal: yes,
no]<br>
#Lastline=true<br>
<br>
# Specifies the size of the LCD.<br>
# In case of multiple combined displays, this should be the total size.<br>
Size=20x4<br>
<br>
# For multiple combined displays: how many lines does each display have.<br>
# Vspan=2,2 means both displays have 2 lines.<br>
#vspan=2,2<br>
<br>
# If you have a KS0073 or an other 'almost HD44780-compatible', set this<br>
# flag to get into extended mode (4-line linear).<br>
# This flag is NOT the old obsolete Extended option.<br>
#ExtendedMode=yes<br>
<br>
# If your display is slow and cannot keep up with the flow of data from<br>
# LCDd, garbage can appear on the LCDd. Set this delay factor to 2 or 4<br>
# to increase the delays. Default: 1.<br>
DelayMult=10<br>
<br>
# You can reduce the inserted delays by setting this to false.<br>
# On fast PCs it is possible your LCD does not respond correctly.<br>
# Default: true.<br>
DelayBus=false<br>
<br>
# If you have a keypad you can assign keystrings to the keys.<br>
# See documentation for used terms and how to wire it.<br>
# For example to give directly connected key 4 the string "Enter", use:<br>
#   KeyDirect_4=Enter<br>
# For matrix keys use the X and Y coordinates of the key:<br>
#   KeyMatrix_1_3=Enter<br>
KeyMatrix_4_1=Enter<br>
KeyMatrix_4_2=Up<br>
KeyMatrix_4_3=Down<br>
KeyMatrix_4_4=Escape<br>
<br>
<br>
<br>
<br>
## Joystick driver ##<br>
[joy]<br>
<br>
# Select the input device to use [default: /dev/js0]<br>
Device=/dev/input/js0<br>
<br>
# set the axis map<br>
#Map_Axis1neg=Left<br>
#Map_Axis1pos=Right<br>
#Map_Axis2neg=Up<br>
#Map_Axis4pos=Down<br>
<br>
# set the button map<br>
Map_Button1=Left<br>
Map_Button2=Down<br>
Map_Button3=Right<br>
Map_Button4=Up<br>
Map_Button5=Enter<br>
Map_Button6=Escape<br>
<br>
<br>
## LB216 driver ##<br>
[lb216]<br>
<br>
# Select the output device to use [default: /dev/lcd]<br>
Device=/dev/lcd<br>
<br>
# Set the initial brightness [default: 255; legal: 0 - 255]<br>
Brightness=255<br>
<br>
# Set the communication speed [default: 9600; legal: 2400, 9600]<br>
Speed=9600<br>
<br>
# Reinitialize the LCD's BIOS [default: no; legal: yes, no]<br>
Reboot=no<br>
<br>
<br>
<br>
## LCDM001 driver ##<br>
[lcdm001]<br>
<br>
Device=/dev/ttyS1<br>
<br>
# keypad settings<br>
# Keyname      Function<br>
#              Normal context              Menu context<br>
# -------      --------------              ------------<br>
# PauseKey     Pause/Continue              Enter/select<br>
# BackKey      Back(Go to previous screen) Up/Left<br>
# ForwardKey   Forward(Go to next screen)  Down/Right<br>
# MainMenuKey  Open main menu              Exit/Cancel<br>
PauseKey=LeftKey<br>
BackKey=UpKey<br>
ForwardKey=DownKey<br>
MainMenuKey=RightKey<br>
<br>
# You can rearrange the settings here.<br>
# If your device is broken, have a look at server/drivers/lcdm001.h<br>
<br>
<br>
<br>
<br>
## LIRC input driver ##<br>
[lirc]<br>
<br>
# Specify an alternative location of the lircrc file [default:
~/.lircrc]<br>
#lircrc=/etc/lircrc.lcdproc<br>
<br>
# Must be the same as in your lircrc<br>
#prog=lcdd<br>
<br>
<br>
<br>
## Text driver ##<br>
[text]<br>
# Set the display size [default: 20x4]<br>
Size=20x4<br>
<br>
<br>
<br>
## OnScreen Display using libxosd ##<br>
[xosd]<br>
<br>
# set display size [default: 20x4]<br>
Size=20x4<br>
<br>
# font to use<br>
Font=-*-terminus-*-r-*-*-*-320-*-*-*-*-*<br>
<br>
# EOF<br>
<br>
<br>
<br>
Matteo Pillon wrote:
<blockquote cite="mid20061031181324.GB5873@pmatthew.homeunix.org"
 type="cite">
  <pre wrap="">On Tue, Oct 31, 2006 at 07:12:11PM +0100, Matteo Pillon wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">On Tue, Oct 31, 2006 at 10:43:17AM -0500, Aaron Katz wrote:
    </pre>
    <blockquote type="cite">
      <pre wrap="">I have run gdb and gotten two different results on my 18 kernel i get :
Failed to read a valid object file image from memory.

      </pre>
    </blockquote>
    <pre wrap="">Can you give more details about the interface you used?
    </pre>
  </blockquote>
  <pre wrap=""><!---->
Please attach your LCDd.conf.

Bye.

  </pre>
</blockquote>
<br>
</body>
</html>

--------------090403080405090707010907--