Community-Firmware für den TXT

Community-Firmware (cfw), Selbstbaucontroller (TX-Pi, ftduino, usw.), usw.
Forumsregeln
Bitte beachte die Forumsregeln!
Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 20 Feb 2016, 20:12

Wie ich sehe baust Du schon ... bin gespannt, wann erste Bootversuche erfolgreich sind.

Das gleiche Setup muesste man m.E. auch von USB-Stick booten koennen, wenn man dem uboot nochmal etwas auf die Spruenge hilft. Ich weiss nicht wie langlebig der Micro-SD-Slot ist. Ich hatte schon ein paarmal, dass es Fehlermeldungen gab und ich die Karte ein paarmal neu einstecken musste. Fuer Tests auf usb zu wechseln koennte die Lebenserwartung des Micro-SD-Slots deutlich verlaengern.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

richard.kunze
Administrator
Beiträge: 583
Registriert: 26 Dez 2015, 23:49
Wohnort: Rhein-Main-Gebiet

Re: Community-Firmware für den TXT

Beitrag von richard.kunze » 20 Feb 2016, 21:03

MasterOfGizmo hat geschrieben:Wie ich sehe baust Du schon

Naja, bauen ist zuviel gesagt. Aktuell bin ich dabei, die .config aus ft-TXT aufzudröseln um daraus eine vernünftige Default-Konfiguration zu machen. Und frage mich dabei, warum auf dem TXT sowas wie arptables, netfilter_conntrack, openvpn, zwei zusätzliche Editoren (Joe und Nano) und diverser anderer Krams eigentlich dabei ist.

Vielleicht werden es ja auch zwei Konfigurationen: Eine die das Setup aus ft-TXT reproduziert, und eine ausgemistete, wo dann nur das drin ist was auch wirklich nötig ist.
MasterOfGizmo hat geschrieben:Das gleiche Setup muesste man m.E. auch von USB-Stick booten koennen, wenn man dem uboot nochmal etwas auf die Spruenge hilft.
Prinzipiell schon - falls das U-Boot Unterstützung für Massenspeicher an USB mit drin hat. Wenn ich mich richtig an das U-Boot-Env auf dem TXT erinnere ist da die USB-Bootpotion über USB-Net und TFTP.
MasterOfGizmo hat geschrieben:Fuer Tests auf usb zu wechseln koennte die Lebenserwartung des Micro-SD-Slots deutlich verlaengern.
Alternativ kann man auch das neue Image per SCP auf den TXT kopieren und dann direkt auf die SD-Karte schreiben.

Sowas in der Art werden wir auf mittlere Sicht eh brauchen, um für die Community-Firmware eine bequeme Update-Möglichkeit per Webinterface anzubieten...

richard.kunze
Administrator
Beiträge: 583
Registriert: 26 Dez 2015, 23:49
Wohnort: Rhein-Main-Gebiet

Re: Community-Firmware für den TXT

Beitrag von richard.kunze » 22 Feb 2016, 22:12

Hallo zusammen,

die Community-Firmware lässt sich jetzt schon mal compilieren.

Komplett booten tut sie noch nicht (wäre vermutlich auch zu viel verlangt für den ersten Versuch), wo genau es hängt kann ich im Moment aber leider nicht sagen. Ich warte immer noch auf meinen Seriell-nach-USB-Konverter. Und so wie es aussieht ist für mich jetzt erstmal Zwangspause bis der endlich da ist :-(

MOG, magst Du mal probieren? Das Layout für die SD-Karte ist dasselbe wie bei der "offiziellen" Firmware: Zwei Partitionen, die erste mit FAT formatiert, die zweite mit ext4. Auf die erste werden DTB (output/images/am335x-kno_txt.dtb) und Kernel (output/images/uImage) kopiert (die Dateinamen sollten so schon passen), auf der zweiten wird das Root-Filesystem (output/images/rootfs.tar) entpackt.

Viele Grüße,

Richard

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 23 Feb 2016, 07:41

Edit: Ah, OK, unter configs ist eine defconfig für Knobloch ...
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 23 Feb 2016, 10:07

Was mir auffällt ist, dass wir nach wie vor den Namen "knobloch" an vielen Stellen in der Community-Firmware haben. Wie stellen wir denn sicher, dass da am Ende niemand Namensrechte geltend macht?

Beim Namen Fischertechnik stellt sich theoretisch das gleiche Problem, aber wir haben durch Markus' Beteiligung da ein gewisses implizites Zustimmen. Da kann zumindest niemand in einem halben Jahr aktiv werden und dann behaupten, er hätte von nichts gewusst.

Meines Erachtens sollten wir entweder a) ein offizielles ok von knobloch haben oder b) möglichst auf die Verwendung des Namens verzichten. Da wo die Software auf dem TXT Pfade unter dem Namen Knobloch zwingend erwartet geht es wohl eh nur um die Knobloch-eigenen Sachen. Wenn man die über Links aus dem NAND einbindet kann man m.E: auch passende Links setzen. Aber eigentlich erst dann. Im Auslieferzustand sollte die Comunity-FW m.E. versuchen, keine Markennamen von dritter Seite zu verwenden. Das trifft dann z.B. auch auf den Default-Usernamen "ROBOPro" zu.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 23 Feb 2016, 11:52

Ok, hat erfolgreich durchgebaut. Werde nachher testen, was der TXT dazu sagt ...
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 23 Feb 2016, 22:19

So. Er bootet in der Tat :D

Code: Alles auswählen

U-Boot SPL 2013.10 (Jul 04 2015 - 08:30:17)                                  
>>> I2C0 On                                                                  
Could not probe the EEPROM; something fundamentally wrong on the I2C bus.    
Could not get board ID.                                                      
>>> setup_dplls vor do_setup_dpll       
>>> setup_dplls nach do_setup_dpll      
Could not probe the EEPROM; something fundamentally wrong on the I2C bus.
Could not get board ID.                 
>>> Setting MUX Start                   
>>> Setting MUX End                     
Could not probe the EEPROM; something fundamentally wrong on the I2C bus.
Could not get board ID.
>>>Start TXT-Mode - V2
LCD-Init_4: 
Could not probe the EEPROM; something fundamentally wrong on the I2C bus.
Could not get board ID.
---> MPU 600 VDD 46 


U-Boot 2013.10 (Jul 04 2015 - 08:30:17)

I2C:   ready
DRAM:  256 MiB
NAND:  128 MiB
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
Could not probe the EEPROM; something fundamentally wrong on the I2C bus.
Could not get board ID.
Net:   usb_ether

NAND read: device 0 offset 0x700000, size 0x40000
 262144 bytes read: OK
CopyToLcd
LCD Command called
Hit ENTER key to stop autoboot:  0 
gpio: pin 97 (gpio 97) value is 0
gpio: pin 98 (gpio 98) value is 0

NAND read: device 0 offset 0x200000, size 0x500000
 5242880 bytes read: OK

NAND read: device 0 offset 0x80000, size 0x40000
 262144 bytes read: OK
reading uImage
5163872 bytes read in 347 ms (14.2 MiB/s)
reading am335x-kno_txt.dtb
36618 bytes read in 7 ms (5 MiB/s)
libfdt fdt_setprop(): FDT_ERR_NOSPACE
## Booting kernel from Legacy Image at 80200000 ...
   Image Name:   Linux-4.1.18
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    5163808 Bytes = 4.9 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 80f00000
   Booting using the fdt blob at 0x80f00000
   Loading Kernel Image ... OK
   Loading Device Tree to 8f308000, end 8f313f09 ... OK

Starting kernel ...

[    0.465085] fbtft_device:  display not supported: 'txt_ili9341'
[    1.337759] mtdoops: mtd device (mtddev=name/number) must be supplied
[    1.357274] spidev spi1.0: buggy DT: spidev listed directly in DT
[    1.441558] /ocp/mmc@47810000: could not get #dma-cells for /ocp/l4_wkup@44c00000/prcm@200000/clocks/clk_24mhz
[    1.452365] omap_hsmmc 47810000.mmc: unable to obtain RX DMA engine channel 0
[    1.492770] omap_voltage_late_init: Voltage driver support not added
[    1.520465] omap-gpmc 50000000.gpmc: cannot request GPMC CS 0
[    1.527451] omap-gpmc 50000000.gpmc: failed to probe DT children
Starting logging: OK
Populating /dev using udev: done
Initializing random number generator... done.
Starting rngd: OK
Starting system message bus: done
Starting network...
ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519 
Starting sshd: OK
/etc/init.d/S93-am335x-pm-firmware-load: line 4: can't create /sys/devices/ocp.2/44d00000.wkup_m3/firmware/am335x-pm-firmware.bin/loading: nonexistent directory
/etc/init.d/S93-am335x-pm-firmware-load: line 5: can't create /sys/devices/ocp.2/44d00000.wkup_m3/firmware/am335x-pm-firmware.bin/data: nonexistent directory
/etc/init.d/S93-am335x-pm-firmware-load: line 6: can't create /sys/devices/ocp.2/44d00000.wkup_m3/firmware/am335x-pm-firmware.bin/loading: nonexistent directory

Welcome to FT-txt
FT-txt login:
Ein paar Modules werden auch geladen:

Code: Alles auswählen

# lsmod 
Module                  Size  Used by    Tainted: G  
musb_dsps               6811  0 
musb_hdrc              58278  1 musb_dsps
musb_am335x             1131  0 [permanent]
Und wenn ich einen asix-basierten USB-Ethernet-Dongle anschliesse und "dhcpcd eth0" eingebe bin ich im Netz. Schonmal gar nicht so schlecht :-)

The g_ether kann man auch laden und benutzen.

Bluetooth scheint Probleme zu haben und ein "modprobe btwilink" gibt ein paar Fehlermeldungen wegen Timeouts ins Kernel-Log. Vor allem sehe ich aber WLAN irgendwie nicht.

Beim Booten hakt es noch etwas und der Kernel ist nicht ganz glücklich. Hier mal das Kernel log:

Code: Alles auswählen

# dmesg 
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.1.18 (tharbaum@lxtiha) (gcc version 5.2.1 20151005 (Linaro GCC 5.2-2015.11-2) ) #1 PREEMPT Tue Feb 23 10:55:05 CET 2016
[    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine model: Knobloch TXT AM3352
[    0.000000] cma: Reserved 16 MiB at 0x8e000000
[    0.000000] Memory policy: Data cache writeback
[    0.000000] On node 0 totalpages: 65024
[    0.000000] free_area_init_node: node 0, pgdat c0a65800, node_mem_map cfbf1000
[    0.000000]   Normal zone: 512 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 65024 pages, LIFO batch:15
[    0.000000] CPU: All CPU(s) started in SVC mode.
[    0.000000] AM335X ES2.1 (neon )
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0 
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 64512
[    0.000000] Kernel command line: fbtft_device.name=txt_ili9341 fbtft_device.fps=10 console=ttyO0,115200 root=/dev/mmcblk0p2 rw rootwait quiet
[    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Memory: 222172K/260096K available (7031K kernel code, 801K rwdata, 2416K rodata, 388K init, 8189K bss, 21540K reserved, 16384K cma-reserved, 0K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xd0800000 - 0xff000000   ( 744 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc09420bc   (9449 kB)
[    0.000000]       .init : 0xc0943000 - 0xc09a4000   ( 388 kB)
[    0.000000]       .data : 0xc09a4000 - 0xc0a6c4c4   ( 802 kB)
[    0.000000]        .bss : 0xc0a6f000 - 0xc126e764   (8190 kB)
[    0.000000] Running RCU self tests
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]  RCU lockdep checking is enabled.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
[    0.000000] OMAP clockevent source: timer2 at 24000000 Hz
[    0.000023] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[    0.000057] clocksource timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.000120] OMAP clocksource: timer1 at 24000000 Hz
[    0.001241] Console: colour dummy device 80x30
[    0.001323] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[    0.001336] ... MAX_LOCKDEP_SUBCLASSES:  8
[    0.001347] ... MAX_LOCK_DEPTH:          48
[    0.001358] ... MAX_LOCKDEP_KEYS:        8191
[    0.001370] ... CLASSHASH_SIZE:          4096
[    0.001380] ... MAX_LOCKDEP_ENTRIES:     32768
[    0.001391] ... MAX_LOCKDEP_CHAINS:      65536
[    0.001402] ... CHAINHASH_SIZE:          32768
[    0.001413]  memory used by lock dependency info: 5167 kB
[    0.001424]  per task-struct memory footprint: 1152 bytes
[    0.001457] Calibrating delay loop... 594.73 BogoMIPS (lpj=1486848)
[    0.058057] pid_max: default: 32768 minimum: 301
[    0.058287] Security Framework initialized
[    0.058442] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.058463] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.062163] CPU: Testing write buffer coherency: ok
[    0.064297] Setting up static identity map for 0x80008200 - 0x80008270
[    0.073452] devtmpfs: initialized
[    0.132483] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[    0.216071] omap_hwmod: debugss: _wait_target_disable failed
[    0.275346] clocksource jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 9556302231375000 ns
[    0.280934] pinctrl core: initialized pinctrl subsystem
[    0.292982] NET: Registered protocol family 16
[    0.304472] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.328526] cpuidle: using governor ladder
[    0.343171] cpuidle: using governor menu
[    0.379148] gpiochip_add: registered GPIOs 0 to 31 on device: gpio
[    0.380970] OMAP GPIO hardware version 0.1
[    0.385335] gpiochip_add: registered GPIOs 32 to 63 on device: gpio
[    0.391257] gpiochip_add: registered GPIOs 64 to 95 on device: gpio
[    0.396726] gpiochip_add: registered GPIOs 96 to 127 on device: gpio
[    0.441966] omap-gpmc 50000000.gpmc: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/nandflash_pins_s0, deferring probe
[    0.457573] No ATAGs?
[    0.457623] hw-breakpoint: debug architecture 0x4 unsupported.
[    0.460345] omap4_sram_init:Unable to allocate sram needed to handle errata I688
[    0.460384] omap4_sram_init:Unable to get sram pool needed to handle errata I688
[    0.465073] fbtft_device:  SPI devices registered:
[    0.465108] fbtft_device:  'fb' Platform devices registered:
[    0.465271] fbtft_device:  display not supported: 'txt_ili9341'
[    0.669857] edma 49000000.edma: TI EDMA DMA engine driver
[    0.672411] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator@0[0]'
[    0.675124] of_get_named_gpiod_flags: parsed 'gpio' property of node '/fixedregulator@1[0]' - status (0)
[    0.761358] SCSI subsystem initialized
[    0.765469] usbcore: registered new interface driver usbfs
[    0.766513] usbcore: registered new interface driver hub
[    0.767329] usbcore: registered new device driver usb
[    0.770782] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c0_pins, deferring probe
[    0.770947] omap_i2c 4802a000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c1_pins, deferring probe
[    0.771595] Linux video capture interface: v2.00
[    0.786448] Bluetooth: Core ver 2.20
[    0.786927] NET: Registered protocol family 31
[    0.786950] Bluetooth: HCI device and connection manager initialized
[    0.787134] Bluetooth: HCI socket layer initialized
[    0.787179] Bluetooth: L2CAP socket layer initialized
[    0.787498] Bluetooth: SCO socket layer initialized
[    0.792913] Switched to clocksource timer1
[    1.099510] NET: Registered protocol family 2
[    1.103625] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[    1.103859] TCP bind hash table entries: 2048 (order: 4, 73728 bytes)
[    1.104849] TCP: Hash tables configured (established 2048 bind 2048)
[    1.105138] UDP hash table entries: 256 (order: 2, 20480 bytes)
[    1.105422] UDP-Lite hash table entries: 256 (order: 2, 20480 bytes)
[    1.106719] NET: Registered protocol family 1
[    1.109395] RPC: Registered named UNIX socket transport module.
[    1.109432] RPC: Registered udp transport module.
[    1.109447] RPC: Registered tcp transport module.
[    1.109462] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.114234] CPU PMU: Failed to parse /pmu/interrupt-affinity[0]
[    1.114360] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
[    1.129666] futex hash table entries: 256 (order: 1, 11264 bytes)
[    1.141006] VFS: Disk quotas dquot_6.6.0
[    1.141184] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    1.144552] NFS: Registering the id_resolver key type
[    1.145201] Key type id_resolver registered
[    1.145226] Key type id_legacy registered
[    1.146434] jffs2: version 2.2. (NAND) (SUMMARY)  �© 2001-2006 Red Hat, Inc.
[    1.159012] io scheduler noop registered
[    1.159073] io scheduler deadline registered
[    1.159139] io scheduler cfq registered (default)
[    1.165061] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
[    1.172533] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    1.187872] omap_uart 44e09000.serial: no wakeirq for uart0
[    1.188913] of_get_named_gpiod_flags: can't parse 'rts-gpio' property of node '/ocp/serial@44e09000[0]'
[    1.190194] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 158, base_baud = 3000000) is a OMAP UART0
[    1.199158] console [ttyO0] enabled
[    1.202247] omap_uart 48024000.serial: no wakeirq for uart2
[    1.202292] of_get_named_gpiod_flags: can't parse 'rts-gpio' property of node '/ocp/serial@48024000[0]'
[    1.203169] 48024000.serial: ttyO2 at MMIO 0x48024000 (irq = 159, base_baud = 3000000) is a OMAP UART2
[    1.206058] omap_uart 481a6000.serial: no wakeirq for uart3
[    1.206098] of_get_named_gpiod_flags: can't parse 'rts-gpio' property of node '/ocp/serial@481a6000[0]'
[    1.206664] 481a6000.serial: ttyO3 at MMIO 0x481a6000 (irq = 160, base_baud = 3000000) is a OMAP UART3
[    1.212771] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
[    1.284544] brd: module loaded
[    1.322883] loop: module loaded
[    1.324759] (stk) :sysfs entries created
[    1.339260] mtdoops: mtd device (mtddev=name/number) must be supplied
[    1.358374] spidev spi1.0: buggy DT: spidev listed directly in DT
[    1.365399] ------------[ cut here ]------------
[    1.365447] WARNING: CPU: 0 PID: 1 at drivers/spi/spidev.c:731 spidev_probe+0x188/0x1d0()
[    1.365464] Modules linked in:
[    1.365496] CPU: 0 PID: 1 Comm: swapper Not tainted 4.1.18 #1
[    1.365510] Hardware name: Generic AM33XX (Flattened Device Tree)
[    1.365565] [<c0015408>] (unwind_backtrace) from [<c001314c>] (show_stack+0x10/0x14)
[    1.365595] [<c001314c>] (show_stack) from [<c003e718>] (warn_slowpath_common+0x78/0xb0)
[    1.365620] [<c003e718>] (warn_slowpath_common) from [<c003e7ec>] (warn_slowpath_null+0x1c/0x24)
[    1.365643] [<c003e7ec>] (warn_slowpath_null) from [<c047a588>] (spidev_probe+0x188/0x1d0)
[    1.365667] [<c047a588>] (spidev_probe) from [<c0477198>] (spi_drv_probe+0x50/0x74)
[    1.365696] [<c0477198>] (spi_drv_probe) from [<c03f6710>] (driver_probe_device+0x174/0x2b8)
[    1.365719] [<c03f6710>] (driver_probe_device) from [<c03f4df8>] (bus_for_each_drv+0x64/0x98)
[    1.365742] [<c03f4df8>] (bus_for_each_drv) from [<c03f6568>] (device_attach+0x80/0x98)
[    1.365764] [<c03f6568>] (device_attach) from [<c03f5c10>] (bus_probe_device+0x88/0xb0)
[    1.365798] [<c03f5c10>] (bus_probe_device) from [<c03f3ee4>] (device_add+0x348/0x568)
[    1.365822] [<c03f3ee4>] (device_add) from [<c0477bc8>] (spi_add_device+0x90/0x134)
[    1.365843] [<c0477bc8>] (spi_add_device) from [<c0479e68>] (spi_register_master+0x470/0x744)
[    1.365867] [<c0479e68>] (spi_register_master) from [<c047a168>] (devm_spi_register_master+0x2c/0x68)
[    1.365891] [<c047a168>] (devm_spi_register_master) from [<c047cf70>] (omap2_mcspi_probe+0x300/0x3b4)
[    1.365919] [<c047cf70>] (omap2_mcspi_probe) from [<c03f87e0>] (platform_drv_probe+0x44/0xac)
[    1.365943] [<c03f87e0>] (platform_drv_probe) from [<c03f6710>] (driver_probe_device+0x174/0x2b8)
[    1.365965] [<c03f6710>] (driver_probe_device) from [<c03f692c>] (__driver_attach+0x94/0x98)
[    1.365989] [<c03f692c>] (__driver_attach) from [<c03f4d4c>] (bus_for_each_dev+0x6c/0xa0)
[    1.366013] [<c03f4d4c>] (bus_for_each_dev) from [<c03f5e84>] (bus_add_driver+0x144/0x1f0)
[    1.366035] [<c03f5e84>] (bus_add_driver) from [<c03f7844>] (driver_register+0x78/0xf8)
[    1.366057] [<c03f7844>] (driver_register) from [<c00096dc>] (do_one_initcall+0x80/0x1dc)
[    1.366086] [<c00096dc>] (do_one_initcall) from [<c0943d68>] (kernel_init_freeable+0xf0/0x1ac)
[    1.366114] [<c0943d68>] (kernel_init_freeable) from [<c06aad1c>] (kernel_init+0x8/0xe8)
[    1.366139] [<c06aad1c>] (kernel_init) from [<c000f638>] (ret_from_fork+0x14/0x3c)
[    1.366233] ---[ end trace aabb6a1a62523661 ]---
[    1.377540] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.377587] ehci-omap: OMAP-EHCI Host Controller driver
[    1.379381] usbcore: registered new interface driver cdc_wdm
[    1.380479] usbcore: registered new interface driver usb-storage
[    1.381058] usbcore: registered new interface driver usbtest
[    1.385706] mousedev: PS/2 mouse device common for all mice
[    1.391473] TI-am335x-tsc TI-am335x-tsc: ti,charge-delay not specified
[    1.394354] input: ti-tsc as /devices/platform/ocp/44e0d000.tscadc/TI-am335x-tsc/input/input0
[    1.401331] omap_rtc 44e3e000.rtc: already running
[    1.405295] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
[    1.406726] i2c /dev entries driver
[    1.407095] Driver for 1-wire Dallas network protocol.
[    1.416665] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[    1.421673] sdhci: Secure Digital Host Controller Interface driver
[    1.421702] sdhci: Copyright(c) Pierre Ossman
[    1.425397] omap_hsmmc 48060000.mmc: GPIO lookup for consumer cd
[    1.425434] omap_hsmmc 48060000.mmc: using device tree for GPIO lookup
[    1.425502] of_get_named_gpiod_flags: parsed 'cd-gpios' property of node '/ocp/mmc@48060000[0]' - status (0)
[    1.425551] omap_hsmmc 48060000.mmc: Got CD GPIO
[    1.425576] omap_hsmmc 48060000.mmc: GPIO lookup for consumer wp
[    1.425594] omap_hsmmc 48060000.mmc: using device tree for GPIO lookup
[    1.425615] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@48060000[0]'
[    1.425636] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@48060000[0]'
[    1.425653] omap_hsmmc 48060000.mmc: using lookup tables for GPIO lookup
[    1.425853] omap_hsmmc 48060000.mmc: lookup for GPIO wp failed
[    1.440875] omap_hsmmc 47810000.mmc: GPIO lookup for consumer cd
[    1.440909] omap_hsmmc 47810000.mmc: using device tree for GPIO lookup
[    1.440937] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/ocp/mmc@47810000[0]'
[    1.440958] of_get_named_gpiod_flags: can't parse 'cd-gpio' property of node '/ocp/mmc@47810000[0]'
[    1.440975] omap_hsmmc 47810000.mmc: using lookup tables for GPIO lookup
[    1.440998] omap_hsmmc 47810000.mmc: lookup for GPIO cd failed
[    1.441025] omap_hsmmc 47810000.mmc: GPIO lookup for consumer wp
[    1.441042] omap_hsmmc 47810000.mmc: using device tree for GPIO lookup
[    1.441062] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@47810000[0]'
[    1.441081] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@47810000[0]'
[    1.441097] omap_hsmmc 47810000.mmc: using lookup tables for GPIO lookup
[    1.441117] omap_hsmmc 47810000.mmc: lookup for GPIO wp failed
[    1.441765] /ocp/mmc@47810000: could not get #dma-cells for /ocp/l4_wkup@44c00000/prcm@200000/clocks/clk_24mhz
[    1.452532] omap_hsmmc 47810000.mmc: unable to obtain RX DMA engine channel 0
[    1.474162] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.474854] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/led@1[0]' - status (0)
[    1.477523] ledtrig-cpu: registered to indicate activity on CPUs
[    1.480133] usbcore: registered new interface driver usbhid
[    1.480159] usbhid: USB HID core driver
[    1.485678] oprofile: using arm/armv7
[    1.487119] ip_tables: (C) 2000-2006 Netfilter Core Team
[    1.487823] Initializing XFRM netlink socket
[    1.489173] NET: Registered protocol family 17
[    1.489323] NET: Registered protocol family 15
[    1.491222] Key type dns_resolver registered
[    1.492844] omap_voltage_late_init: Voltage driver support not added
[    1.504372] ThumbEE CPU extension supported.
[    1.504465] Registering SWP/SWPB emulation handler
[    1.516486] omap-gpmc 50000000.gpmc: GPMC revision 6.0
[    1.516790] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
[    1.516828] gpiochip_find_base: found new base at 510
[    1.519777] gpiochip_add: registered GPIOs 510 to 511 on device: omap-gpmc
[    1.520672] omap-gpmc 50000000.gpmc: cannot request GPMC CS 0
[    1.527342] omap-gpmc 50000000.gpmc: failed to probe DT children
[    1.538880] omap-gpmc: probe of 50000000.gpmc failed with error -16
[    1.574620] tps65910-gpio tps65910-gpio: ti,en-gpio-sleep not specified
[    1.574679] gpiochip_find_base: found new base at 506
[    1.576359] gpiochip_add: registered GPIOs 506 to 511 on device: tps65910
[    1.655384] tps65910-rtc tps65910-rtc: rtc core: registered tps65910-rtc as rtc1
[    1.658549] at24 0-0050: 128 byte 24c01 EEPROM, writable, 1 bytes/write
[    1.658793] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[    1.664674] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 400 kHz
[    1.666316] omap_hsmmc 48060000.mmc: GPIO lookup for consumer cd
[    1.666348] omap_hsmmc 48060000.mmc: using device tree for GPIO lookup
[    1.666415] of_get_named_gpiod_flags: parsed 'cd-gpios' property of node '/ocp/mmc@48060000[0]' - status (0)
[    1.666481] omap_hsmmc 48060000.mmc: Got CD GPIO
[    1.666510] omap_hsmmc 48060000.mmc: GPIO lookup for consumer wp
[    1.666527] omap_hsmmc 48060000.mmc: using device tree for GPIO lookup
[    1.666550] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@48060000[0]'
[    1.666572] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@48060000[0]'
[    1.666589] omap_hsmmc 48060000.mmc: using lookup tables for GPIO lookup
[    1.666625] omap_hsmmc 48060000.mmc: lookup for GPIO wp failed
[    1.667765] vmmc: supplied by vbat
[    1.701883] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio_buttons@0/switch@1[0]' - status (0)
[    1.708076] input: gpio_buttons@0 as /devices/platform/gpio_buttons@0/input/input1
[    1.716056] tps65910-rtc tps65910-rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
[    1.751305] wlan-en-regulator: disabling
[    1.756935] Waiting for root device /dev/mmcblk0p2...
[    1.778040] mmc0: host does not support reading read-only switch, assuming write-enable
[    1.781740] mmc0: new high speed SDHC card at address aaaa
[    1.786377] mmcblk0: mmc0:aaaa SS16G 14.8 GiB 
[    1.793340]  mmcblk0: p1 p2 p3
[    2.028833] kjournald starting.  Commit interval 5 seconds
[    2.030628] EXT3-fs (mmcblk0p2): using internal journal
[    2.033053] EXT3-fs (mmcblk0p2): recovery complete
[    2.033086] EXT3-fs (mmcblk0p2): mounted filesystem with ordered data mode
[    2.033312] VFS: Mounted root (ext3 filesystem) on device 179:2.
[    2.037487] devtmpfs: mounted
[    2.038707] Freeing unused kernel memory: 388K (c0943000 - c09a4000)
[    2.584728] udevd[725]: starting version 3.1.5
[    2.609855] random: udevd urandom read with 27 bits of entropy available
[    3.859538] am335x-phy-driver 47401300.usb-phy: GPIO lookup for consumer reset
[    3.859583] am335x-phy-driver 47401300.usb-phy: using device tree for GPIO lookup
[    3.859614] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
[    3.859638] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
[    3.859656] am335x-phy-driver 47401300.usb-phy: using lookup tables for GPIO lookup
[    3.859683] am335x-phy-driver 47401300.usb-phy: lookup for GPIO reset failed
[    3.859708] am335x-phy-driver 47401300.usb-phy: GPIO lookup for consumer vbus-detect
[    3.859725] am335x-phy-driver 47401300.usb-phy: using device tree for GPIO lookup
[    3.859747] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpios' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
[    3.859768] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpio' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
[    3.859786] am335x-phy-driver 47401300.usb-phy: using lookup tables for GPIO lookup
[    3.859807] am335x-phy-driver 47401300.usb-phy: lookup for GPIO vbus-detect failed
[    3.859950] 47401300.usb-phy supply vcc not found, using dummy regulator
[    3.902488] am335x-phy-driver 47401b00.usb-phy: GPIO lookup for consumer reset
[    3.902534] am335x-phy-driver 47401b00.usb-phy: using device tree for GPIO lookup
[    3.902565] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
[    3.902587] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
[    3.902605] am335x-phy-driver 47401b00.usb-phy: using lookup tables for GPIO lookup
[    3.902630] am335x-phy-driver 47401b00.usb-phy: lookup for GPIO reset failed
[    3.902656] am335x-phy-driver 47401b00.usb-phy: GPIO lookup for consumer vbus-detect
[    3.902673] am335x-phy-driver 47401b00.usb-phy: using device tree for GPIO lookup
[    3.902694] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpios' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
[    3.902714] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpio' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
[    3.902732] am335x-phy-driver 47401b00.usb-phy: using lookup tables for GPIO lookup
[    3.902752] am335x-phy-driver 47401b00.usb-phy: lookup for GPIO vbus-detect failed
[    3.902872] 47401b00.usb-phy supply vcc not found, using dummy regulator
[    4.991259] musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
[    4.991304] musb-hdrc: MHDRC RTL version 2.0 
[    4.991321] musb-hdrc: setup fifo_mode 4
[    4.991352] musb-hdrc: 28/31 max ep, 16384/16384 memory
[    5.072026] musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
[    5.072070] musb-hdrc: MHDRC RTL version 2.0 
[    5.072087] musb-hdrc: setup fifo_mode 4
[    5.072118] musb-hdrc: 28/31 max ep, 16384/16384 memory
[    5.095289] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[    5.097085] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 1
[    5.118512] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    5.118556] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    5.118575] usb usb1: Product: MUSB HDRC host driver
[    5.118593] usb usb1: Manufacturer: Linux 4.1.18 musb-hcd
[    5.118609] usb usb1: SerialNumber: musb-hdrc.1.auto
[    5.145946] hub 1-0:1.0: USB hub found
[    5.158354] hub 1-0:1.0: 1 port detected
[    5.668251] usb 1-1: new high-speed USB device number 2 using musb-hdrc
[    5.807327] usb 1-1: New USB device found, idVendor=2001, idProduct=3c05
[    5.807371] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    5.807389] usb 1-1: Product: DUB-E100
[    5.807407] usb 1-1: Manufacturer: D-Link Corporation
[    5.807423] usb 1-1: SerialNumber: 000001
[    7.771214] asix 1-1:1.0 eth0: register 'asix' at usb-musb-hdrc.1.auto-1, ASIX AX88772 USB 2.0 Ethernet, 00:80:c8:3c:91:49
[    7.777030] usbcore: registered new interface driver asix
[   10.719648] random: nonblocking pool is initialized
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

richard.kunze
Administrator
Beiträge: 583
Registriert: 26 Dez 2015, 23:49
Wohnort: Rhein-Main-Gebiet

Re: Community-Firmware für den TXT

Beitrag von richard.kunze » 23 Feb 2016, 23:32

MasterOfGizmo hat geschrieben:So. Er bootet in der Tat :D
:D
MasterOfGizmo hat geschrieben:Bluetooth scheint Probleme zu haben und ein "modprobe btwilink" gibt ein paar Fehlermeldungen wegen Timeouts ins Kernel-Log. Vor allem sehe ich aber WLAN irgendwie nicht.
Das dürfte zusammenhängen - das macht auf dem TXT alles der WL18 MODGB
MasterOfGizmo hat geschrieben:Beim Booten hakt es noch etwas und der Kernel ist nicht ganz glücklich. Hier mal das Kernel log:

Code: Alles auswählen

[    0.441966] omap-gpmc 50000000.gpmc: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/nandflash_pins_s0, deferring probe

....

[    0.672411] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator@0[0]'
[    0.675124] of_get_named_gpiod_flags: parsed 'gpio' property of node '/fixedregulator@1[0]' - status (0)

....

[    0.770782] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c0_pins, deferring probe
[    0.770947] omap_i2c 4802a000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c1_pins, deferring probe

....

[    1.206098] of_get_named_gpiod_flags: can't parse 'rts-gpio' property of node '/ocp/serial@481a6000[0]'

....

[    1.358374] spidev spi1.0: buggy DT: spidev listed directly in DT

....

[    1.425615] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@48060000[0]'
[    1.425636] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@48060000[0]'

....

[    1.440937] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/ocp/mmc@47810000[0]'
[    1.440958] of_get_named_gpiod_flags: can't parse 'cd-gpio' property of node '/ocp/mmc@47810000[0]'

....

[    1.441062] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@47810000[0]'
[    1.441081] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@47810000[0]'

....

[    1.441765] /ocp/mmc@47810000: could not get #dma-cells for /ocp/l4_wkup@44c00000/prcm@200000/clocks/clk_24mhz

....

[    1.527342] omap-gpmc 50000000.gpmc: failed to probe DT children

....

[    1.666550] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@48060000[0]'
[    1.666572] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@48060000[0]'

....

[    3.859614] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
[    3.859638] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'

....

[    3.859747] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpios' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
[    3.859768] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpio' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'

....

[    3.902565] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
[    3.902587] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
Das sieht so aus als wäre da was im DTB kaputt. Hatte ich schon befürchtet, die originalen DTS-Quellen liessen sich für den 4.1.x-Kernel gar nicht übersetzen, und die Anpassungen die ich da gemacht habe waren eher blind rumprobieren als wissen was ich da mache :-/

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 24 Feb 2016, 22:23

Bin zufällig über das hier gestolpert:
http://processors.wiki.ti.com/index.php ... er's_Guide
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

richard.kunze
Administrator
Beiträge: 583
Registriert: 26 Dez 2015, 23:49
Wohnort: Rhein-Main-Gebiet

Re: Community-Firmware für den TXT

Beitrag von richard.kunze » 25 Feb 2016, 01:41

Ich hab mal über die Resultate vom ersten Bootversuch nachgedacht, fleißig Doku gewälzt und vor allem mal das 4.1-er-Bootlog mit dem vom originalen 3.16-Kernel verglichen. Hier ein paar Resultate:
MasterOfGizmo hat geschrieben: Bluetooth scheint Probleme zu haben und ein "modprobe btwilink" gibt ein paar Fehlermeldungen wegen Timeouts ins Kernel-Log. Vor allem sehe ich aber WLAN irgendwie nicht.
Ganz doofe Frage: Hast Du das passende Kernel-Modul (wl18xx) geladen? Bzw. was passiert bei dem Versuch, es zu laden?
MasterOfGizmo hat geschrieben: Beim Booten hakt es noch etwas und der Kernel ist nicht ganz glücklich. Hier mal das Kernel log:

Code: Alles auswählen

[    0.465073] fbtft_device:  SPI devices registered:
[    0.465108] fbtft_device:  'fb' Platform devices registered:
[    0.465271] fbtft_device:  display not supported: 'txt_ili9341'
Da zickt anscheinend eine neuere Version des TFT-Treibers rum. Da bin ich aktuell noch dabei zu verstehen, was sich da wann wie geändert hat und was wie angepasst werden muss.

Code: Alles auswählen

[    1.358374] spidev spi1.0: buggy DT: spidev listed directly in DT
[    1.365399] ------------[ cut here ]------------
[    1.365447] WARNING: CPU: 0 PID: 1 at drivers/spi/spidev.c:731 spidev_probe+0x188/0x1d0()
[    1.365464] Modules linked in:
[    1.365496] CPU: 0 PID: 1 Comm: swapper Not tainted 4.1.18 #1
[    1.365510] Hardware name: Generic AM33XX (Flattened Device Tree)
[    1.365565] [<c0015408>] (unwind_backtrace) from [<c001314c>] (show_stack+0x10/0x14)
[    1.365595] [<c001314c>] (show_stack) from [<c003e718>] (warn_slowpath_common+0x78/0xb0)
[    1.365620] [<c003e718>] (warn_slowpath_common) from [<c003e7ec>] (warn_slowpath_null+0x1c/0x24)
[    1.365643] [<c003e7ec>] (warn_slowpath_null) from [<c047a588>] (spidev_probe+0x188/0x1d0)
[    1.365667] [<c047a588>] (spidev_probe) from [<c0477198>] (spi_drv_probe+0x50/0x74)
[    1.365696] [<c0477198>] (spi_drv_probe) from [<c03f6710>] (driver_probe_device+0x174/0x2b8)
[    1.365719] [<c03f6710>] (driver_probe_device) from [<c03f4df8>] (bus_for_each_drv+0x64/0x98)
[    1.365742] [<c03f4df8>] (bus_for_each_drv) from [<c03f6568>] (device_attach+0x80/0x98)
[    1.365764] [<c03f6568>] (device_attach) from [<c03f5c10>] (bus_probe_device+0x88/0xb0)
[    1.365798] [<c03f5c10>] (bus_probe_device) from [<c03f3ee4>] (device_add+0x348/0x568)
[    1.365822] [<c03f3ee4>] (device_add) from [<c0477bc8>] (spi_add_device+0x90/0x134)
[    1.365843] [<c0477bc8>] (spi_add_device) from [<c0479e68>] (spi_register_master+0x470/0x744)
[    1.365867] [<c0479e68>] (spi_register_master) from [<c047a168>] (devm_spi_register_master+0x2c/0x68)
[    1.365891] [<c047a168>] (devm_spi_register_master) from [<c047cf70>] (omap2_mcspi_probe+0x300/0x3b4)
[    1.365919] [<c047cf70>] (omap2_mcspi_probe) from [<c03f87e0>] (platform_drv_probe+0x44/0xac)
[    1.365943] [<c03f87e0>] (platform_drv_probe) from [<c03f6710>] (driver_probe_device+0x174/0x2b8)
[    1.365965] [<c03f6710>] (driver_probe_device) from [<c03f692c>] (__driver_attach+0x94/0x98)
[    1.365989] [<c03f692c>] (__driver_attach) from [<c03f4d4c>] (bus_for_each_dev+0x6c/0xa0)
[    1.366013] [<c03f4d4c>] (bus_for_each_dev) from [<c03f5e84>] (bus_add_driver+0x144/0x1f0)
[    1.366035] [<c03f5e84>] (bus_add_driver) from [<c03f7844>] (driver_register+0x78/0xf8)
[    1.366057] [<c03f7844>] (driver_register) from [<c00096dc>] (do_one_initcall+0x80/0x1dc)
[    1.366086] [<c00096dc>] (do_one_initcall) from [<c0943d68>] (kernel_init_freeable+0xf0/0x1ac)
[    1.366114] [<c0943d68>] (kernel_init_freeable) from [<c06aad1c>] (kernel_init+0x8/0xe8)
[    1.366139] [<c06aad1c>] (kernel_init) from [<c000f638>] (ret_from_fork+0x14/0x3c)
[    1.366233] ---[ end trace aabb6a1a62523661 ]---
Das ist nur eine nervige Warnung, aber ansonsten eher harmlos - siehe https://github.com/raspberrypi/linux/issues/1054

Können wir für den Moment denke ich ignorieren.

Code: Alles auswählen

[    1.425615] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@48060000[0]'
Diese und ähnliche Meldungen scheinen auch harmlos zu sein - zumindest gibts das analog auch im Bootlog des Originalkernels.

Code: Alles auswählen

[    1.516486] omap-gpmc 50000000.gpmc: GPMC revision 6.0
[    1.516790] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
[    1.516828] gpiochip_find_base: found new base at 510
[    1.519777] gpiochip_add: registered GPIOs 510 to 511 on device: omap-gpmc
[    1.520672] omap-gpmc 50000000.gpmc: cannot request GPMC CS 0
[    1.527342] omap-gpmc 50000000.gpmc: failed to probe DT children
[    1.538880] omap-gpmc: probe of 50000000.gpmc failed with error -16
Da läuft anscheinend echt was schief, und zwar bei der Initialisierung des eingebauten NAND-Flash mit der Original-Firmware.

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 25 Feb 2016, 11:10

richard.kunze hat geschrieben: Ganz doofe Frage: Hast Du das passende Kernel-Modul (wl18xx) geladen? Bzw. was passiert bei dem Versuch, es zu laden?
Ja freilich ... das Modul lädt, aber es gibt keine Reaktion, auch keine Ausgabe im Kernel-Log. Ich habe einfach manuell sämtliche Module geladen, die bei der Original-Firmware auch geladen werden.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

richard.kunze
Administrator
Beiträge: 583
Registriert: 26 Dez 2015, 23:49
Wohnort: Rhein-Main-Gebiet

Community-Firmware: WLAN

Beitrag von richard.kunze » 25 Feb 2016, 13:25

Ich glaube ich weiß was beim WLAN schiefläuft - da scheint sich seit Kernel 3.16 einiges an der Struktur im DTS geändert zu haben.

Im originalen DTS gibt es den Knoten "wlcore" direkt unter "/":

Code: Alles auswählen

wlcore {
	compatible = "wlcore";
	gpio = <28>; /* Bank0, pin28 */

	/*
	 * TODO: use edge irqs for suspend/resume.
	 * in newer kerenls, we seem to miss interrupts when
	 * working with edge irqs, so revert back to level irqs.
	 */
	platform-quirks = <1>;

	/* if a 12xx card is there, configure the clock to
	   WL12XX_REFCLOCK_38_XTAL */
	board-ref-clock = <4>;
};
Ausserdem noch &mmc3:

Code: Alles auswählen

&mmc3 {
	/* these are on the crossbar and are outlined in the
	xbar-event-map element */
	dmas = <&edma 12
		&edma 13>;
	dma-names = "tx", "rx";

	status = "okay";
	vmmc-supply = <&wlan_en_reg>;
	bus-width = <4>;
		pinctrl-names = "default", "sleep";
		pinctrl-0 = <&mmc3_pins_default>;
		pinctrl-1 = <&mmc3_pins_sleep>;

	ti,non-removable;
	ti,needs-special-hs-handling;
	/*cap-power-off-card;*/
	keep-power-in-suspend;
};
Laut Dokumentation in Documentation/devicetree/bindings/net/wireless/ti,wlcore.txt im 4.1er-TI-Kernel, bei http://processors.wiki.ti.com/index.php ... d_updating und nach den DTS-Einträgen für verwandte Boards (hier der für das "TI AM335x EVM") sollte das aber eher so aussehen:

Code: Alles auswählen

&mmc3 {
	/* these are on the crossbar and are outlined in the
	   xbar-event-map element */
	dmas = <&edma_xbar 12 0 1
		&edma_xbar 13 0 2>;
	dma-names = "tx", "rx";
	status = "okay";
	vmmc-supply = <&wlan_en_reg>;
	bus-width = <4>;
	pinctrl-names = "default";
	pinctrl-0 = <&mmc3_pins &wlan_pins>;
	ti,non-removable;
	ti,needs-special-hs-handling;
	cap-power-off-card;
	keep-power-in-suspend;

	#address-cells = <1>;
	#size-cells = <0>;
	wlcore: wlcore@2 {
		compatible = "ti,wl1835";
		reg = <2>;
		interrupt-parent = <&gpio3>;
		interrupts = <17 IRQ_TYPE_LEVEL_HIGH>;
		ref-clock-frequency = <38400000>;
	};
};
D.h. die Definition für wlcore gehört unterhalb von &mmc3 statt nach "/", braucht einen passenden "compatible"-Eintrag und muss ansonsten auch noch etwas angepasst werden. Die wichtigsten Informationen dafür sind die Pins für enable/disable (sowohl für Bluetooth als auch WLAN) und der Pin für Interrupts - die haben wir aber im DTS, als "wlan_pins".

Was noch fehlt:
  • "compatible" - dürfte wohl "ti,wl1835" sein, sollte man aber nochmal verifizieren
  • Pin-Status für den "sleep"-Mode. "wlan_pins" definiert nur einen Satz Pin-Modes für Default.
Edit: Ich habs mal so angepasst wie es meiner Meinung nach sein sollte und auf Github gestellt.

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 25 Feb 2016, 15:26

Cool ... ich probier's asap aus ....

Edit: Hmm, auf den ersten Blick keine Änderung.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

bo911
Beiträge: 10
Registriert: 22 Feb 2016, 20:07

Re: Community-Firmware für den TXT

Beitrag von bo911 » 25 Feb 2016, 20:19

MasterOfGizmo hat geschrieben:Cool ... ich probier's asap aus ....

Edit: Hmm, auf den ersten Blick keine Änderung.
Hallo MasterOfGizmo und richard.kunze,

ich bin bo911 und neu hier im Forum .... Ich finde Euren Ansatz sehr sinnvoll, und habe eigentlich das gleiche schon versucht bzw. auch umgesetzt.
Aktuell läuft bei mir ein linux-4.4.2-rt5 aber ausgehend von Robert Nelsons BBB Kernel (BBB = BeagleBoneBlack)
Es läuft: WLAN, Sound, USB0 Netzwerk, Display, und die FT - Applikation, da ich analog zu MasterOfGizmo eben auch die Laufzeitumgebung
entsprechend erst einmal nicht geändert habe ... Mein Ziel Debian jessie z.b via lxc als gleichzeitiges OS laufen zu lassen, damit ich via Net die
aktuelle Applikation für die I/O nutzen kann. (Wenn FT die einmal zum compilieren anböte, würde ich die FT - Umgebung löschen ...)
Die RT-Version erzeugt bei mir leider z.T hohe CPU - Last, ich denke, das ist in weiteren RT-Patches behoben ..... ;)

Ich denke, ich kann Euch sicher bei den logisch nächsten Schritte deutlich helfen, finde aber das Forum zur Übermittlung all der Details als eher nicht
wirklich effektiv, das hier genannte git - Repo kann ich irgendwie nicht erreichen ?? Gibt es eine Möglichkeit hier zeitnah z.b via Skype / Tel einmal
abzustimmen ??

Okay wenn ich das richtig im Kopf habe, müsst Ihr folgende Dinge tun:

1.) DTS - File anpassen an die neue Struktur(en)
2.) Patch der Datei KERNEL/drivers/net/wireless/ti/wlcore/sdio.c 2016-02-25 19:34:17.000000000 +0100

Code: Alles auswählen

--- KERNEL/drivers/net/wireless/ti/wlcore/sdio.c        2016-02-25 19:34:17.000000000 +0100
+++ ../bb-kernel-4.4.2-rt-bone5/KERNEL/drivers/net/wireless/ti/wlcore/sdio.c    2016-02-23 19:25:36.000000000 +0100
@@ -235,6 +235,10 @@
 {
        struct device_node *np = dev->of_node;
 
+       if (!np)
+            np = of_find_matching_node(NULL, wlcore_sdio_of_match_table);
+ 
+
        if (!np || !of_match_node(wlcore_sdio_of_match_table, np))
                return -ENODATA;
 
@@ -293,8 +297,7 @@
        /* Use block mode for transferring over one block size of data */
        func->card->quirks |= MMC_QUIRK_BLKSZ_FOR_BYTE_MODE;
 
-       ret = wlcore_probe_of(&func->dev, &irq, &pdev_data);
-       if (ret)
+       if (wlcore_probe_of(&func->dev, &irq, &pdev_data))
                goto out_free_glue;
 
        /* if sdio can keep power while host is suspended, enable wow */
3.) Display: Datei fb_ili9341:txt.c aus den Quellen in das Verzeichnis kopieren und folgende patches anwenden...
Hintergrund: Das FT-Display ist wohl ähnlich dem fb_ili9341, aber wird via sdio parallel anstatt via spi angesteuert =>
ein neues Display ist den Kernel - Sourcen hinzu zu fügen ....

Code: Alles auswählen

diff -ur KERNEL/drivers/staging/fbtft/fbtft_device.c ../bb-kernel-4.4.2-rt-bone5/KERNEL/drivers/staging/fbtft/fbtft_device.c
--- KERNEL/drivers/staging/fbtft/fbtft_device.c 2016-02-25 19:34:25.000000000 +0100
+++ ../bb-kernel-4.4.2-rt-bone5/KERNEL/drivers/staging/fbtft/fbtft_device.c     2016-02-23 20:37:13.000000000 +0100
@@ -1189,6 +1189,52 @@
                        }
                }
        }, {
+               .name = "txt_ili9341",
+               .pdev = &(struct platform_device) {
+                       .name = "fb_ili9341_txt",
+                       .id = 0,
+                       .dev = {
+                       .release = fbtft_device_pdev_release,
+                       .platform_data = &(struct fbtft_platform_data) {
+                               .display = {
+                                       .pLcdBase = 0x4830E000,
+                                       .pLcdCmd = 0x14,
+                                       .pLcdData= 0x18,
+
+                                       .buswidth = 16,
+                                       .txbuflen = -1, /* buffer like display */
+                                       .backlight = 1,
+                               },
+                               .gpios = (const struct fbtft_gpio []) {
+
+                               /*      { "reset", 18 },
+                                       { "dc", 86 },
+                                       { "wr", 87 },
+                                       { "cs", 89 },
+                                       { "db00", 70 },
+                                       { "db01", 71 },
+                                       { "db02", 72 },
+                                       { "db03", 73 },
+                                       { "db04", 74 },
+                                       { "db05", 75 },
+                                       { "db06", 76 },
+                                       { "db07", 77 },
+                                       { "db08", 78 },
+                                       { "db09", 79 },
+                                       { "db10", 80 },
+                                       { "db11", 81 },
+                                       { "db12", 8 },
+                                       { "db13", 9 },
+                                       { "db14", 10 },
+                                       { "db15", 11 },*/
+
+                                       { "led", 7 },
+                                       {},
+                               },
+                       },
+               },
+               }
+       }, {
                /* This should be the last item.
                   Used with the custom argument */
                .name = "",
Sowie:

Code: Alles auswählen

diff -ur KERNEL/drivers/staging/fbtft/fbtft.h ../bb-kernel-4.4.2-rt-bone5/KERNEL/drivers/staging/fbtft/fbtft.h
--- KERNEL/drivers/staging/fbtft/fbtft.h        2016-02-25 19:34:25.000000000 +0100
+++ ../bb-kernel-4.4.2-rt-bone5/KERNEL/drivers/staging/fbtft/fbtft.h    2016-02-23 20:29:15.000000000 +0100
@@ -137,6 +137,9 @@
        int gamma_num;
        int gamma_len;
        unsigned long debug;
+       unsigned long pLcdBase;
+        unsigned long pLcdCmd;
+        unsigned long pLcdData;
 };

 /**
Sowie

Code: Alles auswählen

diff -ur KERNEL/drivers/staging/fbtft/Kconfig ../bb-kernel-4.4.2-rt-bone5/KERNEL/drivers/staging/fbtft/Kconfig
--- KERNEL/drivers/staging/fbtft/Kconfig        2016-02-25 19:34:25.000000000 +0100
+++ ../bb-kernel-4.4.2-rt-bone5/KERNEL/drivers/staging/fbtft/Kconfig    2016-02-23 20:16:30.000000000 +0100
@@ -75,6 +75,12 @@
        help
          Generic Framebuffer support for ILI9341

+config FB_TFT_ILI9341_TXT
+        tristate "FB driver for the ILI9341 LCD Controller for TXT"
+        depends on FB_TFT
+        help
+          Generic Framebuffer support for ILI9341 on Knobloch TXT
+
 config FB_TFT_ILI9481
        tristate "FB driver for the ILI9481 LCD Controller"
        depends on FB_TFT
Das Makefile muß auch angepasst werden:

Code: Alles auswählen

diff -ur KERNEL/drivers/staging/fbtft/Makefile ../bb-kernel-4.4.2-rt-bone5/KERNEL/drivers/staging/fbtft/Makefile
--- KERNEL/drivers/staging/fbtft/Makefile       2016-02-25 19:34:25.000000000 +0100
+++ ../bb-kernel-4.4.2-rt-bone5/KERNEL/drivers/staging/fbtft/Makefile   2016-02-23 20:17:05.000000000 +0100
@@ -14,6 +14,7 @@
 obj-$(CONFIG_FB_TFT_ILI9325)     += fb_ili9325.o
 obj-$(CONFIG_FB_TFT_ILI9340)     += fb_ili9340.o
 obj-$(CONFIG_FB_TFT_ILI9341)     += fb_ili9341.o
+obj-$(CONFIG_FB_TFT_ILI9341_TXT) += fb_ili9341_txt.o
 obj-$(CONFIG_FB_TFT_ILI9481)     += fb_ili9481.o
 obj-$(CONFIG_FB_TFT_ILI9486)     += fb_ili9486.o
 obj-$(CONFIG_FB_TFT_PCD8544)     += fb_pcd8544.o
Insgesamt sind also diverse Anpassungen vorzunehmen, das das Display als fb0 - Device entsprechend verfügbar wird ...
Bei waren auch die Input - devices verschoben, so dass im FT-Filesystem nicht event0 als Device sonder event1 zu nehmen war
(sonst geht die Touchfunktion nicht)
4.) Es ändern sich die Bezeichnungen der seriellen Schnittstellen von ttyOX => ttySx, welche in der dts - Datei + FT - Filesystem /opt/knobloch
entsprechend modifiziert werden müssen.
5.) Der wl1835 WLAN / Bluetooth Kombichip muß mit Ti - mittel wlconf entsprechend angepasst werden, bei mir ging es erst, wenn ich die
/lib/firmware - Files geändert habe, und die config gelöscht habe (=> default setup wird genommen ...)

Es gibt noch weitere Umstellungen, die hier erst einmal nicht in dem ersten Beitrag alle auswälzen kann, ich denke, irgendwie muss da eine
effektivere Form des Austausches her, weil cut & copy paste mittels Maus natürlich auch Fehlerbehaftet ist ..
Obige Patches habe ich im linux-4.4.2 angewandt, diese sollten aber mit ein wenig Vergleich auch so im 4.1.18 Ti-Kernel anwendbar sein.

Have fun

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 25 Feb 2016, 21:26

Hallo bo911!

Das klingt doch sehr gut. Du hast also "nur" den Kernel ausgetauscht und das gesamte rootfs gelassen wie es ist? Das hat halt zumindest mal den Vorteil, dass man nur eine Baustelle aufreisst. Aber der Ansatz vom Richard ist ja im ersten Anlauf schon einmal echt weit gekommen.

Ich fände es cool, wenn Du Deinen Kernel oder die Patches irgendwo ablegst, wo sie nicht verloren gehen. Und ja, so ein Forum ist die denkbar schlechtest Art Patches zu verteilen.

Was ist denn Dein Problem mit Github? Was genau geht denn nicht? Du erreichst https://github.com/ftCommunity schon nicht per Browser oder was?
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

richard.kunze
Administrator
Beiträge: 583
Registriert: 26 Dez 2015, 23:49
Wohnort: Rhein-Main-Gebiet

Re: Community-Firmware für den TXT

Beitrag von richard.kunze » 25 Feb 2016, 21:42

Hallo bo911,

erstmal willkommen an Bord!
bo911 hat geschrieben: ich bin bo911 und neu hier im Forum .... Ich finde Euren Ansatz sehr sinnvoll, und habe eigentlich das gleiche schon versucht bzw. auch umgesetzt.
Aktuell läuft bei mir ein linux-4.4.2-rt5 aber ausgehend von Robert Nelsons BBB Kernel (BBB = BeagleBoneBlack)
Es läuft: WLAN, Sound, USB0 Netzwerk, Display, und die FT - Applikation, da ich analog zu MasterOfGizmo eben auch die Laufzeitumgebung
entsprechend erst einmal nicht geändert habe
Cool. Da bist du ja schon einiges weiter als wir.
bo911 hat geschrieben: ... Mein Ziel Debian jessie z.b via lxc als gleichzeitiges OS laufen zu lassen, damit ich via Net die
aktuelle Applikation für die I/O nutzen kann.
Ich würde es wohl eher genau andersrum machen: Das Debian als Hauptsystem laufen lassen (von der SD-Karte), und die FT-Applikation als "Slave". Das sollte eigentlich sogar simpel per chroot-Umgebung gehen, da braucht es denke ich kein LXC für...
bo911 hat geschrieben: Die RT-Version erzeugt bei mir leider z.T hohe CPU - Last, ich denke, das ist in weiteren RT-Patches behoben ..... ;)
Brauchst Du für den TXT wirklich einen RT-Kernel? Ich hätte eigentlich gedacht, dass der Standard-Kernel für alles was man damit sinnvoll machen kann locker reicht.
bo911 hat geschrieben: Ich denke, ich kann Euch sicher bei den logisch nächsten Schritte deutlich helfen, finde aber das Forum zur Übermittlung all der Details als eher nicht wirklich effektiv, das hier genannte git - Repo kann ich irgendwie nicht erreichen ??
Huh? Ich habs eben nochmal probiert, ich komme an https://github.com/ftCommunity/ftcommunity-TXT auch anonym problemlos ran. Wo klemmt es denn genau?
bo911 hat geschrieben: Gibt es eine Möglichkeit hier zeitnah z.b via Skype / Tel einmal
abzustimmen ??
Unter http://ftcommunity.de/ftcomm.php?file=chat gibts einen Chat.
bo911 hat geschrieben: 1.) DTS - File anpassen an die neue Struktur(en)
Da sind wir grade bei. Wenn Du da was hättest würde das vermutlich sehr viel weiterhelfen :-)
bo911 hat geschrieben: 5.) Der wl1835 WLAN / Bluetooth Kombichip muß mit Ti - mittel wlconf entsprechend angepasst werden, bei mir ging es erst, wenn ich die
/lib/firmware - Files geändert habe, und die config gelöscht habe (=> default setup wird genommen ...)
Was hast Du denn an der Firmware geändert? Das was TI normalerweise mitliefert (wl128x-fw*.bin) ist bei uns eigentlich da...
bo911 hat geschrieben: Es gibt noch weitere Umstellungen, die hier erst einmal nicht in dem ersten Beitrag alle auswälzen kann, ich denke, irgendwie muss da eine
effektivere Form des Austausches her, weil cut & copy paste mittels Maus natürlich auch Fehlerbehaftet ist ..
Am effektivsten wären wahrscheinlich GitHub - das ist schliesslich genau für sowas da...

bo911
Beiträge: 10
Registriert: 22 Feb 2016, 20:07

Re: Community-Firmware für den TXT

Beitrag von bo911 » 25 Feb 2016, 23:48

Ich würde es wohl eher genau andersrum machen: Das Debian als Hauptsystem laufen lassen (von der SD-Karte), und die FT-Applikation als "Slave". Das sollte eigentlich sogar simpel per chroot-Umgebung gehen, da braucht es denke ich kein LXC für...
Die Idee war/ist ein Original System inkl. Netz etc. zu haben, und gleichzeitig nebenbei eben die 2-te Umgebung parallel also auch im Netz als eigenständige Instanz laufen lassen zu können.
=> Das System wäre immer als Original verwendbar, und die 2-te nutzt diese temporär als I/O, der Bildschirm ist in meiner geplanten Anwendung nicht relevant...
Ich habe dazu in der buildroot Umgebung lxc übersetzt, und lxc-checkconfig liefert nach Anpassungen alles grün, beim starten von Debian gibt s aber leider Fehler ..
Muss wohl dann doch debian als Hauptsystem booten, und das Orginale System als lxc (eben, damit beide Instanzen wie oben beschrieben verwandt werden können)
Brauchst Du für den TXT wirklich einen RT-Kernel? Ich hätte eigentlich gedacht, dass der Standard-Kernel für alles was man damit sinnvoll machen kann locker reicht.
In meiner Anwendung denke ich wäre eine strikte Einhaltung von Prioritäten und die Reproduzierbarkeit der Abläufe / Ergebnisse schon äußerst Hilfreich. Wenn es dort aber
zu Problemen kommt, muss halt ein Standard Kernel herhalten.
Huh? Ich habs eben nochmal probiert, ich komme an https://github.com/ftCommunity/ftcommunity-TXT auch anonym problemlos ran. Wo klemmt es denn genau?
Ich hatte https://github.com/ftCommunity/community-TXT gelesen und probiert
Ich dachte via voice, und mal eben Dateien verschicken hätte da was, aber prinzipiell geht so ein chat natürlich auch, wenn auch
ziemlich zäh, weil die Antworten entweder kurz und ungenau oder aber langsam sind ..
Da sind wir grade bei. Wenn Du da was hättest würde das vermutlich sehr viel weiterhelfen :-)
Ich habe MasterOfGizmo meine dts - Datei via Mail zukommen lassen ...

Benutzeravatar
ski7777
Beiträge: 870
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: Community-Firmware für den TXT

Beitrag von ski7777 » 26 Feb 2016, 07:06

Hallo,
richard.kunze hat geschrieben: Unter http://ftcommunity.de/ftcomm.php?file=chat gibts einen Chat.
Ich habe schon vor einiger Zeit mal einen Channel "#TXTos" angelegt. Dort können wir uns ohnr e Probleme austauschen.

Raphael

Rei Vilo
Beiträge: 94
Registriert: 19 Dez 2015, 15:39

Re: Community-Firmware für den TXT

Beitrag von Rei Vilo » 26 Feb 2016, 11:38

Hi!

i'd like to provide three pointers and a suggestion.
  • A similar project exists for the Lego EV3 controller, the EV3DEV. As TI Sitara MPUs power both Lego EV3 (AM1808) and fischertechnik Robotics TXT (AM3352) controllers, some code may be reused.
ev3dev is a Debian Linux-based operating system that runs on several LEGO® MINDSTORMS compatible platforms including the LEGO® MINDSTORMS EV3 and Raspberry Pi-powered BrickPi.
Just like you can take apart your LEGO® models and build something completely different, we have reverse-engineered the EV3 and created a new software platform for programming your robots.
  • One suggestion: The GitHub repository is already in English. Having also a thread in English may help and attract even more enthusiasts!
Kind regards,

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 26 Feb 2016, 12:23

Starting an english thread probably makes a lot of sense. Although I am not sure how good the TXT sells outside germany and if there's a significant amount of non-german speaking TXT users ...
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Antworten