Forum: Mikrocontroller und Digitale Elektronik GNUBLIN www.gnublin.org


von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Angehängte Dateien:

Lesenswert?

Hallo,

wir haben ein neues Open-Source Projekt für den Einstieg in die 
Linux-Welt gestartet: GNUBLIN (http://www.gnublin.org)

Das Ziel war es ein ganz günstiges Board für erste und einfache 
Linuxbastelein zu haben. Ergebnis ist das Board auf der Homepage für das 
Projekt: http://www.gnublin.org

Heute kamen die ersten Boards an. Ich such aktuell Leute die Lust haben 
das Projekt mit zu gestalten. Es gibt noch einige Sachen zu tun.

Ein Paar nette Dokus schreiben, Anwendungen vorstellen etc oder den 
einen oder anderen Artikel fürs Wiki oder embedded projects Journal 
schreiben.

Wir haben 10 Boards die wir gerne für solche Arbeiten / Hilfen spenden 
würden.

z.B. Beschreibung wie man ein Relais über eine Webseite steuert (z.B. 
USB-LAN Adapter), Videos die bestimmte Sachen mit GNUBLIN zeigen. 
Einfache Anwendungen selbst entwickeln. Ansteuerung eines Sensors usw... 
Ihr seit da wahrscheinlich viel kreativer.

Übers Wochenende stelle ich die aktuellen Patchdateien und 
Beschreibungen online, wie die aktuelle mitgelieferte SD-Karte gebaut 
worden ist.

Wer Lust hat meldet sich bitte bei mir.

Gruss Bene

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Wäre sicher auch ein lohnendes Projekt für ein NetBSD. ;-)

von Tassilo A. (tiras)


Lesenswert?

moin moin

freut mich das es endlich soweit ist. habe im epj schon die artikelserie 
mit interesse gelesen....

grüße

von Tom (Gast)


Lesenswert?

Netzwerkanschluss? Ich kenne fast kein Embedded Linuxboard das ohne 
Ethernet-Anschluss daher kommt. Irgendwie ist das auch der Hintergedanke 
von Linux gewesen, dass das OS von sich aus netzwerkfähig ist.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo,

man kann jetzt GNUBLIN Ding als USB-Netzwerkkarte erkennen lassen (USB 
Kernel Treiber) und eine Route vom PC umlenken, oder ein USB-LAN- oder 
besser USB-WLAN Stick anstecken.

Das Board ist aktuell ein 2-Lagen Board, dass man als Student oder 
Interessierter komplett verstehen kann.


Gruss Bene

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Ich wäre bereit, da mitzumachen :)

Was mir direkt einfällt, was ich machen könnte wäre:
* einen/mehrere Artikel wie den zum mini2440 schreiben, bei dem das 
wichtigste grob beschrieben und angerissen wird.
* einzelne genaue Artikel zu bestimmten Themen
* "Cross-Compiling-Guide" schreiben
* Beispielcodes für ADCs, DACs, IO, telnet-/serielle-/...-Kommunikation

Auch wenn ihr bestimmte Aufgaben zu vergeben habt, wäre ich gern dabei.

Nachher mal Chef anhauen, der spendet vielleicht ja auch noch ein wenig, 
ist ziemlich begeistert von Embedded-Geschichten.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo Nils,

wenn du Zeit und Lust hast müsstest du mir deine Adresse zukommen 
lassen.


Gruss Bene

von Random .. (thorstendb) Benutzerseite


Lesenswert?

hmmm ... wieder ARM9 :-)
Wie schauts denn mal aus mit nem eigenen Board a'la Panda&Co? Cortex-A8? 
A9?

Da hätte ich Interesse als Server-Ersatz.

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Benedikt Sauter schrieb:
> wenn du Zeit und Lust hast müsstest du mir deine Adresse zukommen
> lassen.

Bin jetzt noch arbeiten, melde mich nachher bei dir per Nachricht :)

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

So will noch jemand mitmachen? Ein paar Boards hätte ich noch.

Gruss Bene

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Hallo Benedikt,
Was wird den aktuell noch benötigt um Mitzumachen, welche Themen stehen 
noch aus?

Auf der Seite steht man benötigt eine microSD für Kernel und Co wird die 
bereitgestellt oder kann man sich irgendwo ein Image runterladen?

von Ben _. (burning_silicon)


Lesenswert?

schade daß das wieder so ein board ist wo keine sau mehr selbst was dran 
löten kann. da kann ich auch nen schwintel atom board benutzen...

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Wo gibt es den vollstände Atomboards für den Preis und mit den 
Abmessungen?
Das "selbst dran löten" ist sicher auch kein Ziel solcher Boards und 
wenn kannst du doch per USB noch extra was dranhängen wenn du unbedingt 
löten willst ;)

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo Läubi,

aktuell gibt es ein ELKD RootFS, angepasste Patch-Dateien für den Kernel 
und Bootloader.

Wir passen gerade alles an und laden es dann auf ein öffentliches SVN.

1.)
Was spannend wäre, wäre ein Generator für ein RootFS übers Web. So dass 
man sich zusammenklicken kann, ich will nen Webserver, DHCP-Server, 
kleine Datenbank etc., PHP, Python, Perl, Ruby etc. lädt sich dann ein 
Skript herunter, das startet man dann und hat zwei Stunden später ein 
fertiges Image für eine SD-Karte. Oder wir lassen es gleich auf einem 
Server bauen und man muss sich nur das Image ziehen.
2.)
Oder auch so allgemeine Sachen. Wie baue ich mir eine 
Entwicklungsumgebung auf und kann bequem testen und programmieren.
3.)
Oder ein Beispielrahmen + Guide für eine typische Steuerung mit Anzeige 
(übers Web).
4.)
Oder wir suchen ein paar Sensoren und zeigen wie man die verwendet. 
Temperatur, Licht.
5.)
Oder wie integriert man eine RTC mit Batterie, so dass das Linux weiss 
wie spät es ist.
6.)
Cool wäre auch so eine Art Mini-PC. Man sucht ein einfaches Display 
Pixel oder Zeichen und kann dann direkt mit einer USB-Tastatur, dem 
GNUBLIN und dem Display Mini-Notebook spielen. Das Board braucht aktuell 
ca. 70 mA eventuell kann man diesen Mini-PC mit einer Solarzelle 
betreiben, oder gar aus einem 9V Block. So als Mini Texteditor PC :-).




So Sachen die es dann später erleichtern Anwendungen zu schreiben.

Gruss Bene

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Kennt jemand ein gutes Display das per SPI oder I2C angesteuert werden 
kann und nicht teuer ist? Letztens hatte ich so eins: 
http://www.lcd-module.de/deu/pdf/grafik/dogxl160-7.pdf aber ich glaube 
die sind nicht so billig. Bei Reichelt knappe 30 EUR.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Hallo Benedikt,

das hört sich doch ganz interessant an, hätte Interesse würde mich dann 
für den Bereich Webserver/Mini-PC "engagieren", was natürlich knapp 
werden könnte sind die 8MB Ram stimmt die Angabe oder ist das ein 
Schreibfehler auf der HP? Und ist eventuell eine weitere Variante mit 
etwas mehr RAM geplant?

kannst ja einfach mal eine PN schreiben.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Das ist Absicht. Das Board kriegt man so auf knappe 30 EUR bei 100 
Stück. Kein Schnickschnack ein einfaches Board zum Lernen. Außerdem soll 
der Mini-PC ja nur ein Konsolen-PC werden :-) und man hat wenn man will 
Gigabytes an Swap. Aktuell ist eine 64 MB swap Datei eingerichtet. Man 
kann problemlos auf dem Board den gcc anschmeißen. Man könnte aber auch 
durch Bestückung einen größeren Speicher auflöten. Ein Pin muss man noch 
routen, aber das sollte klappen.

Ideal läuft ein Texteditor, Screen, SSH-Client und Mutt oder so wenn das 
jemand verwendet. Online kann man über das USB-Kabel, ein WLAN Stick 
o.ä. gehen.

von Alex (Gast)


Lesenswert?

Hallo,

joooah, sehr nettes board, leider sind die Pins vom Displaycontroller 
nicht herausgeführt, bin besessen von Grafikanwendungen und deren 
Programmierung im Embeddet Bereich, warte schon sehr gespannt auf die 
'GNUBLIN imx287'-Version, könnte da meinen Part dazusteuern.

Gruß Alex ;)

von Peter H. (the_ride)


Lesenswert?

Hi!

Das mit dem Mini-PC würd mich auch interessieren :)

cya The_Ride

von Alex (Gast)


Lesenswert?

Oooops, sorry der LPC3131 hat ja gar keinen LCD-Controller sondern nur 
ein Interface für einen ext. Grafikkontroller.

von Wolfgang M. (wsys)


Lesenswert?

Hallo,

ich würde sehr gerne bei deinen Projekt mithelfen.
Ich würde gerne ein RFID Zugangssystem damit aufbauen wollen oder mich 
mit anderen sensoren Beschäftigen!

mfg Wolfgang

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Ok. Ich schreibe ab morgen jeden nochmal nach und nach eine mail um 
genau zu klären für was und wo hin ich die Boards schicken soll. Wenn es 
noch was gibt, schreibt gerne weitere Ideen.

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Benedikt Sauter schrieb:
> Ich schreibe ab morgen jeden nochmal nach und nach eine mail um
> genau zu klären für was und wo hin ich die Boards schicken soll.

Freu mich schon drauf :)
Hab dir ja geschrieben, was ich so aus'm FF wüsste, was ich machen kann. 
Wenn dir noch mehr einfällt, einfach schreiben.

Diejenigen, die mitmachen sollten sich vielleicht auch noch per Mail 
austauschen, nicht dass manche Sachen 5-fach gemacht werden und andere 
Wochenlang liegen bleiben.

Ja, ich weiss Beispiel-Kernel-bauen und Wiki-Artikel dazu schreiben kann 
nerven oder zigmal durchgekaute Sachen wieder durchzukauen, aber muss ja 
eben auch sein ;)

von Gerd E. (robberknight)


Lesenswert?

Benedikt Sauter schrieb:
> Das ist Absicht. Das Board kriegt man so auf knappe 30 EUR bei 100
> Stück.

hmm. Da finde ich das hier spannender: http://www.raspberrypi.org/
Die wollen im Dezember ihre Boards für 35 EUR fertig haben.

Da ist nen ARM11 mit 700MHz und 128 MB RAM drauf. Außer USB ist noch 
Ethernet und HDMI drauf. Man hat also doch gleich viel mehr 
Möglichkeiten das zu vernetzen.

Wenn ich mir das Foto von Deinem Board so anschaue, sieht mir der 
Prozessor nicht so aus, als wäre der für Löt-Anfänger von Hand zu 
bestücken. Von der Seite her sind also beide Boards gleichauf.

Gruß,

Gerd

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Gerd E. schrieb:
> Da finde ich das hier spannender: http://www.raspberrypi.org/
> Die wollen im Dezember ihre Boards für 35 EUR fertig haben.

Herstellungs und Verkaufspreis sind ja 2 paar Stiefel. Geht man mal von 
20€ Herstellungskosten aus, lässt sich das höchstwahrscheinlich nur 
durch Stückzahlen erklären.

von Sebastian (Gast)


Lesenswert?

@Benedikt Sauter:
Die billigsten Standard Grafik-LCDs, die mir zur Zeit bekannt sind, sind 
die von Displaytech Hongkong, hier beim Hersteller zu sehen: 
http://www.displaytech.com.hk/product.php?id=12
Kann man z.B. bei RS bekommen: 
http://de.rs-online.com/web/p/lcd-displays-graphisch-monochrom/0564400/

Diese Displays können neben dem Parallelbus auch SPI.

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Dann doch lieber sowas hier: 
http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=de&site=DE&KeyWords=153-1143-nd&x=0&y=0

hat gleich Farbe und mehr Pixel zum gliechen Preis ;) Mit dem ding 
schlage ich mich gerade rum, kann bald Ergebnisse zur Bildqualität 
posten falls Interesse besteht.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

ah ja gerne

von W.S. (Gast)


Lesenswert?

Benedikt Sauter schrieb:
> Kennt jemand ein gutes Display das per SPI oder I2C angesteuert werden
> kann


Hallo Benedikt,
bist du dir ganz sicher, daß du beim Entwurf des Boards nix verkehrt 
gemacht hast? Ich meine nicht irgendwelche Schaltungsfehler, nee, ich 
meine, was du da draufprojektiert hast und was nicht. Irgendwie vermisse 
ich eine klare Linie.

Wenn man das Board nicht bloß irgendwo in irgendeinem Netz unbemannt 
herumwerkeln lassen will, dann sind Hände und Füße angesagt, also ein 
Display (bei der Controller-Liga QVGA oder 480x272), IR-Anschluß, Tasten 
oder PS2, Drehgeber, Audio und so weiter. Und 8 MB wären für ein WinCE 
zu klein, da wären zumindest 32 MB angesagt. Ob 8 MB für ein Linux mit 
ner Oberfläche und Anwendungen ausreicht, wage ich zu bezweifeln. Für 
ein Eigenbau-OS oder solche Dinger wie Contiki sollte es hingegen 
ausreichen - aber ganz ohne Interface zum Menschen?

Wie stellst du dir eigentlich ein per SPI oder gar I2C angeschlossenes 
Display vor? ich weiß, daß es QVGA-TFT-Displays mit paralleler 
Schnittstelle gibt, aber deren Benutzung ist grottenhäßlich, kompliziert 
und langsam - kein Vergleich zu einem Display, das wie ein Stück RAM im 
Adreßvolumen liegt.

Kurzum, ich hab bei deinem Board kein gutes Gefühl.

W.S.

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Wie schon geschrieben, das soll kein PC werden, sondern ein kleines 
Controllerboard mit Linux.

Niemand mäkelt an einem SAM-Board mit FreeRTOS herum, dass es keine 
Tastatur hat und kein VGA-Display. Aber die Funktionalität und 
Einfachheit eines kompletten Linuxsystems wünscht sich fast jeder - 
zumindest beim Entwickeln.

Immer schneller und bessere Grafik - so muss es sein!

PS: Ich weiss schon, was ich damit machen würde. 3,5"+ SPI-Display dran, 
ADCs, 24 Fader, RS485, >100 Buttons und ich hab ein DMX-Pult mit 
ordentlich Power.

PS2: @Benedikt: hast du schon geschrieben?

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo,

hatte einiges um die Ohren heute. Es gibt ein neues Foto.

Das ganze ist eine einfache Plattform die man gut verstehen und 
nachvollziehen kann. Das war das wichtigste Ziel.

Man kann alles mit einem USB-Kabel betreiben (USB-RS232 für Konsole + 
Stromversorgung).

Ich schau das ich morgen das schaff, was ich heute machen wollte.

Gruss Bene

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Nils S. schrieb:
> Niemand mäkelt an einem SAM-Board mit FreeRTOS herum, dass es keine
> Tastatur hat und kein VGA-Display.

Naja, aber ein Farb-Grafik-LCD mit resistivem Touchscreen sowie
einen separaten Bereich mit Feldern für QTouch haben die mittlerweile
auch. ;-)

von debugger (Gast)


Lesenswert?

Auf der Platine scheint noch viel Platz frei zu sein. Könnte man das 
nicht dazu nutzen, die Platine kompakter zu machen ?

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Die Platine ist eine 2 Lagen Platine. Leider geht es nicht "viel 
Kompakter" ich stell das Wochenende mal die Layouts online.

Allgemein werde ich erst am Wochenende zu den versprochenen Mails 
kommen. Wir haben gestern die ersten Boards aktiviert.

von LCDmann (Gast)


Lesenswert?

Hallo habe eine frage:
Hat jemand links zu dem Thema embedded Linux? Unter wiki und der 
offiziellen Seite steht nicht wirklich etwas... Kann ich mir das 
vorstellen wie einfach Linux ohne GUI nur im konsolenmodus aber ohne 
tastertur und Bildschirm ?!
Würde mich gerne in die Materie einarbeiten, jedoch wären hier paar tuts 
von Vorteil!

Danke im voraus
Mfg

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Das ist eine sehr gute Idee. Ich habe gleich mal eine Seite im Wiki 
angelegt für den Einstieg für den absoluten Neuling.

http://www.gnublin.org/index.php?title=Hauptseite (aus der Startseite 
der Link).

Hat jemand einen guten Link? Ich kenne so aus dem Bauch nichts. An der 
FH Augsburg gibt es eine Vorlesung von Prof.Dr. Hoegl leider ist der 
Server gerade offline.

Ich probiers nachher nochmal.

von LCDmann (Gast)


Lesenswert?

Hallo ich nochmal
Habe mir dein Video tut angesehn und ich denke ich werde mir das Board 
zulegen! Ich würde mich freuen wenn es Anleitungen geben würde wie ich 
i2c spi oder die ads ansprechen kann, mein vorhaben wäre ein i2c lcd zu 
betreiben um die Daten die man per uart bekommt am Display sieht!

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Hast du denn schon anderen geschrieben? Bei mir kam noch nix an :(

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo,

kurzer Status. Wir kriegen gerade nicht soviel Boards aus der Produktion 
wie wir brauchen. Aber es läuft alles auf Hochtouren.


Heute werden die ersten Boards versendet. Ich schreibe jetzt gleich mal 
alle Leute an die mich angeschrieben hatten.


Gruss Bene

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo,

so danke für die Zurschriften. Ich habe mit allen Kontakt aufgenommen. 
Die erste Runde der Board gegen Hilfe ist dann mal geschlossen.

Ich hoffe wir kriegen die Board die kommende Woche an alle raus.

Gruss Bene

von benwilliam (Gast)


Lesenswert?

irgendwie erinnert mich das an das FoxBoard 
(http://foxlx.acmesystems.it/) evtl. kann man sich da was abschauen?

von avrfreak (Gast)


Lesenswert?

Ich fände modulweise Erweiterungen ganz gut: z.b. für ps2 tasterturen 
oder Ethernet oder ein Display oder canbus mit dazugehörigen Treiber 
Demos!

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

avrfreak, erstmal haben ganz andere Dinge Vorrang.

Wenn du z.b. solch ein Netzwerk-Modul bauen willst, tu das. Stellst du 
es jemandem zur Verfügung, der sich mit Chip XY auskennt, mit dem Linux 
Kernel, Netzwerken usw, schreibt dir derjenige vielleicht ja einen 
Treiber ;)

von tt2t (Gast)


Lesenswert?

stört mich schon sehr, dass da kein Ethernet direkt drauf ist. Die 
"Konkurrenz" (z.B. Bifferboard 
http://www.mikrocontroller.net/articles/Bifferboard) hat das schon drauf 
und ist zudem billiger.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Angehängte Dateien:

Lesenswert?

Und gibts Ideen für Anwendungen für das GNUBLIN Cluster :-).

1,26 GHz und bis zu 32 GB x 7  Speicher

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Welche Topologie? Mesh? Cube? Torus? Hypercube? ;)

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Egal :-) Alle sind aktuell per USB über ein HUB über USB-LAN verbunden. 
Jeder hat eine IP Adresse.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Benedikt Sauter schrieb:
> Egal :-) Alle sind aktuell per USB über ein HUB über USB-LAN verbunden.
> Jeder hat eine IP Adresse.

Eventuell bekommt man MPI ans laufen :)
http://www.open-mpi.org/
http://www.cyberciti.biz/tips/linux-openmp-clusters-hpc-programming.html

Die Frage ist nur ob ein einzelner PC da nicht schon leistungsfähiger 
ist ;)

von debugger (Gast)


Lesenswert?

Kan das Board eigentlich auch mit 3,3 V betrieben werden ?
Und wie hoch ist der Stromverbrauch ?

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo,

die Spannungen werden von AS1324 erzeugt. Ich glaub 0,6V höher muss die 
Spannung sein.

Für die 1,8V und 1,2V ist das kein Problem.

Mit etwas weg löten und Brücken einbauen kann man auch mit 3,3V die 
Schaltung versorgen.


Gruss Benedikt

von NurEinGast (Gast)


Lesenswert?

Habe ein Board bestellt und bekommen.
Macht Spass.

Nur im WIKI  scheint es überhaupt nicht weiter zu gehen.
Wer das Bord kaufen und nutzen will, der sollte selbst mit Linux auf Arm 
Rechnern umzugehen wissen - und bereit sein viel zusammenzusuchen.

von Micha (Gast)


Lesenswert?

Ich würde auch gern den weg in das Embedd Linux finden, aber das schaff 
ich defenitiv nur wenn da was in form eines howtoo kommt. Wenigstenz für 
den Einstieg. Es währe sehr schade wenn das Projekt daran scheitert

von tecdroid (Gast)


Lesenswert?

Hallo,

ich hab das Board auch und es ist schon ganz schnuckelig. Allerdings 
kämpfe ich noch damit, die seriellen Schnittstellen zu nutzen.
Ich find zwar SPI und I²C im sysfs aber ein Device existiert nicht. Kann 
mir nicht wer sagen, wie ich jetzt ein beliebiges I²C-Device damit 
ansteuere?

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

tecdroid schrieb:
> wie ich jetzt ein beliebiges I²C-Device damit
> ansteuere?

Entweder mit den I2C-Tools und den darin enthaltenen i2cset und i2cget 
oder in C 
http://www.mikrocontroller.net/articles/Ports_benutzen_%28GCC%29#Der_I2C_Bus_.26_SMBus

Hier ein kleines Beispiel von mir 
http://krumeltee.wordpress.com/2011/08/15/pcf8574-am-avr32-unter-linux/ 
für den PCF8574, gibt dort noch mehr.

Die Linux-I2C-Geschichten laufen, solange du /dev/i2c-xxx hast, auf 
jedem Board gleich ab.

von Nils H. (irrenhaus)


Lesenswert?

@Benedikt Sauter

Ohne mir den ganzen Thread durchzulesen, falls noch ein Display gesucht 
wird:
http://www.watterott.com/de/MI0283QT-2

Das Ding kann man per SPI und per Parallel-Schnittstelle ansprechend und 
es hat nen Touchscreen. Ich habe es selbst in Benutzung und finde es 
sehr gut.

Bei Watterott gibts auch gleich ne Breakout Platine dafür.

MfG
Nils

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo,

Ich habe soeben mal die ersten Seiten aufgeräumt (www.gnublin.org)

Toolchain & Linux Kernel sollten soweit klappen.

I2C und SPI sollten eigentlich vom Kernel aus funktionieren.

Um per Netzwerk mit GNULIN zu arbeiten gibts das hier:

http://www.gnublin.org/index.php?title=GNUBLIN-EINSTIEG-Netzwerk

Ich schau, dass ich noch ein paar so Texte heute schreib.


Die Boards sollten hoffentlich die Woche an euch rausgehen.

von A. F. (frankalicious)


Lesenswert?

Benedikt Sauter schrieb:
> Die Boards sollten hoffentlich die Woche an euch rausgehen.
Juhu, ich freu mich schon.

von Stefan (Gast)


Lesenswert?

Guten Morgen.

Ich hab nur mal eine kurze Frage;
Warum sollte ich dieses Board im Gegensatz zu den Starterkits aus dem 
Shop oder, wie oben schon angesprochen, einen Raspberry PI (falls das 
Projekt fertig wird) nehmen? Ich bin völlig neu in der ARM-Kategorie, da 
ich vorher nur auf der 8-Bit AVR Architektur programmiert habe. Welche 
Vorteile bekomme ich durch ein embedded Linux?

von linuxi (Gast)


Lesenswert?

Gibt es die möglichkeit embedded Linux auf einer virtuellen maschine wie 
VMWare zu installieren?

von Frank L. (franklink)


Lesenswert?

Hallo,
vielleicht hilft Dir das:

http://www.imedialinux.com/alldownloads

Gruß
Frank

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Qemu, nur das Problem ist, dass es nur den Rechner emuliert, keine 
zusätzliche HW.

von Stephan_II (Gast)


Lesenswert?

Hallo,

habe heute mein GNUBLIN bekommen, und funktioniert einwandfrei...
Habe mir nun wie auf http://www.gnublin.org die GNU/Linux Umbegung
für Windows heruntergeladen und installiert. Habe zum testen erseinmal 
das Beispiel aus dem getting-started.pdf auf Seite 25 kopiert.

Wird compiliert mit
   arm-none-linux-gnueabi-gcc -o factorial main.c
es klappt, und es wird im Projectordner ein File das factorial heißt
erzeugt.

Dieses übertrage ich nun mit zmodem ans gnublin board, ins Verzeichnis
c-demo, dies funktioniert ebenfalls. Wenn ich aber nun Eingebe 
./factorial
so bekomme ich "-sh: ./factorial: Permission denied" zurück.

Was habe ich vergessen/falsch gemacht??

Ich bin blutiger Linux Anfänger..

Gruß

 Stephan

von Stephan_II (Gast)


Lesenswert?

Hallo,

alles zurück. Ich habe gerade den Befehl chmod entdeckt.
Und factorial nun ausführbar gemacht, nun funktioniert es...

Gruß

 Stephan

von b.a. f. (bafh)


Lesenswert?

Stephan_II schrieb:
> Habe zum testen erseinmal
> das Beispiel aus dem getting-started.pdf auf Seite 25 kopiert.

Wo gibts das PDF zum download? Kannst Du mal einen Link posten oder das 
PDF hier hochladen?

von Stephan_II (Gast)


Lesenswert?

Hallo ,

der link ist unter 
http://www.gnublin.org/index.php?title=LPC3131-Toolchain
unter CodeSourcery (unter Windows oder Linux) angegeben.
Der link ist:
https://sourcery.mentor.com/sgpp/lite/arm/portal/subscription?@template=lite

Dort kannst du dir die toolchains runterladen, etwas weiter unten unter 
Documetation gibst dieses und weiter pdfs

Gruß
 Stephan

von Stephan_II (Gast)


Lesenswert?

Hallo,

weiss jemand wie man die led1 auf dem board ein/ausschalten kann.

Gibt es ein bereits header file wie include"lpc3131.h" wo die
Pins definiert sind, so das man sie in c mit outb inb ansprechen kann?

Gruß

 Stephan

von linuxi (Gast)


Lesenswert?

Gibt es ja auf gunblin.org eine nette Beschreibung! Würde mich auch über 
mehr Testprogramme freuen bzw. Die uart Ausgabe auf ein Display 
"umzuleiten"
Danke

von Alexander B. (Firma: brickwedde.dev) (alexbrickwedde)


Lesenswert?

Hi,

kann ich mit dem Board ein WLAN-Radio bauen? Habe hier einen VDR PC der 
einen MPEG TS im LAN bereitstellt. Dieses müsste über USB WLAN 
reinkommen, und über einen USB-Audio abgespielt werden. Mit dem o.g. 
Touch Display von Watterott wäre auch eine Bedienung machbar. Hätte das 
Board genügend Leistung dafür?

Gruss

...Alex

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo,

also auf der GNUBLIN Seite sammelt sich nach und nach mehr info an.
Um die GPIO Geschichte nutzen zu können müsst Ihr das zImage auf der SD 
Karte gegen das neue bei Downloads austauschen. Einfach unter einem 
Linux Rechner hineinkopieren bzw. überschreiben.

- 5 Boards gehen heute hier an Bastler raus. Dann könnt Ihr die 
Weihnachtszeit nutzen.


Gruss Benedikt

von Michael S. (misc)


Angehängte Dateien:

Lesenswert?

Hallo!

Ich habe eine kleines Kernel-Modul geschrieben, um bequemen Zugriff auf 
die GPIO Pins des Boards zu haben.
Um es auszuprobieren, könnt ihr entweder das Modul selbst gegen euren 
Kernel Source kompilieren (gpio-module-src.tar.gz) oder zum Testen 
meinen Kernel und das fertig kompilierte Modul verwenden 
(gpio-module-bin.tar.gz)

Am besten ihr kopiert das Modul "gpio-module.ko" in das home-Verzeichnis 
und führt dann "insmod gpio-module.ko" aus um es in den Kernel zu laden.
Entfernt werden kann es mit "rmmod gpio-module.ko" beziehungsweise durch 
einen Neustart.

Das Modul erstellt die virtuellen Dateien "/proc/gpio_dir", 
"/proc/gpio_in", "/proc/gpio_out" um auf die Pins zuzugreifen.

Es liegt auch beiden Archiven der Header "gpio.h" bei, den ihr einfach 
in C Programmen verwenden könnt um auf die Pins zuzugreifen.

Im Anhang ist auch noch ein Beispiel wie man das Modul in C verwenden 
kann.

Das ist mein erstes Kernel Modul und ich nehme gerne 
Verbesserungsvorschläge entgegen ;)

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo Michael,

hättest du Lust das gleiche für ADC und oder PWM zu machen :-).


Gruss Benedikt

von Michael S. (misc)


Lesenswert?

Benedikt Sauter schrieb:
> hättest du Lust das gleiche für ADC und oder PWM zu machen :-).

Ja, ich bin gerade dabei mich in das Datenblatt des LPC3131 einzulesen 
und habe vor, einen Treiber für den ADC zu schreiben.
Da das meine ersten Versuche mit Treiberprogrammierung sind kann ich 
aber nichts garantieren ;)

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Michael Schwarz schrieb:
> Da das meine ersten Versuche mit Treiberprogrammierung sind kann ich
> aber nichts garantieren ;)

Kernel-Module und ein /dev- und/oder /proc-Interface sind absolut kein 
Hexenwerk. Schwieriger wirds, den ADC anzusprechen.
Siehe "Linux Kernel Module Programming Guide".

von Michael S. (misc)


Lesenswert?

Nils S. schrieb:
> Kernel-Module und ein /dev- und/oder /proc-Interface sind absolut kein
> Hexenwerk.

Das stimmt, das habe ich bereits für das gpio Modul in meinem vorigen 
Post gemacht.

Beim ADC ist eben das Problem, wie du schon erwähnt hast, dass ich ihn 
erst ansprechen muss. Aber soweit ich das verstanden habe, sind alle 
Register des ADC memory mapped und ich kann damit ganz einfach darauf 
zugreifen.

Ich werde heute ein wenig damit experimentieren und falls ich 
Fortschritte mache hier posten.

von Michael S. (misc)


Lesenswert?

Kurzes Update:

es ist mir jetzt gelungen den ADC anzusprechen und im Single Conversion 
Mode Werte vom ADC zu bekommen.

Ich werde also voraussichtlich noch diese Woche ein Kernel-Modul (und 
einen Patch für den Kernel) herausbringen.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo,

gestern gingen die ersten Boards per Post an euch. Bis Weihnachten 
wollen wir, dass alle draußen sind.

Gruss Bene

@Michael kann ich deinen Treiber ins Wiki mit aufnehmen?

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

In der .h Datei die C Funktionen ist nicht wirklich hübsch. Lieber 
schnürt man eine kleine Bibliothek gegen die man dann linkt. Oder man 
schreibt in der Anleitung, dass man die C Funktionen mit aufnehmen soll.

In der .h Datei sollten nur Definitionen etc. sein.

Sonst sieht das doch für deinen ersten Treiber gut aus.

Gruss Bene

von Michael S. (misc)


Angehängte Dateien:

Lesenswert?

@Benedikt: Ja kannst du gerne ins Wiki stellen.

Mit dem Header hast du völlig recht, das war nur schnell zum Probieren 
gedacht. Es ist auch nicht besonders effizient, da bei jedem Pin Zugriff 
die Datei geöffnet, geschrieben und geschlossen wird.
Besser wäre es, die Datei am Anfang zu öffnen und dann mit rewind() 
immer wieder an den Anfang der Datei zu gehen und sie erst am Ende zu 
schließen.

Ich habe jetzt das ADC Kernel-Modul fertiggestellt. Es unterstützt den 
Single Conversion Mode mit 10bit Auflösung für alle drei herausgeführten 
ADC Kanäle.

Das Modul wird mit "insmod adc-module.ko" eingefügt (wenn ihr das fertig 
kompilierte Modul aus "adc-module-bin.tar.gz" verwendet, müsst ihr auch 
meinen Kernel verwenden)

Das Modul erstellt die drei Devices /proc/adc0, /proc/adc1 und 
/proc/adc3. Jedesmal wenn von einem dieser Devices gelesen wird, führt 
der ADC eine A/D Wandlung durch und liefert das Ergebnis zurück.

Testen kann man das z.B. mit "cat /proc/adc0 | od -i -An | tr -d ' '"

Achtung: Die maximale Eingangsspannung des ADC ist 3.3V!

Wer das Modul selbst kompilieren will, muss zuerst noch den Kernel Patch 
anwenden, der die Register des ADC definiert:
"cd linux-2.6.33-lpc313x/
patch -p1 < ../adc-registers.patch"

von Nils S. (kruemeltee) Benutzerseite


Angehängte Dateien:

Lesenswert?

Benedikt,
nachdem vor zwei Tagen die Versandbestätigung kam (Post war heute noch 
nicht da...), wollte ich mich schonmal ans Wiki mit einem 
Beispiel-Kernelmodul machen. Nun siehts aber so aus, als wäre die 
Anmeldung gesperrt... oder übersehe ich da was?

Michael,
wieso hast du /proc genommen? Für Geräte ist eigentlich /dev da. Im 
LKMPG gibts kein komplettes Beispiel für ein Kernel Modul, welches 
/dev-Nodes bereit stellt, die man lesen und schreiben kann.
Ich hänge hier mal ein Modul an, welches nichts weiter tut als von sich 
lesen und sich beschreiben lassen.

von Michael S. (misc)


Lesenswert?

Weil das in dem Tutorial das ich mir über Kernel Modul Programmierung 
durchgelesen habe so erklärt worden ist ;)
Aber du hast recht, /dev wäre natürlich besser.
Danke für die Beispiele, ich werde meine Module also umschreiben, dass 
sie /dev statt /proc verwenden.

Ich hatte eigentlich vor, heute noch ein Modul für PWM reinzustellen, 
aber dann werde ich das noch so abändern, dass es unter /dev liegt und 
entweder heute Abend oder morgen reinstellen.

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Vorschlag, ich würde den adc nicht mit mehreren /dev-Nodes machen, 
sondern mit einer.
Beim starten ist automatisch ch0 aktiv und jenachdem, ob man 0-3 rein 
schreibt, gibt er ab da den passenden channel aus.

von Michael S. (misc)


Lesenswert?

Das ist ein guter Vorschlag, das werde ich gleich umsetzen nachdem ich 
das PWM Modul fertig habe.

Aber falls du Lust (und Zeit und einen Google Account) hast, kannst du 
auch gerne das Modul ändern. Ich habe ein Projekt auf Google Code 
angelegt (http://code.google.com/p/gnublin-adc-module/) und wenn du mir 
eine PN mit deiner E-Mail Adresse schickst könnte ich dich hinzufügen.

von Nils S. (kruemeltee) Benutzerseite


Angehängte Dateien:

Lesenswert?

In der Header Datei hat sich beim Kommentieren noch ein Fehler 
eingeschlichen, fehlende Escape-Sequenzen. Dadurch wird es nicht 
compilieren, hier berichtigt.

von Michael S. (misc)


Angehängte Dateien:

Lesenswert?

So, ich habe jetzt auch noch das Modul für PWM fertig gestellt.

Das Modul wird ebenfalls durch "insmod pwm-module.ko" geladen. Dann muss 
jedoch (falls noch nicht vorhanden) das PWM Device angelegt werden. Wie 
das geht, zeigt das Modul beim Laden an. Es sollte im Normalfall
"mknod /dev/pwm c 253 0" sein.

Dann kann man einfach den PWM Wert in das Device schreiben. Für ein 
Beispiel dazu siehe die angehängte "pwm.c".

Wie immer: wer das Modul ausprobieren will, muss auch meinen Kernel 
verwenden (beide in "pwm-module-bin.tar.gz")

Ich denke das wären einmal die wichtigsten Module die man so braucht. 
Wer noch Ideen für neue Module oder Verbesserungsvorschläge für die 
Module hat, immer her damit ;)

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo Michael und Nils,

wir könnten es so machen, dass wir die ganze Entwicklung und Texte 
schreibei auf code.google.de/p/gnublin machen und von dort gehts dann 
ins Wiki etc. Ihr hättet dann auch Zugriff auf das Repos.

@Michael könntest du dann gleich zwei Artikel über die Treiber 
schreiben? So dass man es als Benutzer nachmachen kann. Was genau hast 
du am Kernel geändert? Nur eine andere Config? Hast du ein Google 
Account?

@Nils hast du auch einen Google Zugang? dann kann ich euch da alle 
eintragen.

Das wichtigste beim Projekt GNUBLIN ist, dass wir immer eine klar 
Struktur auf der Tutorial Homepage haben. Wenn Ihr hier noch Anregungen 
habt immer raus damit. Eventuell ist es daher besser, wenn wir auf 
Google arbeiten und wenn alles passt wir es auf gnublin.org gezielt 
übernehmen?

Gruss Benedikt

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

ADC-Treiber bin ich grad dran, haben per PN noch geschrieben, wird heute 
Abend oder morgen im Lauf des Tages fertig sein.
Läuft dann so, dass man in eine Device Node schreibt und von ihr liest, 
wie weiter oben geschrieben.

googlecode ist zwar google aber hab ich kein Problem mit :) -> Mail.

von Nils S. (kruemeltee) Benutzerseite


Angehängte Dateien:

Lesenswert?

So, ADC Treiber funktioniert mal so halbwegs.

Was noch nicht tut, ist das ändern der resolution (10bit Messung 
funktioniert, beim Laden vom Modul auf 10bit gestellt) und das 
durchführen von Mehreren Messungen und bilden vom Durchschnitt (hab es 
im Module "averaging" genannt.

Compilieren:
Im Makefile ARCH, CROSS_COMPILE und KDIR angeben (Kernel Quellcode 
Verzeichnis)
$ make
Modul kopieren

Auf dem Board:
$ insmod /path/to/lpc3131_adc.ko

$ echo "0" > /dev/lpc3131_adc schaltet auf CH0
$ echo "1" > /dev/lpc3131_adc schaltet auf CH1
$ echo "3" > /dev/lpc3131_adc schaltet auf CH3
$ cat > /dev/lpc3131_adc gibt aus

$ echo "help" > /dev/lpc3131_adc gibt Hilfe auf dmesg aus.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Hallo Nils, mal interessehalber was nutzt du als SDK/Toolchain?

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Den EDLK compiler, der mit der ISO kam, aber das gefällt mir nicht so, 
ist x86 und ich hab x86_64. Ich werd mir mit crossdev auf gentoo im Lauf 
der Tage noch was bauen.

Das Problem bei crossdev ist leider, dass man nie weiss, was man bei 
rausbekommt - eine Käferfamilie oder einen Compiler...

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Nils S. schrieb:
> $ cat > /dev/lpc3131_adc gibt aus
        ^
        |
        das muss da weg :-)

Gruß,

Frank

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Frank M. schrieb:
> Nils S. schrieb:
>> $ cat > /dev/lpc3131_adc gibt aus
>         ^
>         |
>         das muss da weg :-)
>
> Gruß,
>
> Frank

Hmm hast wohl recht :D

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Mal ne blöde Frage: Wie meldet man sich fürs Wiki an oder kann das nicht 
"von jedem" editiert werden?

Eventuell kann jemand mit Schreibberechtigung mal den Abschnitt:
http://www.gnublin.org/index.php/LPC3131-Fortgeschrittene#Toolchain_installieren_und_die_Umgebungsvariable_setzen
editieren, einmal sollten "temporäre" Medien ggf. nach /media gemountet 
werden und ansonsten ist es eventuell etwas unklug nach /mnt zu mounten 
da dort (in Unterverzeichnissen) bei vielen Systemen auch ander FS 
gemountet sind welche man dann überdeckt (was dann die installation 
schwierig macht und dem Rest des Systems ggf. auch nicht schmecken mag).

Dann hätte ich noch eine Frage zu Netzwerkkarte, benötigt man da dieses 
spezielle OTG Kabel oder tut es auch ein "einfaches", das wird aus dem 
Text nicht ganz klar.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hall Läubi,


habs angepasst. Ich werde glaube ich ein zweites wiki einrichten,
in dem jeder Schreibzugriff hat. Von dort aus werden die Texte dann auf 
die Hauptseite übernommen.

Oder es finden sich ein paar freiwillige die Moderator spielen. Hätte da 
jemand Zeit und Lust? Dann könnten wir auch das Wiki mal offen lassen 
und schauen was passiert?

Wenn du den ID Pin der USB Buchse manuell gegen GND ziehst kannst du 
jedes Kabel verwenden.

http://www.gnublin.org/images/thumb/b/b4/Usb-id-jumper.jpg/800px-Usb-id-jumper.jpg

Gruss Bene

von Max (Gast)


Lesenswert?

Wer Cortex A-8 mit 256MB RAM, LAN, Video, USB, ... sucht, sollte 
BeagleBone für 77€ nehmen.

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Ich denke, dass es gar nicht so viel Arbeit macht, das Wiki frei 
zugänglich zu machen. Du kannst ja auch einstellen, dass es nur mit 
Anmeldung geht, das hält schonmal einige Spammer fern.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Irgendwie bin ich gerade blind und seh' nicht wie $GNUBLINDIR definiert 
werden muss... Es wird zwar fröhlich drauf verwiesen aber niergendwo 
gesagt wo das liegen soll oder was man dafür installieren soll...

von asd (Gast)


Lesenswert?

Hallo Benedikt,

ist es möglich einen Blick auf das Layout zu werfen? In nächster Zeit 
werde ich in der 4ma einen ARM9 mit DDR2 Speicher und anderer schneller 
Logik layouten. Wie kritisch sind Leitungslängen etc. wenn du das auf 
einer simplen Doppelseitigen Platine geschafft hast?

Viele Grüße,

von Nils S. (kruemeltee) Benutzerseite


Angehängte Dateien:

Lesenswert?

So, gerade eben noch ein wenig dran getan...

das senden von Strings hielt ich dann doch für zu umständlich, 
einerseits das Parsen im Modul, andererseits das Erzeugen des Strings im 
Anwenderprogramm.

Jetzt kommt ein 16bit-Hex-Wert rein, in der README.txt die Auflistung 
der Bits für die config.

Beispiele:
echo "0900" > /dev/lpc3131_adc  # setze ADC auf 10bit, CH0, 75 messungen
cat /dev/lpc3131_adc

Das 0x als Prefix muss weggelassen werden, einfach nur die 4 Nibbles 
angeben.
0x0900 = 10bit, 75 messungen, ch0
0x0901 = 10bit, 75 messungen, ch1
0x0902 = 10bit, 75 messungen, ch2
0x0903 = 10bit, 75 messungen, ch3

0x0100 = 10bit, "single shot", ch0
0x0101 = ..., ch1
...


Nur das setzen der Auflösung klappt noch nicht, kommen immer 10bit bei 
raus.

von Nils S. (kruemeltee) Benutzerseite


Angehängte Dateien:

Lesenswert?

Zum I2C Bus,

Wenn man im Kernel, das i2c-dev Interface hat, dann kann man über 
/dev/i2c-0 und /dev/i2c-1 auf die beiden Busse, des Boards zugreifen. 
i2c-0 ist nicht angeschlossen, i2c-1 schon.

Der Bus scheint im Treiber "hardcoded" auf 100khz eingestellt zu sein. 
Ich werde demnächst mal versuchen, das auf 400 zu ändern und wenns geht, 
die Geschwindigkeit irgendwie zur Laufzeit einstellbar machen.

Hier im Anhang das wichtigste der i2c-tools compiliert fürs Board.

Ich habe im Datenblatt nichts zu 5V-Toleranz gelesen, aber es scheint zu 
gehen. Aus lauter Dummheit und nicht nachdenken, habe ich zwei PCF8574 
1:1 an das Board angeschlossen und erst am nächsten Tag bemerkt. Jetzt 
hab ich in SDA und SCL noch je 50Ohm Widerstände drin.

"i2cdetect -y 1" durchsucht den I2C Bus, welcher auf dem 
Erweiterungsstecker liegt.

LM75 mit lm-sensors läuft auch schon. Eine DS1307 RTC hab ich auch shcon 
angeschlossen, nur bekomme ich da kein /dev/rtcN bei heraus. Wenn ich es 
von Hand anlege, sagt mir hwclock und ähnliche "no such device".
Der Chip wird am Bus erkannt, aber der Treiber fürs Linux scheint nicht 
zu machen, was ich will.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo,

so ich habe das Wiki zum Anmelden mal geöffnet. Schauen wir was 
passiert.

Am besten macht Ihr eure Beschreibungen bei Beispielcode unter 
Codeschnippsel rein oder?

Wir sollten dann wenn adc und pwm stabil läuft dies fest in den Kernel 
mit aufnehmen, so dass es in der Standardkonfiguration dann ist.

Man müsste einen Patch 0002-adc-and-pwm basierend auf dem Standardkernel 
mitmit 0001 etc machen und die passende 0002-config dann auch.

http://code.google.com/p/gnublin/source/browse/#git%2Flpc3131%2Fkernel%2F2.6.33

So dass es dann fester Bestandteil vom zImage ist.


Gruss Bene

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Den Patch für den ADC auf den Kernel kann ich machen, muss aber erstmal 
schauen, wie ich das Modul fest in Kernel gebacken bekomme. Werd ich mal 
unseren Code mit nem kleinen Treiber wie dem LM75 o.ä. vergleichen.

Wird wohl nicht in ein paar Stunden soweit sein, aber kommt bald ;)

Wiki melde ich mich später auch noch an und fang mal an was zu 
schreiben.

Ich hab da eine Idee für den Aufbau des Wikis. Meiner Meinung nach ist 
das mit Abstand sauberste und übersichtlichste Wiki, das von OSDev 
http://wiki.osdev.org/Main_Page

Die Struktur mit den Kategorien könnte man für gnublin ja übernehmen und 
für wirklich jede Kleinigkeit einen eigenen Artikel machen und dann in 
der Übersicht alles "zusammenlinken".
Ist übersichtlicher, wartungsfreundlicher und vorallem findet man viel 
leichter was man sucht, als wenn zig Sachen in einem Artikel 
verschwinden.

von Phil J. (sunflower_seed)


Lesenswert?

Hat schon jemand versucht den Kernel mit dem aktuellen Patch zu backen?
Hab so den verdacht das die "gpio-orig.h" fehlt.
Oder überseh ich was?

von Hubert Hoegl (Gast)


Lesenswert?

Hallo Leute,

da jemand nach gpio-orig.h sucht, wollte ich ein paar Sachen dazu sagen.
Das ist die originale gpio.h, die ich so umbenannt habe. Das habe ich so
gemacht, weil ich auch das gpio/sysfs installiert habe, das ich bei den 
Patches auf lpclinux.com gefunden habe.

Ich verwalte die Kernel Quellen zum Gnublin Board in einem Git 
Repository,
das man hier im Web ansehen kann:

   http://elk.informatik.fh-augsburg.de/cgi-bin/gitweb.cgi?p=gnublin-linux-2.6.33.git;a=summary

Man sollte das Repository so klonen koennen:

  git clone
      git://elk.informatik.fhugsburg.de/srv/git/repositories/gnublin-linux-2.6 
.33.git

Darin findet man den Branch 111218, das ist meine letzte Version mit
gpio/sysfs und allen sonstigen Kleinigkeiten die man bei Gnublin 
braucht.
Vielleicht waere es eine gute Idee, wenn man die Erweiterungen, die hier
im Forum entstehen, als eigene Branches im Git Repo ausprobieren wuerde.

Bereits vorkompiliert findet man den Kernel hier:

   http://elk.informatik.fh-augsburg.de/pub/eplpc3131/downloads/kernel-2.6.33/kernel-111218/

Da ist auch nochmal der Patch drin und die Konfigurationsdatei, die ich
verwendet habe. Dieses Verzeichnis brauche ich fuer gnublin-card.py,
das hier drin ist:

   http://elk.informatik.fh-augsburg.de/pub/eplpc3131/downloads/


Damit kann man sich eine Micro-SD Karte mehr oder weniger automatisch
erstellen lassen (bin aber noch beim Testen). Daneben findet man auch 
noch den fuer Gnublin angepassten Apex Bootloader und das aktuelle Root 
FS. In /usr/local/bin/ sind einige Programme hinzugekommen, die ich 
kompiliert habe oder aus Debian/ARM genommen habe:

  gforth        jimsh  lighttpd  lynx  rttest  stress
  gforth-0.7.0  jove   lua       nano  sq      zile

Mit der Sprache lua kann man Skripte schreiben um die Peripherie
anzusprechen, abgeleitet davon ist sq (Squirrel). Da ich Leute
kenne, die gerne mit Forth mal auf dem Board arbeiten wuerden, habe
ich gforth installiert. Jim ist eine weiter Sprache zum Skripten 
(jimsh),
das ist im wesentlichen Tcl. Fuer Vi-Hasser habe ich jove und zile
vorgesehen, das sind kleine Emacs Klones. Wer auch die nicht mag, sollte
nano nehmen.

Meine bisherigen Experimente mit dem Board habe ich hier 
zusammengeschrieben:

   http://elk.informatik.fh-augsburg.de/pub/eplpc3131/gnublin-ug/

Ein paar Beispielprogramme aus meinem aktuellen Gnublin Homeverzeichnis
sind hier:

   http://elk.informatik.fh-augsburg.de/pub/eplpc3131/work_eplpc3131/home/


Viele Gruesse,

Hubert

von Phil J. (sunflower_seed)


Lesenswert?

Läuft OTG mit dem Patch den auch?
Sobald ich den ID-Pin auf Masse ziehe, schiebt der Kernel panic.
Mit dem alten zImage-33-7 funktioniert alles problemlos.
Habs mir noch nicht angeschaut aber könnte noch ein Bug im GPIO Patch 
sein, der USB_ID / M1 falsch interpretiert?

von Hubert Hoegl (Gast)


Lesenswert?

Hallo Phil J.,

stimmt, ich habe den Fehler auch. Tatsaechlich habe ich USB Host
schon ein Weilchen nicht mehr getestet.  Vielleicht hat es mit einer
Aenderung in gpiolib.c zu tun, die ich gemacht habe, so dass die GPIO
Pins 11 bis 15 in sysfs richtig abgebildet werden. Ich schaue mir das
morgen mal genauer an.

Gruesse,

Hubert

von Nils S. (kruemeltee) Benutzerseite


Angehängte Dateien:

Lesenswert?

Ich hatte Probleme mit dem gnublin-card.py-Script.

Auf allen meinen Systemen kam eine Fehlermeldung, fdisk betreffend, dass 
die Kommandozeilenoption -S noch einen Parameter erwarte.
Ich hab dann das --gnu-fdisk rausgenommen und das gefährliche 
vordefinierte /dev/sdb auch gleich.

Würde ich bei sdb YES tippen, würden mir gleich zwei Platten im RAID 
fehlen - HILFE ;)

Meine Änderungen im Ordner mit den python-card.py: patch -p0 < 
0001_python-card.py-gnufdisk-sdbdef.patch


Überprüfung auf freien Speicherplatz im Tempverzeichnis halte ich noch 
für sinnvoll und eine Überprüfung auf die Seriennummer der Karte (was 
z.B. fdisk -l ausgibt: "Disk identifier: 0x66205247").
Wenn eine andere identifier-Nummer beim Script ankommt, als das letzte 
mal, soll er noch nachfragen "Really?".


Bei den TODOs im Script steht auch noch was davon, das temp-Verzeichnis 
nach ~ auszulagern, halte ich aber nicht für sinnvoll, wieder ein Ordner 
mehr im sowieso schon vermüllten ~...
Man möchte die geladenen Dateien ja auch mehrmals verwenden können, wenn 
die irgendwo anders liegen, der User weiss womöglich nichtmal genau wo, 
sind die schnell mal gelöscht...

Wegen der Partitionsgröße. BootIt soll immer 16MB haben und der Rest für 
rootfs, oder?

von Hubert Hoegl (Gast)


Lesenswert?

Hallo Nils,

danke fuer die vielen Tipps, auch den mit "fdisk -l". Kurz vor 
Weihnachten hatte ich noch eine neue Version dahin kopiert (Version 6):

   http://elk.informatik.fh-augsburg.de/pub/eplpc3131/downloads/

Die Sache  mit dem fdisk ist mir auch aufgefallen, da mein Skript
wie sich herausgestellt hat nur auf Ubuntu funktionierte. Auf Debian 
lief es nicht, weil da eine andere fdisk Variante installiert ist. In 
der Version 6 teste ich die vorhandene fdisk Variante und gebe dann 
unterschiedliche Optionen.

Ich suche noch nach einer besseren Loesung, um sich nicht die 
eingebauten
Platten kaputt zu machen. Das mit dem eingebauten "/dev/sdX" und "YES"
Abfrage gefaellt mir auch nicht. Ich wollte noch irgendwo im /proc
Filesystem herumsuchen, ob ich nicht mehr Informationen ueber die
eingesteckte SD Karte bekomme. Da sich das Skript aus meiner Sicht 
hauptsaechlich an Anfaenger richten soll, die mit fdisk auf der 
Kommandozeile nichts anfangen koennen, muss es gerade an dieser Stelle
noch besser werden.

Die Groesse fuer die BootIt Partition ist auch noch ein Punkt, der
mir nicht gefaellt. Als schnelle Loesung hatte ich einfach einen
ganzen Zylinder in fdisk spendiert, die Groesse von BootIt ist damit 
auch
von der Kapazitaet der Karte abhaengig. Wer sich besser mit fdisk
auskennt, kann gerne einen Tipp geben.

Viele Gruesse,

Hubert

von Nils S. (kruemeltee) Benutzerseite


Angehängte Dateien:

Lesenswert?

> Ich wollte noch irgendwo im /proc
> Filesystem herumsuchen, ob ich nicht mehr Informationen ueber die
> eingesteckte SD Karte bekomme.

Schau dir z.B. mal unetbootin an, die haben eine Erkennung drin, ob 
Stick/..., und wenn's nur nach der Größe des Devices geht, z.B. alles 
was grösser als 16GB ist, wird erstmal als Festplatte behandelt (kleine 
SSDs mit 32GB... dürften ja auch noch einige unterwegs sein). Dann kommt 
halt eine Abfrage, ob wirklich partitioniert und formatiert werden soll.


>Die Groesse fuer die BootIt Partition ist auch noch ein Punkt, der
>mir nicht gefaellt. Als schnelle Loesung hatte ich einfach einen
>ganzen Zylinder in fdisk spendiert, die Groesse von BootIt ist damit
>auch
>von der Kapazitaet der Karte abhaengig. Wer sich besser mit fdisk
>auskennt, kann gerne einen Tipp geben.
Ein script zu fdisk schreiben ist ja kein allzugrosser Aufwand, wie 
genau sind denn die Vorgaben für die BootIt Partition? Ich habe gerade 
eben ein wenig gesucht, aber nicht viel zu BootIt gefunden, mir 
vollkommen neu.

Achja, was ist mit uboot? Gibts ja auch für lpc313x..



Ich komme seit zwei Tagen nicht mehr weiter, darum hab ich vorhin auch 
die Karte erstmal neu bespielt um Fehler mit dieser auszuschliessen.

Wenn ich den Kernel neu compiliere, hängt mein Board am Ende der Kernel 
Messages bei "Waiting for root device /dev/mmcblk0p1...", der originale 
Kernel läuft. e2fsck habe ich auch schon durchlaufen lassen.
Im Anhang die komplette Ausgabe vom Booten.



Configs habe ich mehrere versucht, meine Eigenen und die offiziellen.
Die Config, die ich zum Laufen kriegen will ist die hier: 
http://elk.informatik.fh-augsburg.de/pub/eplpc3131/downloads/kernel-2.6.33/kernel-111218/
Kernel stammt von "git clone 
git://elk.informatik.fh-augsburg.de/srv/git/repositories/gnublin-linux-2 
.6.33.git".

Hat jemand eine Idee, woran das liegen könnte?

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Noch was, /sys/block/sdX/removable sagt ob das Gerät eben removable ist 
(Karten) oder eine Festplatte. 1 für removable, 0 für not removable.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

den mmc patch hast du eingespielt?

Das sieht eigentlich danach aus, das der falsche PIN als Card Detect 
aktiviert ist.

Gruss Bene

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

gpio_set_value(GPIO_MI2STX_DATA0, 0);
+  lpc313x_gpio_set_value(GPIO_MI2STX_DATA0, 0);
+  //gpio_set_value(GPIO_MI2STX_DATA0, 0);
   /* set cd pins as GPIO pins */
-  gpio_direction_input(GPIO_MI2STX_BCK0);
+  // --hh gpio_direction_input(GPIO_MI2STX_BCK0);
+  lpc313x_gpio_direction_input(GPIO_MNAND_RYBN2);
+  //gpio_direction_input(GPIO_MNAND_RYBN2);

   /* select the opposite level senstivity */

Das sollte alles passen. Ich teste es auch mal heute abend.

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Der mmc Patch ist drin, aber da fiel mir ein, dass ich am GPIO Code 
herumgespielt habe und dort scheint wohl ein Fehler drin zu stecken, mit 
einem "frischen" Kernel, ohne meine Basteleien funktionierts.
Andere Basteleien sind ADC, PWM und der RNG, daran wirds wohl kaum 
liegen.

Danke :)

Zum Script,
Ich habe gerade gesehen, der Disk Identifier ändert sich bei jedem 
Formatieren, würde also nichts bringen.
Man könnte noch eine Karte mit einem eindeutigen Identifier versehen, 
z.B. 0x88884444 oder so.
Der Vorteil hierbei wäre eben, wenn sich das script die bisherigen 
bekannten Identifier im Temp Ordner merkt und nochmal nachfrägt, wenn 
ein unbekannter kommen sollte.

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Irgendwas scheint gewaltig zu spinnen an dem gnublin-card.py script in 
der aktuellen Version.
Das hinterlässt mir immer eine komplett leere Karte, Disk Identifier 
bleibt aber gleich.

Ich hab meine micro-SD Karten bis heute immer per Handy bespielt und 
deshalb gerade noch einen Card Reader und einen Adapter auf SD geholt. 
Mit allen drei Lesegeräten habe ich das selbe Problem.

Das alte Script funktioniert, aber nur, wenn ich neustarte, auch 
an/abstecken und partprobe funktioniert nicht. fdisk von hand auch nicht 
mehr, dd auch nicht mehr.

Das Problem habe ich auch beiden grossen PCs und auf meinem Laptop, alle 
drei laufen unter Gentoo (amd64), zwei unstable, einer stable.

Habt ihr dieses Problem auch? Werde mal debian in einer VM installieren 
und schauen wie es dort läuft.

von Hubert Hoegl (Gast)


Lesenswert?

Hallo Nils,


mit Gentoo habe ich noch gar keine Erfahrung gemacht, was das
Skript betrifft. Vielleicht koenntest Du mal eingeben:

   fdisk -v

   fdisk -h

und die Ausgaben hier posten. Vielleicht ist das wieder eine andere
fdisk Variante, die ich noch nicht kenne.

---

Wegen des Problems mit der Kernel-Panic bei USB_ID habe ich heute
eine Aenderung gemacht. Bitte mal ausprobieren:

http://elk.informatik.fh-augsburg.de/pub/eplpc3131/downloads/kernel-2.6.33/kernel-120102/

Bei diesem Kernel ist nun auch das (veraltete) USB device filesystem 
aktiviert, so dass man unter /proc/bus/usb/ die Geraete am USB Host
Controller sieht. Damit geht auch das lsusb Kommando und man kann
Geraete ueber die libusb ansteuern (habe das heute mit Benedikt's
Octopus ausprobiert).

Gruesse,

Hubert

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Ich habe vorhin noch das verbose vom tar weggenommen um mal die ganzen 
Konsolen-Ausgaben vom script zu sehen und so wie es aussieht, will er 
eine Partition mounten/unmounten, die es nicht gibt nach dem Erstellen 
der Partitionen.
Ich werd mich da morgen mal auf die Suche nach dem Fehler begeben :)


Hier mal die Ausgaben,
1
itsme@Dope-Doctor ~ $ fdisk -h
2
Usage:
3
 fdisk [options] <disk>    change partition table
4
 fdisk [options] -l <disk> list partition table(s)
5
 fdisk -s <partition>      give partition size(s) in blocks
6
7
Options:
8
 -b <size>             sector size (512, 1024, 2048 or 4096)
9
 -c[=<mode>]           compatible mode: 'dos' or 'nondos' (default)
10
 -h                    print this help text
11
 -u[=<unit>]           display units: 'cylinders' or 'sectors' (default)
12
 -v                    print program version
13
 -C <number>           specify the number of cylinders
14
 -H <number>           specify the number of heads
15
 -S <number>           specify the number of sectors per track
16
17
itsme@Dope-Doctor ~ $ fdisk -v
18
fdisk (util-linux 2.20.1)
Allerdings gibts da ja auch ZIG Versionen, die alle irgendwo noch im 
Einsatz sind, allein bei mir im portage sind momentan:
1
itsme@Dope-Doctor ~ $ eix util-linux
2
[I] sys-apps/util-linux
3
     Available versions:  2.17.2 2.18-r1 (~)2.19 2.19.1 2.19.1-r1 (~)2.20 (~)2.20-r1 (~)2.20.1 **9999
(**9999 sind die Quellen aus dem SVN/GIT/WhatEver zu util-linux)


Als Ersatz für das unsäglich zu benutzende, normale, fdisk sollte man 
vielleicht auch ein script-taugliches fdisk nehmen, z.B. parted.

Die letzten Tage hab ich eigentlich nur rumgedödelt und gebastelt, ich 
will jetzt schleunigst ADC und PWM fest im Kernel einbauen und kann mich 
dann an ein installer-script machen, welches parted nutzt und vielleicht 
nicht unbedingt in Python - 7 Jahre portage schafft zwangsläufig eine 
Pythophobie.
Wobei ich mit Python auch kein Problem habe, jenachdem ob dir das recht 
ist, wenn ich eines mache und ob du bei Python bleiben willst.

Der grosse Vorteil von parted ist, dass es eben genau für scripting 
gemacht wurde und sich die Optionen/Befehle nicht unter nahe beieinander 
liegenden Versionen ändern, wie soll das auch gehen, bei so vielen 
Geschichten, die mittlerweile auf parted aufbauen...

Vorallem würde ich dem Nutzer erstmal nicht so viele Freiheiten gewähren 
- Script für min. 1GB Karte, das letzte MB auf der Karte für BootIt, 
Rest für ext2. Umso größer das Script - umso mehr Fehler schleichen sich 
ein.
Wem sowas nicht reicht, der soll von Hand installieren, auch nicht 
schwer.

von Nils S. (kruemeltee) Benutzerseite


Angehängte Dateien:

Lesenswert?

ADC und PWM patch ist fertig, ist im Anhang. Ebenso ist meine .config 
mit dabei. Einfach ins Kernelverzeichnis kopieren und oldconfig laufen 
lassen.
Ebenso dabei ist der adc-registers-patch, der gebraucht wird.


"Howto":

1. "$ git clone 
git://elk.informatik.fh-augsburg.de/srv/git/repositories/gnublin-linux-2 
.6.33.git"
2. Beide Patches ins gerade geladene Kernelverzeichnis kopieren
3. "$ patch -p1 < adc_registers.patch
4. "$ patch -p1 < 0005_lpc313x_ADC_PWM.patch
5. MMC/SD Patch einspielen: "$ patch -p4 < 01-mmc-card-detect.patch"
6. Konfigurieren/Compilieren

In menuconfig sind die beiden Treiber unter "Device Drivers -> NxP 
lpc313x IO drivers (ADC, PWM, ...)"

Die Treiber können entweder als Modul oder fest eincompiliert werden.

Die von mir hinzugefügten Dateien liegen in "drivers/lpc313x_io/" und 
dessen Unterverzeichnissen adc/ und pwm/. Dort sind auch die READMEs 
,soweit ich schon was geschrieben habe, und TODOs drin.

Bitte anschauen - schlechten Code/Fehler bemeckern und/oder flicken.


@Hubert Hoegel/Benedikt/...:
Es wäre vielleicht auch gut, wenn ihr in die "Standard-Configs" den 
Punkt
"General Setup -> Automatically append version information to the 
version string" aktiviert, da damit dann die Ausgabe von uname so 
aussieht:
"$ uname -sr
Linux 2.6.33-kt-g093e9d2-dirty"

So sieht man gleich am Anfang bei der Fehlersuche welches Release 
derjenige verwendet. Ein einzelnes 2.6.33 kann vieles bedeuten...

von Michael S. (misc)


Lesenswert?

Hallo Nils,

das hast du echt super hingekriegt :)

Einen kleinen Bugfix hätte ich noch. Beim ADC in der Funktion 
device_write solltest du die Zeile

if(copy_from_user(message_from_user, buff, len)) return -EINVAL;

durch

if(copy_from_user(message_from_user, buff, (len < BUF_LEN) ? len : 
BUF_LEN)) return -EINVAL;

ersetzen. So ein Buffer Overflow im Kernel kann recht unschön sein.

von Nils S. (kruemeltee) Benutzerseite


Angehängte Dateien:

Lesenswert?

Overflow dir selber passiert oder vorsorglich Überprüfung reingemacht?

von Michael S. (misc)


Lesenswert?

Nein, mir selbst ist das noch nicht passiert, sollte nur vorsorglich 
sein.
Man kann ja nie wissen was manche User (mutwillig oder absichtlich) an 
das Kernelmodul senden ;)

von Hubert Hoegl (Gast)


Lesenswert?

Hallo Nils,

noch zur Sache mit dem parted als besserem Ersatz fuer fdisk. Ich habe
tatsaechlich am Anfang mit pyparted begonnen (Python-Wrapper um 
libparted)
bin aber an der eigentlich laecherlichen Sache gescheitert, dass ich 
damit
den BootIt Partitionstyp nicht schreiben konnte (das ist 0xdf glaube 
ich).
Nur mit diesem Typ bootet anscheinend der LPC von der SD Karte. Nicht 
mal
cfdisk kennt diesen Typ, nur das ganz primitive fdisk. Dann habe ich 
noch
ein wenig mit sfdisk herumgespielt und bin dann zum Schluss beim fdisk
gelandet.  Die vielen Varianten mit unterschiedlichen Optionen habe ich
aber unterschaetzt.  Mich stoert es ueberhaupt nicht, wenn Du ein 
eigenes
Programm fuer die Aufgabe schreibst, muss ich nicht Python sein. Ich
muss auch nochmal einen Versuch starten.

Die Anleitung 1. bis 6. fuer den ADC/PWM Patch haben genau funktioniert.
Beim Punkt 1. koennte man vielleicht die direkte Quelle hinschreiben:

   git clone git://git.lpclinux.com/linux-2.6.33-lpc313x

Von der habe ich auch die Sachen ohne Aenderung in meinen "master"
branch genommen. Ich wolle gerade mal die ADC/PWM Patches mit meinen
Aenderungen im branch "hhoegl" zusammenfuehren,  da knirscht aber dann
irgendwas beim Kompilieren mit den GPIOs. Wahrscheinlich liegt es daran,
dass ich diese GPIO/Sysfs Sache aktiviert habe.

Gibt es eigentlich irgendwo schon ein huebsches Testprogramm fuer die
neuen ADC- und PWM-Treiber?

Gruesse,

Hubert

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

PWM Treiber Testprogramm gibts von "Michael Schwarz (misc)", weiter oben 
im Thread, es ist ja nahezu 1:1 sein Treiber, den ich übernommen habe 
für PWM, siehe Kommentare im Code.

Der ADC lässt sich ganz einfach per Kommandozeile abfragen:

cat /dev/lpc313x_adc gibt den gewählten channel aus
(habe keine eckige klammer auf der Tastatur hier, daher eine 
geschweifte)
echo "f000" } /dev/lpc313x_adc gibt den Status des Treibers nach dmesg 
aus.
echo "0000" } /dev/lpc313x_adc schaltet auf channel 0, 10bit, kein 
Mittel bilden.
echo "0001" } /dev/lpc313x_adc schaltet auf channel 1, ...

Die Aufdröselung der Bits steht in der README Datei unter 
drivers/lpc313x_io/.

Poste mal bitte, was bei dir klemmt mit den GPIOs + die config, die 
klemmt, dann kann ich auch mal danach schauen.


Zum Install-Tool,
ich habe jetzt doch mit Python was angefangen, bisher funktioniert mal 
Überprüfung auf Größe, removable und ob das device existiert. Ebenso die 
Berechnung der Größe der beiden Partitionen, habe das allerdings 
"schneller" gelöst als ihr: BootIt = 2MB, Ext2 = Rest, scheint mal zu 
funktionieren, wenn ich so per Hand partitioniere.

Ich verwende parted allerdings nicht über die Python-Bindings, dafür 
kann ich zu wenig Python, bisschen Python-Wikibooks rumklicken und 
abtippen - das wars ;). Ich lasse einfach parted mit den entsprechenden 
Kommandozeilenoptionen ausführen.

Das "umlabeln" auf BootIt lässt sich 100%ig mit dd und ein bisschen 
Bitgeschubse machen, kann sich ja nur um ein Magic handeln um den es dem 
lpc3131 geht, da apex.bin ja knallhart direkt auf die Karte geschrieben 
wird, komplett ohne Dateisystem.

von Hubert Hoegl (Gast)


Lesenswert?

Hallo,

ich habe heute mal an meinen Aenderungen herumgebastelt und drei Patches
daraus gemacht. Sie sind unter
http://elk.informatik.fh-augsburg.de/pub/eplpc3131/work_eplpc3131/kernel/2.6.33/.
Damit sollte nun folgendes klappen:

1. Kernel holen von
   git://git.lpclinux.com/linux-2.6.33-lpc313x (Version 
...a66fc573bcd7027)

2. Meine drei Patches anwenden
   patch -p1 < 001-mmc-card-detect.patch
   patch -p1 < 002-gpiolib.patch
   patch -p1 < 003-usb-panic.patch

3. Dann die zwei von Euch anwenden:
   patch -p1 < adc-registers.patch
   patch -p1 < 0006_lpc313x_ADC_PWM.patch

4. Konfiguration config-adcpwm in .config kopieren (ist da wo auch
   die Patches sind).

5. Kompilieren
   make zImage
   make modules
   make modules_install INSTALL_MOD_PATH=<Pfad>

Ich kann es kaum glauben, GPIO ueber sysfs scheint zu klappen (habe
es mit input.sh von
http://elk.informatik.fh-augsburg.de/pub/eplpc3131/work_eplpc3131/home/root/ 
schnell ausprobiert)

der USB Host geht auch:

root@armv5te:~# lsusb
Bus 001 Device 002: ID 07a6:8511 ADMtek, Inc. ADM8511 Pegasus II 
Ethernet
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

und dann kann ich auch die beiden neuen Module laden:

root@armv5te:~# modprobe lpc313x_pwm
[lpc313x pwm] pwm frequency: 1464 Hz
[lpc313x pwm] driver loaded with major 253
[lpc313x pwm] >> $ mknod /dev/lpc313x_pwm c 253 0
root@armv5te:~#

root@armv5te:~# modprobe lpc313x_adc
[lpc313x adc] driver loaded with major 252
[lpc313x adc] >> $ mknod /dev/lpc313x_adc c 252 0

Na das ist ja echt erst mal Spitze, Schade dass Weihnachten schon
vorbei ist! Vielen Dank an die Treiberschreiber!

Gruesse,

Hubert

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Danke für die Blumen, aber es ist noch nicht vorbei ;) :D

Ich bin grad dran, herauszufinden, wie ich ADC und PWM als Device im 
Kernel registriere, dann funktioniert der Spass auch mit devtmpfs 
(welches wirklich sehr praktisch ist) und mit udev, kein lästiges mknod 
mehr.

Ebenfalls hab ich hier auch noch einen ADC Treiber, der auf gut die 
Hälfte runtergeschrumpft wurde, aber der ist noch sehr sehr buggy, 
dauernd Kernel Panics oder er tut nichts, der wird aber kommen.

von Phil J. (sunflower_seed)


Lesenswert?

Hallo, mal was neues von mir....

WiFi funktioniert bei mir auch mit einem alten D-Link Stick:

Für den rt73-Treiber braucht man noch die Firmware (rt73.bin), habs 
nicht geschafft diese via /lib/firmware einzubinden.

Funktioniert aber erstmal auch wenn man in der Kernel menuconfig unter:
Generic Driver Options -> [*] Include in-kernel firmware blobs in kernel 
binary
die rt73.bin einträgt und in $KERNELDIR/firmware/ ablegt.
Und wireless_tools müssen noch cross-compiliert werden. (Lassen sich 
sogar via make install auf dem Board wunderbar installieren)


Der Rest ist dann ein vergleichsweise einfach:
modprobe rt73usb
ifup wlan0
ifconfig wlan0 192.168.x.x up
iwconfig wlan0 mode managed essid "x" key s:xxxxxx
(Das ganze muss ich immer zweimal aufrufen, weiß der Geier warum)
route add default gw 192.168.x.x

Habe probehalber mal lighttpd gestarted....klappt.
Momentan hab ich nur WEP zum laufen bekommen.
wpa_supplicant stresst noch.
Hat da vielleicht jemand schon was probiert?

Was auch noch nicht geht ist SSH. Habe mir die Config von dropbear noch 
nicht angeschaut. Vielleicht hat da jemand einen Tip...

Weiterhin hab ich mal ne Webcam mit gspca probiert, funktioniert auch.
Werde mal morgen versuchen nen Stream ans laufen zu bekommen.
Erstaunlicherweise rattert alles an nem USB-Hub ohne externe 
Stromversorgung (GNUBLIN hängt auch nur am USB). Wundert mich das alles 
noch klappt.

Und nochmal zu den leidigen Patches:
Bei mir schmeißt einer der ADC Patches nen Fehler, wenn ich den Kernel 
bauen will.
Ich geb zu ich war etwas Faul und hab die erstmal rausgeschmissen, aber 
kann das jemand bestätigen?

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Phil J. schrieb:
> Momentan hab ich nur WEP zum laufen bekommen.
> wpa_supplicant stresst noch.
> Hat da vielleicht jemand schon was probiert?
Fehlermeldung? wpa_supplicant ist einfach,  das Beispiel aus der 
wpa_supplicant.conf manpage und wpa_supplicant -D wext -i wlan0 -c 
/pfad/zur/config -dd -B

> Was auch noch nicht geht ist SSH. Habe mir die Config von dropbear noch
> nicht angeschaut. Vielleicht hat da jemand einen Tip...
Fehlermeldung?

> Und nochmal zu den leidigen Patches:
> Bei mir schmeißt einer der ADC Patches nen Fehler, wenn ich den Kernel
> bauen will.
> Ich geb zu ich war etwas Faul und hab die erstmal rausgeschmissen, aber
> kann das jemand bestätigen?
Fehlermeldung?

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Angehängte Dateien:

Lesenswert?

So ich habe mal alles auf die Server/Gits etc. kopiert.

Desweiteren habe ich gnublin-card.py erweitert, dass es prueft ob man 
root ist. Wenn nicht gibts eine Meldung. Sonst haengt das Skript immer 
ewig und man kapiert nicht das nichts passiert weil die Rechte fehlen.

Mit der Datei aus dem Anhang hier sollte man eine neue Karte bauen 
können die ADC, PWM und GPIO können.

Könnte ihr das auch mal testen?

sudo python gnublin-card.py --all --device=/dev/sd<?>

PWM testen:

root@armv5te:~# modprobe lpc313x_pwm
[lpc313x pwm] pwm frequency: 1464 Hz
[lpc313x pwm] driver loaded with major 253
[lpc313x pwm] >> $ mknod /dev/lpc313x_pwm c 253 0
root@armv5te:~#

ADC testen:

root@armv5te:~# modprobe lpc313x_adc
[lpc313x adc] driver loaded with major 252
[lpc313x adc] >> $ mknod /dev/lpc313x_adc c 252 0

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

oh man muss da noch zwei / drei Sachen machen.

1. Das check_root nicht so oft. So das man auch als User etwas 
herunterladen darf.

2. Den Kernel entpacken und ins rootfs kopieren + die Module ebenfalls 
kopieren. Aktuell erhalte ich beim booten eine Fehlermeldung:

cpuidle: using governor ladder
------------[ cut here ]------------
WARNING: at drivers/gpio/gpiolib.c:102 gpio_ensure_requested+0x4c/0xe4()
autorequest GPIO-48
Modules linked in:
[<c0028794>] (unwind_backtrace+0x0/0xd0) from [<c003b6d0>] 
(warn_slowpath_common+0x48/0x60)
[<c003b6d0>] (warn_slowpath_common+0x48/0x60) from [<c003b720>] 
(warn_slowpath_fmt+0x24/0x30)
[<c003b720>] (warn_slowpath_fmt+0x24/0x30) from [<c01063b4>] 
(gpio_ensure_requested+0x4c/0xe4)
[<c01063b4>] (gpio_ensure_requested+0x4c/0xe4) from [<c01065bc>] 
(gpio_direction_input+0x6c/0xfc)
[<c01065bc>] (gpio_direction_input+0x6c/0xfc) from [<c002e8e4>] 
(mci_init+0x20/0x88)
[<c002e8e4>] (mci_init+0x20/0x88) from [<c0179eb0>] 
(lpc313x_mci_probe+0x3ac/0x658)
[<c0179eb0>] (lpc313x_mci_probe+0x3ac/0x658) from [<c0128158>] 
(platform_drv_probe+0x14/0x18)
[<c0128158>] (platform_drv_probe+0x14/0x18) from [<c0127350>] 
(driver_probe_device+0xe4/0x1c4)
[<c0127350>] (driver_probe_device+0xe4/0x1c4) from [<c0127490>] 
(__driver_attach+0x60/0x84)
[<c0127490>] (__driver_attach+0x60/0x84) from [<c0126590>] 
(bus_for_each_dev+0x4c/0x78)
[<c0126590>] (bus_for_each_dev+0x4c/0x78) from [<c0126c60>] 
(bus_add_driver+0xa8/0x234)
[<c0126c60>] (bus_add_driver+0xa8/0x234) from [<c01276b8>] 
(driver_register+0xa8/0x12c)
[<c01276b8>] (driver_register+0xa8/0x12c) from [<c012855c>] 
(platform_driver_probe+0x18/0x68)
[<c012855c>] (platform_driver_probe+0x18/0x68) from [<c0022444>] 
(do_one_initcall+0x60/0x1b0)
[<c0022444>] (do_one_initcall+0x60/0x1b0) from [<c0008984>] 
(kernel_init+0x94/0x10c)
[<c0008984>] (kernel_init+0x94/0x10c) from [<c0023dc4>] 
(kernel_thread_exit+0x0/0x8)
---[ end trace 8411f10a23745b0c ]---
lpc313x_mmc lpc313x_mmc.0: LPC313x MMC controller at irq 26
TCP cubic registered

Kriegt das auch noch jemand?

Bin heute leider unterwegs. Schaue das ich es bis morgen oder so 
hinbekomme.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Mit dem neuen Skript wird der Kernel jetzt auch auf die Karte gepackt.

http://www.gnublin.org/downloads/gnublin-card.py

(gleiche Prozedur wir oben --all)

Aber die Fehlermeldungen erhalte ich immer noch.

------------[ cut here ]------------
WARNING: at drivers/gpio/gpiolib.c:102 gpio_ensure_requested+0x4c/0xe4()
autorequest GPIO-48
Modules linked in:
[<c0028794>] (unwind_backtrace+0x0/0xd0) from [<c003b6d0>] 
(warn_slowpath_common+0x48/0x60)
[<c003b6d0>] (warn_slowpath_common+0x48/0x60) from [<c003b720>] 
(warn_slowpath_fmt+0x24/0x30)
[<c003b720>] (warn_slowpath_fmt+0x24/0x30) from [<c01063b4>] 
(gpio_ensure_requested+0x4c/0xe4)
[<c01063b4>] (gpio_ensure_requested+0x4c/0xe4) from [<c01065bc>] 
(gpio_direction_input+0x6c/0xfc)
[<c01065bc>] (gpio_direction_input+0x6c/0xfc) from [<c002e8e4>] 
(mci_init+0x20/0x88)
[<c002e8e4>] (mci_init+0x20/0x88) from [<c0179eb0>] 
(lpc313x_mci_probe+0x3ac/0x658)
[<c0179eb0>] (lpc313x_mci_probe+0x3ac/0x658) from [<c0128158>] 
(platform_drv_probe+0x14/0x18)
[<c0128158>] (platform_drv_probe+0x14/0x18) from [<c0127350>] 
(driver_probe_device+0xe4/0x1c4)
[<c0127350>] (driver_probe_device+0xe4/0x1c4) from [<c0127490>] 
(__driver_attach+0x60/0x84)
[<c0127490>] (__driver_attach+0x60/0x84) from [<c0126590>] 
(bus_for_each_dev+0x4c/0x78)
[<c0126590>] (bus_for_each_dev+0x4c/0x78) from [<c0126c60>] 
(bus_add_driver+0xa8/0x234)
[<c0126c60>] (bus_add_driver+0xa8/0x234) from [<c01276b8>] 
(driver_register+0xa8/0x12c)
[<c01276b8>] (driver_register+0xa8/0x12c) from [<c012855c>] 
(platform_driver_probe+0x18/0x68)
[<c012855c>] (platform_driver_probe+0x18/0x68) from [<c0022444>] 
(do_one_initcall+0x60/0x1b0)
[<c0022444>] (do_one_initcall+0x60/0x1b0) from [<c0008984>] 
(kernel_init+0x94/0x10c)
[<c0008984>] (kernel_init+0x94/0x10c) from [<c0023dc4>] 
(kernel_thread_exit+0x0/0x8)
---[ end trace 90413bf0670a2896 ]---


habe nur ich die oder ihr auch?

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Ah und das hier kriege ich wohl alle 5 Minuten.

INIT: Id "1" respawning too fast: disabled for 5 minutes

Hat das noch jemand?


Gruss Bene

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Das sieht so aus, als würde init kein Programm zum Login finden. 
Überprüfe mal dein rootfs und die inittab.
Kann dir momentan leider nur ausm Kopf helfen, bin nicht zuhause oder im 
Büro.

von Phil J. (sunflower_seed)


Lesenswert?

Habe die selben Fehler wie Benedikt. Ist also reproduzierbar.
@Benedikt:
Kleine Sache - Aktuell ist deine Homepage nur unter www.gnublin.org 
erreichbar. Lässt man das www. weg gehts nicht, da läuft was ins 
leere...

von Michael S. (misc)



Lesenswert?

Hier ist ein einfacher Installer mit grafischer Oberfläche der recht 
einfach zu bedienen sein sollte.

Zum Partitionieren und Erstellen des Dateisystems wird libparted 
verwendet, sodass man sich nicht um die installierte fdisk Version 
kümmern muss.
Die Größe des Bootsektors kann in den Einstellungen (Installer -> 
Settings) geändert werden.

Wer sich den Installer selbst kompilieren möchte, braucht dazu die 
libparted, libcurl, libwx und libarchive.

Zum Testen habe ich auch ein deb Package erstellt, welches die 
Abhängigkeiten auflöst und das Programm als "gnublin-installer" 
installiert. Zum Ausführen muss man dann nur "kdesu gnublin-installer" 
(KDE) bzw "gksu gnublin-installer" (GNOME) ausführen.

Kritik und Verbesserungsvorschläge sind wie immer willkommen!

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Ich hab endlich eins von den Digikey Displays amlaufen, doof nur, dass 
es kein richtiges Datenblatt dafür zum Download gibt, habs dann aber von 
jemandem bei avrfreaks bekommen. Heute abend kann ich ein paar Bildchen 
posten.

von Nils S. (kruemeltee) Benutzerseite


Angehängte Dateien:

Lesenswert?

Ich glaub ich bin blind oder finde wirklich nichts...

Ich versuche den SYSCLK_O Pin als 2kHz Taktquelle für ein SED1520 
Display zu missbrauchen.
Anschalten kann ich ihn über die CGU, es kommen ziemlich genau 12MHz 
raus. Ist das einfach nur der Referenztakt nach aussen gebracht oder 
lässt sich dessen Frequenz auch einstellen? Ich konnte da nichts im 
Datenblatt finden...

Achja, wieso hab ich da mehr Sägezahn als sonstwas drauf? Messleitung 
ist nur die vom Oszi, direkt an die Pins der Stiftleiste dran.


Den Takt aktivieren:
cgu_clk_en_dis(CGU_SB_SYSCLK_O_ID, 1);
deaktivieren:
cgu_clk_en_dis(CGU_SB_SYSCLK_O_ID, 0);

von Michael S. (misc)


Lesenswert?

Nils S. schrieb:
> Ist das einfach nur der Referenztakt nach aussen gebracht oder
> lässt sich dessen Frequenz auch einstellen? Ich konnte da nichts im
> Datenblatt finden...

Hast du im Datenblatt unter Clock Generation Unit (CGU) nachgeschaut? 
Dort sind alle Register für die Einstellungen der Frequenzen 
aufgelistet, dort müsste etwas zu finden sein.

> Den Takt aktivieren:
> cgu_clk_en_dis(CGU_SB_SYSCLK_O_ID, 1);
> deaktivieren:
> cgu_clk_en_dis(CGU_SB_SYSCLK_O_ID, 0);

Hast du schon die Funktionen cgu_get_clk_freq und cgu_set_subdomain_freq 
probiert? Sind beide in arch/arm/mach-lpc313x/include/mach/cgu.h. Für 
PWM hat das mit den Funktionen funktioniert (allerdings war 
standardmäßig schon die höchste Frequenz).

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Tool klappt unter Ubuntu 11.04!

Super Arbeit!

Gruss Bene

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Meinst du so? Ich hab jetzt ein wenig mit den Werten für strech, m und n 
herumgespielt, aber da ändert sich nichts.
1
CGU_FDIV_SETUP_T fset;     
2
fset.stretch = 1;
3
fset.n = 1;
4
fset.m = 4;
5
cgu_set_subdomain_freq(CGU_SB_SYSCLK_O_ID, fset);

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

ui man lernt nie aus. Mittlerweile gibt es in Debian / Ubuntu die 
passende Toolchain:

sudo apt-cache search arm | grep gcc

libgcc1-armel-cross - GCC support library
libgcc1-dbg-armel-cross - GCC support library (debug symbols)
gcc-4.4-arm-linux-gnueabi - Der GNU C-Compiler
gcc-4.4-arm-linux-gnueabi-base - GNU Compiler-Collection (Basis-Paket)
gcc-4.5-arm-linux-gnueabi - Der GNU C-Compiler
gcc-4.5-arm-linux-gnueabi-base - GNU Compiler-Collection (Basis-Paket)
gcc-arm-linux-gnueabi - The GNU C compiler for armel architecture


Gruss Bene

von Nils S. (kruemeltee) Benutzerseite


Angehängte Dateien:

Lesenswert?

Shift-Register (74595) lassen sich ganz einfach an das Board hängen.

Clock und MOSI vom Board mit Clock und Daten-Eingang vom Shift Register 
verbinden.

Der RCK ("Enable") Pin kann auf 1 gelegt werden, dann werden die Daten 
direkt beim Shiften übernommen.
Man kann den Pin natürlich auch auf einen GPIO vom Board legen und erst, 
wenn dieser Pin auf 1 geht, werden die Daten übernommen.

Auf dem Board einfach das mitgelieferte SPI-Test-Programm laufen lassen.

//edit:
5V für Shift Register, geht ohne Probleme am 3,3V Bus. Nur bei Eingang 
muss man aufpassen!! Also, was man am MISO anschliesst!


Habe hier gerade eine 250cm*60cm LED-Matrix aus 10mm LEDs, nur leider 
nicht ganz so einfach wie ein einzelnes Shift Register, mehrere 
Segmente, mehrere CS, ...
Muss auch nochmal dran :D

von Michael S. (misc)


Lesenswert?

Ich hab das mit dem Ändern der Frequenz jetzt auch versucht, und es ist 
mir auch nicht gelungen.

Das einzige was funktioniert hat, ist die Frequenz auf 36MHz zu setzen, 
indem man als Base Frequenz die PLL statt den 12MHz verwendet:
1
CGU_HPLL_SETUP_T pll =   
2
{   
3
  CGU_FIN_SELECT_FFAST, //fin_select;   
4
  770,        //ndec;   
5
  1023,       //mdec;   
6
  2,          //pdec;   
7
  0,          //selr;   
8
  16,         //seli;   
9
  7,          //selp;   
10
  0,          //mode;   
11
  36000000    //freq;   
12
}; 
13
  
14
cgu_hpll_config(CGU_HPLL1_ID, &pll);  
15
cgu_set_base_freq(CGU_SB_SYSCLK_O_BASE_ID, CGU_FIN_SELECT_HPPLL1);

Seltsamerweise bringt aber auch eine Änderung der Frequenz im PLL Setup 
keine Änderung.

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

So wie ich das verstanden hab, lässt sich dieser Takt nicht 
beeinflussen, nur verschiedene Taktquellen können draufgeschalten 
werden.

Es gibt noch die I2S/Audio PLL, die sich draufschalten lässt, die werd 
ich mir demnächst angucken, jetzt nur keine Lust drauf ;)

Datenblatt, Seite 255, Tabelle 187, FS1 und FS2 Register (FS1_11 und 
FS2_11 für SYSCLK_O).

von Hauke R. (lafkaschar) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hier mal ein Bild vom COG-T177MXHA-02-2 Display von Digikey. Nicht am 
Gnublin, den besitze ich (noch) nicht, sondern an eigener Hardware.
Nach Stundenlangem rumspielen an allen Parametern die es so gibt (und 
das sind VERDAMMT VIELE) hab ich jetzt ein doch relativ 
zufriedenstellendes Bild, vor allem wenn man den Preis des Displays 
bedenkt. Leider ist es echt schwer aussagekräftige Bilder von solchen 
Displays zu machen. Ich musste etwas daneben fokusieren, damit es 
wenigstens halbwegs sinnvoll belichtet wurde. Außerdem hab ich noch 
etwas an den Farben gespielt in Gimp um dem echten Eindruck etwas näher 
zu kommen. Die Farbverläufe sind in Realität noch geschmeidiger als auf 
dem Bild, und das Blau endet nicht in Violett sondern in sehr schönem 
reinem Blau ;)
Der Blickwinkel ist von links nach rechts sehr gut, wird zwar dunkler 
aber die Farben bleiben einigermaßen unverfälscht. Oben unten ist leider 
nicht so gut, das Display invertiert nach oben bei ca 50-60° nach unten 
wirds einfach nur kontrastärmer.

Achja, betrieben ists im 5-6-5 Farbmodus, effektiv bei 5-5-5.

Das billigste Display farbdisplay von Digikey kommt als nächstes dran. 
Mal sehen wie das abschneidet.

von Hubert Hoegl (Gast)


Lesenswert?

Hallo Michael,

habe gerade mal probiert den neuen gnublin-installer zu kompilieren. Auf
meinem Umbuntu 10.04 LTS bekomme ich folgende Fehlermeldung:


hhoegl@aspire1:~/gnublin-installer-1.0-beta-src$ make
g++ -Wall -g `wx-config --cflags` -DVERSION='"1.0-beta"' -c 
installer.cpp
In file included from /usr/include/wx-2.8/wx/window.h:23,
                 from /usr/include/wx-2.8/wx/sizer.h:17,
                 from settings.h:14,
                 from installer.cpp:31:
/usr/include/wx-2.8/wx/cursor.h: In constructor 
‘wxBusyCursorSuspender::wxBusyCursorSuspender()’:
/usr/include/wx-2.8/wx/cursor.h:65: error: ‘wxIsBusy’ was not declared 
in this scope
...

Das Kommando "wx-config --cflags" gibt bei mir aus:

hhoegl@aspire1:~/gnublin-installer-1.0-beta-src$ wx-config --cflags
-I/usr/lib/wx/include/base-unicode-release-2.8 -I/usr/include/wx-2.8 
-D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -DwxUSE_GUI=0 -pthread

Das gleiche mit --libs sieht so aus:

hhoegl@aspire1:~/gnublin-installer-1.0-beta-src$ wx-config --libs
-pthread -Wl,-Bsymbolic-functions  -lwx_baseu_xml-2.8 -lwx_baseu_net-2.8 
-lwx_baseu-2.8

Gruesse,

Hubert

von Michael S. (misc)


Lesenswert?

Hubert Hoegl schrieb:
> Das Kommando "wx-config --cflags" gibt bei mir aus:
>
> hhoegl@aspire1:~/gnublin-installer-1.0-beta-src$ wx-config --cflags
> -I/usr/lib/wx/include/base-unicode-release-2.8 -I/usr/include/wx-2.8
> -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -DwxUSE_GUI=0 -pthread

So wie es aussieht ist dein wxWidgets ohne Unterstützung für eine GUI 
kompiliert (wxUSE_GUI=0).
Wenn du libwxgtk2.8-dev installierst sollte es funktionieren.

von Hubert Hoegl (Gast)


Lesenswert?

Hallo Michael,

> Wenn du libwxgtk2.8-dev installierst sollte es funktionieren.

danke, das hat funktioniert. Jetzt habe ich nur noch ein kleines
Problem mit der Groesse der Anwendung auf meinem Bildschirm. Ich sehe
nicht die vermutlich weiter unten liegenden Knoepfe, weil meine 
Aufloesung
1024 x 600 ist (ein Webbook). Ich schaffe es auch nicht, das Fenster
ueber den oberen Rand zu schieben. Was kann man da machen?

Gruesse,

Hubert

von Michael S. (misc)


Lesenswert?

Hubert Hoegl schrieb:
> danke, das hat funktioniert. Jetzt habe ich nur noch ein kleines
> Problem mit der Groesse der Anwendung auf meinem Bildschirm. Ich sehe
> nicht die vermutlich weiter unten liegenden Knoepfe, weil meine
> Aufloesung
> 1024 x 600 ist (ein Webbook). Ich schaffe es auch nicht, das Fenster
> ueber den oberen Rand zu schieben. Was kann man da machen?

Hm, das ist natürlich ein Problem.
Ich werde mich ein bisschen mit dem Layout spielen und versuchen es so 
zu ändern dass es mit 1024x600 auch funktioniert.

von Michael S. (misc)



Lesenswert?

So, ich habe das Layout nun etwas geändert, das Fenster ist nur mehr 
640x520 und sollte damit auch auf 1024x600 funktionieren.

von Netzwerk_Stefan (Gast)


Lesenswert?

Hallo Liebe Gnublin-Gemeinde.
Hier mal eine Frage zum i.MX287-Gnublin...

Wie ist der aktuelle Stand?
Bis wann wird dieser im Shop erhältlich sein?

Vielen Dank!

von Hubert Hoegl (Gast)


Lesenswert?

Hallo Netzwerk_Stefan,

an dem Gnublin mit i.MX287 hat sich erst mal nichts mehr getan.
Die letzte Aenderung ist vom 25. Juni 2011, siehe
http://elk.informatik.fh-augsburg.de/gnublin-cdrom/eda/index.html.
Letzendlich war der hohe Preis fuer die 8-lagige Platine
ausschlaggebend, dass es erst mal nicht gebaut wurde, obwohl mir der
Platinenentwurf sehr gut gefallen hat. Ich glaube auch immer noch daran,
dass man es so bauen koennte. Es war auf alle Faelle sehr lehrreich zu
sehen, dass man die vielen Leitungen vom BGA Gehaeuse auch erst mal
wegbringen muss. Industrielle Boards mit aehnlichen Bauteilen haben alle
in der Gegend von 8 Lagen, wie sich spaeter herausstellte.

Mit dem Gnublin-LPC3131 hat Benedikt im Sommer dann den radikalen
Gegenentwurf gemacht, der mit nur zwei Lagen auskommt und bei dem alle
Signale wegfallen, die sich nicht routen lassen. Dadurch ist die Platine
so schoen preisguenstig, dass man getrost ein paar "verheizen" kann bei
BGA Loetversuchen.  Trotz des minimalistischen Ansatzes ist das Board
auch fuer "richtige" Aufgaben zu gebrauchen. Manche haben schon
bemaengelt, dass keine Netzwerk-Buchse auf dem Board sei. Das war ganz
am Anfang so geplant, weil ich unter anderdem einen zerlegten SunSpot
(http://www.sunspotworld.com) auf dem Tisch liegen hatte, und mir
ueberlegte, wie man so eine Idee mit Embedded Linxu umsetzen koennte.
Bei den typischen Anwendungen des SunSpot stoert die Netzwerk-Buchse
eher.  Durch die einfache Erweiterbarkeit mit Netzwerk ueber USB OTG
ist das sogar noch wesentlich besser als mit fest eingebautem Netzwerk.

Da das Loeten der BGA Bauteile nun ziemlich gut unter Kontrolle ist
(siehe Artikel von Benedikt im EP Journal), koennte ich mir gut 
vorstellen, dass es nun nicht mehr so ein grosses Wagnis ist, ein paar 
8-lagige Platinen in den Ofen zu schieben. Vielleicht gibt es auch mal 
ein
Redesign mit ein paar Signalen/Lagen weniger, oder mit einem anderen
Controller, das wird sich zeigen.

Viele Gruesse,

Hubert

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

@Michael

Man könnte eventuell noch einen Punkt in das Tool bauen. Aktuelle 
SD-Karte archivieren. So dass man sich einfach einen Zwischenstand oder 
einfach eine Sicherung machen kann.


Gruss Benedikt

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo,

ich habe heute mal die Image angepasst. Wenn man sich mit dem grafischen 
oder konsolenbasiertem Tool eine SD-Karte erstellt sollte alles wichtige 
ohne Fehler gehen.

Das Konsolentool hängt bei mir irgendwie beim "delete partitions". Hat 
das Problem auch jemand oder ist das nur bei mir? Ist gerade an zwei 
Rechner.

Beides sind Ubuntu Rechner.


Gruss Bene

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Änderungen im wesentlichen:

* OpenSSH statt Dropbear (jetzt kann man per sshfs mounten)

http://www.gnublin.org/index.php?title=AppNote-AP0012

* Fehler beim Booten auskommentiert

* Aktuellen Module in das Dateisystem kopiert


Ich habe das Wiki etwas strukturiert. Idee ist es immer zu einzelnen 
Themen Application-Notes zu schreiben. Ihr könnt jederzet eine Nummer 
bei mir euch geben lassen:

http://www.gnublin.org/index.php?title=ApplicationNotes

Den Artikel kann man dan immer dort wo es passt in die Gesamtstruktur 
mit einhängen. Wenn es mal zuviele Application-Notes werden, kann man 
noch eine bessere Suche installieren.

Gruss Benedikt

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Wenn du mir eine AP-Nummer für den ADC, eine für PWM gibst, schreib ich 
dazu.
Eine für Kernel-Treiber kann ich auch noch schreiben, Module/In-Kernel 
und Menuconfig-Einbindung.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo Nils,

nehme gleich die 13, 14 und 15.

Gruss Bene

von Netzwerk_Stefan (Gast)


Lesenswert?

Hallo Hubert,

vielen Dank für Deine ausführliche Antwort.
Schade dass das mit dem i.Mx287 nicht geklappt hat. Wäre sehr daran 
interessiert gewesen.
Werde mir jetzt vielleicht den LPC-Gnublin kaufen.

Hoffe aber immernoch, dass es vielleicht doch noch irgendwann  in 
Richtung i.Mx weitergeht.
Vielen Dank soweit.

von Michael S. (misc)


Lesenswert?

@Benedikt

Gute Idee, das werde ich einbauen sobald die Prüfungszeit auf der Uni 
vorbei ist und ich wieder Zeit habe damit herumzuspielen. Das wird 
wahrscheinlich gegen Mitte Februar sein.

von Phil J. (sunflower_seed)


Lesenswert?

Ich wollte gerade mal eben schnell einen Kernel backen....
So wie hier (http://www.gnublin.org/index.php?title=AppNote-AP0008) 
beschrieben.
Aber das hier kommt zurück:
1
....
2
3
CC [M]  drivers/lpc313x_io/adc/lpc313x_adc.o
4
drivers/lpc313x_io/adc/lpc313x_adc.c:362:1: error: redefinition of 'init_module'
5
drivers/lpc313x_io/adc/lpc313x_adc.c:195:5: note: previous definition of 'init_module' was here
6
drivers/lpc313x_io/adc/lpc313x_adc.c:363:1: error: redefinition of 'cleanup_module'
7
drivers/lpc313x_io/adc/lpc313x_adc.c:226:6: note: previous definition of 'cleanup_module' was here
8
make[2]: *** [drivers/lpc313x_io/adc/lpc313x_adc.o] Fehler 1
9
make[1]: *** [drivers/lpc313x_io] Fehler 2
10
make: *** [drivers] Fehler 2
11
lenny:/home/user/gnublin/linux-2.6.33-lpc313x# nano drivers/lpc313x_io/adc/lpc313x_adc.c

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Das Problem hatte ich gestern auch, weiss auch nicht warum aufeinmal...

Mach die Datei "drivers/lpc313x_io/adc/lpc313x_adc.c" auf und 
entferne/kommentiere aus die "module_init(...)" und 
"module_exit(...)"-Zeilen.

Dann noch die init-funktionen:

aus "int init_module(void)"
machst du "int __init init_module(void)"

und aus "void cleanup_module(void)"
machst du "void __exit cleanup_module(void)".

Wie der Fehler aufeinmal zustande kommt, weiss ich noch nicht.

von Flex (Gast)


Lesenswert?

Hallo,
ich habe heute mein GNUBLIN Board bekommen. Sobald ich es mit Strom 
versorge, gibt es hochfrequente Töne von sich. Woran liegt das? Am Quarz 
oder an den Reglern?

Gruß

von Benedikt Sauter (Gast)


Lesenswert?

Hallo Flex,

Das habe ich ab und zu auch schon festgestellt.

Ich mach morgen mal ein paar Messungen. Wenn es zu laut ist schicke es 
bitte ein,
dann tauschen wir es aus.

Gruss Benedikt

von Flex (Gast)


Lesenswert?

Hallo Benedikt,
das ist ja leider schon mein zweites.
Ich werde dich mal per E-Mail kontaktieren.

Gruß
Flex

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Also ich hör dort nichts pfeifen. Besuch, der gerade bei mir ist, meint 
man hört es leicht, aber ganz leise.

Ist doch auch nicht die erste Schaltregler-Pfeiff-Anfrage hier, oder?

von Phil J. (sunflower_seed)



Lesenswert?

Hallo zusammen,
es gibt neues ;-)

Im Anhang is ein Programm mit dem man die LED auf dem Board via LAN ein- 
und ausschalten kann...

-C Programm auf dem Board starten.
-Java Programm auf dem PC starten.
-Die IP Adresse vom Board eingeben.
-LED schalten / Programm mit exit beenden.

Zur Software:
Vorweg - Es wird dort kein Wert auf Sicherheit gelegt
Spaßeshalber kann man das ganze auch via PortForwarding ins Internet 
bringen.

Das C-Programm stellt einen Socket Server auf Port 5000 zur Verfügung.
Der Zugriff auf die LEDs erfolgt einfach über system() calls.
Eine GPIO Bibliothek für C wäre noch interessanter, vor allem wenn man 
Wert auf Geschwindigkeit legt (Ist bei nem Socket eh peng).
Das Programm hängt in einer Schleife und öffnet den Socket und wartet 
auf nen Kommando.
Genau aus dem Grund kann aber
1
"echo 3 > /sys/class/gpio/unexport"
 nicht ausgeführt werden.
Ist soweit nicht schlimm, aber wenn man die LED nicht permanent am 
leuchten haben will, sollte man sie vorher abschalten, das JAVA Programm 
erinnert aber auch dran.

Das Java Programm erklärt sich eigentlich von selbst...
Vielleicht wäre es auch cool ne mobile Anwendung  zu basteln, vielleicht 
hab ich darauf ja nochmal lust...

Generelles:

@Nils:
Danke, funktioniert soweit.


Das "Problem" mit dem pfeifen habe ich auch.
Es kommt drauf an, viele ältere Menschen oder Lärmzerstörte hören das 
ganze wahrscheinlich nicht mehr.
Es fiepst tatsächlich. Mann hört auch wenn das Board startet und der 
Stromverbrauch hoch geht.
Aber ich sehe das als "normal" für Schaltregler an, jedes Schaltnetzteil 
ist lauter.

Was micht noch stört ist das momentan bei mir noch
1
INIT: Id "1" respawning too fast: disabled for 5 minutes
ständig rumfliegt.

Und Klumpatsch beim booten ist auch noch da...

WPA2-AES klappt immer noch nicht. Aber ich glaub das hat mehr damit zu 
tun, das mein Uralt Stick das nicht kann.
Sollte aber möglich sein.
Aber irgendwie fehlt mir auch die Zeit um alles durchzuprobieren. 
Leider.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo Phil,


willst du auch einen Artikel für die embedded World Ausgabe schreiben? 
Dieser müsste nur bis ca. naja ein paar Tage vor dem 10.2 bei uns sein?

Wir machen aus dem nächsten Journal eine GNUBLIN Spezial, mit dem wir 
auch auf der embedded world sein werden.

Es gibt keine Vorgaben. Du kannst schreiben soviel wie du willst. Ideal 
als OpenOffice und die Bilder als extra Archiv per Mail an mich.

Beste Grüße
Benedikt

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo Phil,

INIT: Id "1" respawning too fast: disabled for 5 minutes

in der etc inittab kannnst du die Zeile rausnehmen:

1:2345:respawn:/sbin/getty 38400 tty1

Dann gehts. Oder du baust dir eine neues Dateisystem bzw. eine neue 
Karte dort ist auch der AD und PWM Treiber integriert.


Gruss Bene

von Thomas S. (atmeltom)


Lesenswert?

hallo zusammen bin neu hier und Anfänger

Ich möchte gerne am Gnublin Temperatur(bis 150 Grad)

Drehzahl als optischer Sensor

Tankinhalt als Analogwert wird von einem 12 Volt System geliefert.

Loggen der Daten und Ausgabe als App auf handy


Wie beschaltet man Temperatur? Drehzahl usw...

Webserver auf Gnublin? aber wie

Wie kann man die Daten grafisch darstellen z.b. als drehzahlmesser 
usw...?

von Christoph (Gast)


Lesenswert?

Thomas Serwaty schrieb:
> hallo zusammen bin neu hier und Anfänger
>
> Ich möchte gerne am Gnublin Temperatur(bis 150 Grad)

Temperatursensoren gibts viele. Da musst du hald schauen welcher bis 150 
Grad geht, und dann dranhaengen. Digitale gehen ueber i2c/1wire/... - 
wenns n analoger sein soll dann hald ne entsprechende beschaltung und 
mit m adc aufnehmen.

> Drehzahl als optischer Sensor

Koennte schwieriger werden. Evtl. gehts ueber n Interrupt, aber wie 
genau das dann wird weiss ich nicht - Ich wuerde das evtl. auf einen 
kleinen AVR (Tiny 13 o.ae.) auslagern, der das mit nem Timer genau macht 
und dann die Drehzahl ueber i2c ans gnublin sendet.

> Tankinhalt als Analogwert wird von einem 12 Volt System geliefert.

Im einfachsten Fall nen Spannungsteiler der die 12V auf 3,3V bringt, 
dann ist das ueber ADC einlesbar. Im nicht einfachsten Fall mit nem OP.

> Loggen der Daten und Ausgabe als App auf handy

Evtl. ueber ne Webseite, dann reicht dir als App n browser und du musst 
da nix neu machen.

Lighttpd gibts schon auf m gnublin - der kann alles was du brauchst 
(cgi, etc.)

Als Anfaenger heisst das auf jeden fall viel Arbeit und viel neues, aber 
du wirst dafuer einiges lernen!

schau einfach mal auf www.gnublin.org, da wird das meiste schon ziemlich 
gut beschrieben!

Gruss Christoph

von Flex (Gast)


Lesenswert?

Hallo,
da bin ich ja froh, dass das Pfeifen nicht nur bei mir ist. Ich denke 
ich werde das Board behalten, da es in ein Gehäuse kommt.
Wie sieht es mit der EMV aus? Die Spulen erzeugen ja ein 
elektromagnetisches Feld, wie stark ist das?

Gruß
Flex

von Flex (Gast)


Lesenswert?

Hi,
ich wollte gerade das Board an mein USB Anschluss am PC anschließen und 
dann einige Sachen über das Terminal konfiguieren, dann kommt aber diese 
Fehlermeldung: .EXT2-fs (mmcblk0p1): error: ext2_lookup: deleted inode 
referenced: 311052

Was ist das?

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Dateisystemfehler,

ein "e2fsck -p -v /dev/sdXY" (X = deine Karte, Y=die Linux Partition) 
auf einem PC mit Cardreader flickt das.

von Flex (Gast)


Lesenswert?

Danke für den Tipp, jetzt geht es wieder.
Mir ist aufgefallen, dass wenn ich die rote LED anschalte, das pfeifen 
so gut wie weg geht, des halb möchte ich ein Programm schreiben, dass 
die rote LED anschaltet, sobald das Board erfolgreich gebootet hat. Kann 
mir hier jemand weiterhelfen, wo der Code stehen soll?

Gruß

von Christoph (Gast)


Lesenswert?

Hallo,

schau mal nach /etc/init.d/. Die Skripte werden beim Booten ausgefuehrt. 
Hier muesstest du ein Skript zur LED Ansteuerung speichern bzw. einen 
link darauf dort erzeugen.

Gruss Christoph

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

/etc/init.d/rcS wäre möglich

/bin/echo ....

Gruss Bene

von Flex (Gast)


Lesenswert?

Hallo,
danke Benedikt.
Jetzt habe ich aber schon wieder das Problem mit dem Dateisystem. Warum 
kommt das ständig? Muss ich das Board erst über das Terminal 
herrunterfahren oder kann ich es einfach aus dem USB Port ziehen?

Gruß Flex

von Thomas S. (atmeltom)


Lesenswert?

Hallo zusammen
habe heute endlich den gnublin bekommen^^
Soweit gefällt mir der Kleine^^
Könnte mir jemand erklären wie ich den Wlan aus eurem Shop zum laufen 
bekomme?
Ebenso wie steuert man die AD Eingänge an möchte Temperatur messen mit 
NTC?
Und vllt eine kurze Erklärung wie man als Anfänger den Webserver startet 
usw..
Gruss Tom

von Thomas S. (atmeltom)


Lesenswert?

EXT2-fs (mmcblkk0p1):error ext2 lookup: deleted inode referenced:311052
Was bedeutet das?
Komme nicht mehr rein Help Pls?

von Flex (Gast)


Lesenswert?

Das habe ich auch immer gehabt, wenn ich einfach das Board vom USB Port 
gezogen habe. Mache mal ein neues RootFS auf deine SD Karte und wenn du 
dann das Board ausschalten möchtest gib im Terminal folgendes ein: 
shutdown now

mfg

PS: Ich habe die Datei blink.sh in das Verzeichnis /etc/init.d/ kopiert 
mit dem Befehl cp, aber beim Starten passiert nichts.

von Christoph S. (mixer) Benutzerseite


Lesenswert?

Hallo,

ext2 unterstuetzt noch kein journaling, darum wird anscheinend das 
rootFS inkonsestent, wenn man einfach aussteckt.

Ist dein blink.sh auch ausfuehrbar? Kannst du es mit 
./etc/init.d/blink.sh ausfuehren?

Gruss Christoph

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Flex schrieb:
> PS: Ich habe die Datei blink.sh in das Verzeichnis /etc/init.d/ kopiert
> mit dem Befehl cp, aber beim Starten passiert nichts.

DU mußt noch einen Link anlegen für das betreffende Runnlevel:
http://openbook.galileocomputing.de/unix_guru/node103.html

von Thomas S. (atmeltom)


Lesenswert?

So endlich ahb die Root FS neu gemacht und sieh da er lebt wieder^^
Aber hätte nicht gedacht das er so empfindlich reagiert auf USB 
rausziehn
Aber learning by Doing

Danke Jungs

von Flex (Gast)


Lesenswert?

Hi,
das mit dem Link erstellen verstehe ich noch nicht ganz. Erst benötige 
ich mal ein gutes Terminalprogramm für Windows, wie Picocom für Linux. 
Kennt ihr da ein Programm?

mfg

von Phil J. (sunflower_seed)


Lesenswert?

@Flex:
Lesen hilft: http://www.gnublin.org/index.php?title=AppNote-AP0023
Oder Putty....

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Das hat nichts mit USB abziehen zu tun, wenn du einen PC einfach so 
ausschaltest, dann hast du das selbe Problem.

Man muss einen Computer herunterfahren
> $ shutdown -h now

Das mit den Runlevels/Autostart steht doch glaube ich im Wiki, oder?

Wie man den ADC benutzt steht hier im Thema, wo auch die Patches (Code) 
ist.

von Thomas S. (atmeltom)


Lesenswert?

Hallo zusammen
bastel grade an der externen Versorgung vom Gnublin mit einem 3,7 V 
400mah Lipo was soweit funzt^^

Frage:
Ich möchte die Spannung vom Lipo überwachen um sicher zu gehen das ich 
ihn nicht unter 3,3 Volt betriebe.

Wie beschalte ich das ganze? Reicht ein Vorwiderstand für den AD? Wenn 
ja wie berechne ich das?

Gruss Tom

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Angehängte Dateien:

Lesenswert?

WLAN mit Asus WL167gv3:

In dem Adapter steckt ein RTL8712 Chip.

http://gnublin.googlecode.com/files/zImage-asus167gv3-adc-pwm-gpio

Ich habe soeben mal den Treiber für den WLAN Stick getestet. Zusätzlich 
braucht man noch im Dateisystem im Ordner /lib die Datei libiw.so.29 
(siehe Anhang).

Und wenn man wpa verwenden will braucht man noch zusätzlich die 
wpasupplicant. Parallel lade ich gerade ein neues rootfs rauf, dort ist 
dann alles integriert.

http://www.gnublin.org/index.php?title=AppNote-AP0021

Gruss Benedikt

von Thomas S. (atmeltom)


Lesenswert?

Hallo habe jetzt den jumper für OTG Host gesetzt aber leider tut sich 
nichts?
Also er erkennt den Wlan Stick nicht
Habe ihn als Host gejumpert.
Hab ich was vergessen?

von Tobi (Gast)


Lesenswert?

Tobi,

was sagt "lsusb" ?

von Thomas S. (atmeltom)


Lesenswert?

kommt nichts auf Befehl lsusb  ;(

von Thomas S. (atmeltom)


Angehängte Dateien:

Lesenswert?

Hier mal ein Bild

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Thomas Serwaty schrieb:
> Ich möchte die Spannung vom Lipo überwachen um sicher zu gehen das ich
> ihn nicht unter 3,3 Volt betriebe.
>
> Wie beschalte ich das ganze? Reicht ein Vorwiderstand für den AD? Wenn
> ja wie berechne ich das?

Spannungsteiler 1:1 (10k:10k z.B.) und nen 15k Widerstand vor den 
ADC-Eingang.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo Tom,

du musst den zweiten Pin nehmen. Das Foto ändere ich gleich mal.

War mein Fehler!


Gruss Bene

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Angehängte Dateien:

Lesenswert?

so Gruss Bene

von Thomas S. (atmeltom)


Lesenswert?

Durch das Zweite umlöten ist wohl en kurzschluss entstanden :(
Schade!!!

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Wenn du wirklich nur dort gelötet hast, wo gezeigt, dürfte nicht viel 
passieren. Hast du alle Lötbrücken wieder weggemacht, gereinigt und 
ausprobiert?

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

So schnell kann man da eigentlich nichts kaputt machen. Kannst du mit 
Lötlitze nochmal alles entfernen? Bzw. habe ich hier bei einem Board 
einen gezielten Kurzschluss zwischen dem ganz Linken und eins neben dran 
gemacht. Er ist jetzt immer Host.

von Thomas S. (atmeltom)


Lesenswert?

Hmm okay dann probier ich mal das gleiche zu machen mit dem immer Host^^

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Um zu sehen, ob das Board überhaupt noch was tut, kannst du auch mal die 
verschiedenen Boot-Modi durchprobieren und immer Reset drücken, sodass 
du im Terminal sieht, ob überhaupt noch eine Ausgabe kommt.

Ich hab erst auch gedacht, dass das Board hinüber wäre, aber 
letztendlich war die Speicherkarte nicht 100%ig drin gesteckt und er hat 
apex nicht laden können.
Rausgefunden hab ich das als ich den Test-Mode eingestellt hab und doch 
eine Antwort kam.

von Thomas S. (atmeltom)


Lesenswert?

Es lebt wieder und erkennt den Wlan stick^^

von Phil J. (sunflower_seed)


Lesenswert?

Hallo zusammen,

habe mich mal an die externe Spannungsversorgung gewagt.
Habe dazu nen altes Netzteil mit 5 Volt genommen. Leerlaufspannung liegt 
höher bei ca. 5,8 Volt.
Betreibt man das Board so werden die Regler schon heißt. Zumindest so 
das es an den Pfoten weh tut.
Wie sehen die max. / min. Input Ratings von den  Spannungsreglern aus? 
Sind etwas mehr als 5 Volt schon kritisch? (BTW: Im Schaltplan ist ein 
Label vom Spannugsregler falsch ;-) )
Oder kann es sein das da etwas schwingt was nicht schwingen soll?
Das würde auch das Fiepen erklären.
Gibts nen Link zum Datenblatt? - Meistens muss man beim Layout ganz 
schön aufpassen mit den Dingern...
Wie sauber ist das Ausgangssingnal?


Am DS1307 habe ich mich auch versucht.
Es kommt leider gar nichts an.
Ich frage mich warum sich gar nix tut.
So verkorkst kann der Treiber nicht sein...(ohne einen Blick hinein 
geworfen zu haben)


Ich habe jetzt auch mal wireless_tools aus den Debian Paketen geklaut. 
Das funktioniert soweit.
Allerdings wären jetzt Hostnamen auch praktisch, wenn man schon im 
Internet rumdackelt.


Interessant fände ich auch den CAN-Bus.
Da wäre vielleicht der MCP2515 von Microchip Interessant.
Dieser lässt sich via SPI ansteuern.
Das hatte ja Nils so wie ich gesehen hab mit einigen Registern schon 
gemacht.
Für GCC gibts für den Chip schon eine sehr gute Lib, die sich wohl gut 
portieren lässt.
Wobei ein eigener Treiber dafür über wär.


Zum Thema Windows, da es schon einige Nachfragen gab (was man vielleicht 
auch als APPNote eintragen sollte):

Wer eine komplette Linux Plattform möchte lädt sich am besten VmWare und 
ein passendes image (z.B.: 
http://www.opensource-company.de/content/downloads/vm-debian-squeeze.php 
) und kann da alles machen was er will.
Zugriff auf USB-Sticks und so weiter ist auch möglich.

Ich hab Benedikt schonmal geschrieben, aber ich weiß nicht obs unter 
gegangen ist, das man den RNDIS Netzwerktreiber unter Windows auch für 
das Board nutzen kann.
Allerdings krieg ich den nicht zum rennen.
Aber mittlerweile scheints in diversen Foren schon Lösungen zu geben.

Wer Programme kompilieren möchte kann das mit dem ELDK für Windows 
machen.

Wers ganz kompliziert mag kann sich bestimmt auch mit quemu/cygwin 
irgendwas zusammenbasteln...

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Schaltregler/Netzteile geben nahezu immer Geräusche ab, manchmal hörbar, 
manchmal nicht.

Ein kleines Steckernetzteil mit Trafo, Gleichrichter, 2200µ, 7805, 100n, 
100µ tuts bei mir wunderbar für die Versorgung des Boards, die Regler 
auf dem Board werden nicht heiss.
Daher denke ich, weiss aber nicht genau, dass 5,8V definitiv zuviel 
sind, wenns heiss wird.


Der Linuxtreiber vom DS1307 funktioniert tadellos, ich empfehle dir 
daher für die Fehlersuche, den DS1307 von Hand in C anzusprechen.

http://www.mikrocontroller.net/articles/Ports_benutzen_%28GCC%29#Der_I2C_Bus_.26_SMBus

Hier siehst du wie unter Linux über den Treiber, der die /dev-Node 
bereitstellt, I²C Bausteine ansprechen kannst.

Phil J. schrieb:
> Allerdings wären jetzt Hostnamen auch praktisch, wenn man schon im
> Internet rumdackelt.

Namensauflösung sollte tun, sobald du per DHCP deine Config holst.

Von Hand in etwa so:
Router = 192.168.0.1 255.255.255.0
wpa_supplicant -D ... -c ... --background ...
ifconfig wlan0 192.168.0.2/24 up
route add default gw 192.168.0.1
"nameserver 192.168.0.1" in /etc/resolv.conf eintragen.

qemu wird auf nichts anderes als vmware rauslaufen, eine virtuelle 
Maschine, kompiliziert ist cygwin auch nicht unbedingt.
Aber brauchbar ist für Linux-Entwicklung einfach ein Linux-System.

von Thomas S. (atmeltom)


Lesenswert?

Hallo
Habe mal ein Display herausgesucht mit I2C Anschluß

http://www.produktinfo.conrad.com/datenblaetter/175000-199999/181891-da-01-de-DISPLAY_M_I2C_BUS_INTERF_3X12_4_7_MM.pdf

Möchte gerne dieses Display verwenden das es so ultraflach ist und wegen 
dem Stromverbrauch.

Was haltet ihr davon?

Ist die Ansteuerung über I2C sehr kompilziert oder bekomm ich das als 
Beginner auch hin?

Gruss Tom

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

http://www.mikrocontroller.net/articles/Ports_benutzen_%28GCC%29#Der_I2C_Bus_.26_SMBus

I2C unter Linux, einen Beitrag vor dir ;)

Die Kommunikation ist bei denen sehr einfach.

von Thomas S. (atmeltom)


Lesenswert?

Habe das problem das der Gnublin zwar das Wlan erkennt aber er bekommt 
keine IP vom DHCP sehe nur seine Macadresse und wenn ich mit ""ifconfig 
wlan0 192.168.1.7" eine vergeben will er sie auch nicht.

dhclient wlan0 will er auch nicht^^
dhcpd wlan0 ebenfalls nichts^^

von Thomas S. (atmeltom)


Lesenswert?

Habe gerade in der /etc/wpa_supplicant gefunden !


Nur ist sie leer
Was gehört da rein?
Kann der Befehl in der Anleitung(Wlan an Gnublin) falsch sein (-Dwext) 
steht da sollte aber -D wext heissen oder?

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

man wpa_supplicant.conf

Die muss natürlich gemacht sein, sonst kann er sich ja auch gar nicht 
authentifizieren ;)


Da die Frage jetzt schon ein paar mal aufgetaucht ist, hier ein 
init-script für eigene Sachen:

$ vi /etc/init.d/user-init
1
#!/bin/sh
2
                                                       
3
case "$1" in                                           
4
    start)                                             
5
        echo "skript starten"                                
6
        ;;                                                   
7
    stop)                                                                 
8
        echo "skript stoppen"
9
        ;;         restart)                                                                 
10
        echo "skript neu starten"   
11
        ;;
12
*)                                                                       
13
        echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2
14
        exit 1
15
        ;;
16
esac
17
exit 0
<ESC> :wq <ENTER>
$ chmod +x /etc/init.d/user-init
$ ln -s /etc/init.d/user-init /etc/rc5.d/S15-user-init

von Thomas S. (atmeltom)


Lesenswert?

Nachdem ich dieses -Qwext auf -Q wext gemacht habe steht jetzt ein 
example file(abkotz)

Hast du mal eins für Standardrouter bin am verzweifeln...

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo Thomas,

klappt das nicht?

http://www.gnublin.org/index.php?title=AppNote-AP0021

Im neuen Image ist in /home/root die passende config-wpa bzw. 
config-wpa2

Gruss Bene

von Thomas S. (atmeltom)


Lesenswert?

Das funktioniert soweit laut Anleitung nur bekomme ich keine Ip Adresse 
vom Router
die config-wpa2 habe ich geändert  funzt alles soweit
Nur halt keine IP Adresse
Trotzdem ist da ein Tippfehler drin in der Anleitung Qwext und -Q wext
Habe auch das neue Image drauf gemacht mit gnublin-installer (geiles 
Tool)
Ausser es gäbe ein neues von dir?

von Thomas S. (atmeltom)


Lesenswert?

So hab es endlich am laufen war wohl das Problem mit der IP 
192.168.0.115
Habe die 192.168.0.54 eingetragen jetzt läufts.

Hab mich genau wie im Video daran gehalten das andere hat bei mir nicht 
zum Erfolg geführt.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

ok :-) dann hat das video ja seinen Zweck hoffentlich erfüllt.

Gruss Benedikt

von Phil J. (sunflower_seed)


Lesenswert?

Hallo zusammen,

habe noch einen Versuch gewagt.
Komm mir aber vor wie der Ochs vorm Berge.
Ich nutze die rt73.bin und habe sie im Kernel fest eingebaut.
WEP funktioniert.
1
root@gnublin:~# wpa_supplicant -Dwext -i wlan0 -c config-wpa2 -dd &
2
root@gnublin:~# Initializing interface 'wlan0' conf 'config-wpa2' driver 'wext' ctrl_interface 'N/A' bridge 'N/A'
3
Configuration file 'config-wpa2' -> '/home/root/config-wpa2'
4
Reading configuration file '/home/root/config-wpa2'
5
Line: 1 - start of a new network block
6
ssid - hexdump_ascii(len=1):
7
     30                                                0
8
key_mgmt: 0x2
9
proto: 0x1
10
pairwise: 0x8
11
group: 0x8
12
PSK (ASCII passphrase) - hexdump_ascii(len=16): [REMOVED]
13
PSK (from passphrase) - hexdump(len=32): [REMOVED]
14
Priority group 0
15
   id=0 ssid='0'
16
WEXT: cfg80211-based driver detected
17
SIOCGIWRANGE: WE(compiled)=22 WE(source)=21 enc_capa=0xf
18
  capabilities: key_mgmt 0xf enc 0xf flags 0x0
19
netlink: Operstate: linkmode=1, operstate=5
20
socket(PF_PACKET): Address family not supported by protocol
21
Failed to add interface wlan0
22
wpa_driver_wext_set_key: alg=0 key_idx=0 set_tx=0 seq_len=0 key_len=0
23
wpa_driver_wext_set_key: alg=0 key_idx=1 set_tx=0 seq_len=0 key_len=0
24
wpa_driver_wext_set_key: alg=0 key_idx=2 set_tx=0 seq_len=0 key_len=0
25
wpa_driver_wext_set_key: alg=0 key_idx=3 set_tx=0 seq_len=0 key_len=0
26
State: DISCONNECTED -> DISCONNECTED
27
wpa_driver_wext_set_operstate: operstate 0->0 (DORMANT)
28
netlink: Operstate: linkmode=-1, operstate=5
29
wpa_driver_wext_set_countermeasures
30
No keys have been configured - skip key clearing
31
Cancelling scan request
32
Cancelling authentication timeout
33
netlink: Operstate: linkmode=0, operstate=6
34
35
[1]+  Done(255)                  wpa_supplicant -Dwext -i wlan0 -c config-wpa2 -dd

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo Phil,

in deinem Kernel fehlen auch die Unix Domain Sockets glaub. Dann 
sollte es klappen.

   <*> Packet socket
und
  <*> Unix domain sockets

sind bei mir aktiviert.

Gruss Benedikt

von Thomas S. (atmeltom)


Lesenswert?

Ich möchte das der Wlan automatisch geladen wird,danach der Webserver 
und dann soll blink.sh gestartet werden.
Habe mich versucht durchzulesen bekomm es aber nicht hin.
Gibt es darüber eine App Note oder ähnliches?
Gruss Tom

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Beitrag "Re: GNUBLIN www.gnublin.org"

;)

//edit: Ich sehe gerade, durch die Forensoftware wurden die Einrückungen 
etwas durcheinandergewürfelt.
1
#!/bin/sh
2
                                                       
3
case "$1" in                                           
4
    start)                                             
5
        echo "skript starten"                                
6
        ;;                                                   
7
    stop)                                                                 
8
        echo "skript stoppen"
9
        ;;
10
    restart)
11
        echo "skript neu starten"   
12
        ;;
13
    *)
14
        echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2
15
        exit 1
16
        ;;
17
esac
18
exit 0

von Thomas S. (atmeltom)


Lesenswert?

wird es so angegeben oder mit Dateipfad?

echo "Usage: $blink.sh {start|stop|restart}" >&2

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Sobald es in /etc/rc5.d/ gelinkt ist, wird es beim Booten und 
Herunterfahren automatisch geladen/entladen.

Die start-Sektion beim Booten, die stop-Sektion beim Herunterfahren.

Von Hand:

/etc/init.d/user-init start
/etc/init.d/user-init stop
/etc/init.d/user-init restart

Alle anderen Argumente erzeugen die Usage-Ausgabe ("*)" im Skript).

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Phil J. schrieb:
> root@gnublin:~# wpa_supplicant -Dwext -i wlan0 -c config-wpa2 -dd &

Ich sehe das gerade, & ist ein fürchterlicher Weg, etwas in den 
Hintergrund zu schieben. Solange ein Programm das kann, sollte man es 
ihm selbst überlassen.

wpa_supplicant nimmt dafür "-B" als Parameter.

von Thomas S. Atmeltom (Gast)


Lesenswert?

Bekomme immer den fehler beim reboot
mit der wpa_supplicant?

------------------------------------------------------------------------


INIT: Entering runlevel: 5
skript starten
wpa_supplicant: error while loading shared libraries: libpcsclite.so.1: 
cannot open shared object file: No such file or directory
r8712u: Loading firmware from "rtlwifi/rtl8712u.bin"
usb 1-1: firmware: using built-in firmware rtlwifi/rtl8712u.bin
r8712u: 1 RCR=0x153f00e
r8712u: 2 RCR=0x553f00e
Starting syslogd/klogd: -C64 -m 20
done

GNUBLIN EDLK (Built by Poky 5.0) 5.0 gnublin ttyS0
http://www.gnublin.org

gnublin login:



hier meine user-init

#!/bin/sh
case "$1" in
    start)
        echo "skript starten"

        wpa_supplicant -Dwext -i wlan0 -c config-wpa2 -dd &
        sleep 10
        ifconfig wlan0 192.168.0.54
        route add default gw 192.168.0.1
        echo "nameserver 192.168.0.1" >> /etc/resolv.conf
        /home/root/blink.sh &

        ;;
    stop)
        echo "skript stoppen"
        ;;
    restart)
        echo "skript neu starten"
        ;;
    *)
        echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2
        exit 1
        ;;

von Thomas S. (atmeltom)


Lesenswert?

Funktioniert auch nicht so

wpa_supplicant -Dwext -i wlan0 -c config-wpa2 -dd -B

Gruss Tom

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Schau mal in /lib und in /usr/lib ob da irgend eine Datei vorhanden ist, 
die mit "libpcsclite.so" anfängt, wenn ja, mach einen Link:

ln -s /lib/oder/usr/lib/libpcssclite.so.bla /usr/lib/libpcsclite.so.1

von Thomas S. (atmeltom)


Lesenswert?

Ich finde die Datei nirgends weder im /lib oder /usr/lib

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Mach mal das:
$ cd /
$ find . | grep libpcssclite

von Thomas S. (atmeltom)


Lesenswert?

Da kommt nix
Die datei fehlt anscheinend!

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Ist das eine neue SD Karte? Also mit dem aktuellen rootfs von 
www.gnublin.org/downloads ?

Gruss Bene

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Also es funktioniert doch, wenn du wpa_supplicant von Hand aufrufst und 
nicht im Script, oder?

von Thomas S. (atmeltom)


Lesenswert?

von Hand starten geht so:

wpa_supplicant -D wext -i wlan0 -c config-wpa2 -dd -B

ohne Probleme!
Nur im skript kommt der Fehler

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Geb mal auf der Konsole

"$ which wpa_supplicant" ein.

Bei mir kommt da "/usr/sbin/wpa_supplicant" heraus, eben der Dateiname 
inkl. Pfad. gib im Script den Pfad mal mit an.

von Thomas S. (atmeltom)


Lesenswert?

Das kommt jetzt

INIT: Entering runlevel: 5
skript starten
Initializing interface 'wlan0' conf 'config-wpa2' driver 'wext' 
ctrl_interface 'N/A' bridge 'N/A'
Configuration file 'config-wpa2' -> '//config-wpa2'
Reading configuration file '//config-wpa2'
Failed to read or parse configuration '//config-wpa2'.
Failed to add interface wlan0
Cancelling scan request
Cancelling authentication timeout
r8712u: Loading firmware from "rtlwifi/rtl8712u.bin"
usb 1-1: firmware: using built-in firmware rtlwifi/rtl8712u.bin
r8712u: 1 RCR=0x153f00e
r8712u: 2 RCR=0x553f00e
Syntax OK
Starting syslogd/klogd: -C64 -m 20
done

GNUBLIN EDLK (Built by Poky 5.0) 5.0 gnublin ttyS0
http://www.gnublin.org

gnublin login: root
root@gnublin:~#

von Thomas S. (atmeltom)


Lesenswert?

Kann das sein das die config-wpa2 auch in das /usr/sbin/  muss um es zu 
starten?

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

wpa_supplicant -D wext -i wlan0 -c /home/root/config-wpa2 -dd -B

mach das so mal

von Thomas S. (atmeltom)


Lesenswert?

Er Läuft
Vielen Dank Nils  ;-)

Hier mal die fertige User-init:
#!/bin/sh
case "$1" in
    start)
        echo "skript starten"

        /usr/sbin/wpa_supplicant -D wext -i wlan0 -c /home/root 
/config-wpa2 -dd
        sleep 10
        ifconfig wlan0 192.168.0.54
        route add default gw 192.168.0.1
        echo "nameserver 192.168.0.1" >> /etc/resolv.conf
        /home/root/lighttpd-init.sh
        /home/root/blink.sh &

        ;;
    stop)
        echo "skript stoppen"
        ;;
    restart)
        echo "skript neu starten"
        ;;
    *)
        echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2
        exit 1


Jetzt kann ich endlich über ssh vom Windows rechner alles machen!!!
Endgeil

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Der entscheidende Tipp kam nicht von mir ;)

von Phil J. (sunflower_seed)


Lesenswert?

Hat jemand schonmal nen Hub ohne externe Spannungsversorgung zwischen 
den Stick geknallt?
Bei mir gibts Fehlermeldungen vom Treiber. Denke mal das geht nur mit 
zusätzlicher Spannungsversorgung.

Was ich auch nicht hinkriege ist die rt73.bin vom Treiber ins firmware 
Verzeichnis zu legen. Selbst bei einem simplen ifup wird die .bin nicht 
gefunden.
Also meine Frage: Wo muss ich die .bin reinschieben und wo muss ich noch 
was setzen?

Ich bin mit 54Mbit im W-Lan und bei mir ist SSH etwas träge.
Habs jetzt noch nicht unter Linux probiert wie sieht das bei euch aus?

@Benedikt:
Jepp das war der Fehler...

von Thomas S. (atmeltom)


Lesenswert?

Kann mir jemand dabei helfen wie ich das Display initalisiere?
Zumindest das Display mal anschalten ob es funktioniert
Angeschlossen habe ich es schon
Ist das erste Mal das ich sowas mache

Hier die Infos:
http://www.produktinfo.conrad.com/datenblaetter/175000-199999/181891-da-01-de-DISPLAY_M_I2C_BUS_INTERF_3X12_4_7_MM.pdf


http://www.goblack.de/desy/digitalt/aktoren/lcd-eat123A-i2c/eat123eigenschaften.html

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Phil J. schrieb:
> Was ich auch nicht hinkriege ist die rt73.bin vom Treiber ins firmware
> Verzeichnis zu legen. Selbst bei einem simplen ifup wird die .bin nicht
> gefunden.
> Also meine Frage: Wo muss ich die .bin reinschieben und wo muss ich noch
> was setzen?

Ich habe hier einen Stick, der den rt73usb Treiber braucht und ebenfalls 
die rt73.bin.

Die gehört normalerweise nach "/lib/firmware/".

Mein Problem ist, dass sich der Kernel jedes mal bei "requesting 
firmware" aufhängt, egal ob die rt73.bin in /lib/firmware liegt oder 
nicht.

Hat da jemand eine Idee zu?

Thomas Serwaty schrieb:
> Kann mir jemand dabei helfen wie ich das Display initalisiere?

I2C mit gcc ein paar Posts weiter oben ansehen und init steht ja im 
Datenblatt, bzw. alle Befehle.

von Thomas S. (atmeltom)


Lesenswert?

Ja wenn man damit umgehen kann habe es aber noch nie gemacht und 
verstehe es auch ein wenig.
Aber mir ist nicht bekannt was ich nach dem anschliessen machen 
muss!!!!!!!!
Welcher Befehl irgend etwas runterladen usw...

von Thomas S. (atmeltom)


Lesenswert?

Ich komme damit nicht weiter was ich installieren muss oder kann oder 
soll!!!
Könntet ihr das mal jemand erklären der gar keine Ahnung davon hat?
Habe ich Kernel 2.4. 2.5 2.6?
Sind irgendwelche treiber schon auf der karte usw..?

Im root liegt i2c-device.sh kann ich damit was anfangen?usw...


Sorry wenn ich euch als Anfänger nerve aber das ist manchmal zu viel 
Input

von Phil J. (sunflower_seed)


Lesenswert?

>Mein Problem ist, dass sich der Kernel jedes mal bei "requesting
>firmware" aufhängt, egal ob die rt73.bin in /lib/firmware liegt oder
>nicht.
Ja, genau das ist das selbe bei mir.

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Was für einen Adapter hast du? Ich hab zwei Identische, einer von 
TP-Link, einer von MSI, haben aber das selbe Innenleben.

Meine Problem-Sticks:
1
$ lsusb
2
Bus 002 Device 002: ID 148f:2573 Ralink Technology, Corp. RT2501/RT2573 Wireless Adapter
3
Bus 001 Device 003: ID 148f:2573 Ralink Technology, Corp. RT2501/RT2573 Wireless Adapter

von Phil J. (sunflower_seed)


Lesenswert?

So einen:
1
Bus 001 Device 002: ID 07d1:3c03 D-Link System DWL-G122 802.11g Adapter [ralink rt73]
Die .bin ist aber auch nicht im Kernel Paket....vielleicht kommt da was 
durcheinander.
Bin aber auch nicht so mit dem ganzen Treiberkrams vertraut.

von Ralf w. (webdirector)


Lesenswert?

Hallo Ich habe auch das asus WL-167G V3 gekauft.

wenn ich LSUSB mache den kommt erst mal nichts

Habe den die firmware in /lib/firmware von hier rein kopiert:

http://gnublin.googlecode.com/files/zImage-asus167gv3-adc-pwm-gpio

Habe auch versucht eibe neue SD karte mit der letzten firmware erstellt.
Mir ist aufgefallen wenn ic "ifup wlan0" commt device nicht gefunden,

Mach ich den "wpa_supplicant -D wext -i wlan0 -c config-wpa2 -dd -B" und 
danach nochmal " ifup wlan0" kommt wlan is configured

keine idee was ich nicht richtig mache

Danke

von Phil J. (sunflower_seed)


Lesenswert?

> wenn ich LSUSB mache den kommt erst mal nichts
Das ist schlecht. Klingt so als hättest du gar kein USB. Was sagt dmesg?
Hub dazwischen?
Hast du einen OTG Adapter der die oder hast du die Brücke zur 
Spannungsversorgung an der USB Buchse?
Hast du den Jumper für den Host-Mode gesetzt?


>habe den die firmware in /lib/firmware von hier rein kopiert:
>http://gnublin.googlecode.com/files/zImage-asus167...

Das ist ein zImage vom Kernel.
Keine Treiber firmware.

>Mach ich den "wpa_supplicant -D wext -i wlan0 -c config-wpa2 -dd -B" und
>danach nochmal " ifup wlan0" kommt wlan is configured

Das ist normal. wpa_supplicant überschreibt alles.
Aber wenn kein Stick da ist gehts trotzdem nicht.

Mach dir mal eine vernünftige SD Karte mit nem vernünftigen Kernel ausm 
Netz und allem drum und dran.

von Ralf w. (webdirector)


Lesenswert?

Hallo,
haben nun schon ein paar mal eiene neue SD gemacht. Nun nochmal über 
command line.

wenn ich
dmesg | grep -i usb

mache bekomme ich das:

device class 'usbmon': registering
device: 'usbmon0': device_add
PM: Adding info for No Bus:usbmon0
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
Initializing USB Mass Storage driver...
bus: 'usb': add driver usb-storage
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
Freescale High-Speed USB SOC Device Controller driver (Apr 20, 2007)
bus: 'platform': add driver fsl-usb2-udc
bus: 'platform': driver_probe_device: matched device fsl-usb2-udc.0 with 
driver fsl-usb2-udc
bus: 'platform': really_probe: probing driver fsl-usb2-udc with device 
fsl-usb2-udc.0
driver: 'fsl-usb2-udc.0': driver_bound: bound to device 'fsl-usb2-udc'
bus: 'platform': really_probe: bound device fsl-usb2-udc.0 to driver 
fsl-usb2-udc
bus: 'usb': add driver r8712u
usbcore: registered new interface driver r8712u
pegasus: v0.6.14 (2006/09/27), Pegasus/Pegasus II USB Ethernet driver
bus: 'usb': add driver pegasus
usbcore: registered new interface driver pegasus

Kann das sein das ich treiber probleme habe ?

Danke

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Wie kommst du darauf?

Er lädt die usbmon Treiber, Host-Controller, Mass Storage, udc (hat was 
mit USB-OTG zu tun), einen WLAN-Treiber und die Pegasus LAN Treiber, 
sieht alles normal aus.

von Ralf w. (webdirector)


Lesenswert?

Hallo Niels,

Hats du den eine Idee was es sein kann ?
Danke

von Ralf w. (webdirector)


Lesenswert?

Hallo,

Wie du sagst wenn USB alle treiber richtig geladen sind.

warum geht "lsusb" nicht.

wenn ich "lsusb" eingebe bleibt der cursor 2 secunden stehen und den 
kommt wieder der command prompt

Ich habe "J3" auf pin 2 und 3 ich menien rechts gesetzt, ist doch 
richtig so oder ?

Ich weiss nur nicht mehr wo ich suchen soll wen treiber richtig sind was 
kann den noch sein ?

kann da was mit der firmware von den WLAN stick sein ?

Danke

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Für mich sieht das so aus, als ob der ID-Pin auf Plus oder in der Luft 
hängt. Überprüf das mal.

lsusb hat nichts mit den Treibern vom WLAN Stick oder irgend einer 
Firmware zu tun.

Den onboard-Jumper auf "H" für Host, den angelöteten am ID Pin 
schliessen, sodass ID mit GND verbunden ist.

Kernelconfig nochmal überprüfen.

Andere Geräte (USB Stick...) mal anschliessen.

von Ralf w. (webdirector)


Lesenswert?

Hallo Niels,

Da ich den GNUBLIN diese woche bekommen habe dachte ich das ich ein V1.3 
habe. Nun habe ich aber festgestellt das ich eine V1.2 bekommen habe. 
Nun muss ich noch was lötten( Sieht man sher gut beim USB-Stick 
(Massenspeicher zugreifen)) application note) für V1.2.

also muss ich erst was lötten


danke für hinweis

mfg

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Ich habe immer noch das Problem mit der Firmware.

Ich habe gemerkt, dass wenn man lange genug wartet, ein Timeout kommt.

Ich habe jetzt noch einen ZD1211-Stick, welcher auch eine Firmware 
braucht bekommen, aber auch damit tut sich nichts.
1
root@gnublin:~# ifconfig wlan0 up
2
usb 1-1: firmware: requesting zd1211/zd1211b_ub
3
usb 1-1: Could not load firmware file zd1211/zd1211b_ub. Error number -2
4
zd1211rw 1-1:1.0: couldn't load firmware. Error number -2
5
ifconfig: SIOCSIFFLAGS: No such file or directory

Die firmware liegt in /lib/firmware.

von Tobi (Gast)


Lesenswert?

@kruemeltee,

wie sieht bei dir /sbin/hotplug aus ?

Gruss,
Tobi

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

1
/# find . | grep -i hotplug
2
./proc/sys/kernel/hotplug

Eine hotplug-binary gibts nicht, sonst auch nichts, nur einen Eintrag in 
/proc, siehe oben.

Brauche ich hotplug zum laden der firmware? Hotplug ist doch auch schon 
ein Weilchen "outdatet" und auf keinem aktuellen Rechner mehr.
Die neuste Version die mir mein Portage zeigt, ist von 2004...

von Tobi (Gast)


Lesenswert?

Hi Nils,

schau dir doch mal das hier an:

http://www.kernel.org/doc/pending/hotplug.txt

In meinem Fall benötige ich /sbin/hotplug um die Firmware eines LSI 
Kontrollers zu laden. Aber es gilt Firmware ist Firmware.

So sieht meine /sbin/hotplug aus:

#!/bin/sh

HOTPLUG_FW_DIR=/lib/firmware/

echo 1 > /sys/$DEVPATH/loading
cat $HOTPLUG_FW_DIR/$FIRMWARE > /sys/$DEVPATH/data
echo 0 > /sys/$DEVPATH/loading

Gruss,
Tobi

von Peter W. (Firma: Weiss Automatisierung) (pitwhite)


Lesenswert?

Hi @all,

also ich habe ein Problem bei dem ihr mir vieleicht weiterhelfen könnt.
Wenn ich mit den Befehlen
"echo 3 > export"
"echo 11 > export"
"echo 14 > export"
die gpio's aktiviere funktioniert alles richtig.
wenn ich dann aber mit
"echo 15 > export"
den gpio 15 aktivieren mochte, kann ich im Verzeichniss 
"/sys/devices/virtual/gpio" nichts mehr ansprechen. Beim Versuch z. B. 
den Inhalt aufzulisten bleibt das Board einfach stehen.

Ist das nur bei mir so ?

von Thomas S. (atmeltom)


Lesenswert?

So habe endlich das Display EA T123-I2C  im Bus drin wenn das so stimmt?
Fehlt nur noch das C-prog um das Display anzusprechen hoffe ich mal?
Denke auch das die Berechtigungen noch nicht stimmen der mknod aber vllt 
schaut mal bitte ein Profi drüber!

--------------------------
root@gnublin:~# echo Display 0x74 > 
/sys/bus/i2c/devices/i2c-1/new_device
i2c i2c-1: The new_device interface is still experimental and may change 
in a near future
i2c i2c-1: new_device: Instantiated device Display at 0x74
root@gnublin:~# ls /sys/bus/i2c/devices
0-0060  1-0074  i2c-0  i2c-1
root@gnublin:~# mknod /dev/Display c 89 1
root@gnublin:~# ls /sys/bus/i2c/devices
0-0060  1-0074  i2c-0  i2c-1
root@gnublin:~# ls /sys/bus/i2c/devices
0-0060  1-0074  i2c-0  i2c-1
root@gnublin:~# ls -l /sys/bus/i2c/devices
total 0
lrwxrwxrwx 1 root root 0 Sep 28 02:32 0-0060 -> 
../../../devices/platform/pnx-i2c.0/i2c-0/0-0060
lrwxrwxrwx 1 root root 0 Sep 28 02:32 1-0074 -> 
../../../devices/platform/pnx-i2c.1/i2c-1/1-0074
lrwxrwxrwx 1 root root 0 Sep 28 02:32 i2c-0 -> 
../../../devices/platform/pnx-i2c.0/i2c-0
lrwxrwxrwx 1 root root 0 Sep 28 02:25 i2c-1 -> 
../../../devices/platform/pnx-i2c.1/i2c-1
root@gnublin:~# ls /sys/class/i2c-adapter/i2c-1
1-0074         device  name      power      uevent
delete_device  i2c-dev  new_device  subsystem

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Ich habe soeben mal die Patch-Dateien angepasst (siehe git), so dass 
GPIO 15 - 18 auch geht. Zum Testen kann man sich das fertige zImage hier 
herunterladen:


http://gnublin.googlecode.com/files/zImage-asus167gv3-adc-pwm-gpio15-18


Gruss Benedikt

von Peter W. (Firma: Weiss Automatisierung) (pitwhite)


Lesenswert?

Hallo
habe das neue zImage grade getestet.
Gpio 15 geht damit jedoch bekomme ich beim benutzen des adc's folgende 
Meldung:
[lpc313x pwm debug message] pwm to 12336 (301%)
[lpc313x pwm debug message] pwm to 4106 (100%)

Muss für diesen Kernel auch ein neues FS eingespielt werden ?

Danke schon mal
Gruß Peter

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo Peter,

probiere es bitte jetzt nochmal. Jetzt sollte es gehen.


http://gnublin.googlecode.com/files/zImage-asus167gv3-adc-pwm-gpio15-18


@Peter: Der ADC vom Octopushut ist als nächstes dran.


Gruss Benedikt

von Peter W. (Firma: Weiss Automatisierung) (pitwhite)


Lesenswert?

Hallo Benedikt,

also der original Treiber lpc313x_adc macht immer noch das selbe 
(Debugmeldungen). Es gibt jetzt aber einen Treiber lpc3131_adc der 
einfach immer das zurückschickt was man vorher an ihn gesendet hat. Wenn 
ich z. B. mit "echo 0801 > lpc3131_adc" den Kanal 1 mit 64 
Wiederholungen aktiviere kommt bei "cat lpc3131_adc" auch immer nur 
"0801" zurück. Funktioniert der neue Treiber jetzt anders oder blicke 
ich das wieder nicht?

Danke

Gruß
Peter

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

vor ab was ergibt denn bei dir ls -l als Ausgabe im Ordner /dev ?


-rw-r--r-- 1 root root       5 Sep 26 21:06 lpc3131_adc
crw-r--r-- 1 root root 254,  0 Sep 26 03:57 lpc313x_adc
crw-r--r-- 1 root root 253,  0 Sep 26 04:21 lpc313x_pwm

da ist bei mir. Man muss dieses Device verwenden lpc313x_adc


root@elektor-gnublin:/dev# echo 0801 > lpc313x_adc
set res to 10
root@elektor-gnublin:/dev# cat lpc313x_adc
0x135
root@elektor-gnublin:/dev# cat lpc313x_adc
0x125

Ist das bei dir dann auch so?

Gruss Benedikt

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Ich vermute er hat die Major/Minor Nummern durcheinandergebracht,

Denn die Debug-Meldung kommt vom PWM und das "301%" kommt bei 
ASCII-Eingaben auf die /dev-Node öfters heraus.

ls -al, wie schon geschrieben, lüftet das Geheimnis ;)
Im dmesg siehst du, welche Nodes der Treiber haben will mit welchen 
Nummern.

von Peter W. (Firma: Weiss Automatisierung) (pitwhite)


Lesenswert?

Hallo

also ls -al ergibt unter anderem:
-rw-r--r--  1 root root       2 Sep 26 07:48 lpc3131_adc
crw-r--r--  1 root root 254,  0 Sep 26 03:57 lpc313x_adc

bei "echo 0801 > lpc313x_adc" kommt

[lpc313x pwm debug message] pwm to 14384 (351%)
[lpc313x pwm debug message] pwm to 4106 (100%)

anstatt wie bisher "set res to 10"

wieso der pwm meckert obwohl ich den adc anspreche versteh ich nicht.

Gruß
Peter

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo Peter,

leg am besten die Geräte Datei neu an.

erst löschen rm /dev/lpc3131_adc rm /dev/lpc313x_adc

cat /proc/devices

(schauen welche Nummern vergeben worden sind).

vermutlich:

mknod /dev/lpc313x_adc c 253 0

von Peter W. (Firma: Weiss Automatisierung) (pitwhite)


Lesenswert?

Hi,

cat /proc/devices sieht so aus:

  1 mem
  4 /dev/vc/0
  4 tty
  4 ttyS
  5 /dev/tty
  5 /dev/console
  5 /dev/ptmx
  7 vcs
 10 misc
 13 input
 21 sg
 89 i2c
128 ptm
136 pts
153 spi
180 usb
189 usb_device
253 usbmon
254 lpc313x_pwm

da gibt es keinen adc

Gruß
Peter

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Peter Weiss schrieb:
> da gibt es keinen adc

Dann wird wohl auch der Treiber nicht geladen sein.

$ dmesg | grep -i adc

Und schauen ob er nicht vielleicht als Modul herumliegt...

$ modprobe -l | grep adc

Wenn fest im Kernel, als Modul versuchen.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Angehängte Dateien:

Lesenswert?

Hast du die neuste Version habs heute nochmal geändert verwendet?

Hier nochmal im Anhang.

Gruss Bene

von Peter W. (Firma: Weiss Automatisierung) (pitwhite)


Lesenswert?

Hi,

vielen Dank jetzt geht er wieder. Habe die version von deinem link 
genommen und dann den Treiber neu angelegt. Das war nicht die 253 
sondern die 254 die 253 war der pwm-Treiber vieleicht hat der deshalb 
geantwortet (also mit Debug message...).

Danke
Gruß
Peter

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Tobi schrieb:
> Hi Nils,
>
> schau dir doch mal das hier an:
>
> http://www.kernel.org/doc/pending/hotplug.txt
>
> In meinem Fall benötige ich /sbin/hotplug um die Firmware eines LSI
> Kontrollers zu laden. Aber es gilt Firmware ist Firmware.

Bin jetzt erst dazu gekommen, danach zu sehen, das hat mein Problem 
gelöst, 6 verschiedene Sticks von mir, alle mit Firmware, laufen jetzt 
am Board :)

Ich glaube, damit bau ich jetzt mal ein debian-image :)

von Tobi (Gast)


Lesenswert?

Hi Nils,

prima, das freut mich.

Gruss,
Tobi

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Benedikt Sauter schrieb:
> vor ab was ergibt denn bei dir ls -l als Ausgabe im Ordner /dev ?

> -rw-r--r-- 1 root root       5 Sep 26 21:06 lpc3131_adc
> crw-r--r-- 1 root root 254,  0 Sep 26 03:57 lpc313x_adc
> crw-r--r-- 1 root root 253,  0 Sep 26 04:21 lpc313x_pwm
>
> da ist bei mir. Man muss dieses Device verwenden lpc313x_adc

Die erste Datei lpc3131_adc ist eine stinknormale Textdatei. Sie ist 5 
Bytes groß und keine Gerätedatei, wie man am ersten Minuszeichen in der 
Zeile erkennen kann. Diese kannst Du beruhigt löschen ;-)

Gruß,

Frank

EDIT:

Das erklärt auch dieses hier:

Peter Weiss schrieb:

> also der original Treiber lpc313x_adc macht immer noch das selbe
> (Debugmeldungen). Es gibt jetzt aber einen Treiber lpc3131_adc der
> einfach immer das zurückschickt was man vorher an ihn gesendet hat. Wenn
> ich z. B. mit "echo 0801 > lpc3131_adc" den Kanal 1 mit 64
> Wiederholungen aktiviere kommt bei "cat lpc3131_adc" auch immer nur
> "0801" zurück. Funktioniert der neue Treiber jetzt anders oder blicke
> ich das wieder nicht?

Peter hat da etwas in eine normale Textdatei geschrieben und auch daraus 
wieder mit cat ausgelesen - kein Wunder ;-)

von Thomas S. (atmeltom)


Lesenswert?

Toll das ich hier ne Frage stelle und sie bleibt unbeantwortet.(12 Posts 
weiter oben)
Gibts hier niemand der mir ein Beispiel senden kann damit ich das 
Display ansprechen kann eigentlich wollte Nils helfen aber anscheinend 
ist das zu low für ihn?

von MedicalView (Gast)


Lesenswert?

Thomas Serwaty schrieb:
> Toll das ich hier ne Frage stelle ...

Der Amtsarzt wird sofort informiert. Danke für deinen Hinweis.

von Thomas S. (atmeltom)


Lesenswert?

War wohl nix mit dem Amtsarzt...

von Tobi (Gast)


Lesenswert?

@atmeltom,

du wartest jetzt also seit dem 16.2 darauf das dir jemand DEINE Arbeit 
macht ?

Respekt.

von Thomas S. (atmeltom)


Lesenswert?

Darum geht es gar nicht ich dachte hier wird geholfen und habe nach 
einem BEISPIEL gefragt sonst nix.Oder das jemand mal von euch Profis 
drüberschaut was ich gepostet habe.Versteh nicht was das mit Arbeit 
MACHEN zu tun hat.Aber wie du richtig gemerkt hat niemand seit dem Datum 
mal was etwas gepostet zu dem Thema.

von Matthias R. (multicopterman)


Lesenswert?

Hi Leute,
ich habe mein Gnublin vor knapp 2 Wochen bestellt, morgen soll es ja 
dann bestückt werden und endlich geliefert werden ;)
Meine Frage: Ist es möglich, eine UART Schnittstelle (von mir aus auch 
eine virtuelle) zur Verfügung zu stellen?
Und noch eine Frage: Wie kann ich I2C Treiber schreiben? Kennt da einer 
ein gutes Tutorial?
MFG Matthias

von Bastler (Gast)


Lesenswert?

Matthias Riegler schrieb:
> ...Treiber schreiben?

Das interessiert mich auch.

Gruß Bastler

von Bernhard (Gast)


Lesenswert?

Hallo erstmal
Ich habe mir ein gnublin board besorgt und habe und möchte auch 
audioanwendungen nützen. Kenne mich mit embedded Linux noch nicht so gut 
aus und wollte fragen ob ich eine USB soundcard über ein HUB (ich 
brauche eine weitere Schnittstelle fürs Netzwerk) anschliessen kann? Ich 
habe zufällig eine transit M-AUDIO usb soundcard und bin über diese 
Anleitung gestolpert:
http://www.theory.physics.ubc.ca/transit.html

Kann ich das so umsetzen? Schlussendlich wollte ich dann pocketsphinx 
auf dem Gnublin board laufen lassen?

Freue mich auf eure Antworten.

Lg
Bernhard

von Rolf A. (Firma: ARBMED) (rolftest99)


Lesenswert?

Hallo,
erstmal ein großes Kompliment an Herrn Sauter zum
Gnublin Board. Das Lehrer Schüler Verhältnis scheint
ja nach wie vor in ihrem Fall befruchtend zu sein!
Wenn ich alles richtig verstehe hat Prof. Högl ja
nach wie vor einen tollen Einfluß auf das Gnublin Projekt.
Das wollte ich erstmal gesagt haben.
Bin seit einigen Stunden nun auch Besitzer eines Boardes und
habe soeben in meiner Mittagpause ein wenig getestet.
Der GNU Compiler ist ja wirklich langsam; klar war auch
nicht andres zu erwarten. Zu LUA, Python ua. sind ja
erste Beispiele genannt. Ist jemand aus dem Umfeld
hier ein C Interpreter, der auch hier übersetzbar wäre, bekannt?
Ich denke hier an Pawn, SLang ua. Bin auch mal einem C++
Interpreter "UnderC" begegnet der auch verwendbar erscheint?
Weiterhin wurden ja etliche Hinweise zu I2C gegeben.
Wird jemand eine Application Note dazu schreiben??
So erstmal genug
freundliche Grüße an alle
Rolftest99

von Martin B. (martin_b35)


Lesenswert?

Hat "der Gerät" eigentliche ClientMode USB
Mit mehreren und einigen MiniA auf MiniB Kabeln könnte man sicher 
interessante Dinge tun..

von Rolf A. (Firma: ARBMED) (rolftest99)


Lesenswert?

Ergänzung!
Bin soeben auf den "PICOC" C-interpreter gestoßen!
Konnte ihn sogar in 1h auf Gnublin direkt compilieren!
Hallo Welt war sofort ausführbar!

von Benedikt Sauter (Gast)


Lesenswert?

Hallo Rolf,

wenn du willst kann du gerne eine Application Note schreiben und mit per 
Mail schicken. Dann stelle ich es gleich allen zur Verfügung.


Gruss Benedikt

von Rolf A. (Firma: ARBMED) (rolftest99)


Lesenswert?

Application Note Gnublin - C-Interpreter

Wie bei "C und C++ Entwicklungsumgebung mit sshfs" gesagt dauert es 
lange
bis selbst ein "Hello World" Programm übersetzt wird (ca. 5 Min.)!
Eine Lösung für den "Quick und Dirty" Programmierer scheint dann wohl
der Griff nach dem Interpreter zu sein. Zu Lua, Python u.a. werden auch
hier Beispiele angeführt und liegen auch direkt im Root Verzeichnis des
kleinen Gnublin Boardes und empfehlen sich zum testen.
Im letzten Jahr habe ich mich dann wieder mehr mit der Embedded Welt
beschäftigt, mich an kleinen Arduino Projekten versucht und dabei 
entstand
der Wunsch nach einem kleinen C-Interpreter erst mal für den PC.
(Angelscript, Pawn und Slang sowie CH wurden ein wenig beschaut)
Heute kam denn mein Gnublin Board und während der ersten Tests habe ich 
"gegoogelt" und bin auf "Picoc" gestoßen.
Runtergeladen, getestet auf meinem Ubuntu 10.04 System, siehe da
"Hello World" läuft.
http://code.google.com/p/picoc/
Anschließend die MiniSD Card mit den Sourcen bespielt!
auch hier Platform.H angepaßt:
/* all platform-specific includes and defines go in this file */
#ifndef PLATFORM_H
#define PLATFORM_H
 /* configurable options */
 /* select your host type (or do it in the Makefile):
  * #define  UNIX_HOST
  * #define  FLYINGFOX_HOST
  * #define  SURVEYOR_HOST
  * #define  SRV1_UNIX_HOST
  * #define  UMON_HOST  */
#define UNIX_HOST
aus der Klammer genommen:

Make gestartet. Ca. 1 Stunde gewartet! Hello World Programm wie
vorher compiliert, hier lediglich interpretiert! Läuft!

Das war mein erstes Erfolgserlebnis mit dem Gnublin Board!
Man verzeihe mir meine etwas blumige Sprache!

von Hubert Hoegl (Gast)


Lesenswert?

Hallo Bernhard,

zu der Sache mit Audio: Ich habe mir vor ein paar Wochen einen USB
Audiostecker gekauft (Vigo USB Soundcard "Speedlink", mit CM-108
Chip, Preis ca. 7 Euro). Auf dem Gnublin Board musste ich einige Pakete 
installieren, so dass alsa und ogg-vorbis funktioniert. Diese habe ich 
einfach vom Debian/ARM Paket genommen und mit "alien" von .deb nach .tgz 
umgewandelt:

libao4-1.0.0.tgz
libcurl3-gnutls-7.21.0.tgz
libgssapi-krb5-2-1.8.3+dfsg.tgz
libidn11-1.15.tgz
libk5crypto3-1.8.3+dfsg.tgz
libkeyutils1-1.4.tgz
libkrb5-3-1.8.3+dfsg.tgz
libkrb5support0-1.8.3+dfsg.tgz
libldap-2.4-2-2.4.23.tgz
libsasl2-2-2.1.23.dfsg1.tgz
libspeex1-1.2~rc1.tgz
vorbis-tools-1.4.0.tgz

alsa-utils-1.0.23.tgz
libasound2-1.0.23.tgz
linux-sound-base-1.0.23+dfsg.tgz

Der Treiber fuer die Audio Karte heisst snd-usb-audio. Nachdem dieser
Treiber geladen wurde, sieht man mit lsusb folgendes:

root@armv5te:~/gnublin-alsa/usr/bin# lsmod
Module                  Size  Used by
snd_usb_audio          56402  0
snd_pcm                55025  1 snd_usb_audio
snd_timer              15782  1 snd_pcm
snd_page_alloc          3328  1 snd_pcm
snd_hwdep               4565  1 snd_usb_audio
snd_usb_lib            14247  1 snd_usb_audio
snd_rawmidi            14017  1 snd_usb_lib
snd                    31773  6 
snd_usb_audio,snd_pcm,snd_timer,snd_hwdep,snd_usb_lib,snd_rawmidi
soundcore                670  1 snd
pegasus                16772  0
mii                     3416  1 pegasus


Wenn man sich mit aplay umsieht, dann sieht man folgendes:

root@armv5te:~/gnublin-alsa/usr/bin# ./aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: default [C-Media USB Headphone Set  ], device 0: USB Audio [USB 
Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

root@armv5te:~# aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
    default:CARD=default
    C-Media USB Headphone Set  , USB Audio
    Default Audio Device

Irgendwann war es dann soweit:

root@armv5te:~# ogg123 --help
ogg123 from vorbis-tools 1.4.0
 by the Xiph.Org Foundation (http://www.xiph.org/)

Leider unterstuetzt anscheinend ogg123 Alsa nicht richtig, deshalb
muss man beim Abspielen von OGG Dateien ein wenig tricksen (habe ich in
einem Forum gefunden):

root@armv5te:~# ogg123 -d wav -f - sample.ogg | aplay

Ein laengeres Musikstueck mit 44100 Hz Abtastfrequenz wird leider nur 
mit
regelmaessigen kurzen Pausen wiedergegeben, das liegt wahrscheinlich an
dem kleinen Hauptspeicher, denn der ARM9 mit 180 MHz muesste an sich
locker zum Entkomprimieren der OGG Dateien ausreichen.  Nachdem ich
mein Musikstueck von einer CD mit 16 kHz neu gesampelt hatte mit

oggenc --resample 16000 -o out.ogg -q 2 in.wav

lief das Abspielen fluessig. Andere Funktionen, z.B. die Aufnahme mit
arecord haben auf Anhieb leider nicht funktioniert, ich nehme an, das
liegt an vielen fehlenden oder falschen Konfigurationsdateien. Wer sich
mit Alsa gut auskennt waere hier im Vorteil (leider habe ich davon fast 
keine Ahnung).

Viele Gruesse,

Hubert

von Hubert Hoegl (Gast)


Lesenswert?

Hallo Rolf,

danke fuer den Tipp zu picocom! Ich habe gleich mal ausprobiert,
den Interpreter mit dem Cross-Compiler aus dem ELDK-5 zu kompilieren.
Dazu muss man im Makefile die Zeile mit CC aendern:

   CC=arm-linux-gnueabi-gcc

Dann reicht zum Bauen einfach "make". Nach ein paar Sekunden ist der
Interpreter auf dem PC uebersetzt. Auf Gnublin dann folgendes kleine 
Programm mit vi geschrieben:

root@armv5te:~# cat hello.c

#include <stdio.h>

int main()
{
   printf("Hello Picoc!\n");
   return 0;
}

und so aufgerufen:


   root@armv5te:~# ./picoc hello.c
   Hello Picoc!

Hat also auch sofort funktioniert. Ich schlage vor, den picoc 
Interpreter
in das Root Filesystem aufzunehmen.

Viele Gruesse,

Hubert

von Tobi (Gast)


Lesenswert?

Moin,

macht aus meiner Sicht kaum Sinn den pico-c ins Root Filesystem 
aufzunehmen. Das mag für hello_world ja alles prima sein, wenn es um 
ernsthafte Projekte geht dann übersetze ich den Code entweder per 
Crosscompiler auf dem PC oder auf einem anderen ARM System wie dem 
Pandaboard.
Außerdem würde sich die Größe des Root Filesystems nur unötig 
vergrößern.

Gruss,
Tobi

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Rolf Arhelger schrieb:
> Wie bei "C und C++ Entwicklungsumgebung mit sshfs" gesagt dauert es
> lange
> bis selbst ein "Hello World" Programm übersetzt wird (ca. 5 Min.)!

Das liegt an dem viel zu knapp bemessenen RAM fürs GNUBLIN board. Schon 
beim Compiler-Aufruf wird geswapped. Ich meine, dass hier an der 
falschen Stelle gespart wurde.

von Rolf A. (Firma: ARBMED) (rolftest99)


Lesenswert?

Frank M. schrieb:
> Rolf Arhelger schrieb:
>> Wie bei "C und C++ Entwicklungsumgebung mit sshfs" gesagt dauert es
>> lange
>> bis selbst ein "Hello World" Programm übersetzt wird (ca. 5 Min.)!
>
> Das liegt an dem viel zu knapp bemessenen RAM fürs GNUBLIN board. Schon
> beim Compiler-Aufruf wird geswapped. Ich meine, dass hier an der
> falschen Stelle gespart wurde.

Man sollte mich nicht falsch verstehen. Wer direkt C-Programme fürs 
Gnublin Board entwickeln will der soll wie Hubert das bestens vormacht 
den Crosscompiler nehmen. Ich wollte mit meinem Beitrag lediglich einen 
Hinweis auf einen C-Interpreter geben für denjenigen der mal schnell 
direkt auf dem Board ein kleines Programm testen will. Weiterhin halte 
ich den Einwand mit dem nicht einstellen ins Root ein wenig unfähr. 
Jeder sollte nun mal wissen dass der Platz auf einem solch kleinen Board 
sehr beschränkt ist, wo er auch immer liegt.

Gruß
Rolf

von Tobi (Gast)


Lesenswert?

Moin,

ich finde es gut zu Dokumentieren wie man Pico-C auf dem Board zum 
laufen bringt. So muss nicht jeder der Interesse an einem C Interpreter 
hat das Rad neu erfinden. Aber weil eben der Platz sehr begrenzt ist 
würde ich es nicht automatisch mit ins Root FS aufnehmen.
Das hat nichts mit unfair zu tun.

Gruss,
Tobi

von Hubert Hoegl (Gast)


Lesenswert?

Hallo zusammen,

ich habe mal den Clex Filemanager crosskompiliert. Ich verwende ihn
zwar nicht, aber ich kenne Leute die das Programm gerne moegen. 
Vielleicht
kann es jemand brauchen.

Viele Gruesse,

Hubert


[1] Clex Homepage
   http://www.clex.sk

[2] Screenshot
http://elk.informatik.fh-augsburg.de/pub/eplpc3131/work_eplpc3131/docs/clex-screenshot.png

[3] Ausfuehrbare Datei
http://elk.informatik.fh-augsburg.de/pub/eplpc3131/work_eplpc3131/rootfs/usr/local/bin/clex

von Patrick W. (pw-sys) Benutzerseite


Lesenswert?

Hallo,

hat jemand von euch schon einen dm9601 USB LAN Adapter ans laufen 
bekommen und kann mir erklären wie ich dass hin bekomme?
Leider habe ich keine Ahnung wie ich Treiber nachinstallieren kann.

Gruß
Patrick

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Angehängte Dateien:

Lesenswert?

Hallo Patrick,

ich habe soeben mal eine Application Note geschrieben:

http://www.gnublin.org/index.php?title=AppNote-AP0026

Alternativ könntest du die Datei aus dem Anhang hier nehmen aufs 
Dateisystem kopieren ideal nach /lib/modules/2.6.33/drivers/net/usb

und dort direkt zum Testen mal aufrufen:

insmod /lib/modules/2.6.33/drivers/net/usb/dm9601.ko


Gruss Benedikt

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Für richtige Männer gibts jetzt eine Application-Note für Linux mit 
Echtzeitverhalten :-)

http://www.gnublin.org/index.php?title=AppNote-AP0027

root@gnublin:~# uname -a
Linux gnublin 2.6.33-rt8 #27 PREEMPT RT Fri Mar 9 09:35:50 CET 2012 
armv5tejl GNU/Linux
root@gnublin:~#



Gruss Benedikt

von Christopher S. (Firma: LinuMerX) (csaile)


Angehängte Dateien:

Lesenswert?

> Das Konsolentool hängt bei mir irgendwie beim "delete partitions". Hat
> das Problem auch jemand oder ist das nur bei mir? Ist gerade an zwei
> Rechner.
>
> Beides sind Ubuntu Rechner.

Hallo Benedikt,
ich hatte das Problem mit gnublin-card.py auch, dass es bei "delete 
partitions" nicht weitergeht. Das liegt daran, dass fdisk je nach 
Sprachpaket einen anderen Command-Prompt liefert (Englisch: 'Command (m 
for help):' Deutsch: 'Befehl (m für Hilfe):').

Ich habe das im Skript mit F.expect('\r\n\w+ \(\m.*\):', timeout=None) 
angepasst.

Gruß
Christopher

von Patrick W. (pw-sys) Benutzerseite


Lesenswert?

Hallo,

habe soeben versuch die dm9601.ko zu verwenden leider erhalte ich:
insmod: error inserting 'dm9601.ko': -1 Invalid module format

Die Toolchain einrichten und den Kernel neu kompilieren kann ich bedingt 
meiner Netzanbindung leider erst wenn ich Montag alles in der Uni 
runter-geladen hab.


Gruß
Patrick

von Hubert Hoegl (Gast)


Lesenswert?

Hallo Christopher,

danke fuer die Aenderung in gnublin-card.py. Ich moechte das Tool 
ehrlich
gesagt gar nicht mehr empfehlen, weil der Aufruf von fdisk nicht bei
jeder Distribution gleich ist und es deshalb immer wieder zu Problemen
kommt.  Ich habe vor ein paar Wochen mit einer Ueberarbeitung begonnen, 
die nicht mehr fdisk, sondern libparted (pyparted) verwendet. Das klappt 
auch schon ganz gut, muss es nur noch fertig machen.

Gruesse,

Hubert

von Hubert Hoegl (Gast)


Lesenswert?

Hallo Patrick (und Benedikt),

das Modul dm9601.ko ist anscheinend fuer X86, nicht fuer ARM kompiliert.
Wenn man "file dm9601.ko" eingibt, dann kommt heraus:

   /home/hhoegl/dm9601.ko: ELF 64-bit LSB relocatable, x86-64, version 1 
(SYSV), not stripped

Eigentlich sollte das sowas stehen wie


   ... ELF 32-bit LSB relocatable, ARM, version 1 (SYSV), not stripped

Gruesse,

Hubert

von Patrick W. (pw-sys) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo,

habs jetzt hinbekommen...hab jetzt die Toolchain am laufen.
Anbei die Version.

Woher bekomme ich eigentlich fehlende Tools wie ntpdate - leider finde 
ich keinen Packetmanager wie apt-get

Gruß
Patrick

von Hubert Hoegl (Gast)


Lesenswert?

Hallo Patrick,

unser Root Filesystem ELDK-5.0 hat leider noch kein Paketverzeichnis
im Internet.  Bei einer der naechsten ELDK Versionen (siehe www.denx.de) 
wird es aber eines geben (mit ipkg Paketen), so dass man dann sich 
aehnlich wie bei Debian die Pakete aus dem Netz holen kann.  Das Tool 
zum Installieren der Pakete heisst "opkg" 
(http://code.google.com/p/opkg/).
Ich habe es gestern mal cross-kompiliert, siehe
http://elk.informatik.fh-augsburg.de/pub/eplpc3131/work_eplpc3131/build/opkg-read-only-armv5/

Als Notloesung hole ich mir die Sachen aus dem Debian fuer ARM (ARMv5) 
Projekt. Das ntpdate Paket gibt es hier:

   http://packages.debian.org/squeeze/armel/ntpdate/download

Nach dem Download wandle ich das Paket in ein tar.gz Archiv um:

   alien -t ntpdate_4.2.6.p2+dfsg-1+b1_armel.deb

Das entstandene Archiv

   ntpdate-4.2.6.p2+dfsg.tgz

entpacke ich im Gnublin Root Filesystem (als auf die Micro-SD Karte)

  tar zxvf ntpdate-4.2.6.p2+dfsg.tgz

Viele Gruesse,

Hubert

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

@Patrick ups da ist mir wohl etwas schief gelaufen. Aber du hast es dann 
nach der Anleitung wohl geschafft? Das wäre ja eh der bessere Weg.

von csaile (Gast)


Lesenswert?

Hallo Hubert,
ich habe in gnublin-card.py auch ein paar kleinere Bug-fixes gemacht, 
was die tar-Archive betrifft. Falls du es als Basis für die 
überarbeitete Version machen möchtest, mache einen diff auf deine 
Version 8. Es gab Probleme, wenn vorher noch kein entpacktes tar-Archiv 
bestand. Vielleicht führte das auch zu den Problemen die Nils damit 
hatte.

Grüße
Christopher.

von Patrick W. (pw-sys) Benutzerseite


Lesenswert?

Hallo,

ich schon wieder, ich bekomme nach ein paar Minuten (gerade sogar 
während des bootens) folgenden Fehler.
1
Unable to handle kernel paging request at virtual address 808a5b40
2
pgd = c0004000
3
[808a5b40] *pgd=00000000
4
Internal error: Oops: 5 [#1]
5
last sysfs file: 
6
Modules linked in: dm9601 usbnet mii
7
CPU: 0    Not tainted  (2.6.33 #26)
8
PC is at blk_rq_map_sg+0x140/0x288
9
LR is at mmc_blk_issue_rq+0x158/0x51c
10
pc : [<c010b5a8>]    lr : [<c01914fc>]    psr: a0000013
11
sp : c04e9e50  ip : 00000000  fp : 0000000d
12
r10: c0452de8  r9 : 00000000  r8 : c0452da0
13
r7 : 00000000  r6 : 00000001  r5 : c04da1f8  r4 : c04f7a88
14
r3 : 00000001  r2 : 00000000  r1 : 0000000c  r0 : 00000000
15
Flags: NzCv  IRQs on  FIQs on  Mode SVC_32

Die virtuelle Adresse ändert sich, nicht jedoch die pgd

Gruß
Patrick

von MK (Gast)


Lesenswert?

Servus Leute,

ich versuche gerade mit dem Shellskript eine neue µSD-Karte start klar 
zumachen, weil sich mein Gnublin nicht mehr startet, ich hoff es liegt 
am Image,

Wenn ich, wie in der Anleitung vorgehe bekomm ich folgende 
Fehlermeldung:
1
linux@linux:/tmp> sudo python gnublin-card.py --all --device=/dev/sd<e>
2
bash: Syntaxfehler beim unerwarteten Wort `newline'
3
linux@linux:/tmp>

Hat Jemand einen Tipp, wo ich suchen muss, um das Problem zubeseitigen.

Gruß,
Matthias

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo Matthias,


erst mit dmesg schauen welchen Namen Linux für dein Gerät vergeben hat,
und dann den Befehl anpassen:

sudo python gnublin-card.py --all --device=/dev/sde

(Diese Klammern hinten weg) dafür aber ja das richtige Device! nicht das 
du deine Festplatte ausversehen überschreibst. Kontrolliere lieber 5 mal 
ob es passt.

Gruss Bene

von Thomas (Gast)


Lesenswert?

Hallo Leute,

noch habe ich mir kein Board bestellt, aber ich bin vom GNUBLIN-Projekt 
grundsätzlich schonmal ganz begeistert ;)

Mich würde besonders interessieren, ob man damit auch 1-Wire ansprechen 
kann.
Es gibt ja im Handel einen 1-Wire USB Adapter (DS9490R), den ich am 
liebsten mit dem OWFS (1-Wire File System) auf dem GNUBLIN laufen lassen 
würde - gibt es da schon irgendwelche Erfahrungen ?

Lässt sich OWFS relativ problemlos installieren (ein ARM Debian 
Repository ist ja vorhanden) und bleiben danach auch noch Ressourcen 
über, oder sind die 8MB RAM damit schon vollständig verbraten ?

Grüße,
- Thomas

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo Patrick,

ist das Problem immer noch? Es könnte ein Speicherproblem sein.
Eventuell sollten wir das Board austauschen.

Wenn das Problem weiterhin besteht, schreibe am besten eine kurze Mail 
an unsere info@ Adresse.

Gruss Benedikt

von Michael S. (misc)



Lesenswert?

Es gibt jetzt Version 1.3 (beta) meines GNUBLIN Installers mit folgenden 
Neuerungen:

* Es können Backups erstellt und wiederhergestellt werden. Dabei wird 
ein 1:1 Image von der SD Karte erstellt. Daraus folgt, dass ein Backup 
nur auf die gleiche Karte wieder eingespielt werden kann.

* Es gibt ein Commandline Interface "gnublin-cmdline". Es kann alles, 
was die  GUI Version auch kann (außer das Downloaden von 
Bootloader/Kernel/RootFS von der GNUBLIN Seite, das folgt in der 
nächsten Version) nur ohne GUI ;).

Das Programm steht wieder als Source, Binary und *buntu Paketdatei zur 
Verfügung, die Projektseite ist unter 
http://code.google.com/p/gnublin-installer/ erreichbar.

Michael

von Lars G. (lars_g)


Lesenswert?

Hallo, ich habe heute mein Gnublin Board das erste mal angeschlossen.

Auf der Console wird folgende Fehlermeldung immer wieder ausgegeben, so 
daß man mit dem System nicht arbeiten kann:

EXT2-fs (mmcblk0p1): error: ext2_lookup: deleted inode referenced: 7487

Kann mir hier jemand weiterhelfen?

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo Lars,

am besten steckst du die Karte in einen Linux PC.

prüfst mit dmesg was für ein Gerätename vergeben wurde.

Eventuell /dev/sdc1 und /dev/sdc2

sudo umount /dev/sdc1
sudo umount /dev/sdc2

sudo e2fsck /dev/sdc1 (mit ja alles bestätigen)
sudo e2fsck /dev/sdc2 (mit ja alles bestätigen)


Gruss Benedikt

von Kevin B. (user500)


Lesenswert?

Hey,

ich wollte auf einem GNUBLIN-Board eine WLAN-Verbindung einrichten.

WLAN-USB-Stick: ASUS WL-167G V3.

Auf der GNUBLIN Seite habe ich folgenden Link dazu gefunden:

http://www.gnublin.org/index.php?title=AppNote-AP0021#ASUS_WL-167g_v3

Wenn ich den Befehl "ifup wlan0" ausführe, dann kommt eine Fehlermeldung 
auf, dass das Board den WLAN-Stick nicht finden kann. Die LED am Stick 
leuchtet auch nicht.

Was kann man machen?

Vielen Dank schon mal im voraus für die Hilfe.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo Kevin,

hast du die Jumper alle auf Host gesteckt? Was für eine Version hast du 
v1.3 oder v1.2?

Gruss Benedikt

von Kevin B. (user500)


Angehängte Dateien:

Lesenswert?

Hallo Benedikt,

vielen Dank für die Antwort.

Der Jumper für den zweiten USB-Anschluss steckt auf Host. (Also der eine 
Jumper der neben der USB-Schnittstelle steckt.)

Ich habe eben nochmal den Befehl ifup wlan0 ausgeführt und dann kommt 
folgende Meldung auf. (siehe Screenshot).

Danke!

LG Kevin

----

Board v1.3

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Du musst zwei Jumper setzen.

http://gnublin.embedded-projects.net/index.php?title=LPC3131-Schnittstellen

USB OTG PWR auf Host und USB OTG ID muss eigentlich gesteckt sein (da 
ist nich ein Fehler im Bild wohl).

Mit lsusb kann man sich die erkennten USB-Geräte anzeigen.
Dort sollte der Stick auftauchen.

Gruss Benedikt

von Kevin B. (user500)


Angehängte Dateien:

Lesenswert?

Hey Benedikt,

hat super funktioniert. Es lag an dem zweiten Jumper.

Nun habe ich weiteres Problem. Ich konnte die Verbindung WLAN aufbauen, 
aber leider bricht die Verbindung wieder ab.

Wenn man einen PING durchführt, werden nach 3 erfolgreichen Paketen 
immer wieder mehrere Verlustpakete angezeigt. (siehe Screenshot).

Wie kann ich das Problem beheben?

Danke! LG Kevin

von Thomas Haller (Gast)


Lesenswert?

Hallo zusammen,

ich bin daran mit Gnublin ein Aufnahmegerät für Ultraschall ab 
Vorverstärker zu bauen. Ich habe eine Schaltung aufgebaut die mir die 
5V-Speisung für Gnublin bereitstellt, und das Analog-Signal wie folgt 
begrenzt:

Nun habe ich das Erste mal den Analog-Ausgang an Gnublin über GPA 1
angehängt. Messung mit einem Oszilloskop hatte zuvor konstante 1.6V am 
Ausgang ergeben. Die Messung unter Gnublin ergab aber z.B. "39c", d.h 
fast vollen Ausschlag. Ich vermute das beim aktuellen System (Gnublin 
1.3 und System auf SD-Karte am 16.03. neu aufgesetzt) von 0 - 1.8V 
Gemessen wird und nicht bis 3.3V. Lässt sich dieser Bereich einstellen? 
Eventuell über Auswahl mit "ADC_SELVREF="(LPC3131-user-manual)?

Gnublin gefällt mir und ich würde mich über helfende Hinweise freuen!

Mit freundlichen Grüssen
Thomas Haller

von Peter W. (Firma: Weiss Automatisierung) (pitwhite)


Lesenswert?

@Kevin kann das sein das du ein schlechtes Funksignal hast ?
Wenn du nach verfügbaren Netzwerken scannst wird auch der Signalpegel 
angezeigt.

@Thomas... Du versorgst dein Board mit 5 V also 0V gegen 5V daraus 
machst du -1.6V und +1.6V. Das Board kann 0V - 3,3V Messen also denke 
ich dass der ADC das 0V-Potential bei -1,6V hat das bedeutet, dass +1,6V 
für den ADC bei 1,6V+1,6V=3,2V liegen und deshalb der fast 
Vollausschlag. Du müsstest meiner Meinung nach einfach umrechnen, da 
dein 0-Punkt bei für den ADC 1,6V liegt.
Das würde folgendes bedeuten -1,6V = 0   0V = 0x1FF    +1,6V=0x3FF

Gruß Peter

von Thomas Haller (Gast)


Lesenswert?

Hallo Peter,

vom Vorverstärker kommen Sinusschwingungen mit Amplituden von maximal 
300 mV. Dieses Signal wird von meiner Schaltung Verstärkt und mit 
Gleichspannung um den halben Messbereich von Gnublin angehoben. Ohne 
anliegendes Signal habe ich so nur den Gleichspannungsanteil. GND ist 
von Gnublin und meiner Schaltung und dem Vorverstärker direkt verbunden. 
Zusätzlich zeigt auch mein Multimeter direkt an den Klemmen von Gnublin 
zwischen GPA 1 und GND ca. 1.6V. Bei maximalem Signal würde meine 
Schaltung eine Schwingung zwischen 0 und 3.2 V am Ausgang haben (wie 
oben Angegeben).

Soviel ich weiss misst auch Gnublin direkt zwischen den beiden 
Anschlüssen. Der LPC3131 hat nach Datenblatt einen externen Anschluss 
für die Vergleichspannung, sollte zwischen 2.7 und 3.6 V sein, 
entsprechend der Obergrenze der zulässigen Spannung für die 
Analogeingänge.

Ich glaube nicht, dass bei Gnublin an einem Anschluss eine negative 
Spannung anliegt. Ich werde als nächstes mal das Ausgangsignal auf 
0-1.8V reduzieren, nachdem ich mit "grep" im Quellcode vom Gnublin 
Kernel und allen Patch-Files von NXP kein ADC_SELVREF gefunden habe.

Gruss Thomas

von Kevin B. (user500)


Lesenswert?

Hey,

leider habe ich immer noch die Probleme mit dem WLAN-Stick.

@Peter: Der Laptop hat eine gute Verbindung zum Netz. Das Board liegt 
neben dem Laptop. Habe auch schon den Kanal gewechselt usw...

Der Stick wird erkannt und stellt auch eine Verbindung zu WLAN her, aber 
nach  drei erfolgreichen PINGs, bricht die Verbindung zusammen.

Zusätzlich kann ich keine USB-Sticks mounten.

root@gnublin:/# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 8564:1000
root@gnublin:/#


dmesg

findet den Stick (sda)

Aber der mount Befehl kann ich den Stick nicht mounten.. (mount 
/dev/sda1 /mnt/test)

Wie kann man das Problem lösen?


Ich hatte noch mal einen LANUSB Adapter getestet. Mit dem kann man eine 
Verbindung zum Netzwerk aufbauen.

Danke!

LG Kevin

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo Kevin,

ich könnte dir notfalls einen neuen WLAN Stick schicken. Sag bescheid,
bzw. schreib uns am besten eine Mail, dann können wir einen Auftrag 
anlegen.

Zu deinem Stick. Was für eine Meldung kommt?

Du musst das Verzeichnis /mnt/test haben mkdir -p /mnt/test
und dann muss es ein Dateisystem ext2 oder eine FAT Version sein.

Gruss Benedikt

von Kevin B. (user500)


Lesenswert?

Hallo Benedikt,

das wäre gut. Wir haben schon eine Mail über das Kontaktformular 
gesendet. An welche Adresse soll ich schreiben?

Kann das sein, dass man beim WLAN-Stick noch eine Firmware oder 
irgendwas anderes laden muss?

STICK:

Der Stick ist FAT32 formatiert. Das Verzeichnis wurde vor dem 
Mount-Vorgang im mnt Verzeichnis angelegt.

Im /dev Verzeichnis kann ich keine Sticks oder Geräte finden die sda 
heißen.

Wenn ich den Stick einstecke, wird der aber erkannt (sda, sda1).

Wenn ich den Stick mounten möchte, wird vom System die Fehlermeldung 
ausgegeben, dass das Filesystem für den Stick angegeben werden muss.

Unter Debian auf einem anderen Rechner läuft der Stick.

Danke schon mal für die Hilfe.

LG

Kevin.

von Tobi (Gast)


Lesenswert?

Hallo Kevin,

was sagt "cat /proc/partitions" ?

Schau dir mal mit "dmesg" das Kernel Log an. Und zwar einmal bevor du 
den Speicherstick bzw. WLAN Stick eingesteckt hast und einmal danach. 
Poste mal beides hier.

Wenn dir Firmware fehlen würde dürfte es gar nicht gehen, aber du sagst 
ja das das WLAN mal ganz kurz funktioniert

Gruss,
Tobi

von Kevin B. (user500)


Angehängte Dateien:

Lesenswert?

Hey Tobi,

danke für deine Antwort.

root@gnublin:/dev# cat /proc/partitions
major minor  #blocks  name

 179        0     976896 mmcblk0
 179        1     955867 mmcblk0p1
 179        2      16033 mmcblk0p2
   8        0    3921920 sda
   8        1    3917824 sda1

dev ls-al (siehe Screenshot dev_01.png)

Das ist kein sda Laufwerk zu finden, wie es in der Online-Dokumentation 
beschrieben ist.

dmesg Vorher (Siehe Textdatei dmesg_vorher.txt)
dmesg Nachher (Siehe Textdatei dmesg_nachher.txt)

LG Kevin

von Tobi (Gast)


Lesenswert?

Moin Kevin,

du kannst als root User die Device Nodes selbst anlegen:

mknod /dev/sda b 8 0
mknod /dev/sda1 b 8 1

Bemerkenswert wieviele Meldung von usb-storage kommen.

Gruss,
Tobi

von Jörg G. (grmpf)


Lesenswert?

Hallihallo,

Ganz kurzes Statement: Gnublin macht richtig Spaß!

Ein Tipp zum Thema Kernel compilieren: Wenn jemand sich selbst einen 
Kernel basteln will, dann sollte er die vorgepatchten sourcen von 
http://www.gnublin.org/downloads/linux-2.6.33-lpc313x-gnublin-032012.tar.gz 
verwenden.
Ich hatte mir zunächst gemäß online AppNotes einen vanilla 2.6.33 kernel 
geholt und den von Hand gepatcht. Allerdings bekam ich da compile-Fehler 
und nach deren Reparatur einen Kernel, der nicht bootete. Mit dem oben 
genannten vorgepatchten Kernel klappt das compilieren + booten 
wunderbar.

Noch ein Tipp: Wenn man in der Kernel Konfiguration des g_ether Moduls 
"RNDIS support" einschaltet und ein geeignetes linux.inf hat, kann man 
auch über Windows (bei mir: 7 64bit) mit USB Kabel eine 
Netzwerkverbindung aufbauen.

Und noch ein Tipp: Meine Kernelversuche hinterließen irgendwann ein 
unbrauchbares ext2 root filesystem. Die Reparatur hat mich Stunden 
gekostet, da ich die SD Karte nicht direkt in einen Rechner stecken 
konnte. Ich hab es schließlich geschafft, ein neues root file system zu 
installieren. Dieses hab ich in ein ext3 konvertiert (tune2fs -j 
/dev/mmcblk0p1), da ich hoffe, ein journaling filesystem wird mir das 
root file system seltener korrupieren. Der default Kernel sollte ext3 
automatisch erkennen.

Gruß

     Jörg

von Kevin B. (user500)


Lesenswert?

Hey Tobi, danke dir. Das hat gut funktioniert.

Ist das normal? das man im DEV Verzeichnis die Datenträger hinzufügen 
muss?

Den WLAN Stick teste ich noch mal.

Was bedeuten die Meldungen? (USB-Storage)

LG Kevin

von Kevin B. (user500)


Angehängte Dateien:

Lesenswert?

Hey,

ich habe den neuen Stick ausgetestet und habe immer noch leider den 
gleichen Fehler.

Siehe Screenshot.

Was könnten wir noch machen, um das Problem zu beheben. Danke!

LG Kevin

von Tobi (Gast)


Lesenswert?

Hi Kevin,

wenn du auf ein Gerät zugreifen willst das keinen Device Knoten hat dann 
kannst du den immer mit mknod selbst anlegen. Wie das gemacht werden 
muss steht im Quelltext des Linux Kernels unter 
/Documentation/devices.txt .
Alternative kann man auch UDEV einsetzen das die Device Knoten 
automatisch erzeugen kann. Die Frage auf solchen kleinen Systemen wie 
dem GNUBLIN ist ob man den ohnehin knappen Speicher für UDEV verwenden 
will. Da kann es sinnvoller sein die paar benötigten Devive Knoten von 
Hand an zu legen.

Was ist mit dem WLAN los ?
Der Ping vom GNUBLIN aus scheint ja dauerhaft zu klappen, nur von 
Windows aus  kommt es immer wieder zu Zeitüberschreitungen. Was zeigt 
das Kernel Log (dmesg) nachdem ping eine Weile gelaufen ist ?

Gruss,
Tobi

von Matthias R. (mons)


Lesenswert?

Was ist denn jetzt mit der I2C Schnittstelle? Ich möchte 4 Sensoren 
(Magnometer, ACC, Gyro, Baro) an die Schnittstelle hängen...

von Jörg G. (grmpf)


Lesenswert?

Hallo Kevin,

das Problem kann auch am Router liegen. Ich hatte mir vor ca. 2 Monaten 
einen neuen WLAN Router besorgt. Ausgerechnet der neueste Laptop hatte 
ziemlich die gleichen Probleme, die du beschreibst. 2 Andere Rechner 
nicht. Bei mir konnte ich das mit einem Firmware update auf Router Seite 
beheben.

Wenn du die Gelegenheit hast, teste Gnublin + WLAN Stick mal mit einem 
anderen Router.

Gruß

     Jörg

von Matthias R. (mons)


Lesenswert?

Hallo,
Ich habe noch ein Problem beim compilieren des Kernels:
Sobald ich "make menuconfig" eingebe kommt bei mir eine Fehlermeldung...
set.sh hab ich vorher so "gesourced": ". ./set.sh"
Hat einer ne Ahnung, was ich falsch mache?
mfG Matthias

von Matthias R. (mons)


Lesenswert?

Okay, das mit dem Kernel hab ich hinbekommen :) An alle die Crunchbang 
Linux nutzen: Ihr müsst noch ein zusätzliches Paket installieren ;)
Aber mit dem I2C hab ich immernoch so meine Probleme... es wäre 
hilfreich, wenn einer von euch Gurus eine Application Note schreiben 
würde ;)
LG Matthias

von Kevin B. (user500)


Lesenswert?

Hey,

vielen Dank für eure Antworten.

@Tobi: Auch der PING vom GNUBLI-Board aus, hat nicht richtig 
funktioniert. Der Ping ist einfach stehen geblieben.

@Jörg: Danke für den Tipp. Ich habe es mit einem anderen Router 
getestet. Dort hat es funktioniert.

Damit die Verbindung auch mit meinem AP funktioniert, habe ich in der 
conf-wpa2 folgende Werte angepasst:

    key_mgmt=WPA-PSK
    proto=RSN
    pairwise=CCMP
    group=CCMP

Mit diesen Einstellungen kann ich erfolgreich eine Verbindung zum 
Netzwerk herstellen (dauerhaft).

@Benedikt: Der alte Stick hat auch ein Problem mit einem anderen Rechner 
gehabt. Der neue geht ohne Probleme. Danke!

LG Kevin

von Peter Weiss (Gast)


Lesenswert?

Hallo Benedikt,

kannst du die .config - Datei für folgenden Kernel posten:

zImage-asus167gv3-adc-pwm-gpio

ich würde den gerne mit FAT-Filesystem compilieren. Damit geht dann auch 
der USB-Stick. Habe das versucht selbst zu basteln, bekomme aber den 
WLAN-Stick nicht zum laufen. Es fehlt wohl irgendwie die Firmware.

Danke Gruß
Peter

von Jörg G. (grmpf)


Lesenswert?

Matthias R. schrieb:
> Aber mit dem I2C hab ich immernoch so meine Probleme...

Ich auch. Ich hab mal die i2ctools von 
http://www.lm-sensors.org/wiki/I2CTools kompiliert und abwechselnd einen 
LM75A und einen AD7416 drangehängt und bekomme immer die selbe 
Fehlermeldung:
1
root@gnublin:~$ i2cget -y 1 0x48 0x01 b
2
i2c i2c-1: Master timed out. stat = 2a28, cntrl = 0066. Resetting master...
3
i2c i2c-1: LPC313x-I2C1: Bus is still active after xfer. Reset it...
4
Error: Read failed

Mit dem Oszi sehe ich zunächst, dass die SCL Frequenz unter 50kHz liegt 
?!?! Habs mal im Kernel verdoppelt. Das ändert aber nichts. Bei obigem 
I2C get sehe ich, dass das Addressbyte und das Register byte vom slave 
acknowledgt wird (zumindest sehe ich kein NAK). Nach fast genau 500us 
erscheint aber nochmal das selbe register byte auf dem Bus... ?!?! Wenn 
I2C "read register" richtig verstehe, sollte der Master aber zunächst 
nochmal das device address byte senden. Möglicherweise ist das ein 
Fehler - vielleicht von i2cget oder vom i2c Treiber. Dann nach ca. 1ms 
kommt nochmal was, was ich noch nicht analysiert habe. Es könnte das 
Address byte sein. Danach bleibt SDA auf 0.

Naja, ich mir mal nochmal den Linux I2C Treiber vom LPC3131 anschauen.

Gruß

    Jörg

von Kevin B. (user500)


Lesenswert?

Hey,

ich habe noch drei Fragen zum Board

1. Wie kann ich auf dem Board einen NTP-Server hinterlegen?

/etc/ntp.conf finde ich nicht.

2. Kann man PHP 5 installieren für den Webserver?

3. Kann man einen MySQL Client installieren?

Wenn ja, wie?

Danke schon mal für die Hilfe.

von Matthias R. (mons)


Lesenswert?

Jörg G. schrieb:

> Ich auch. Ich hab mal die i2ctools von
> http://www.lm-sensors.org/wiki/I2CTools kompiliert und abwechselnd einen
> LM75A und einen AD7416 drangehängt und bekomme immer die selbe
> Fehlermeldung:
> root@gnublin:~$ i2cget -y 1 0x48 0x01 b
> i2c i2c-1: Master timed out. stat = 2a28, cntrl = 0066. Resetting master...
> i2c i2c-1: LPC313x-I2C1: Bus is still active after xfer. Reset it...
> Error: Read failed

Ja, das Programm hab ich auch schon ausprobiert... Ich hätte miir doch 
sollen ein Beagle Bone kaufen... ich hab gedacht hier im Forum bekommt 
man zumindest eine kleine Hilfestellung von Gurus, aber da hab ich mich 
wohl getäuscht.
Wenn ich bei meinen nächsten Versuchen Erfolg haben sollte, melde ich 
mich.
mfG Matthias

von Phil J. (sunflower_seed)


Lesenswert?

Hallo zusammen,

>ich hab gedacht hier im Forum bekommt man zumindest eine kleine Hilfestellung von 
Gurus

Bekommst du auch, nur hier sind Studenten, die gerade Semesterbeginn 
haben oder berufstätige die jetzt kurz vor Ostern noch alle wichtigen 
Projekte durchprügeln müssen.
Das ganze ist hier nunmal OpenSource.

Bevor du mit i2ctools rumfummelst, wage dich vielleicht erstmal in die 
RTC da ist es auf jeden Fall sicher das es gehen sollte und hilft bei 
der Fehlersuche.



PHP und MySQL sollte etwas nach diesem Prinzip möglich sein, kann es 
aber auch gerade nicht testen, gelobe aber Besserung:

http://www.howtoforge.de/anleitung/installation-von-lighttpd-mit-php5-und-mysql-unterstutzung-auf-centos-50/

von Jörg G. (grmpf)


Angehängte Dateien:

Lesenswert?

Ich entschuldige mich gleich zu Beginn für so viel Text. Es sind aber 
meine gesammelten Erkenntnisse zu Gnublin & I2C, die ich hier 
wiedergeben will.

Ich hab möglicherweise einen workaround für das I2C Problem gefunden. 
Ich bin mir aber nicht sicher, was das eigentliche Problem ist und wo 
das verortet ist. Laut LPC3131 user Manual wird SCL immer auf LOW 
gelassen, wenn TX buffer leer ist. Solange, bis irgendwann ein STOP bit 
gesendet wird.

Nun hat aber zumindest der LPC3131-Linux-Treiber (i2c-pnx) offenbar ein 
Interface, das nicht ganz zu diesem Konzept passt (bitte korrigiert 
mich, wenn ich hier falsch liege). Der Treiber sendet nur für die 
letzte message, die ihm übergeben wird das STOP bit.

Wenn ich ein I2C write/read Kommando
1
root@gnublin:~$ i2cget -y 1 0x48 1 b
an den Treiber schicke, werden 2 Linux I2C messages an i2c_pnx_xfer() 
übergeben. Die erste enthält das I2C write mit address byte und register 
byte, die zweite enthält das I2C master read mit einem address byte.

Der Treiber sendet die erste Message tadellos, hat aber danach SCL auf 
LOW stehen, da das STOP bit erst mit der letzten message gesetzt wird. 
Dann gibt es mindestens 2 Probleme: i2c_pnx_start() findet, dass der Bus 
gerade von jemand benutzt wird (eigentlich ist es der Treiber selbst, 
weil STOP erst nach der letzten message versendet wird. Das ignoriert 
die Routine aber) und der Data Request Master Interrupt, der bereits 
vor dem i2c_pnx_start() Aufruf schon scharf gemacht wurde, läuft los 
(die Engine denkt ja immer noch, der TX ist nicht fertig und fordert 
Nachschub an). Die Interrupt routine widerum entscheidet, dass sie schon 
auf Empfang arbeitet, denn es handelt sich bei der zweiten message ja um 
ein I2C read, dabei ist aber noch nicht die slave address verschickt 
worden und daher landet das laut Manual erforderliche TX Dummy byte auf 
dem Bus. Das dummy byte sollte eigentlich nur dafür sorgen, dass SCL 
losläuft, da aber die Engine noch kein I2C read bekommen hat 
(i2c_pnx_start() hat es nicht geschickt), denkt sie, sie muss auf den 
Bus schreiben.

Also ich sehe hier Unklarheiten. Mir ist nicht klar, wie das Linux I2C 
user <-> kernel interface eigentlich arbeiten soll (STOP bit erst nach 
der letzten message? Oder Stop bit nach jeder message? Wer entscheidet 
dann wie über Restart bits?). Wenn da jemand Bescheid weiß, bitte ich 
ihn, mir es zu sagen. Dann weiß ich auch nicht, ob der I2C pnx Treiber 
richtig arbeitet. Wenn die I2C engine mal im Nirwana ist, kann dieser 
sie bis jetzt leider nicht zurückholen.

Mein workaround im Moment ist, nach jeder message ein STOP bit zu 
senden. Das verkraftet zumindest der LM75A und auch der AD7416.
Ich hab das patch file für den Kernel angehängt. Es ist nur die Datei 
drivers/i2c/busses/i2c-pnx.c betroffen.

Gruß

     Jörg

@Matthias: ich kann dich teilweise schon verstehen. Meine Erwartung war 
auch, dass ich mich nicht mehr mit I2C routinen rumschlagen muss, wenn 
ich von Microkontroller auf Linux umsteige. War leider nicht so. Das 
Forum allerdings kann auch nichts dafür.

von Peter W. (Firma: Weiss Automatisierung) (pitwhite)


Lesenswert?

Peter Weiss schrieb:
> Hallo Benedikt,
>
> kannst du die .config - Datei für folgenden Kernel posten:
>
> zImage-asus167gv3-adc-pwm-gpio
>
> ich würde den gerne mit FAT-Filesystem compilieren. Damit geht dann auch
> der USB-Stick. Habe das versucht selbst zu basteln, bekomme aber den
> WLAN-Stick nicht zum laufen. Es fehlt wohl irgendwie die Firmware.
>
> Danke Gruß
> Peter

@Benedikt hat sich erledigt. Ich habe es hinbekommen.

Gruß
Peter

von Thomas Haller (Gast)


Lesenswert?

Hallo Michael Schwarz und Nils Stec,

erst mal danke für die Programmierung vom lpc313x_adc, es klappt gut mit 
diesem Modul Einzelwerte zu messen.
Ich versuche derzeit den Wandler zu Messungen im kontinuierlichen Modus 
zu bewegen, bisher ohne Erfolg. Hat jemand von euch in mit dieser 
Funktion erfolge gehabt? Ich brauche für meine Anwendung 320'000 oder 
mehr Messungen pro Sekunde, was mit Einzelmessungen natürlich nicht 
möglich ist.
Ich werde mal weiter Versuchen, wenn schon Ansätze zur Lösung da sein 
sollten würde ich mich aber über Hinweise freuen.

Gruss Thomas Haller

von Matthias R. (mons)


Lesenswert?

Jörg G. schrieb:
> @Matthias: ich kann dich teilweise schon verstehen. Meine Erwartung war
> auch, dass ich mich nicht mehr mit I2C routinen rumschlagen muss, wenn
> ich von Microkontroller auf Linux umsteige. War leider nicht so. Das
> Forum allerdings kann auch nichts dafür.

Hi,
Ich habe jetzt eine meiner Meinung nach relativ nützliche Seite 
gefunden, die auch Beispielquellcodes für I2C OHNE Treiber, soweit ich 
das jetzt verstanden habe, beinhaltet.
Gruß Matthias

von Matthias R. (mons)


Lesenswert?

Sry, hab den Link vergessen...
Hier: http://free-electrons.com/
und hier:http://lxr.free-electrons.com/source/drivers/misc/bmp085.c

mfG Matthias

@Jörg: Ich werd dein Patch mal ausprobieren an meinem Kernel, an dem ich 
schon ein bisschen "gemodded" hab, würd mich auch mal interessieren, ob 
man so einen ARM übertakten kann g 200MHZ wären bestimmt drin :)

von Dominik K. (kubuntufan)


Lesenswert?

Guden,

Habe ein Problem mit dem "GNUBLIN" Board.

Habe die spidev_test_2 Routine getestet, funktioniert auch soweit.

Aber :-) (musste ja kommen) ich kann den SPI mode nicht konfigurieren.
Kann das jemand bestätigen ???

root@gnublin:~# ./spidev_test_2 -H
spi mode: 1
can't set spi mode: Invalid argument
Aborted

Gruß Kubuntufan

von Matthias R. (mons)


Lesenswert?

Es müsste eigentlich gehen, ABER bis jetzt wurde es nicht 
dokumentiert... Bei den AVRs hätte ich dir mit ISP, I2C, UART etc. alles 
sagen können, aber bei Linux muss ich mir das erstmal aneignen ;)

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo,

richtig zufrieden mit der Gnublin Homepage ware ich nie. Jetzt haben
wir folgendes gemacht:


http://wiki.gnublin.org

Dort kann jeder frei mitarbeiten.

http://forum.gnublin.org

Ein Forum, in dem wir uns dann auch gezielt an Anfänger richten.


http://www.gnublin.org wird nur noch die klassische Beschreibung
inkl. dem Schnelleinstieg für das Board sein.

Gerne könnte Ihr auf http://wiki.gnublin.org euch registrieren und die 
Texte schreiben anpassen etc.

Gruss Benedikt

von Dominik K. (kubuntufan)


Lesenswert?

Guden,

So habe mich im Forum angemeldet, würde mich auch als Moderator zu 
verfügung stellen. Aber wenn man nicht die Berechtigung hat zu Posten 
oder eine PN zu verfassen ist das schwierig.

Gruß KubuntuFan

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo Dominik,

hm ich habe gerade zwei Sachen umgestellt. Neu registrierte dürfen jetzt 
hoffentlich mehr. Ebenfalls habe ich die als Moderator aktiviert.


Gruss Benedikt

von Dominik K. (kubuntufan)


Lesenswert?

Hi Benedikt,

Kannst du noch die PN Geschichte freigeben ???
Das erleichtert die Kommunikation ;-)

Ich kann leider immer noch keine Beiträge verfassen usw.

Gruß Dominik

von Dominik K. (kubuntufan)


Lesenswert?

Hi Benedikt,

Das mit den Beiträgen kannst du streichen :-)

Gruß
Dominik

von Matthias R. (mons)


Lesenswert?

@Jörg: ich kann deinen Patch leider nicht anwenden... Lad ihn mal als 
.zip hoch, evtl. kopier ichs auch falsch in die Datei(bei mir wird bei 
öffnen ein neues Fenster geöffnet, wo der Code steht)
Kennst du eine gute Anleitung, wie man Patchs schreibt? C-Programmieren 
kann ich (nur C, kein C++ oder C#, aber ich denke, viel Unterschied ist 
da nicht)
LG Matthias

von Matthias R. (mons)


Lesenswert?

Hallo,
habt ihr auch keine /dev/i2c-xxx ???
Oder hab ich die irgendwie deaktiviert... wenn ja, wie bekomm ich das 
wieder hin???
LG Matthias

von Dominik K. (kubuntufan)


Lesenswert?

Hi,

Ich habe auch keine I2C Device.

Aber dir kann der Autor dieses Beitrages bestimmt helfen.

http://forum.gnublin.org/viewtopic.php?f=4&t=6

Gruß KubuntuFan

von Matthias R. (mons)


Lesenswert?

Danke!!

von Phil J. (sunflower_seed)


Lesenswert?

Hallo zusammen,

bin gerade am überlegen, wie man CAN auf dem GNUBLIN Board realisieren 
könnte.
Fänd ich relativ wichtig, auch im Hinblick auf Home-Automatisierung, 
etc...

Ich denke der mcp2515 wäre ganz interessant.
Dieser wird per SPI gesteuert.

Die Ansteuerung ist in C per SPI relativ einfach...da könnte man schnell 
Code zusammenstricken.

Ich sehe aber auch gerade das es einen CAN4Linux Treiber gibt, der ein 
CAN Device anlegt.
Das wäre vielleicht sogar noch schöner...
Ist die Frage ob man das Ding auf für Gnublin gebaut kriegt...vll weiß 
da jemand mehr weiß oder hat mehr Zeit übrig hat und idealerweise noch 
nen mcp rumfliegen, meine Reste sind grad weg.

von Hubert Hoegl (Gast)


Lesenswert?

Hallo Phil,

ich haette noch ein paar MCP2515 und auch die CAN Transceiver
herumliegen.  Als Treiber wuerde ich aber "SocketCAN" verwenden,
der kann bereits mit dem 2515 umgehen.

http://developer.berlios.de/projects/socketcan/

Hier ist noch ein Artikel darueber, den ich gerade gefunden habe:

http://www.can-cia.org/fileadmin/cia/files/icc/13/kleine-budde.pdf

Vor einiger Zeit haben wir mal einen 2515 an die SPI Schnittstelle
eines AVR32 (NGW100) gehaengt und socketcan cross-kompiliert. Das hat
auch ziemlich schnell funktioniert.

Gruesse,

Hubert

von Jörg G. (grmpf)


Lesenswert?

Hallo I2C Freunde,

Kurzer Hinweis: ich hab unter 
http://forum.gnublin.org/viewtopic.php?f=4&t=6 einen I2C Treiber patch 
für den LPC3131 hinterlegt, der zumindest auf meinem Gnublin board jetzt 
richtig flutscht (aktuell ist v3 weiter unten im Thread).

Gruß
     Jörg

von Matthias R. (mons)


Lesenswert?

Hi Jörg,
Ich hab jetzt deinen Patch (v4) ausprobiert. Also beim compilen 
funktioniert alles super, wenn ich die i2c-pnx.c und die zugehörige .h 
ersetze.
ABER, der Kernel bootet dann nicht, er hängt sich immer bei 
Resetting_I2C-Master aus... Woran könnte das liegen?
Desweiteren benötige ich für mein Projekt 400khz I2C Clock-Speed, wie 
muss ich deinen Patch modifizieren? Du kennst dich da besser aus als 
ich.
MFG Matthias

von Luc (Gast)


Lesenswert?

Hi,

I have a usb wifi usb stick based on the Realtek chipset as in the 
asus167v3.

But the device ID is a more recent version. The driver therefore does 
not recognise it.

It's ID = 0BDA:8176

Is it possible to make the driver recognise this newer version?

Regards

Luc

von Phil J. (sunflower_seed)


Lesenswert?

Hallo zusammen,

mal wieder ein zwei neue Dinge von mir an diesem warmen Tag.


Grafisches Gnublin-Tool:
- in der aktuellen Curl Version gibt es die types.h nich mehr. Da mecker 
der Compiler. Dementsprechend einfach auskommentieren.
- das ganze lässt sich auch für 64bitter zusammenkleben, allerdings 
liegen dort die wx Bibliotheken in '/usr/lib/x86_64-linux-gnu' das muss 
im Makefile geändert werden. Wei das aktuell auf anderen Architekturen 
aussieht wäre zu testen.
-Eine offizielle 64-bit release wäre trotzdem schön.

Serielle Schnittstelle:
- Ich konnte via picocom zunächst nicht auf das Board zugreifen. 
Symptomatisch nach einem Blick in dmesg festzustellen das ttyUSB0 sofort 
wieder ausgehängt wurde.
Ursächlcih hierfür ist das Paket "brltty".
Wers nicht brauch entfernt es am pesten via apt-get (etc) und hat dann 
ruhe.


- hat jemand schon das 5.2er ELDK in Nutzung?

- Ich ärgere mich immer noch mit Hotplug rum. Es will nicht. Es reicht 
doch eigentilch /sbin/hotplug mit entsprechendem Eintrag anzulegen und 
die Firmware in den firmware ordner zu legen? Oder fehlt beim Kernel 
backen irgendwo der Haken?


Gibt noch ein paar andere Dinge aber die muss ich erst noch in Ruhe 
testen, allersdings ist es heir unterm Dach etwas warm, daher neues zu 
späterer Stunde.

von Phil J. (sunflower_seed)


Lesenswert?

Hi Luc,

i consider that you are using a  RTL8188CUS 802.11n WLAN Adapter.
The driver for this device is not implemented in lpclinux yet (even not 
in staging version).
So there is no possibility to use this device with any of the current 
drivers at the moment.
There are some version of the rtl8192cu driver (which should support 
your device) available for embedded systems.
Maybe there is the possibility to modify those files and create a new 
driver.
But this is still a lot of work.
Regards

von Klaus S. (phoneman)


Lesenswert?

Hi Luc,
sometimes it helps to add the Device ID into the driver source. For 
example you extend the rtl8187_dev.c (below from Row41 ...), this file 
you find in linux-2.6.33-lpc313x/drivers/net/wireless directory:

{USB_DEVICE(0x0bda, 0x8176), .driver_info = DEVICE_RTL8187B},

But this is not the best solution and there is no guarantee that this 
will work. It helps me to enable a Belkin F7D2101 v1 Stick which is 
using the "rtl8712_8188_8191_8192SU". I downloaded the Linux driver from 
Realtec web page and put this into the wireless drivers directory. After 
some modifications it was possible to build the kernel and the modules. 
The Belkin Stick isn't working 100% stable yet (problems after 3-4 
hours).

Regards
Klaus

von Phil J. (sunflower_seed)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

es gibt neues...unter anderem auch was zur Webcam...

Weil ich immer alles vergesse, habe ich mal angefangen alles was so 
machbar ist aufzuschreiben.
Unter
http://beph.de/gnublin/
habe ich mal alles was so funktioniert in Form von kleinen "Anleitungen" 
oder Ideen hochgeladen.
Hier wird das wahrscheinlich etwas unübersichtlich und fürs Wiki ist es 
ohne sprachlihe Überarbeitung weniger nützlich.

Wäre schön wenn es noch mehr Artikel gäbe, wie etwas RNDIS unter 
Windows, dann wäre die Seite abgedeckt.
Oder wie man ne RTC oder Temperatursensoren anschließt...

-Im Anhang mal ein Bild was ich mit meiner Webcam gemacht habe.
Dort sieht man auch das bei mir das Board mittlerweile in einem Reichelt 
Gehäuse haust.
Viellicht kann man ja auch ein Gehäuse oder ein Experimentierboard für 
GNUBLIN herausbringen, welches genaus passt. Einige FHs sind im Gehäuse 
bauen ja scheinbar Spezialisten (hust).

-Ich habe gesehen das der CAN-Bus bereits unterstüzt wird. Auch MCPs und 
SJAs. Jetzt muss ich mir dochmal so ein Ding klauen und es an das Board 
hängen. Oder jemand von euch ist schneller ;-)

- Ein Problem scheint es bei der Stromversorgung der USB Ports zu geben.
Ich hatte ja bereits berichtet, das es nicht möglich war Geräte via Hub 
an das Board anzuschließen.
Dachte zunächst das Ausgangsseitig nicht genug Strom zur Verfügung 
stände.
Sieht aber anders aus:
Speist man den Hub (ich gebe zu es ist ein 
China-blink-blink-Werbegeschenk) zusätzlich mit 5 Volt kann ich ohne 
Probleme mehrere Geräte anhängen und sie funktionieren alle Einwandfrei.
Im Hinblick auf die Fiepserei der Schaltregler lässt sich vielleicht 
noch was überarbeiten.

-Etwas stören tut mich (wenn auch nur minimal) die Größe der Löcher für 
Schrauben auf der Platine. Sie könnten ein kleinen Ticken größer sein, 
dann passen zumindest M3(?) Schrauben.

von Philipp G. (philivanilli)


Angehängte Dateien:

Lesenswert?

hallo,

unabhängig von phil habe ich mich dran gemacht ebenfalls meine webcam 
ans laufen zu bekommen... im anhang findet ihr gjpg-streamer fertig 
kompiliert für gnublin. da ich linux neuling bin wollte ich auf die 
schnelle noch ein startskript schreiben um die jeweiligen module und 
pfade anzupassen, hat aber noch nicht so recht funktioniert mit copy & 
paste (wird aber noch folgen).
das ganze kann mit der anleitung von phil (kurz überflogen) gemacht 
werden, wichtig hierbei ist aber das einbinden der uvcstream module bei 
make menuconfig der kernelcompilierung.

wenn dies erfolgt ist die beiden befehle (unter in dem missglückten 
path.sh skript gespeichert) im verzeichnis von gjpg-streamer ausführen 
(wichtig für die ld_libriary_path) und schon kann gjpg-streamer benutzt 
werden. momentan läuft das ganze bei mir mit einer creative CREATIVE 
LIVE WEBCAM CHAT HD (conrad  976199 - 62) bei 352x288 pixeln und 30 
frames einwandfrei! :-)

weitere anfänger erkundungen folgen... eine ausführliche ausarbeitung 
ebenfalls!

grüße

philipp g.

von Michael S. (misc)


Lesenswert?

Ich habe jetzt Version 1.3.1 (beta) meines GNUBLIN Installers 
veröffentlicht.

Neuerungen gibt es diesmal keine, es sind nur ein paar Fixes damit der 
Installer auch unter Ubuntu 12.04 läuft. Er sollte sich jetzt auch auf 
64bit System kompilieren lassen.

Das Programm steht wieder als Source, Binary und *buntu Paketdatei zur
Verfügung, die Projektseite ist unter
http://code.google.com/p/gnublin-installer/ erreichbar.

Michael

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Angehängte Dateien:

Lesenswert?

Hallo Michael,

danke dir für deine Arbeit!

Ich habe hier einen 64 Bit Rechner und habe es mal mit make release 
übersetzt und nach amd64 umbenannt.

Reicht das so, dass es für 64 Bit Ubuntu 12.04 geht?

Kann das jemand mal testen?

Gruss Benedikt

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Angehängte Dateien:

Lesenswert?

Hier mal ein Bild was es in ca. 2-3 Wochen geben wird.

Wenn es der eine oder andere noch nicht entdeckt hatte.

1:1 die Schaltung von GNUBLIN unten hängt die SD-Karte drinnen.

http://wiki.gnublin.org/index.php/GNUBLIN-DIP

Gruss Benedikt

von Phil J. (sunflower_seed)


Lesenswert?

@Benedikt: Nein, die Architektur muss im control-File noch angepasst 
werden. Dann sollte es aber gehen.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Angehängte Dateien:

Lesenswert?

Ubuntu 12.04 64 Bit Version.

Bitte um Kommentare ob man diese so verwenden kann.

Die Version oben hatte noch intern eine falsche Architektur angegeben.

Gruss Bene

von Thomas K. (Firma: privat) (thomadd)


Lesenswert?

Hallo Gnublin-Gemeinde,

ich möchte hier nochmal das Thema von Thomas Haller aufgreifen. Er hatte 
ein Problem mit dem ADC Range.
Bei 10Bit Auflösung bekomme ich bei ca 1,8V (gemessen am GPA1 Pin gegen 
GND) 3ff zurück. Ich vermute es muss die Referenzspannung geändert 
werden? Kann mir da jemand unter die Arme greifen damit ich schneller zu 
dem schreiten kann was ich eigentlich mal vorhabe mit dem Board.

Vielen Dank im Voraus

von Philipp G. (philivanilli)


Angehängte Dateien:

Lesenswert?

mal ein Bild von unserem Projekt mit Gnublin.

Details werden noch folgen!

Grüße

Philipp

von Volker S. (Firma: RadsportCorner) (schreich)


Angehängte Dateien:

Lesenswert?

Kompass Modul via I2C Daten erfassen, OK. Beschleunigunssensor via A/D 
klappt auch. Jetzt aber: über USB Daten übertragen.
picocom benutzt doch /dev/ttyS0, oder?
Pseudo Netzwerk (modprobe g_ether, ifconfig usb0 10.11.12.1 up)
klappt auch. Da wird ja USB OTG benutzt. Merkwürdigerweise sehe ich
an meinem Linux-PC  nur /dev/ttyUSB0, obwohl ich doch 2 Kabel 
angeschlossen habe.

Statt Pseudo Netzwerk aufzubauen schliesse ich dieses Gerät an - siehe 
Bild. lsusb zeigt nix an am GNUBLIN.

Jetzt schliesse ich das Gerät - also das Kabel - an den Linux PC an.
Sofort wird /dev/ttyS1 sichtbar.
lsusb am Linux PC zeigt:
Bus 002 Device 016: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial
Was ist also zu tun, um USB OTG anzusprechen?
Wo finde ich das Gerät in /dev wieder?

von morob65 (Gast)


Lesenswert?

Hallo,

habt Ihr für den DIP40 schon ein ca. Preis?

Gruß
Stephan

von Hubert Hoegl (Gast)


Lesenswert?

Hallo Volker,

Du muesstest beim Kernel die Option USB_SERIAL_PL2303=m setzen, dann
bekommst Du ein Treibermodul fuer den Prolific Chip.

Gruesse,

Hubert

von Hubert Hoegl (Gast)


Lesenswert?

Hello Luc,

in my Gnublin kernel repository (branch "gnublin") at

   http://elk.informatik.fh-augsburg.de/cgi-bin/gitweb.cgi?p=gnublin-linux-2.6.33.git;a=summary

you find the directory "drivers/staging/rtl8712/" (I took the code
from a 2.6.39 kernel). The driver "r8712u" works for Asus WL-167G V3
and similar adaptors. In file "usb_intf.c" you find the supported 
Vendor/Product-IDs pairs. Maybe this could be the place to add the
VID/PID of your adaptor.

Wish you the best,

Hubert

von Volker S. (Firma: RadsportCorner) (schreich)


Lesenswert?

Hallo Hubert,
Option USB_SERIAL_PL2303=m setzen heisst doch: ein neues zImage auf die 
sdcard bringen.
1. gnublin-installer: fetch from gnublin.org für Bootloader,RootFS und 
Kernel klappt, aber dann ist nicht die Option gesetzt
2. sudo python gnublin-card.py --all holt apex.bin, kernel.tar.gz und 
rootfs.tar.gz. und dann bleibt das Programm hängen in der Zeile 
i=F.expect
Aber ich finde in config-gnublin die Zeile, die zu ändern ist. Nur: oben 
steht: make config: don't edit.
Bringt auch nix, denn alle drei - auch ohne Änderung - mit 
gnublin-installer und fetch from file erstellt zwar eine neue boot card. 
Aber beim booten bleibt es hängen:
# copy ext2://1/zImage 0x30008000
2160332 bytes transferred
# boot
ARCH_ID: 9998 (0x270e)
ATAG_HEADER
ATAG_MEM: start 0x30000000  size 0x00800000
ATAG_CMDLINE: (55 bytes) 'console=ttyS0,115200n8 root=/dev/mmcblk0p1 rw 
rootwait'
ATAG_END
Booting kernel at 0x30008000...

Gruß Volker

von Hubert Hoegl (Gast)


Lesenswert?

Hallo Volker,

man muss die Option fuer den PL2303 mit "make menuconfig" setzen (das
ist eine Option in "drivers  usb  serial ", dann muessen der Kernel 
(zImage) und die Module neu uebersetzt werden und anschliessend
auf die SD Karte uebertragen werden.

Ich habe gerade mal meinen aktuellen Kernel neu uebersetzt mit dieser
PL2303 Option und alles wichtige in ein Archiv gepackt:

  http://www.hs-augsburg.de/~hhoegl/tmp/delete-me/kernel-120618-pl2303.tar.gz

Du musst das zImage und den Ordner /lib/modules/2.6.33 auf Deiner
SD Karte ersetzen.

Gruesse,

Hubert

von Volker S. (Firma: RadsportCorner) (schreich)


Angehängte Dateien:

Lesenswert?

Hallo Hubert,
vielen Dank für den Kernel! Folgendes Problem: ich nehme das Programm 
rts.c aus rts.c-gnublin-OpenEmbedded GNU/Linux Plattform (siehe Anhang) 
und bekomme die Fehlermeldung: upscheck: /dev/ttyS1: No such device or 
address
Und zwar bei dem Befehl
(fd = open(argv[1], O_RDWR | O_NDELAY)) < 0)
Das Device habe ich vorher erzeugt mit mknod /dev/ttyS1 b 4 64
Dasselbe Programm am PC funktioniert einwandfrei.
Anhang: rts.c
        Befehlsfolge.txt
        dmesg.txt
        ll_dev.txt    zeigt /dev
Gruß und Dank schon im Voraus
Volker

von Hubert Hoegl (Gast)


Lesenswert?

Hallo Volker,

der USB-zu-UART Adapter verwendet ziemlich sicher die Geraetedatei
/dev/ttyUSB0. Die USB-UARTs legt man so an:

 mknod /dev/usb/ttyUSB0 c 188 0
 mknod /dev/usb/ttyUSB1 c 188 1
 mknod /dev/usb/ttyUSB2 c 188 2
 ...

Gruesse,

Hubert

von Volker S. (Firma: RadsportCorner) (schreich)


Angehängte Dateien:

Lesenswert?

Hallo Hubert,
das war die Lösung, vielen Dank!
Folgendes hatte ich noch vergessen:
Jumper "USB OTG PWR" und "USB OTG ID" auf "Host" setzen.

Sobald der USB->Rs232 reingesteckt wird:
usb 1-1: New USB device found, idVendor=067b, idProduct=2303
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1: Product: USB-Serial Controller
usb 1-1: Manufacturer: Prolific Technology Inc.
root@gnublin:~# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial 
Port

Noch eine Bemerkung zu I2C:
in Deinem _config war "CONFIG_GPIO_PCA953X is not set".
Deshalb habe ich den Gerätetreiber nachinstalliert, so wie in 
APPNote-AP0026 beschrieben (ganz stolz, dass ich das hingekriegt hab).

Auf dem Bild zu sehen: angeschlossen sind Mitsubishi Kleinsteuerung via 
Rs232, KompassModul HDMM01 via I2c und ein Beschleunigungssensor MemS1 
via A/D
Gruß und vielen Dank
Volker

von ingmar_k (Gast)


Lesenswert?

Servus miteinander,

wen es interessieren würde auf dem Gnublin ein Debian oder Emdebian, 
ohne viel Aufwand, zum Laufen zu bekommen, der kann sich ja mal 
folgendes ansehen:

Debian:
http://forum.gnublin.org/viewtopic.php?f=4&t=45

Emdebian:
http://forum.gnublin.org/viewtopic.php?f=4&t=65

Die Skripte wurden im Rahmen eines Semesterprojekts bei Herrn Professor 
Högl erstellt und sind inzwischen soweit nutzbar, dass ich sie guten 
Gewissens auch hier posten kann.

Soll heißen, mit den verlinkten Skripten könnt ihr euch ohne viel 
Arbeit, eine komplette SD-Karte mit der gewünschten (Em-)Debian-Version 
(squeeze, wheezy, unstable) erzeugen und anschließend sofort damit 
booten.

Gruß

Ingmar

von Stefan (Gast)


Lesenswert?

Hallo,

Seit kurzem wird die USB Console bei meinem Gnublin Board (v1.5) nicht 
mehr vom PC erkannt. Ich hatte den "error: ext2_lookup" Dateisystem 
Fehler, welchen ich gemäß Wiki Artikel behoben hab. Seit dem wird der 
USB Console Port nicht mehr erkannt. Windows meldet (am selben Port wie 
zuvor) "Unknown Device" und Linux meldet "device descriptor read/64, 
error 64", bzw. "device descriptor read/8, error -61".

Meine Frage nun: Gibt es eine Möglichkeit zu prüfen ob das Board 
überhaupt noch booted? Was kann dazu führen, dass der USB Port nicht 
mehr erkannt wird?

Vielen Dank
Stefan

von Hubert Hoegl (Gast)


Lesenswert?

Hallo,

zur Sache mit dem ADC (Beitrag vom 9.6.12 von Thomas K.). Ich habe mir
gerade nochmal den ADC-Eingang GPA1 angeschaut und zufaellig den 
gleichen
Effekt gehabt (0x3ff bei 1,8V).  Allerdings habe ich dann gesehen, dass
der ADC Wandler bei kleineren Spannungen gar nicht richtig funktioniert.
Die Loesung ist, dass ich vergessen hatte, den GPA1 Pin zunaechst mal
auszuwaehlen ueber

   echo "1" > /dev/lpc3131_adc

Danach hat es sofort funktioniert. Der analoge Messbereich ist wie zu
erwarten zwischen 0 und 3,3V (= 0x3ff). Es gibt keine Referenzspannung, 
die man aendern koennte. Man sollte darauf achten, dass keine hoehere
Spannung als 3,3V an die AD Eingaenge kommt.

Gruesse,

Hubert

von TomTom (Gast)


Lesenswert?

Das neue Forum auf Gnublin.org sendet keine Aktivierungsmails
Wollte das mal hier los werden

von Volker S. (Firma: RadsportCorner) (schreich)


Lesenswert?

Hallo Hubert
der analoge Messbereich geht bei meinem Gnublin (Version 1.5) nur bis 
1.6 Volt!
Auch nach dem Befehl:
echo "1" >/dev/lpc3113x_adc
cat       /dev/lpc3113x_adc
Ergebnis: 0x3da bei 1.6 Volt
          0x3ff bei 1.7 Volt

Dein Vorschlag
echo "1" >/dev/lpc3131_adc"
ist doch sicherlich nur ein Schreibfehler, oder?
Gruß
Volker

von rudi (Gast)


Lesenswert?

Hallo,
ich versuche gerade meine Webcam ans laufen zu bekommen (logitech hd 
c270),
sollte mit uvc treibern laufen, funktioniert aber nicht.
Ich habe den Kernel mi uvc und v4l2 kompiliert.
Beim booten bleibt gnublin stehen, mit folgenden Meldungen.

Linux video capture interface: v2.00
usbcore: registered new interface driver uvcvideo
USB Video Class driver (v0.1.0)
lpc313x-wdt lpc313x-wdt: Watchdog device driver initialized.
cpuidle: using governor ladder
lpc313x_mmc lpc313x_mmc.0: LPC313x MMC controller at irq 26
TCP cubic registered
NET: Registered protocol family 17
Waiting for root device /dev/mmcblk0p1...
mmc0: new SD card at address b368
mmcblk0: mmc0:b368 NCard 1.83 GiB
 mmcblk0: p1 p2
EXT2-fs (mmcblk0p1): warning: mounting unchecked fs, running e2fsck is 
recommended
VFS: Mounted root (ext2 filesystem) on device 179:1.
Freeing init memory: 104K
Kernel panic - not syncing: No init found.  Try passing init= option to 
kernel.
[<c0028794>] (unwind_backtrace+0x0/0xd0) from [<c021f31c>] 
(panic+0x3c/0x118)
[<c021f31c>] (panic+0x3c/0x118) from [<c00223bc>] (init_post+0xd0/0xf8)
[<c00223bc>] (init_post+0xd0/0xf8) from [<c00089cc>] 
(kernel_init+0xdc/0x10c)
[<c00089cc>] (kernel_init+0xdc/0x10c) from [<c0023dc4>] 
(kernel_thread_exit+0x0/0x8)

Hab ich was beim kompilieren falsch bemacht? Kann mir da Bitte jemand 
weiterhelfen?

von rudi (Gast)


Lesenswert?

Hallo,

das Problem mit der Webcam c270 hat sich gerade gelöst.
Ich habe den Fehler gemacht den kompletten lib Ordner auf die Karte zu 
kopieren. Jetzt scheint es zu funktionieren. Mache gerade Bilder mit 
mjpg-streamer.
Nach dem anstecken erscheint

usb 1-1: New USB device found, idVendor=046d, idProduct=0825
usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=2
usb 1-1: SerialNumber: 1FC3BC00
uvcvideo: Found UVC 1.00 device <unnamed> (046d:0825)
input: UVC Camera (046d:0825) as 
/devices/platform/lpc-ehci.0/usb1/1-1/1-1:1.0/input/input0

Nach Aufruf von mjpg-streamer von Philipp G. erscheint diese Ausgabe.

root@gnublin:~/streamer/mjpg-streamer# export LD_LIBRARY_PATH="$(pwd)"
root@gnublin:~/streamer/mjpg-streamer# modprobe uvcvideo
root@gnublin:~/streamer/mjpg-streamer# ./mjpg_streamer -i 
"./input_uvc.so" -o ".
/output_http.so -w ./www"
MJPG Streamer Version: svn rev:
 i: Using V4L2 device.: /dev/video0
 i: Desired Resolution: 640 x 480
 i: Frames Per Second.: 5
 i: Format............: MJPEG
Adding control for Pan (relative)
Adding control for Tilt (relative)
Adding control for Pan Reset
Adding control for Tilt Reset
Adding control for Pan/tilt Reset
Adding control for Focus (absolute)
mapping control for Pan (relative)
mapping control for Tilt (relative)
mapping control for Pan Reset
mapping control for Tilt Reset
mapping control for Pan/tilt Reset
mapping control for Focus (absolute)
mapping control for LED1 Mode
mapping control for LED1 Frequency
mapping control for Disable video processing
mapping control for Raw bits per pixel
 o: www-folder-path...: ./www/
 o: HTTP TCP port.....: 8080
 o: username:password.: disabled
 o: commands..........: enabled

Wieso wird eigentlich /dev/video0 verwendet und nicht
input: UVC Camera (046d:0825) as 
/devices/platform/lpc-ehci.0/usb1/1-1/1-1:1.0/input/input0 ?
Das Device habe ich neulich nach der Anleitung von Phil J. angelegt.

Gruß
Rudi

von L. R. (Gast)


Lesenswert?

Hi,
hat jemand gute Beispiele um die GPIOs in C zu verwenden?

mfg

von Dominik K. (kubuntufan)


Lesenswert?

Tach auch,

@L. R.

Schau mal hier.
Habe ich schon mal angefangen.
http://forum.gnublin.org/viewtopic.php?f=10&t=43

Gruß KubuntuFan

von Benedikt (Gast)


Lesenswert?

Hallo,

jetzt gibt es endlich die 32 MB Version:

http://shop.embedded-projects.net/index.php?module=artikel&action=gruppe&id=62


Gruss Benedikt

von bblochl (Gast)


Lesenswert?

Gnublin ist ja sehr interessant und ebenso die Liste der (geplanten) 
Scriptsprachen. Gerade für Embedded-Anwendungen finde ich Scriptsprachen 
über die Shell hinaus auf dem Board für einen unschätzbaren 
Produktivitätsvertärker.

Die Liste enthält Scriptsprachen, die nur mit g++, also dem GNU c++ 
Compiler kompilieren.  Wird die ARM-Prozessorfamilie vom g++ 
unterstützt? (Ich habe bisher keine ARM-Erfahrung, Internetsuche nach 
g++ mit Ziel ARM war erfolglos, fand nur gcc. Vielleicht suchte ich aber 
an der falschen Stelle oder mit der falschen Suchfrage?)

Möglicherweise gibt es außerdem ein Speicherproblem. Entpackt hat der 
tar-File von Squirrel bereits 1 MB, der von LUA ist nur knapp unterhalb 
(die paar kB an Texten der Einfachheit halbermal mitgerechnetr. Das 
Python-Verzeichnis hat gleich 61,8 MB. Für jimtcl habe ich mich im 
Zusammenhang mit "embedded" schon früher interessiert, das 
jimtcl-0.73-Verzeichnis hat 9,3 MB. Vermutlich müßte man ziemlich viel 
abspecken, was praktisch einer Neuentwickjlung (zeitintensiv) geich 
kommt.

Unabhängig von Speicherfragen wäre es schön,wenn mir jemand einen 
Hinweis zu einem g++ Compiler für Gnublin zum "Spielen" geben könnte.

Gruß BB

von bblochl (Gast)


Lesenswert?

Nachgeschoben:
Im ubuntu Repository befindet sich ein g++-Crosscompiler für ARM, 
Version 4.5. (Habe den nicht probiert, bin leider Theoretiker und muss 
erst mal die DOKU lesen.)

von bblochl (Gast)


Lesenswert?

Wer lesen kann ist klar im Vorteil (gilt mir selbst!):

http://elk.informatik.fh-augsburg.de/pub/eplpc3131/gnublin-ug/#programme-fur-gnublin-erstellen

Siehe Kapitel 9 - es gibt ja schon (fast) Alles, was man sich zum 
Programmieren wünscht. Selber machen kann damit weitgehend entfallen.

Gruß BB

von rene (Gast)


Lesenswert?

Pollin. schau mal rein 6,50 + lcd modul.

von chk (Gast)


Lesenswert?

GPIO mit Interrupt registrieren:

Hallo zusammen,
ich bin gerade dabei über den GPIO_Keys-Treiber einen GPIO-Pin mit 
zugehörigem Interrupt zu registrieren.


Hierzu habe ich in der Quelldatei ea3131x.c die drei Strukturen für den 
Treiber eingefügt und der init-Struktur übergeben.
Quelltext siehe:
http://pastebin.com/PF9nsfB4

Im menuconfig habe ich den dazugehörigen Treiber unter Keyboard 
aktiviert.
Das ganze lässt sich auch einwandfrei compilieren. Wenn ich nun das 
Board starte kommt folgende Fehlermeldung in der Konsole:

gpio-keys gpio-keys: Unable to get irq number for GPIO 5, error -1
gpio-keys: probe of gpio-keys failed with error -1

Ich weiß nicht wieso er hier den IRQ für GPIO 5 sucht, obwohl ich GPIO11 
angegeben habe?!

Bin dankbar für jeden Tip :)

Gruß
chk

von Alex (Gast)


Lesenswert?

Hallo Gnublin Fans,
bitte um eure hilfe, ich komme hier nicht weiter:

APEX Boot Loader 1.6.8-ep -- Copyright (c) 2004-2008 Marc Singer
  compiled for Embedded Projects EPLPC3131 on 2011.Sep.28-23:58:20

    APEX comes with ABSOLUTELY NO WARRANTY.  It is free software and
    you are welcome to redistribute it under certain circumstances.
    For details, refer to the file COPYING in the program source.

  apex => mem:0x11029000+0xd8d8   (55512 bytes)
  env  => lnand:512k+256k         (bad-region)

    Use the command 'help help' to get started.

# wait 2

# copy ext2://1/zImage 0x30008000
1701904 bytes transferred
# boot
ARCH_ID: 9998 (0x270e)
ATAG_HEADER
ATAG_MEM: start 0x30000000  size 0x00800000
ATAG_CMDLINE: (55 bytes) 'console=ttyS0,115200n8 root=/dev/mmcblk0p1 rw 
rootwait'
ATAG_END
Booting kernel at 0x30008000...
Uncompressing Linux... done, booting the kernel.
Linux version 2.6.33 (sauterbe@bene) (gcc version 4.5.1 (GCC) ) #26 Sun 
Mar 4 08:07:54 CET 2012
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: NXP EA313X
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 
2032
Kernel command line: console=ttyS0,115200n8 root=/dev/mmcblk0p1 rw 
rootwait
PID hash table entries: 32 (order: -5, 128 bytes)
Dentry cache hash table entries: 1024 (order: 0, 4096 bytes)
Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
Memory: 8MB = 8MB total
Memory: 4736KB available (2932K code, 186K data, 104K init, 0K highmem)
Hierarchical RCU implementation.
NR_IRQS:37
irq=30 Event=0x67 bank:3 bit:7 type:3
irq=31 Event=0x7a bank:3 bit:26 type:2
irq=32 Event=0x77 bank:3 bit:23 type:2
irq=33 Event=0x7b bank:3 bit:27 type:0
irq=34 Event=0x18 bank:0 bit:24 type:1
irq=35 Event=0x17 bank:0 bit:23 type:0
irq=36 Event=0x55 bank:2 bit:21 type:0
Console: colour dummy device 80x30
console [ttyS0] enabled
Calibrating delay loop... 89.70 BogoMIPS (lpj=448512)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
gpiochip_add: gpios 15..46 (EBI_MCI) not registered
enabling USB host vbus_power
Registering USB host 0x00203020 0x0ec00004 (3)
LPC31: Power Management init.
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
cfg80211: Calling CRDA to update world regulatory domain
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 512 (order: 0, 4096 bytes)
TCP bind hash table entries: 512 (order: -1, 2048 bytes)
TCP: Hash tables configured (established 512 bind 512)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
pca9532 0-0060: setting platform data
i2c i2c-0: Master timed out. stat = 2a00, cntrl = 000e. Resetting 
master...
i2c i2c-0: Master timed out. stat = 2a00, cntrl = 000e. Resetting 
master...
i2c i2c-0: Master timed out. stat = 2a00, cntrl = 000e. Resetting 
master...
i2c i2c-0: Master timed out. stat = 2a00, cntrl = 000e. Resetting 
master...
i2c i2c-0: Master timed out. stat = 2a00, cntrl = 000e. Resetting 
master...
i2c i2c-0: Master timed out. stat = 2a00, cntrl = 000e. Resetting 
master...
NetWinder Floating Point Emulator V0.97 (double precision)
msgmni has been set to 16
alg: No test for stdrng (krng)
io scheduler noop registered (default)
[lpc313x adc] driver loaded with major 254
[lpc313x adc] >> $ mknod /dev/lpc313x_adc c 254 0
[lpc313x pwm] pwm frequency: 1464 Hz
[lpc313x pwm] driver loaded with major 253
[lpc313x pwm] >> $ mknod /dev/lpc313x_pwm c 253 0
Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
�serial8250: ttyS0 at MMIO 0x15001000 (irq = 10) is a NXP16750
�serial8250.0: ttyS0 at MMIO 0x15001000 (irq = 10) is a NXP16750
brd: module loaded
loop: module loaded
spi_lpc313x spi_lpc313x.0: LPC313x SPI driver
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
lpc-ehci lpc-ehci.0: LPC EHCI Host Controller
lpc-ehci lpc-ehci.0: new USB bus registered, assigned bus number 1
lpc-ehci lpc-ehci.0: irq 27, io mem 0x19000000
lpc-ehci lpc-ehci.0: USB 2.0 started, EHCI 1.00
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: LPC EHCI Host Controller
usb usb1: Manufacturer: Linux 2.6.33 ehci_hcd
usb usb1: SerialNumber: lpc-ehci.0
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
Freescale High-Speed USB SOC Device Controller driver (Apr 20, 2007)
mice: PS/2 mouse device common for all mice
i2c /dev entries driver
lpc313x-wdt lpc313x-wdt: Watchdog device driver initialized.
cpuidle: using governor ladder
lpc313x_mmc lpc313x_mmc.0: LPC313x MMC controller at irq 26
usbcore: registered new interface driver r8712u
TCP cubic registered
NET: Registered protocol family 17
Waiting for root device /dev/mmcblk0p1...
mmc0: new SD card at address 0007
mmcblk0: mmc0:0007 SD02G 1.84 GiB
 mmcblk0: p1 p2
EXT2-fs (mmcblk0p1): warning: mounting unchecked fs, running e2fsck is 
recommended
VFS: Mounted root (ext2 filesystem) on device 179:1.
Freeing init memory: 104K
Warning: unable to open an initial console.
Kernel panic - not syncing: No init found.  Try passing init= option to 
kernel.
[<c0028794>] (unwind_backtrace+0x0/0xd0) from [<c02344c0>] 
(panic+0x3c/0x118)
[<c02344c0>] (panic+0x3c/0x118) from [<c00223bc>] (init_post+0xd0/0xf8)
[<c00223bc>] (init_post+0xd0/0xf8) from [<c00089cc>] 
(kernel_init+0xdc/0x10c)
[<c00089cc>] (kernel_init+0xdc/0x10c) from [<c0023dc4>] 
(kernel_thread_exit+0x0/0x8)

Was ist hier falsch? Warum bleibe ich da immer hängen?
Danke im Voraus
Alex

von Phil J. (sunflower_seed)


Lesenswert?

Entweder fehler im Filesystem oder wahrscheinlicher falsch kompilierter 
Kernel (make clean vergessen)..

von Figlux E. (Firma: figlux electronix) (fuxl)


Lesenswert?

Will gerne in die embedded Linux Welt einsteigen, jetzt gibt es für mich 
gnublin und das Raspberry Pi..
Wo liegen die vor und Nachteile?

von Thomas S. (doschi_)


Lesenswert?

Daniel F. schrieb:
> gnublin und das Raspberry Pi..
> Wo liegen die vor und Nachteile?

schau mal hier: Beitrag "Raspberry vs. Gnublin Board"

von Harald (Gast)


Lesenswert?

Es gibt da noch etwas schau dir mal das Carambola von 8devices an.

http://www.8devices.com/product/3/carambola

von Alex (Gast)


Lesenswert?

Hallo an Alle,
bin jetzt durch und habe Debian auf Gnublin ans laufen bekommen, nur 
aber mit Hilfe von Win32DiskImager ??!!Sonst nicht!Ich habe alles 
ausprobiert was beschrieben wurde, Fehlschlag.Einfach alles nur Super, 
habe ich gedacht.Jetzt kann aber GPIO im WebServer nicht schalten, es 
fehlt die Grundversorgung im /sys/class/gpio ?! Man man, das ist ja ein 
starkes Stück!
Nur ärger damit, habe viel Geld investiert in das Board, 
Netzwerkadapter, Relays und jetzt kann alles in die tonne kicken? Warum 
wurde das Werk nicht vervollständigt??Soll das eine Bastelstunde sein 
oder was?Vielen Dank an Alle für die tolle zusammenarbeit,super Leistung 
keine Frage!Aber nicht mit mir!Mfg Alex.

von Benedikt Sauter (Gast)


Lesenswert?

Hallo Alex,

wir sind mit Hochdruck an der Debian Distribution dran. Seit gestern 
haben wir eine fertige Version. Ich stell Sie nachher mal online, in der 
alles geht, was im Wiki beschrieben ist.


Ich hoffe du bist dann wieder besser darauf besser zu sprechen.

In ca. 3-4 Stunden kopiere ich den Link hier rein.

Gruss Benedikt

von PEBKAC (Gast)


Lesenswert?

Alex schrieb:
> Nur ärger damit, habe viel Geld investiert in das Board,
> Netzwerkadapter, Relays und jetzt kann alles in die tonne kicken? Warum
> wurde das Werk nicht vervollständigt??Soll das eine Bastelstunde sein
> oder was?Vielen Dank an Alle für die tolle zusammenarbeit,super Leistung
> keine Frage!Aber nicht mit mir!Mfg Alex.

PEBKAC ?

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo,

also hier ist das Debian mit GPIO etc...

Es ist ein Snapshot aus dem Buildprozess den wir gerade aufbauen:

http://www.gnublin.org/downloads/gnublin_debian.tar.gz


tar xvzf gnublin_debian.tar.gz

und dann das Image mit dd oder Windows tools auf eine 2 GB Karte 
schieben.

In ca. 1-2 Wochen geht die Distribution inkl. allen Anleitungen online.

Gruss Benedikt

von Mr Bean (Gast)


Lesenswert?

Hallo

Ich bin am überlegen, mit ein gnublin Board in der DIP ausführung zu 
bestellen. Habe mir auch die Tutorials überflogen. Allerdings frage ich 
mich noch, wie ich bei der DIP Version an einen Kommandozeile komme. 
Geht das über die USB Schnittstelle auf den Pins oder über die UART 
Schnittstelle auf den Pins?

Können hier vielleicht auch ein paar schon berichten, wie sie mit der 
DIP Version zurecht gekommen sind? (Einstieg?)

Kann ich über die USB Schnittstelle auf den PIN`s einen USB WLAN Stick 
anschließen? Gibt es hier wie beim raspberry pi eine Liste mit WLAN 
Sticks, die getestet wurden?

Danke im Voraus

Gruß

Bean

von MK (Gast)


Lesenswert?

wegen den Sticks muss du mal das offizielle Forum durchsuchen

von Benedikt (Gast)


Lesenswert?

Weihnachtsaktion:

https://www.youtube.com/watch?v=28Qd3JxfXBA


Gruss Benedikt

von Jens A. (micro)


Lesenswert?

Hallo,


ich habe nochmal ein Frage zum Gnublin Board.
Darf man mit dem Board kommerzielle Elektronik verkaufen.
Also hat das Board schon CE und ist bei der WEEE regestriert?
Oder muss man das sleber erledigen dann?

von Benedikt Sauter (Gast)


Lesenswert?

Hallo,

bei WEEE ist es registriert. EMV Messungen wurden einzeln mal gemacht. 
Jedoch kommen die Probleme meist erst bei zusätzlichen Leitungen etc. 
also das hängt dann sehr stark vom Einbau ab.

Im Zweifel kannst du uns gerne kontaktieren. Wir haben das gerade öfters 
auf dem Tisch.

Gruss Benedikt

von Philipp Kälin (Gast)


Lesenswert?

Ich habe ein Problem beim erstellen der SD-Karte. Ich arbeite mit Arch 
Linux und da funktioniert leider weder der GUI-Installer noch das Python 
Script um eine Karte zu erstellen.

Der GUI Installer funktionier nicht, da in neuen Versionen der
1
libparted
 unter anderem die Funktion
1
ped_file_system_create
 nicht mehr vorhanden ist (deprecated). Das Python Script wird ja leider 
schon lange nicht mehr gewartet.

Jetzt habe ich wie [http://wiki.gnublin.org/index.php/SD-Karte_wechseln 
hier] beschrieben die Karte partitioniert. Aus dem XML-File des 
Installers habe ich mir die Links zu den Dateien
1
kernel.tar.gz
,
1
gnublin_debian_rootfs.tar.gz
 und
1
apex.bin
 geholt und heruntergeladen. Den Kernel und das RootFs habe ich auf die 
grosse EXT3 partition entpackt, die
1
apex.bin
 einfach mal mit
1
dd
 auf die zweite 16MB Partition kopiert.

Danach kommt im Terminal folgedes und er belibt beim Booten des Kernels 
hängen:
1
APEX Boot Loader 1.6.8-ep -- Copyright (c) 2004-2008 Marc Singer
2
  compiled for Embedded Projects EPLPC3131 on 2013.Mai.22-14:30:42
3
4
    APEX comes with ABSOLUTELY NO WARRANTY.  It is free software and
5
    you are welcome to redistribute it under certain circumstances.
6
    For details, refer to the file COPYING in the program source.
7
8
  apex => mem:0x11029000+0xd8d8   (55512 bytes)
9
  env  => lnand:512k+256k         (bad-region)
10
11
    Use the command 'help help' to get started.
12
13
# wait 2
14
15
# copy ext2://1/zImage 0x30008000
16
1718048 bytes transferred
17
# boot
18
ARCH_ID: 9998 (0x270e)
19
ATAG_HEADER
20
ATAG_MEM: start 0x30000000  size 0x00800000
21
ATAG_CMDLINE: (55 bytes) 'console=ttyS0,115200n8 root=/dev/mmcblk0p1 rw rootwait'
22
ATAG_END
23
Booting kernel at 0x30008000...

Wo könnte der Fehler liegen, bzw. wie kann ich eine Karte erstellen? Hat 
jemand ev. ein Komplettes Image das mit dd erstellt wurde?

von Manuel (Gast)


Lesenswert?

Hallo Phillip,

dein Vorgehen sieht völlig in Ordnung aus!

Hast du das Gnublin mit 8mb oder mit 32mb Speicher? Falls du die 8MB 
Version hast, aber den kernel/bootloader für die 32mb Version benützt, 
dann kommt es genau zu dem verhalten, dass er beim booten des Kernels 
stehen bleibt.

http://www.gnublin.org/downloads/gnublin_distribution/8MB/apex.bin und
http://www.gnublin.org/downloads/gnublin_distribution/8MB/kernel.tar.gz

Das sind die beiden Files für die 8MB Version, das Rootfs ist das selbe.

Hier gibt es übrigens Links für die benötigten Dateien und kompletten 
SD-Karten Images:
http://wiki.gnublin.org/index.php/GNUBLIN_Distribution_Versionen#2GB_Image

Grüße
Manuel

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.