FHEM Forum

FHEM - Hardware => Einplatinencomputer => Thema gestartet von: raspklaus am 06 Mai 2015, 12:30:31

Titel: Cubietruck, Igor Image und OWL Energiemesser - Fehler beim Kompilieren
Beitrag von: raspklaus am 06 Mai 2015, 12:30:31
Hallo zusammen,

ich setze einen Cubietruck mit dem Igor Image 3.4.107 ein. Da der standartmässig mitgelieferte cp210x Treiber nicht so recht mit dem OWL Energiemesser arbeitet muss der Treiber gepatched bzw. der gepatchte neu kompiliert werden.

Hier die Diff angaben:

--- drivers/usb/serial/cp210x.c.orig    2015-02-10 22:37:33.172408517 +0100
+++ drivers/usb/serial/cp210x.c 2015-02-10 22:41:58.569142037 +0100
@@ -410,8 +410,9 @@
  */
 static unsigned int cp210x_quantise_baudrate(unsigned int baud)
 {
-       if (baud <= 300)
-               baud = 300;
+       if ( baud == 0 )
+               baud = 250000; /* KLUDGE for Owl Energy Monitor, Use baud rate (B0 Hang up) that is unlikley to be of any use */
+       else if (baud <= 300)      baud = 300;
        else if (baud <= 600)      baud = 600;
        else if (baud <= 1200)     baud = 1200;
        else if (baud <= 1800)     baud = 1800;



Der neue Treiber lässt sich auch ohne Fehlermeldung kompilieren aber wenn ich ihn lade kommen folgende Fehlermeldungen:

Message from syslogd@localhost at May 5 19:46:01 ...
kernel:[95248.722493] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
Segmentation fault
root@cubietruck:~/cp210#
Message from syslogd@localhost at May 5 19:46:01 ...
kernel:[95249.734682] Process modprobe (pid: 15622, stack limit = 0xee4d22f0)

Message from syslogd@localhost at May 5 19:46:01 ...
kernel:[95249.744552] Stack: (0xee4d3ee0 to 0xee4d4000)

Message from syslogd@localhost at May 5 19:46:01 ...
kernel:[95249.758183] 3ee0: ee140a80 bf52b860 00000000 c0082014 bf52b86c 00007fff 00000000 c00cbde8

Message from syslogd@localhost at May 5 19:46:01 ...
kernel:[95249.771937] 3f00: eeb5f234 00000000 00000124 c007fdd4 ee4d2030 f0c79ed8 b6f4ed50 f0c79714

Message from syslogd@localhost at May 5 19:46:01 ...
kernel:[95249.785659] 3f20: f0c79988 f0c79eb0 ee417c00 00000000 00000000 00000000 00000000 00000000

Message from syslogd@localhost at May 5 19:46:01 ...
kernel:[95249.799479] 3f40: 00000000 f0c75000 00007275 f0c79988 f0c7982b f0c7b648 000029b4 00002e14

Message from syslogd@localhost at May 5 19:46:01 ...
kernel:[95249.813260] 3f60: 00000000 00000000 00000021 00000022 00000019 00000016 00000012 00000000

Message from syslogd@localhost at May 5 19:46:01 ...
kernel:[95249.827023] 3f80: 08000071 00000000 b8b08360 b8b08280 00000080 c000eac4 ee4d2000 00000000

Message from syslogd@localhost at May 5 19:46:01 ...
kernel:[95249.840761] 3fa0: 00000000 c000e940 00000000 b8b08360 b6d92000 00007275 b6f4ed50 00000002

Message from syslogd@localhost at May 5 19:46:01 ...
kernel:[95249.854469] 3fc0: 00000000 b8b08360 b8b08280 00000080 00000000 b6f4ed50 00007275 00000000

Message from syslogd@localhost at May 5 19:46:01 ...
kernel:[95249.868155] 3fe0: 00040000 bede08d4 b6f48b07 b6ecb264 60000010 b6d92000 00000000 00000000

Message from syslogd@localhost at May 5 19:46:01 ...
kernel:[95249.908430] Code: e5943154 e5911014 e2833004 e7922101 (e7931002)


Ich habe keine Idee was da schief läuft
Titel: Antw:Cubietruck, Igor Image und OWL Energiemesser - Fehler beim Kompilieren
Beitrag von: raspklaus am 11 Mai 2015, 12:49:43
Gibt es denn hier wirklich keinen der sich mit dieser Materie auskennt ?
Titel: Antw:Cubietruck, Igor Image und OWL Energiemesser - Fehler beim Kompilieren
Beitrag von: Wernieman am 12 Mai 2015, 10:38:09
Wie hast Du es kompiliert? gegen welche Kernelquellen? Kernelquellen = Kernel?
Titel: Antw:Cubietruck, Igor Image und OWL Energiemesser - Fehler beim Kompilieren
Beitrag von: raspklaus am 12 Mai 2015, 11:14:08
Die Kernelquellen sind im Igor Image vorhanden
3.4.107-cubietruck
mit folgendem Makefile:
obj-m = cp210x.o
KVERSION = $(shell uname -r)
all:
make -C /lib/modules/$(KVERSION)/build M=$(shell pwd) modules
clean:
make -C /lib/modules/$(KVERSION)/build M=$(shell pwd) clean



Beim Kompilieren tritt kein Fehler auf
Titel: Antw:Cubietruck, Igor Image und OWL Energiemesser - Fehler beim Kompilieren
Beitrag von: Wernieman am 12 Mai 2015, 11:17:06
Gucke bitte mal, welcher Kernel läuft
uname -a

Das ungepatchte Modul kannst Du kompilieren und starten?
Titel: Antw:Cubietruck, Igor Image und OWL Energiemesser - Fehler beim Kompilieren
Beitrag von: raspklaus am 12 Mai 2015, 12:21:48
Der ungepatchte ist ja schon vorhanden und der lässt sich starten

Die Ausgabe von uname -r steht im obigen Beitrag

uname -a

Linux cubietruck 3.4.107-cubietruck #14 SMP PREEMPT Wed Apr 29 11:57:42 CEST 2015 armv7l GNU/Linux
Titel: Antw:Cubietruck, Igor Image und OWL Energiemesser - Fehler beim Kompilieren
Beitrag von: Wernieman am 12 Mai 2015, 12:59:09
Hast Du mal probiert, den kompletten Kernel neu zu bauen?

Mich wundert wirklich:
Segmentation fault
Titel: Antw:Cubietruck, Igor Image und OWL Energiemesser - Fehler beim Kompilieren
Beitrag von: raspklaus am 12 Mai 2015, 13:29:57
Nein habe ich nicht, kann es auch nicht. So tief stecke ich nicht im Linux
Titel: Antw:Cubietruck, Igor Image und OWL Energiemesser - Fehler beim Kompilieren
Beitrag von: Wernieman am 12 Mai 2015, 15:00:52
Du könntest in einem Forum fürs Image probieren .... hier wirst Du, befürchte ich, für Dein Problem keine Lösung finden ...
Titel: Antw:Cubietruck, Igor Image und OWL Energiemesser - Fehler beim Kompilieren
Beitrag von: raspklaus am 13 Mai 2015, 13:17:29
Könnte dies funktionieren ?

cp cp210x.ko to /lib/modules/<kernel-version>/kernel/drivers/usb/serial
insmod /lib/modules/<kernel-version/kernel/drivers/usb/serial/usbserial.ko
insmod cp210x.ko


und bleibt das auch nach einem Reboot bestehen ?
Titel: Antw:Cubietruck, Igor Image und OWL Energiemesser - Fehler beim Kompilieren
Beitrag von: Wernieman am 14 Mai 2015, 18:07:56
In dem von Dir genannten verzeichnis sind alle Module, d.h. wenn Du dort eine Datei austauscht ist es selbstverständlich bootsave, wenn beim booten der "Treiber" geldaden wird.

Aber .. warum sollte das klappen und was Du vorher gemacht hat, klappt nicht? Oder hast Du uns noch etwas verschwiegen?
Titel: Antw:Cubietruck, Igor Image und OWL Energiemesser - Fehler beim Kompilieren
Beitrag von: raspklaus am 25 Mai 2015, 14:43:04
Nein, verschwiegen habe ich nichts. Es hat ja auch nicht geklappt.

Ich habe jetzt den Kernel mit dem Bananapi Treiber neu kompiliert. Nun wird er auch sauber geladen und lädt auch automatisch den usbserial wiue es auf dem Raspberry funktioniert.

Nur dmesg zeigt unterschiedliche Ergebnisse:

Auf dem Cubietruck:

[95589.225566] usb 2-1.5.4: new full-speed USB device number 11 using sw-ehci
[95589.327675] cp210x 2-1.5.4:1.0: cp210x converter detected
[95589.402384] usb 2-1.5.4: reset full-speed USB device number 11 using sw-ehci
[95589.492578] usb 2-1.5.4: cp210x converter now attached to ttyUSB0


mit dem Ergebnis von lsusb

Bus 002 Device 002: ID 0835:8500 Action Star Enterprise Co., Ltd
Bus 005 Device 002: ID 413c:2105 Dell Computer Corp. Model L100 Keyboard
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 003: ID 0835:8501 Action Star Enterprise Co., Ltd
Bus 002 Device 004: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 002 Device 007: ID 0835:8500 Action Star Enterprise Co., Ltd
Bus 002 Device 008: ID 0835:8502 Action Star Enterprise Co., Ltd
Bus 002 Device 011: ID 0fde:ca05


Auf dem Raspberry:

[160818.121261] usb 1-1.3.1: new full-speed USB device number 11 using dwc_otg
[160818.439934] usb 1-1.3.1: New USB device found, idVendor=0fde, idProduct=ca05
[160818.439970] usb 1-1.3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[160818.439992] usb 1-1.3.1: Product: OWL Wireless Electricity Monitor USB version is connected
[160818.440010] usb 1-1.3.1: Manufacturer: Silicon Labs
[160818.440027] usb 1-1.3.1: SerialNumber: 006DFBA7
[160818.446936] cp210x 1-1.3.1:1.0: cp210x converter detected
[160818.521324] usb 1-1.3.1: reset full-speed USB device number 11 using dwc_otg
[160818.836274] usb 1-1.3.1: cp210x converter now attached to ttyUSB0


mit lsusb:

Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 0930:6544 Toshiba Corp. Kingston DataTraveler 2.0 Stick (2GB)
Bus 001 Device 005: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 001 Device 011: ID 0fde:ca05
Bus 001 Device 007: ID 03eb:204b Atmel Corp. LUFA USB to Serial Adapter Project
Bus 001 Device 008: ID 03eb:204b Atmel Corp. LUFA USB to Serial Adapter Project
Bus 001 Device 009: ID 1b1f:c00f


Ich kann mir die unterschiedlichen Ausgaben nicht erklären
Titel: Antw:Cubietruck, Igor Image und OWL Energiemesser - Fehler beim Kompilieren
Beitrag von: Wernieman am 26 Mai 2015, 11:18:57
also .. einiges ist verständlich:

da es unterschiedliche USB Chips auf Serverseite werden unterschiedliche USB-treiber verwendet:
[160818.121261] usb 1-1.3.1: new full-speed USB device number 11 using dwc_otg
[95589.225566] usb 2-1.5.4: new full-speed USB device number 11 using sw-ehci

und das "interessante" ist doch gleich:
[160818.446936] cp210x 1-1.3.1:1.0: cp210x converter detected
[160818.521324] usb 1-1.3.1: reset full-speed USB device number 11 using dwc_otg
[160818.836274] usb 1-1.3.1: cp210x converter now attached to ttyUSB0


Damit die lsusb-Augabe gleich aussiehst, kannst Du mal probieren (weiß nur nicht ob es den auf den "Kisten" gibt)
update-usbids