Ich wollte jetzt auch einmal LCDProc ausprobieren... Wie ich
#671 und #672 entnehme, benötigt man ja zunächst den touchcol branch von graphlcd-base und es muss das Kommentarzeichen vor HAVE_AX206DPF_EXPERIMENTAL in Make.config entfernt werden. Also flugs wieder ein PKGBUILD geschrieben
pkgname=dpf-graphlcd-base-git
pkgver=20111230
pkgrel=1
pkgdesc="GraphLCD lowlevel drivers"
arch=('i686' 'x86_64')
url="http://projects.vdr-developer.org/projects/graphlcd-base"
license=('GPL')
depends=(gcc-libs freetype2 libusb-compat)
makedepends=('git')
provides=('graphlcd-base')
conflicts=('graphlcd-base')
backup=(etc/graphlcd.conf)
_gitroot=git://projects.vdr-developer.org/graphlcd-base.git
_gitname=graphlcd-base.git.touchcol
build() {
cd "$srcdir"
msg "Connecting to GIT server...."
if [[ -d "$_gitname" ]]; then
cd "$_gitname" && git pull origin touchcol
msg "The local files are updated."
else
git clone "$_gitroot" -b touchcol "$_gitname"
fi
msg "GIT checkout done or server timeout"
msg "Starting build..."
rm -rf "$srcdir/$_gitname-build"
git clone "$srcdir/$_gitname" "$srcdir/$_gitname-build"
cd "$srcdir/$_gitname-build"
sed -i '/HAVE_AX206DPF_EXPERIMENTAL/s/^#//' Make.config
make
}
package() {
cd "$srcdir/$_gitname-build"
make DESTDIR="$pkgdir/usr/" install
install -Dm644 99-graphlcd-base.rules $pkgdir/etc/udev/rules.d/99-graphlcd-base.rules
install -Dm644 graphlcd.conf $pkgdir/etc/graphlcd.conf
}
Edit2:
Man beachte den Hinweis in docs/DRIVER.ax206dpf
Mit dpfhack-0.1alpha.tgz aus dem PKGBUILD in #5 geht es also nicht, siehe #30.
Hier gleich noch das PKGBUILD von glcdprocdriver, den Patch gibt es
hier.
pkgname=glcdprocdriver
pkgver=0.0.6
pkgrel=1
pkgdesc="glue between the graphlcd-base library from the GraphLCD project and LCDproc's meta-driver glcdlib"
arch=('i686' 'x86_64')
url="http://www.muresan.de/graphlcd/lcdproc/"
license=('GPL')
depends=(dpf-graphlcd-base-git)
source=(http://www.muresan.de/graphlcd/lcdproc/$pkgname-$pkgver.tar.bz2
$pkgname-$pkgver-touchcol.diff.txt)
md5sums=('e3fd752f9ce15f4cfadef663e94066b0'
'f6e3829094a9b40068a3629c3aa9ee85')
build() {
cd "$srcdir/$pkgname-$pkgver"
patch -i $srcdir/$pkgname-$pkgver-touchcol.diff.txt
make
}
package() {
cd "$srcdir/$pkgname-$pkgver"
make DESTDIR="$pkgdir/usr/" install
}
Nach Installation von glcdprocdriver kann man dann lcdproc aus dem AUR installieren, ich habe
diese genommen und das PKGBUILD etwas angepasst:
- depends=('libusb-compat')
+ depends=('glcdprocdriver')
- --enable-drivers=all
+ --enable-drivers=glcdlib
Vor dem Start von lcdd ist in /etc/LCDd.conf noch mindestens das folgende anzupassen
[server]
Driver=glcdlib
[glcdlib]
Driver=ax206dpf
FontFile=/usr/share/fonts/TTF/courbd.ttf
-- Edit2 Ende --
Nun kann ich als root in einem Terminal mit
lcdtestpattern -d framebuffer schon mal etwas Bewegung auf den Monitor bringen, aber wenn ich den Bilderrahmen anschließe, "Mit PC verbinden" auswähle und dann den ax206dpf Treiber verwenden will, erhalte ich
# lcdtestpattern -d ax206dpf
bulk ACK read: Broken pipe
Warning: This firmware can not lock the flash
bulk data read: Broken pipe
bulk ACK read: Broken pipe
bulk ACK read: Broken pipe
bulk ACK read: Broken pipe
bulk ACK read: Broken pipe
bulk ACK read: Broken pipe
clear and test byte: 0x01
clear and test byte: 0x02
clear and test byte: 0x03
...
und der Bilderrahmen springt zur Diashow zurück. In /var/log/messages.log findet sich
Dec 30 14:11:11 localhost lcdtestpattern: Error: No config file specified, using default (/etc/graphlcd.conf).
Dec 30 14:11:11 localhost lcdtestpattern: ax206dpf: AX206DPF initialized (320x240).
Dec 30 14:11:11 localhost lcdtestpattern: x/y out of bounds (x=0, y=0, di=0, rot=0, flip=0, lx=0, ly=0)
Dec 30 14:11:11 localhost lcdtestpattern: x/y out of bounds (x=1, y=0, di=0, rot=0, flip=0, lx=1, ly=0)
..
Gleicher Fehler mit showpic, da kommt dann noch
Dec 30 14:17:48 localhost kernel: [ 2816.941567] showpic[2113]: segfault at 1017b6cae ip 00007ff8774d7930 sp 00007fffe83dd6b8 error 4 in libc-2.14.1.so[7ff8773b5000+17e000]
Das Display ist an einem anderen PC gehackt worden (mit hackit.py), falls das eine Rolle spielt, aber lcd4linux funktioniert an diesem Rechner jetzt einwandfrei
Dec 30 14:11:51 localhost kernel: [ 2459.551009] usb 2-1.6: usbfs: process 2095 (lcd4linux) did not claim interface 0 before use
Ich weiß nicht mehr, was ich gestern anders gemacht habe, aber da gab es auch bei lcdtestpattern/showpic nur diese Meldung bzgl. usbfs, der Bilderrahmen hat aber nicht reagiert, blieb also bei "Mit PC verbinden" stehen. Ich werde noch ein wenig testen, aber vielleicht weiß ja hier auch jemand rat. Ich denke es hat wenig Sinn mit lcdproc zu experimentieren, wenn die Testprogramme von graphlcd schon scheitern.
Edit:
So, ich weiß was gestern anders war: Ich hatte die Menütaste am Bilderrahmen nicht lange gedrückt, sondern mich Schritt für Schritt durchs Menü gehangelt bis zu "Mit PC verbinden - Ja/Nein". Logmeldungen jetzt:
Dec 30 21:03:32 localhost kernel: [ 306.212634] usb 3-1.6: new full speed USB device number 4 using ehci_hcd
Dec 30 21:03:32 localhost kernel: [ 306.385294] usbcore: registered new interface driver uas
Dec 30 21:03:32 localhost kernel: [ 306.392942] Initializing USB Mass Storage driver...
Dec 30 21:03:32 localhost kernel: [ 306.393033] scsi8 : usb-storage 3-1.6:1.0
Dec 30 21:03:32 localhost kernel: [ 306.393182] usbcore: registered new interface driver usb-storage
Dec 30 21:03:32 localhost kernel: [ 306.393184] USB Mass Storage support registered.
Dec 30 21:03:33 localhost kernel: [ 307.396890] scsi 8:0:0:0: CD-ROM buildwin Photo Frame 1.01 PQ: 0 ANSI: 2
Dec 30 21:03:33 localhost kernel: [ 307.404627] sr1: scsi3-mmc drive: 40x/40x writer cd/rw xa/form2 cdda tray
Dec 30 21:03:36 localhost kernel: [ 310.516627] usb 3-1.6: reset full speed USB device number 4 using ehci_hcd
Wie man sieht wird nun auch ein Device angelegt, das infolge der udev-Regel der Gruppe uucp gehört
brw-rw---- 1 root uucp 11, 1 30. Dez 21:03 /dev/sr1
Bei Aufruf von lcdtestpattern gibt es keine Fehlermeldung (nur clear and test byte..), aber er bewirkt am Bilderrahmen nichts (weiterhin: "Mit PC verbinden").
Dec 30 21:11:33 localhost lcdtestpattern: Error: No config file specified, using default (/etc/graphlcd.conf).
Dec 30 21:11:33 localhost lcdtestpattern: ax206dpf: AX206DPF initialized (320x240).
Dec 30 21:11:33 localhost kernel: [ 787.207697] usb 3-1.6: usbfs: process 1289 (lcdtestpattern) did not claim interface 0 before use
Dec 30 21:11:33 localhost kernel: [ 787.207703] usb 3-1.6: usbfs: process 1289 (lcdtestpattern) did not claim interface 0 before use