lcd4linux treiber SerDispLib fehlt ...

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
Benutzeravatar
UndergroundFreak
Beiträge: 132
Registriert: 16.05.2006 14:22:20
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Gera

lcd4linux treiber SerDispLib fehlt ...

Beitrag von UndergroundFreak » 29.12.2012 23:20:53

Hi
Ich habe mit ein neues USB LCD von Alphacool besorgt, nun woltes ich es unter lcd4linux ansteuern.
die lcd4linux.conf ist soweit schnell erstelt gswesen.

Aber beim starten habe ich mein problem und zwar bekomme ich die message:

Code: Alles auswählen

root@destiny:~# lcd4linux -Fvv
Version 0.10.1-RC2-796 starting
plugin_cfg.c: Variable minute = '60000' (60000)
plugin_cfg.c: Variable tack = '100' (100)
plugin_cfg.c: Variable tick = '500' (500)
[KVV] Using station 89
[KVV] Using default port 80
[KVV] Using default refresh interval of 60 seconds
[KVV] Default abbreviation setting: off
lcd4linux.c: initializing driver serdisplib
drv_init(serdisplib) failed: no such driver
Es schein so das der treiber "serdisplib" fehlt, ich dachte er währe schon mit im packet dabei.

Wie oder woher bekomme ich den jetzt den treiber? Da es ihn so nicht in der packet liste gibt irgend wie?
hat einer da schon erfahrung damit?
lg

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: lcd4linux treiber SerDispLib fehlt ...

Beitrag von rendegast » 30.12.2012 05:25:55

http://ssl.bulix.org/projects/lcd4linux/browser/trunk resp. orig.tar.gz <->

Code: Alles auswählen

# strings lcd4linux | egrep "drv_" | awk '{print $1}' | sort | awk -F_ '{print $1"_"$2}' | sort -V | uniq
drv_ASTUSB.c:
drv_BWCT.c:
drv_Crystalfontz.c:
drv_Curses.c:
drv_Cwlinux.c:
drv_D4D
drv_D4D.c:
drv_EA232graphic.c:
drv_EFN.c:
drv_FW8888.c:
drv_FutabaVFD.c:
drv_G15.c:
drv_HD44780.c:
drv_IRLCD.c:
drv_LCD2USB.c:
drv_LW
drv_M50530.c:
drv_Newhaven.c:
drv_PHAnderson.c:
drv_PICGraphic.c:
drv_Pertelian.c:
drv_Sample.c:
drv_SamsungSPF.c:
drv_ShuttleVFD.c:
drv_T6963.c:
drv_TeakLCM
drv_TeakLCM.c
drv_TeakLCM.c:
drv_Trefon.c:
drv_USBHUB.c:
drv_USBLCD.c:
drv_X11.c:
drv_generic
drv_init(%s)
drv_pLG
drv_picoLCDGraphic.c:
drv_picoLCD.c:
drv_ula200
drv_ula200.c:
drv_vnc.c:
%s:drv_EFN
%s:_
%s_
drv_serdisplib ist nicht dabei.

Daran liegt es wohl:

Code: Alles auswählen

/tmp/lcd4linux.src/lcd4linux-0.11.0~svn1189$ cat config.log | grep -i serdisp -C1
configure:5789: result: no
configure:5805: checking serdisplib/serdisp.h usability
configure:5805: gcc -c -g -O2  conftest.c >&5
conftest.c:49:32: fatal error: serdisplib/serdisp.h: No such file or directory
compilation terminated.
--
| #endif
| #include <serdisplib/serdisp.h>
configure:5805: result: no
configure:5805: checking serdisplib/serdisp.h presence
configure:5805: gcc -E  conftest.c
conftest.c:16:32: fatal error: serdisplib/serdisp.h: No such file or directory
compilation terminated.
--
| /* end confdefs.h.  */
| #include <serdisplib/serdisp.h>
configure:5805: result: no
configure:5805: checking for serdisplib/serdisp.h
configure:5805: result: no
--
configure:7196: WARNING: usb.h not found: SamsungSPF driver disabled
configure:7213: WARNING: serdisp.h not found: serdisplib driver disabled
configure:7228: WARNING: usb.h not found: ShuttleVFD driver disabled
--
ac_cv_header_rfb_rfb_h=no
ac_cv_header_serdisplib_serdisp_h=no
ac_cv_header_sqlite3_h=no
drv_serdisplib.c existiert zwar, aber das nötige
serdisplib/serdisp.h fehlt.


Den Ausgangsstoff gibt es hier http://serdisplib.sourceforge.net/
(serdisplib-1.97.9, 2010-02, warum nicht in debian? ), lib bauen dann

Code: Alles auswählen

apt-get build-dep lcd4linux
apt-get source lcd4linux
Inhalt von include/ hinzufügen und Paket erstellen.



---------------------------------------
Nebenbei ein kleiner Bug im postrm:
Läuft der Dienst nicht gibt das Skript einen Fehler und die Deinstallation hängt.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
UndergroundFreak
Beiträge: 132
Registriert: 16.05.2006 14:22:20
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Gera

Re: lcd4linux treiber SerDispLib fehlt ...

Beitrag von UndergroundFreak » 30.12.2012 23:54:04

So habe noch mal gegooglelt, Aber komme hier auf kein ergebnis und hier weiß ich echt nicht mehr weiter.

Laut der Anleitung von http://serdisplib.sourceforge.net/ser/u ... acool.html

habe ich serdisplib erfolgreich installiert.

Code: Alles auswählen

./configure --enable-libusb
wurde auch ausgeführt,

lcd4linux.conf

Code: Alles auswählen

#  $Id: lcd4linux.conf.sample 759 2007-02-04 05:55:58Z michael $
#  $URL: https://ssl.bulix.org/svn/lcd4linux/branches/0.10.1/lcd4linux.conf.sample $


Variables {
   tick 500
   tack 100
   minute 60000
}

Display Alphacool {
        Driver 'serdisplib'
        Port 'USB:060C/04EB'
        Model 'ALPHACOOL'
        Font       '6x8'
        Backlight  '1'
        Rotate     '0'
}

Display XWindow {
    Driver 'X11'
    Size   '120x32'
    Font   '5x8'
    Pixel  '4+1'
    Gap    '-1x-1'
    Border 20
#   Foreground '#000000'
#   Background '#80d000'
#   Halfground '#70c000'
    Foreground '000000cc'
    Background '00000022'
    Basecolor  '80d000'
}

Display Image {
    Driver 'Image'
#   Format 'PPM'
    Format 'PNG'
    Size   '120x32'
    Font   '6x8'
    Pixel  '4+1'
    Gap    '-1x-1'
    Border 20
#   Foreground '#000000'
#   Background '#80d000'
#   Halfground '#70c000'
    Foreground '000000cc'
    Background '00000022'
    Basecolor  '80d000'
}

#Plugin KVV {
#    StationID '12_701'
#    Refresh 30
#    Proxy 'igate'
#    Port 8080;
#}

Plugin Seti {
    Directory '/root/setiathome-3.08.i686-pc-linux-gnu'
}


Plugin MySQL {
    server 'gsmlandia.com'	# if none, localhost assumed
    port 3306			# if none, MySQL default assumed
    user 'lcd4linux'		# if none, lcd4linux unix owner assumed
    password 'lcd4linux'	# if none, empty password assumed
    database 'lcd4linux'	# MUST be specified
}

Plugin Pop3 {
   server1 'localhost'
   port1 110
   user1 'michael'
   password1 'secret'
}


Widget OS {
    class 'Text'
    expression '*** '.uname('sysname').' '.uname('release').' ***'
    width 20
    align 'M'
    style 'bold'
    speed 50	
    update tick
}

Widget CPU {
    class  'Text'
    expression  uname('machine')
    prefix 'CPU '
    width  9
    align  'L'
    style test::onoff(7)>0?'bold':'norm'
    update tick
}


Widget CPUinfo {
    class  'Text'
    expression  cpuinfo('model name')
    prefix ''
    width  20
    align  'M'
    speed 100	
    update tick
}


Widget RAM {
    class  'Text'
    expression meminfo('MemTotal')/1024
    postfix ' MB RAM'	
    width  11
    precision 0
    align  'R'
    update tick
}

Widget Busy {
    class 'Text'
    expression proc_stat::cpu('busy', 500)
    prefix 'Busy'	
    postfix '%'	
    width 9	
    precision 1
    align 'R'	
    update tick	
}	

Widget BusyBar {
    class 'Bar'
    expression  proc_stat::cpu('busy',   500)
    expression2 proc_stat::cpu('system', 500)
    length 10	
    direction 'E'
    update tack
}

Widget Load {
    class 'Text'
    expression loadavg(1)
    prefix 'Load'
    postfix loadavg(1)>1.0?'!':' '
    width 10
    precision 1
    align 'R'
    update tick
}

Widget LoadBar {
    class 'Bar'
    expression  loadavg(1)
    max 2.0
    length 10	
    direction 'E'
    update tack
}


Widget Disk {
    class 'Text'
    # disk.[rw]blk return blocks, we assume a blocksize of 512
    # to get the number in kB/s we would do blk*512/1024, which is blk/2 
    # expression (proc_stat::disk('.*', 'rblk', 500)+proc_stat::disk('.*', 'wblk', 500))/2
    # with kernel 2.6, disk_io disappeared from /proc/stat but moved to /proc/diskstat
    # therefore you have to use another function called 'diskstats':
    expression diskstats('hd.', 'read_sectors', 500) + diskstats('hd.', 'write_sectors', 500)
    prefix 'disk'
    postfix ' '
    width 10	
    precision 0
    align 'R'	
    update tick	
}	

Widget DiskBar {
    class 'Bar'
    #expression  proc_stat::disk('.*', 'rblk', 500)
    #expression2 proc_stat::disk('.*', 'wblk', 500)
    # for kernel 2.6:
    expression  diskstats('hd.', 'read_sectors',  500)
    expression2 diskstats('hd.', 'write_sectors', 500)
    length 14	
    direction 'E'
    update tack
}

Widget Eth0 {
    class 'Text'
    expression (netdev('eth0', 'Rx_bytes', 500)+netdev('eth0', 'Tx_bytes', 500))/1024
    prefix 'eth0'
    postfix ' '
    width 10	
    precision 0
    align 'R'	
    update tick	
}	

Widget Eth0Bar {
    class 'Bar'
    expression  netdev('eth0', 'Rx_bytes', 500)
    expression2 netdev('eth0', 'Tx_bytes', 500)
    length 14	
    direction 'E'
    update tack
}

Widget PPP {
    class 'Text'
    expression (ppp('Rx:0', 500)+ppp('Tx:0', 500))
    prefix 'PPP'
    width 9
    precision 0
    align 'R'
    update tick
}

Widget Temp {
    class 'Text'
    expression i2c_sensors('temp_input3')*1.0324-67
    prefix 'Temp'
    width 9
    precision 1
    align 'R'
    update tick
}

Widget TempBar {
    class 'Bar'
    expression  i2c_sensors('temp_input3')*1.0324-67
    min 40
    max 80
    length 10
    direction 'E'
    update tack
}

Widget MySQLtest1 {
    class 'Text'
    expression MySQL::query('SELECT id FROM table1')
    width 20
    align 'R'
    prefix 'MySQL test:'
    update minute
}

Widget MySQLtest2 {
    class 'Text'
    expression MySQL::status()
    width 20
    align 'M'
    prefix 'Status: '
    update minute
}

Widget Uptime {
    class 'Text'
    expression uptime('%d days %H:%M:%S')
    width 20
    align 'R'
    prefix 'Up '
    update 1000
}


# debugging widgets 

Widget BarTest {
    class 'Bar'
    # test::bar(barno,maxval,startval,delta) - move a test value between 0 and max.
    # delta= step to change value by each time it's read.
    # barno - ten different test bar values can be set up, with barno=0..9
    # if delta=0, just returns the value of bar n instead of changing it.
    expression test::bar(0,30,25,1)
    expression2 test::bar(1,30,0,1)
    length 8
    # max 50
    direction 'E'
    update 10
}

Widget BarTestVal {
    class 'Text'
    expression test::bar(0,100,50,0)
    prefix 'Test '
    width 9
    update 200
}

Widget LightningTest {
    class 'icon'
    speed 500
    visible test::onoff(0)
    bitmap {
        row1 '...***'
        row2 '..***.'
        row3 '.***..'
        row4 '.****.'
        row5 '..**..'
        row6 '.**...'
        row7 '**....'
        row8 '*.....'
    }
}


# Icons

Widget Heartbeat {
    class 'Icon'
    speed 800
    Bitmap {
	Row1 '.....|.....'
	Row2 '.*.*.|.*.*.'
	Row3 '*****|*.*.*'
	Row4 '*****|*...*'
	Row5 '.***.|.*.*.'
	Row6 '.***.|.*.*.'
	Row7 '..*..|..*..'
	Row8 '.....|.....'
    }
}

Widget EKG {
    class 'Icon'
    speed 50
    Bitmap {
	Row1 '.....|.....|.....|.....|.....|.....|.....|.....'
	Row2 '.....|....*|...*.|..*..|.*...|*....|.....|.....'
	Row3 '.....|....*|...*.|..*..|.*...|*....|.....|.....'
	Row4 '.....|....*|...**|..**.|.**..|**...|*....|.....'
	Row5 '.....|....*|...**|..**.|.**..|**...|*....|.....'
	Row6 '.....|....*|...*.|..*.*|.*.*.|*.*..|.*...|*....'
	Row7 '*****|*****|****.|***..|**..*|*..**|..***|.****'
	Row8 '.....|.....|.....|.....|.....|.....|.....|.....'
    }
}
Widget Karo {
    class 'Icon'
    speed 200
    Bitmap {
	Row1 '.....|.....|.....|.....|..*..|.....|.....|.....'
	Row2 '.....|.....|.....|..*..|.*.*.|..*..|.....|.....'
	Row3 '.....|.....|..*..|.*.*.|*...*|.*.*.|..*..|.....'
	Row4 '.....|..*..|.*.*.|*...*|.....|*...*|.*.*.|..*..'
	Row5 '.....|.....|..*..|.*.*.|*...*|.*.*.|..*..|.....'
	Row6 '.....|.....|.....|..*..|.*.*.|..*..|.....|.....'
	Row7 '.....|.....|.....|.....|..*..|.....|.....|.....'
	Row8 '.....|.....|.....|.....|.....|.....|.....|.....'
    }
}
Widget Heart {
    class 'Icon'
    speed 250
    Bitmap {
	Row1 '.....|.....|.....|.....|.....|.....'
	Row2 '.*.*.|.....|.*.*.|.....|.....|.....'
	Row3 '*****|.*.*.|*****|.*.*.|.*.*.|.*.*.'
	Row4 '*****|.***.|*****|.***.|.***.|.***.'
	Row5 '.***.|.***.|.***.|.***.|.***.|.***.'
	Row6 '.***.|..*..|.***.|..*..|..*..|..*..'
	Row7 '..*..|.....|..*..|.....|.....|.....'
	Row8 '.....|.....|.....|.....|.....|.....'
    }
}
Widget Blob {
    class 'Icon'
    speed 250
    Bitmap {
	Row1 '.....|.....|.....'
	Row2 '.....|.....|.***.'
	Row3 '.....|.***.|*...*'
	Row4 '..*..|.*.*.|*...*'
	Row5 '.....|.***.|*...*'
	Row6 '.....|.....|.***.'
	Row7 '.....|.....|.....'
	Row8 '.....|.....|.....'
    }
}
Widget Wave {
    class 'Icon'
    speed 100
    Bitmap {
	Row1 '..**.|.**..|**...|*....|.....|.....|.....|.....|....*|...**'
	Row2 '.*..*|*..*.|..*..|.*...|*....|.....|.....|....*|...*.|..*..'
	Row3 '*....|....*|...*.|..*..|.*...|*....|....*|...*.|..*..|.*...'
	Row4 '*....|....*|...*.|..*..|.*...|*....|....*|...*.|..*..|.*...'
	Row5 '*....|....*|...*.|..*..|.*...|*....|....*|...*.|..*..|.*...'
	Row6 '.....|.....|....*|...*.|..*..|.*..*|*..*.|..*..|.*...|*....'
	Row7 '.....|.....|.....|....*|...**|..**.|.**..|**...|*....|.....'
	Row8 '.....|.....|.....|.....|.....|.....|.....|.....|.....|.....'
    }
}
Widget Squirrel {
    class 'Icon'
    speed 100
    Bitmap {
	Row1 '.....|.....|.....|.....|.....|.....'
	Row2 '.....|.....|.....|.....|.....|.....'
	Row3 '.....|.....|.....|.....|.....|.....'
	Row4 '**...|.**..|..**.|...**|....*|.....'
	Row5 '*****|*****|*****|*****|*****|*****'
	Row6 '...**|..**.|.**..|**...|*....|.....'
	Row7 '.....|.....|.....|.....|.....|.....'
	Row8 '.....|.....|.....|.....|.....|.....'
    }
}

Widget Lightning {
    class 'icon'
    speed 100
    visible cpu('busy', 500)-50
    bitmap {
        row1 '...***'
        row2 '..***.'
        row3 '.***..'
        row4 '.****.'
        row5 '..**..'
        row6 '.**...'
        row7 '**....'
        row8 '*.....'
    }
}

Widget Rain {
    class 'icon'
    speed 200
    bitmap {
	row1 '...*.|.....|.....|.*...|....*|..*..|.....|*....'
	row2 '*....|...*.|.....|.....|.*...|....*|..*..|.....'
	row3 '.....|*....|...*.|.....|.....|.*...|....*|..*..'
	row4 '..*..|.....|*....|...*.|.....|.....|.*...|....*'
	row5 '....*|..*..|.....|*....|...*.|.....|.....|.*...'
	row6 '.*...|....*|..*..|.....|*....|...*.|.....|.....'
	row7 '.....|.*...|....*|..*..|.....|*....|...*.|.....'
	row8 '.....|.....|.*...|....*|..*..|.....|*....|...*.'
    }
}

Widget Timer {
    class 'Icon'
    speed 50
    Bitmap {
	Row1 '.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|'
	Row2 '.***.|.*+*.|.*++.|.*++.|.*++.|.*++.|.*++.|.*++.|.*++.|.*++.|.*++.|.*++.|.+++.|.+*+.|.+**.|.+**.|.+**.|.+**.|.+**.|.+**.|.+**.|.+**.|.+**.|.+**.|'
	Row3 '*****|**+**|**++*|**+++|**++.|**++.|**+++|**+++|**+++|**+++|**+++|+++++|+++++|++*++|++**+|++***|++**.|++**.|++***|++***|++***|++***|++***|*****|'
	Row4 '*****|**+**|**+**|**+**|**+++|**+++|**+++|**+++|**+++|**+++|+++++|+++++|+++++|++*++|++*++|++*++|++***|++***|++***|++***|++***|++***|*****|*****|'
	Row5 '*****|*****|*****|*****|*****|***++|***++|**+++|*++++|+++++|+++++|+++++|+++++|+++++|+++++|+++++|+++++|+++**|+++**|++***|+****|*****|*****|*****|'
	Row6 '.***.|.***.|.***.|.***.|.***.|.***.|.**+.|.*++.|.+++.|.+++.|.+++.|.+++.|.+++.|.+++.|.+++.|.+++.|.+++.|.+++.|.++*.|.+**.|.***.|.***.|.***.|.***.|'
	Row7 '.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|'
	Row8 '.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|.....|'


    }
}

Widget Test {
    class 'Text'
    expression '1234567890123456789012345678901234567890'
    width 40
    foreground 'ff0000ff'
}

Widget Test1 {
    class 'Text'
    expression 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'
    width 40
    align 'M'
    speed 100
}

Widget Test2 {
    class 'Text'
    expression '1234567890abcdefghijklmnopqrstuvwxyz'
    width 40
    align 'M'
    speed 150
}

Widget GPO_Val1 {
    class 'Text'
    expression LCD::GPO(1)
    prefix 'GPO#1'
    width 10
    precision 0
    align 'R'
    update tick
}

Widget GPI_Val1 {
    class 'Text'
    expression LCD::GPI(1)
    prefix 'GPI#1'
    width 10
    precision 0
    align 'R'
    update tick
}

Widget GPO_Val4 {
    class 'Text'
    expression LCD::GPO(4)
    prefix 'GPO#4'
    width 10
    precision 0
    align 'R'
    update tick
}

Widget GPO_Test1 {
    class 'GPO'
    expression 255*test::onoff(1)
    update 300
}

Widget GPO_Test255 {
    class 'GPO'
    expression test::bar(0,255, 0, 1)
    update 100
}

Widget ImageTest {
    class 'Image'
    file 'tux.png'
    update 1000
    visible 1
    inverted 0
}

Widget KVV {
    class 'Text'
    expression kvv::line(0).' '.kvv::station(0)
    width 11

    align 'L'
    update tick
    Foreground 'ffff00'
    style 'bold'
}

Widget KVV_TIME {
    class 'Text'
    expression kvv::time_str(0)
    width 2

    align 'R'
    update tick
    foreground kvv::time(0) < 2 ? 'FF0000' : ( kvv::time(0) < 5 ? 'FFFF00' : '00FF00' )
    style 'bold'
}

Layout Default {
    Row1 {
	Col1  'OS'
    }
    Row2 {
	Col1  'CPU'
	Col10 'RAM'
    }
    Row3 {
	Col1  'Busy'
	Col10 'Rain'
	Col11 'BusyBar'
    }
    Row4 {
	Col1 'Load'
	Col11 'LoadBar'
    }
    Row5 {
	Col1  'Disk'
	Col11 'DiskBar'
    }
    Row6 {
	Col1  'Eth0'
	Col11 'Eth0Bar'
    }
}

Layout TestLayer {
    Row1 {
	Col1  'OS'
    }
    Row2 {
	Col1  'CPU'
	Col10 'RAM'
    }
    Row3 {
	Col1  'Busy'
	Col10 'Rain'
	Col11 'BusyBar'
    }
    Row4 {
	Col1 'Load'
	Col11 'LoadBar'
    }
    Row5 {
	Col1  'Disk'
	Col11 'DiskBar'
    }
    Row6 {
	Col1  'Eth0'
	Col11 'Eth0Bar'
    }
    Layer 2 {
	X1.Y1 'ImageTest'
    }
}

Layout TestImage {
    Layer 2 {
	X1.Y1 'ImageTest'
    }
}

Layout L24x8 {
    Row1 {
	Col1  'Load'
	Col11 'BusyBar'
    }
    Row2 {
    }
}

Layout L8x2 {
    Row1 {
	Col1  'Busy'
    }
    Row2 {
	Col1 'BarTest'
    }
}

Layout L16x1 {
    Row1 {
	Col1  'Busy'
	Col11 'BusyBar'
    }
}

Layout L16x2 {
    Row1 {
	Col1  'Busy'
	Col11 'BusyBar'
    }
    Row2 {
	Col1  'Disk'
	#Col11 'DiskBar'
	Col11 'BarTest'
    }
}

Layout L20x2 {
    Row1 {
        Col1  'CPUinfo'
    }
    Row2 {
	Col1  'Busy'
	Col11 'BusyBar'
    }
}

Layout L40x2 {
    Row1 {
	Col1  'OS'
	Col21  'Busy'
	Col31 'BusyBar'
    }
    Row2 {
	Col1  'CPU'
	Col10 'RAM'
	Col21 'Load'
	Col31 'LoadBar'
    }
}

Layout Test {
    Row01.Col1 'Test1'
    Row02.Col1 'Test1'
    Row03.Col1 'Test1'
    Row04.Col1 'Test1'
    Row05.Col1 'Test1'
    Row06.Col1 'Test1'
    Row07.Col1 'Test1'
    Row08.Col1 'Test1'
    Row09.Col1 'Test1'
    Row10.Col1 'Test1'
    Row11.Col1 'Test1'
    Row12.Col1 'Test1'
    Row13.Col1 'Test1'
    Row14.Col1 'Test1'
    Row15.Col1 'Test1'
    Row16.Col1 'Test1'
    Row17.Col1 'Test1'
    Row18.Col1 'Test1'
    Row19.Col1 'Test1'
    Row20.Col1 'Test1'
    Row21.Col1 'Test1'
    Row22.Col1 'Test1'
    Row23.Col1 'Test1'
    Row24.Col1 'Test1'
}

Layout Test2 {
    Row01.Col1 'Test1'
    #Row02.Col1 'Rain'
    Row02.Col1 'Test2'
    Row03.Col1 'Test1'
    Row04.Col1 'Test2'
    Row05.Col1 'Test1'
    Row06.Col1 'Test2'
    Row07.Col1 'Test1'
    Row08.Col1 'Test2'
}

Layout TestGPO {
    Row1.Col1  'GPO_Val1'
    Row1.Col10 'GPI_Val1'
    Row2.Col1  'GPO_Val4'
    GPO1       'GPO_Test255'
    GPO4       'GPO_Test1'
}

Layout TestIcons {
    Row1.Col1 'Timer'
    Row1.Col2 'Rain'
    Row1.Col3 'Squirrel'
    Row1.Col4 'Wave'
    Row1.Col5 'Blob'
    Row1.Col6 'Heart'
    Row1.Col7 'Karo'
    Row1.Col8 'EKG'
}

Layout testMySQL {
	Row1 {
		Col1 'MySQLtest1'
	}
	Row2 {
		Col1 'MySQLtest2'
	}
}

Layout Debug {
    #Row09.Col1 'Test'
    Row09.Col1 'Heartbeat'
}



Display 'Alphacool'


Layout 'Default'
#Layout 'TestLayer'
#Layout 'TestImage'
#Layout 'L8x2'
#Layout 'L16x1'
#Layout 'L16x2'
#Layout 'L20x2'
#Layout 'L40x2'
#Layout 'Test'
#Layout 'Test2'
#Layout 'TestGPO'
#Layout 'Debug'
#Layout 'TestIcons'

 
Wurde auch angepast.
So mit serdisplib scheint es zu funktionieren
denn mit dem Befehl

Code: Alles auswählen

testserdisp -n alphacool -p 'USB:060C/04EB'

Kann ich das LCD Ansteuern nun.

Mein Problem ist aber nun das aber LCD4Linux beim start denn serdisplib treiber nicht findet

Code: Alles auswählen

root@destiny:~# lcd4linux -Fvv
Version 0.10.1-RC2-796 starting
plugin_cfg.c: Variable minute = '60000' (60000)
plugin_cfg.c: Variable tack = '100' (100)
plugin_cfg.c: Variable tick = '500' (500)
[KVV] Using station 89
[KVV] Using default port 80
[KVV] Using default refresh interval of 60 seconds
[KVV] Default abbreviation setting: off
lcd4linux.c: initializing driver serdisplib
drv_init(serdisplib) failed: no such driver
Hm genau hier hört bei mir mein abc auf *arg ....
Währe schön wenn mir einer da mal helfen könnte dabei.... :hail:
lg

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: lcd4linux treiber SerDispLib fehlt ...

Beitrag von rendegast » 31.12.2012 09:22:04

lcd4linux auch mit serdisplib/serdisp.h neu gebaut?
Das configure.log von lcd4linux? (nach nopaste)
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
UndergroundFreak
Beiträge: 132
Registriert: 16.05.2006 14:22:20
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Gera

Re: lcd4linux treiber SerDispLib fehlt ...

Beitrag von UndergroundFreak » 31.12.2012 11:57:21

hm wie meinste das? serdislip scheint ja zu funktionieren. den mit testserdisp zeigt mir ja das lcd ja dann das testbild an von serdislip. kann es nicht sein das es eher an lcd4linux liegt? da ja dort auch der treiber in der conf angegeben ist aber nicht funktioniert halt. lg

Benutzeravatar
UndergroundFreak
Beiträge: 132
Registriert: 16.05.2006 14:22:20
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Gera

Re: lcd4linux treiber SerDispLib fehlt ...

Beitrag von UndergroundFreak » 31.12.2012 17:14:23

Hi Nachtrag habe noch mal alles verworfen und neu gemacht und siehe da nach dem reboot Funktionierte plötzlich meine lcd4Linux.conf..
Sieht zwar noch recht sehr spartanich aus aber es läuft aber.

Das Einzige was mich jetzt noch beunruhigt sind die Meldungen in der syslog immer wieder.

Code: Alles auswählen

Dec 31 17:10:49 destiny lcd4linux: serdisp_acoolsdcm_transfer_rect(): request 'ALPHACOOL_GFX_WRITE_INIT' failed
Dec 31 17:10:49 destiny kernel: [ 3351.284295] usb 6-3: usbfs: USBDEVFS_CONTROL failed cmd lcd4linux rqt 64 rq 50 len 0 ret -110
:?:

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: lcd4linux treiber SerDispLib fehlt ...

Beitrag von rendegast » 31.12.2012 18:18:44

da ja dort auch der treiber in der conf angegeben ist aber nicht funktioniert halt.
Kommt wohl auf den Installationsort von libserdisp und deren Header an.

(Korrektur "Inhalt von include/ hinzufügen und Paket erstellen.")
Die serdisplib-Header wären in Build-Verzeichnis zBsp. lcd4linux-0.10.1~rc2/serdisplib/ wohl unnütz,
sie werden an anderem Ort gesucht:

Code: Alles auswählen

# grep serdisp ../configure.strace 
29424 open("/usr/local/include/serdisplib/serdisp.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
29424 open("/usr/lib/gcc/x86_64-linux-gnu/4.4.5/include/serdisplib/serdisp.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
29424 open("/usr/lib/gcc/x86_64-linux-gnu/4.4.5/include-fixed/serdisplib/serdisp.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
29424 open("/usr/include/serdisplib/serdisp.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
29433 open("/usr/local/include/serdisplib/serdisp.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
29433 open("/usr/lib/gcc/x86_64-linux-gnu/4.4.5/include/serdisplib/serdisp.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
29433 open("/usr/lib/gcc/x86_64-linux-gnu/4.4.5/include-fixed/serdisplib/serdisp.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
29433 open("/usr/include/serdisplib/serdisp.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
30919 stat("././.deps/drv_serdisplib.Po", {st_mode=S_IFREG|0644, st_size=8, ...}) = 0
also zBsp, /usr/local/include/serdisplib/serdisp.h ->

Code: Alles auswählen

# grep serdisp ../configure.strace 
1081  open("/usr/local/include/serdisplib/serdisp.h", O_RDONLY|O_NOCTTY) = 4
1081  open("/usr/local/include/serdisplib/serdisplib/serdisp_connect.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
1081  open("/usr/local/include/serdisplib/serdisp_connect.h", O_RDONLY|O_NOCTTY) = 4
1081  open("/usr/local/include/serdisplib/serdisplib/serdisp_control.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
1081  open("/usr/local/include/serdisplib/serdisp_control.h", O_RDONLY|O_NOCTTY) = 4
1081  open("/usr/local/include/serdisplib/serdisp_connect.h", O_RDONLY|O_NOCTTY) = 4
1081  open("/usr/local/include/serdisplib/serdisplib/serdisp_tools.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
1081  open("/usr/local/include/serdisplib/serdisp_tools.h", O_RDONLY|O_NOCTTY) = 4
1081  open("/usr/local/include/serdisplib/serdisp_control.h", O_RDONLY|O_NOCTTY) = 4
1081  open("/usr/local/include/serdisplib/serdisplib/serdisp_messages.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
1081  open("/usr/local/include/serdisplib/serdisp_messages.h", O_RDONLY|O_NOCTTY) = 4
1081  open("/usr/local/include/serdisplib/serdisplib/serdisp_colour.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
1081  open("/usr/local/include/serdisplib/serdisp_colour.h", O_RDONLY|O_NOCTTY) = 4
1087  open("/usr/local/include/serdisplib/serdisp.h", O_RDONLY|O_NOCTTY) = 3
1087  open("/usr/local/include/serdisplib/serdisplib/serdisp_connect.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
1087  open("/usr/local/include/serdisplib/serdisp_connect.h", O_RDONLY|O_NOCTTY) = 3
1087  open("/usr/local/include/serdisplib/serdisplib/serdisp_control.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
1087  open("/usr/local/include/serdisplib/serdisp_control.h", O_RDONLY|O_NOCTTY) = 3
1087  open("/usr/local/include/serdisplib/serdisp_connect.h", O_RDONLY|O_NOCTTY) = 3
1087  open("/usr/local/include/serdisplib/serdisplib/serdisp_tools.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
1087  open("/usr/local/include/serdisplib/serdisp_tools.h", O_RDONLY|O_NOCTTY) = 3
1087  open("/usr/local/include/serdisplib/serdisp_control.h", O_RDONLY|O_NOCTTY) = 3
1087  open("/usr/local/include/serdisplib/serdisplib/serdisp_messages.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
1087  open("/usr/local/include/serdisplib/serdisp_messages.h", O_RDONLY|O_NOCTTY) = 3
1087  open("/usr/local/include/serdisplib/serdisplib/serdisp_colour.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
1087  open("/usr/local/include/serdisplib/serdisp_colour.h", O_RDONLY|O_NOCTTY) = 3
2633  stat("././.deps/drv_serdisplib.Po", {st_mode=S_IFREG|0644, st_size=8, ...}) = 0

# grep -i serdisp config.log 
configure:5435: checking serdisplib/serdisp.h usability
configure:5435: checking serdisplib/serdisp.h presence
configure:5435: checking for serdisplib/serdisp.h
| #define HAVE_SERDISPLIB_SERDISP_H 1
| #define HAVE_SERDISPLIB_SERDISP_H 1
| #define HAVE_SERDISPLIB_SERDISP_H 1
| #define WITH_SERDISPLIB 1
| #define HAVE_SERDISPLIB_SERDISP_H 1
| #define WITH_SERDISPLIB 1
| #define HAVE_SERDISPLIB_SERDISP_H 1
| #define WITH_SERDISPLIB 1
| #define HAVE_SERDISPLIB_SERDISP_H 1
| #define WITH_SERDISPLIB 1
| #define HAVE_SERDISPLIB_SERDISP_H 1
| #define WITH_SERDISPLIB 1
| #define HAVE_SERDISPLIB_SERDISP_H 1
| #define WITH_SERDISPLIB 1
| #define HAVE_SERDISPLIB_SERDISP_H 1
| #define WITH_SERDISPLIB 1
| #define HAVE_SERDISPLIB_SERDISP_H 1
| #define WITH_SERDISPLIB 1
| #define HAVE_SERDISPLIB_SERDISP_H 1
| #define WITH_SERDISPLIB 1
| #define HAVE_SERDISPLIB_SERDISP_H 1
| #define WITH_SERDISPLIB 1
| #define HAVE_SERDISPLIB_SERDISP_H 1
| #define WITH_SERDISPLIB 1
| #define HAVE_SERDISPLIB_SERDISP_H 1
| #define WITH_SERDISPLIB 1
| #define HAVE_SERDISPLIB_SERDISP_H 1
| #define WITH_SERDISPLIB 1
ac_cv_header_serdisplib_serdisp_h=yes
DRIVERS=' drv_BeckmannEgle.o drv_Crystalfontz.o drv_Curses.o drv_Cwlinux.o drv_EA232graphic.o drv_HD44780.o drv_LCDTerm.o drv_LEDMatrix.o drv_LPH7508.o drv_M50530.o drv_MatrixOrbital.o drv_MilfordInstruments.o drv_Noritake.o drv_NULL.o drv_RouterBoard.o drv_Sample.o drv_serdisplib.o drv_SimpleLCD.o drv_T6963.o drv_USBLCD.o drv_WincorNixdorf.o drv_X11.o drv_Image.o drv_generic_text.o drv_generic_graphic.o drv_generic_gpio.o drv_generic_parport.o drv_generic_serial.o drv_generic_i2c.o drv_generic_keypad.o'
DRVLIBS=' -lncurses -L/usr/local/lib -lserdisp -lX11'
#define HAVE_SERDISPLIB_SERDISP_H 1
#define WITH_SERDISPLIB 1
Ein so konfigurierte lcd4linux würde wohl serdisplib benutzen.


Das Einzige was mich jetzt noch beunruhigt sind die Meldungen in der syslog immer wieder.
Dec 31 17:10:49 destiny lcd4linux: serdisp_acoolsdcm_transfer_rect(): request 'ALPHACOOL_GFX_WRITE_INIT' failed
Dec 31 17:10:49 destiny kernel: [ 3351.284295] usb 6-3: usbfs: USBDEVFS_CONTROL failed cmd lcd4linux rqt 64 rq 50 len 0 ret -110
Liegt vielleicht am Alter von serdisplib-1.97.9, 2010-02 ? (s.u. usbdevfs)
Vielleicht fehlten beim Bauen von lcd4linux / serdisplib / alphacool auch einige Pakete oder waren nicht eingebunden.

usbdevfs müßte wohl erst noch gemountet werden,
siehe google 'mount -t usbdevfs none /proc/bus/usb'
# grep FS= /boot/config-* | grep USB_DEV
/boot/config-2.6.32-5-amd64:CONFIG_USB_DEVICEFS=y
/boot/config-2.6.32-5-xen-amd64:CONFIG_USB_DEVICEFS=y
/boot/config-3.2.0-0.bpo.4-amd64:CONFIG_USB_DEVICEFS=y
/boot/config-3.2.0-4-amd64:CONFIG_USB_DEVICEFS=y
Im 3.6-trunk / 3.7-trunk nicht mehr enthalten ("veraltet").
Manche usb-Debugprogramme/Monitorprogramme laufen wohl auch darüber.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Antworten