PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : BeagelBone A6a, Chalkboard LVDS und 7" LCD Display Firmware Probleme



alexander_ro
09.02.2015, 19:31
Hallo Mädels ... Jungs ... :-)

Ich habe mir Anfang letztes Jahr für den BeagleBone dieses Display gekauft: http://www.watterott.com/de/7-LCD-LVDS-BeagleBone

Ich verwende das Debian Image von der BeagleBone Internetseite: bone-debian-7.5-2014-05-14-2gb.img

Wegen meiner arbeit bin ich dann nicht mehr dazu gekommen das Display zum laufen zu bekommen. Was ich nun nachhohlen wollte. Leider weiger es sich bisher zu funktionieren. Da ich nicht wirklich Englisch kann habe ich mich an den Händler gewannt der auch versuchte zu helfen aber dann auch keine Lösung fand.



[ 0.716876] bone-capemgr bone_capemgr.8: Baseboard: 'A335BONE,00A6,0413BB001042'
[ 0.716935] bone-capemgr bone_capemgr.8: compatible-baseboard=ti,beaglebone
[ 0.741096] bone-capemgr bone_capemgr.8: slot #0: 'BeagleBone LVDS LCD CAPE,01,Chalkboard Elec,BB-BONE-LVDS-01'
[ 0.771616] bone-capemgr bone_capemgr.8: slot #1: No cape found
[ 0.808731] bone-capemgr bone_capemgr.8: slot #2: No cape found
[ 0.845840] bone-capemgr bone_capemgr.8: slot #3: No cape found
[ 0.852382] bone-capemgr bone_capemgr.8: initialized OK.
[ 0.854646] OneNAND driver initializing
[ 0.855841] usbcore: registered new interface driver cdc_ether
[ 0.855911] usbcore: registered new interface driver rndis_host
[ 0.856043] usbcore: registered new interface driver cdc_ncm
[ 0.856505] bone-capemgr bone_capemgr.8: loader: before slot-0 BB-BONE-LVDS-01:01 (prio 0)
[ 0.856525] bone-capemgr bone_capemgr.8: loader: check slot-0 BB-BONE-LVDS-01:01 (prio 0)
[ 0.856544] bone-capemgr bone_capemgr.8: loader: after slot-0 BB-BONE-LVDS-01:01 (prio 0)
[ 0.856567] bone-capemgr bone_capemgr.8: slot #0: Requesting part number/version based 'BB-BONE-LVDS-01-01.dtbo
[ 0.856588] bone-capemgr bone_capemgr.8: slot #0: Requesting firmware 'BB-BONE-LVDS-01-01.dtbo' for board-name 'BeagleBone LVDS LCD CAPE', version '01'

.
.
.

[ 1.291848] bone-capemgr bone_capemgr.8: failed to load firmware 'BB-BONE-LVDS-01-01.dtbo'
[ 1.300631] bone-capemgr bone_capemgr.8: loader: failed to load slot-0 BB-BONE-LVDS-01:01 (prio 0)


So wie ich das verstehe findet der die Firmware "BB-BONE-LVDS-01-01.dtbo" nicht. Was auch stimmt weil es eine solche Datei im Verzeichniss "/lib/firmware" nicht gibt. Mein Problem ist jetzt das ich keine Ahnung habe wie ich zu dieser Firmware komme. Man findet sehr wenig hilfreiches im Internet.

Grüße
Alexander

Mxt
10.02.2015, 07:39
Diese Datei ist ein sogenanntes "Device Tree Overlay". Man kann die auch selbst erzeugen. Dazu schreibt man eine Art Programmdatei, die mit dem Device Tree Compiler übersetzt wird. Dazu sollte sich eigentlich Material im Internet finden lassen, auch in diversen Büchern zum Beaglebone.

alexander_ro
10.02.2015, 12:09
Von dem Device Tree habe ich schon gelesen und auch Howtos gefunden. Wirklich verstanden habe ich aber noch nicht was man da dann bekommt und noch weniger was man da für so ein Display schreiben muss.

alexander_ro
10.02.2015, 14:33
Kennt jemand ein gutes Buch wie man solche LCD Displays und Touch mit Linux und BeagleBone verwendet?

Mxt
10.02.2015, 15:28
Ich bin mir nicht sicher, wie weit LCD und Touch darin vorkommen, aber das derzeit beste Buch zum Beaglebone dürfte das hier sein
http://exploringbeaglebone.com/
ansonsten würde ich mal auf elinux.org und im Beaglebone Forum stöbern ...

alexander_ro
11.02.2015, 14:30
Viel findet man nicht zu dem LVDS Platinchen ich habe da schon reichlich gesucht. Bei den Büchern die ich gefunden habe und Deinem Vorschlag habe ich sehr den Eindruck das es haupsächlich um andere Dinge als die Treiber für Displays geht und den anderen Kram wie Netzwerk, Speicher, GPIO, USB, SPI, I2C, usw. kenne ich schon recht gut. Nur bei der Bildschirmausgabe kenne ich mich nicht aus. Weder welche Teile des Kernels das tun noch welche Treiber ich dafür brauche.

Mxt
11.02.2015, 16:55
Das empfohlene Buch ist außer "Bad to the Bone" das einzige was ich kenne, was überhaupt das Thema DeviceTree angeht. Und in letzterem steht definitiv nichts über Displays, außerdem bezieht es sich noch auf das alte Angström Image.

Mehr kann ich da leider nicht helfen.

alexander_ro
12.02.2015, 13:50
Danke schon mal für die Tipps. Ich habe mir das Buch jetzt mal bestellt.

alexander_ro
07.03.2015, 19:58
Das Buch habe ich nun bekommen. Viel weiter bin ich aber deshalb noch nicht gekommen. Das die Elektronik auf dem Cape eine Schnittstelle von parallel nach seriell (LVDS ein oder mehrere serielle Kanäle) ist konnte man aus dem Schaltplan schon erkennne. Der Kernel soll das Display als stdout benutzen. So wie das ein PC halt mit seiner Grafikkarte auch macht. Dort wird das soweit mir bekannt beim booten vom BIOS erledigt. Was ich noch nicht ganz verstehe ist wer was und wo macht das. Das Display ist ja ein grafisches. Will man nun Texte darstellen sind das letztlich Pixelbildchen aber wo kommen die her ... generiert die der Kernel?

Mxt
08.03.2015, 08:14
Ich betreibe meine Beaglebone headless, daher kann ich hier nur spekulieren:

Die unteren Pins auf P8, die das Cape benutzt, sind ja standardmäßig mit den HDMI-Signalen belegt. Daher würde ich mal vermuten, aber nur vermuten, dass das HDMI-Signal zur Anzeige benutzt wird und die UARTs und der I2C zusätzliche (Touch-?) Daten übertragen.

Wenn das ein richtiges Cape ist, hat es wahrscheinlich ein EEPROM, das würde ich mal aus den Bootmeldungen im ersten Posting schliessen. Dieses veranlasst wahrscheinlich den Capemanager das entsprechende Device Tree Overlay beim Start zu laden. Denke aber mal für diese Touchgeschichte ist noch ein Treiber im Spiel.

Soviel nur zu meinem groben Verständnis der Vorgänge. Vielleicht finden sich hier ja mal andere Beaglebone Besitzer, die dazu mehr sagen können.

alexander_ro
21.03.2015, 10:13
Nach einigen weiteren Versuchen geht es leider immer noch nicht.

Die LCD Unterstützung des TI Prozessors ist ja das was normal beim PC die Grafikkarte tut. Von der aus geht es dann beim PC meist mit HDMI zum Monitor bei meinem Cape halt per LVDS. Das Cape macht ja nur die Signalkonvertierung von dem parallelen LCD vom TI Prozessor auf serielles LVDS.

Bei mir meldet aber der Kernel nichts das er dafür irgendwelche Treiber lädt. Ich nehme aber mal an das dafür ein Treiber nötig ist. Ich habe dazu auch schon mal auf der TI Seite und in deren Wiki gesucht die halten sich da aber auch sehr bedeckt was Informationen betrifft wie das mit dem Linux Kernel zusammen arbeitet oder wie man den dafür konfigurieren muss.

HaWe
21.03.2015, 21:39
Displays und andere Robotik-Hardware, die ich bisher gekauft habe, und die nicht wie beschrieben für die entsprechende Zielplattform einwandfrei funktioniert haben, habe ich bisher immer erfolgreich während der Garantiezeit an den Verkäufer zur Rückerstattung des Kaufpreises zurückgeschickt, denn es liegt ja ein Mangel im Kaufobjekt vor: es bietet nicht die zugesagten Eigenschaften, denn es funktioniert ja schlichtweg nicht.

Also: Rückgabe, Kaufpreis zurück.

Was sollen wir uns damit rumärgern, wenn die Hersteller ihre Hausaufgaben nicht machen?
Wir sind nicht verpflichtet, deren Mängel zu beheben, das müssen die schon selber machen!
Wenn DIE Geräte anbieten und beschreiben als "TFT Display für BBB /Arduino / wasauchimmer", dann müssen sie auch damit funktionieren, die Beweispflicht liegt bei IHNEN !

Geschäftsbeziehungen bestehen aber nur mit dem Händler, also muss der Händler dafür geradestehen!

(ps,
nach Fernsabsatzgesetz kann man ja sogar ohne Angabe von Gründen innerhalb von 14 Tagen vom Kaufvertrag zurücktreten, also müssen wir noch nichtmal nachweisen, wo das Problem oder der Defekt liegt, oder ob überhaupt. Danach gilt die Garantiezeit (mind. 6 Monate), danach Gewährleistung, dann muss der Käufer allerdings den Mangel nachweisen, und dass dieser bereits zum Kaufzeitpunkt bestanden hat.)

alexander_ro
22.03.2015, 20:39
Wohl wahr aber das Ding liegt bei mir schon recht lange herum. Ich hatte es damals bestellt und konnte mich dann aber wegen einem Projekt im Ausland nicht mehr darum kümmern. Jetzt habe ich es halt wieder ausgegraben. Ich bin mir jetzt auch nicht sicher ob es einfacher ist mit einem anderen. Bisher habe ich solche Displays nicht an Embedded Systemen benutzt. Nur an einem Gnublin ein Alpahnumerisches mit zwei Zeilen das die Daten per SPI erhält.

Wsk8
22.03.2015, 23:13
http://www.chalk-elec.com/?p=1478
http://www.chalk-elec.com/?p=1806

mfg

alexander_ro
23.03.2015, 08:40
Die zwei Seiten kenne ich schon. Aber es funktioniert mit dem Image und den Einstellungen für DVI nicht. Ich weiss auch nicht ob es einen unterschied macht. Das Cape von mir hat ja keinen HDMI Converter und auch kein DVI. Das Display wird über LVDS angebunden. Ob das für die Software einen Unterschied macht bin ich mir nicht sicher.

Victor Bb
05.10.2015, 17:42
Hi everyone. I've solved this problem by disabling BB-BONELT-HDMI, BB-BONELT-HDMIN, BB-BONE-EMMC-2G firmwares and by enabling BB-BONE-DVI firmware in my uEnv.txt:
optargs=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN,BB-BONE-EMMC-2G capemgr.enable_partno=BB-BONE-DVI video=DVI-D-1:1024x600M@60

alexander_ro
16.10.2015, 11:53
Ich habe jetzt die uEnv.txt so geändert:


cape_disable=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN,BB-BONE-EMMC-2G
cape_enable=capemgr.enable_partno=BB-BONE-DVI video=DVI-D-1:1024x600M@60


Leider geht das trotzdem nicht. Immer noch die Fehlermeldung:


[ 1.293308] bone-capemgr bone_capemgr.8: failed to load firmware 'BB-BONE-LVDS-01-01.dtbo'
[ 1.302063] bone-capemgr bone_capemgr.8: loader: failed to load slot-0 BB-BONE-LVDS-01:01 (prio 0)
[ 1.311536] bone-capemgr bone_capemgr.8: slot #4: Requesting part number/version based 'BB-BONE-DVI-00A0.dtbo
[ 1.311561] bone-capemgr bone_capemgr.8: slot #4: Requesting firmware 'BB-BONE-DVI-00A0.dtbo' for board-name 'Override Board Name', version '00A0'
[ 2.560863] bone-capemgr bone_capemgr.8: failed to load firmware 'BB-BONE-DVI-00A0.dtbo'
[ 2.569426] bone-capemgr bone_capemgr.8: loader: failed to load slot-4 BB-BONE-DVI:00A0 (prio 0)