Jump to content

Spannungsversorgung Raspberry


tatzemax

Recommended Posts

Ich habe vor einen Raspberry über das Power Supply Brick zu versorgen,

gibt es da Probleme wenn ich den Stapel und das Rasberry darüber versorge und zusätzlich den Stapel und den Raspberry über USB verbinde?

Ich denke da an Vagabundierende Ströme.

 

Power-Anschluss Raspberry über GPIO

http://www.elektronik-kompendium.de/sites/raspberry-pi/1907101.htm

 

Link zu diesem Kommentar
Share on other sites

Ich hatte keine Probleme damit: habe mir einen USB-Stecker hergestellt, den ich an den 5V Ausgang der Step-Down anschließen konnte und gleichzeitig den Stack an den USB-Port des Raspi gehängt.

 

D.h. aber: den RasPi habe ich per Micro-USB versorgt, nicht per GPIO. Wenn die 5V auf GPIO "kurzgeschlossen" sind mit dem Micro-USB müsste es aufs gleiche rauskommen.

 

Aktuell mache ich das analog mit einem Odroid U3 - auch hier keine Probleme. Hier geht das sogar noch weiter: an einem anderen USB-Port des U3 hängt ein zweiter Stack, der dann über USB mit Strom versorgt wird.

Link zu diesem Kommentar
Share on other sites

Hallo tatzemax,

 

ich habe auch eine Step-Down mit nem Master in einem Stapel. In die geht 12 V von nem Netzteil. Aus dem 5V Ausgang wird über ein zurecht gebastelten MicroUSB Stecker der Pi versorgt. Und über die USB Buchse vom Pi geht es direkt über den Mini USB Anschluss direckt in den Master. Funktioniert super. Siehe Anhang.

 

Grüße

Unex

TF_Pi_Versorgung.PNG.68fe07f9c7c802eaede45c85a5746455.PNG

Link zu diesem Kommentar
Share on other sites

So ich habe es heute mal ausprobieren können.

Ich habe das Raspberry mit dem 5V vom Stepdown über die GPIO versorgt,

funktioniert wunder bar auch mit dem Verbinden des Stapels und dem Pi über USB gibt es keine Probleme.

 

Fazit: Man brauch kein USB Kabel zerstören Sondern einfach mit https://www.tinkerforge.com/de/shop/accessories/cable/jumper-cable-set-12x30cm.html

Link zu diesem Kommentar
Share on other sites

Das Problem am "umgehen" des USB Ports ist aber das du einen Wandler übergehst und damit eventuelle Spannungsspitzen direkt den Raspberry beschädigen können.

 

Siehe:

http://raspberrypi.stackexchange.com/questions/1617/how-do-i-supply-power-through-the-gpio

 

IMPLICATIONS

 

To answer your question. Yes you can supply 5v on the GPIO pin. BUT, it has no backward protection and it was not really designed to be a 5volt input pin. the 3.3v pin can also be powered with 3.3v as the regulator has build in protection- but again it leaves your BCM unprotected! Typically any power pins on GPIO area are used to power extended circuits.

 

You need to realise that the USB schematic was carefully designed to be used as the primary +5V input and protects the Pi from getting fried. The GPIO pin does not offer this protection fully and you really need to trust your power supply if you want to do that!

 

dann doch lieber nen billig UBS kabel zerschnippeln ;)

Link zu diesem Kommentar
Share on other sites

So lange ich die Energie vom "Step-Down" nehme mach ich mir da keine sorgen.

Wenn ich das richtig gesehen habe sind dort "Zener-Dioden" eingebaut die meine ich können auch "Spannungsspitzen" unterdrücken.

Ich hoffe das ich mich nicht irre, ist dann doch schon etwas her als ich das mal gelernt habe .

 

Und ich Vertraue da doch auf das Know-How von TF

 

 

 

Link zu diesem Kommentar
Share on other sites

  • 4 months later...

Hallo!

 

Da ich gerade vor dem gleichen "Problem" stehe, wollte ich mal wissen, ob es ohne Probleme funktioniert, also den Raspi über den Step-Down per GPIO mit Strom zu versorgen.

 

Wenn nicht, welche Käbelchen muss ich vom USB-Kabel benutzen für die Stromversorgung?

 

 

 

PS: ich hab gesehen dass der Thread schon etwas älter ist, wollte aber keinen neuen erstellen, da es ja das gleiche Thema ist.

Link zu diesem Kommentar
Share on other sites

Sagte ich ja xD

 

Für USB Versorgung

 

http://pinouts.ru/PortableDevices/micro_usb_pinout.shtml

Hier haste die Pinbelegung

 

auf 1 und 5 musste die Spannung legen

 

1 -> 5V+

5 -> GND

 

( http://pinouts.ru/visual/micro_usb.jpg )

 

USB Kabel zerschneiden und einfach mal durchmessen welches Kabel welches ist... bei mir waren es komplett andere Farben...

Dann die Enden an nen 2 Polstecker packen

https://www.tinkerforge.com/de/shop/accessories/2-pole-green-connector.html

(Auf die Polung achten! Plus ist bei der Buchse Links!

http://www.tinkerforge.com/de/doc/_images/Power_Supplies/powersupply11_connector_600.jpg )

 

Für die Versorgung über GPIO musste den Grünen stecker wie bei der USB Variante anschließen.

Beim Raspberry musste dann den Pin 1 mit 5V+ und Pin 3 mit GND anschließen

https://learn.adafruit.com/assets/3131

 

Falls du noch fragen hast immer raus damit (lieber einmal mehr fragen als was rösten ;))

Link zu diesem Kommentar
Share on other sites

Ich habe bei mir mit folgender Konfiguration USB Probleme:

 

1x Power Supply(zur Versorgung des Raspberrys über GPIO und um den Stapel zu versorgen)

7x USB Bricks

 

Der Power Supply ist ist ganz unten im Stapel. Das Usb Kabel geht vom untersten usb Brick zum Raspberry. Wenn ich bei dem System die Spannung einschalte, dann sehe ich im Brick viewer keine Module und auch dmesg zeigt mir keine USB verbindung an.

pi@raspberrypi ~ $ sudo dmesg -c
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.18.7+ (dc4@dc4-XPS13-9333) (gcc version 4.8.3 20140303 (prerelease) (crosstool-NG linaro-1.13.1+bzr2650 - Linaro GCC 2014.03) ) #755 PREEMPT Thu Feb 12 17:14:31 GMT 2015
[    0.000000] CPU: ARMv6-compatible processor [410fb767] revision 7 (ARMv7), cr=00c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
[    0.000000] Machine model: Raspberry Pi Model B+
[    0.000000] cma: Reserved 8 MiB at 0x1b800000
[    0.000000] Memory policy: Data cache writeback
[    0.000000] On node 0 totalpages: 114688
[    0.000000] free_area_init_node: node 0, pgdat c084d804, node_mem_map db474000
[    0.000000]   Normal zone: 896 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 114688 pages, LIFO batch:31
[    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: 113792
[    0.000000] Kernel command line: dma.dmachans=0x7f35 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708.boardrev=0x10 bcm2708.serial=0xf2684055 smsc95xx.macaddr=B8:27:EB:68:40:55 bcm2708_fb.fbswap=1 bcm2708.disk_led_gpio=47 bcm2708.disk_led_active_low=0 sdhci-bcm2708.emmc_clock_freq=250000000 vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000  dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 437208K/458752K available (5926K kernel code, 358K rwdata, 1876K rodata, 340K init, 734K bss, 21544K reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xffe00000   (2048 kB)
[    0.000000]     vmalloc : 0xdc800000 - 0xff000000   ( 552 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xdc000000   ( 448 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc07a6ad8   (7803 kB)
[    0.000000]       .init : 0xc07a7000 - 0xc07fc000   ( 340 kB)
[    0.000000]       .data : 0xc07fc000 - 0xc085588c   ( 359 kB)
[    0.000000]        .bss : 0xc085588c - 0xc090d128   ( 735 kB)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000] NR_IRQS:522
[    0.000025] sched_clock: 32 bits at 1000kHz, resolution 1000ns, wraps every 2147483648000ns
[    0.000076] Switching to timer-based delay loop, resolution 1000ns
[    0.000354] Console: colour dummy device 80x30
[    0.001428] console [tty1] enabled
[    0.001473] Calibrating delay loop (skipped), value calculated using timer frequency.. 2.00 BogoMIPS (lpj=10000)
[    0.001547] pid_max: default: 32768 minimum: 301
[    0.001925] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.001990] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.002998] Initializing cgroup subsys memory
[    0.003091] Initializing cgroup subsys devices
[    0.003150] Initializing cgroup subsys freezer
[    0.003206] Initializing cgroup subsys net_cls
[    0.003256] Initializing cgroup subsys blkio
[    0.003381] CPU: Testing write buffer coherency: ok
[    0.003495] ftrace: allocating 19479 entries in 58 pages
[    0.111578] Setting up static identity map for 0x55d058 - 0x55d0b4
[    0.114395] devtmpfs: initialized
[    0.131859] VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 5
[    0.135084] pinctrl core: initialized pinctrl subsystem
[    0.137828] NET: Registered protocol family 16
[    0.143336] DMA: preallocated 4096 KiB pool for atomic coherent allocations
[    0.171355] cpuidle: using governor ladder
[    0.201420] cpuidle: using governor menu
[    0.201935] bcm2708.uart_clock = 3000000
[    0.205023] No ATAGs?
[    0.205089] hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
[    0.205151] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.205218] mailbox: Broadcom VideoCore Mailbox driver
[    0.205383] bcm2708_vcio: mailbox at f200b880
[    0.205874] bcm_power: Broadcom power driver
[    0.205931] bcm_power_open() -> 0
[    0.205962] bcm_power_request(0, 
[    0.706703] bcm_mailbox_read -> 00000080, 0
[    0.706750] bcm_power_request -> 0
[    0.706950] Serial: AMBA PL011 UART driver
[    0.707184] dev:f1: ttyAMA0 at MMIO 0x20201000 (irq = 83, base_baud = 0) is a PL011 rev3
[    1.101553] console [ttyAMA0] enabled
[    1.174605] SCSI subsystem initialized
[    1.178747] usbcore: registered new interface driver usbfs
[    1.184545] usbcore: registered new interface driver hub
[    1.190046] usbcore: registered new device driver usb
[    1.197238] Switched to clocksource stc
[    1.231675] FS-Cache: Loaded
[    1.235011] CacheFiles: Loaded
[    1.255184] NET: Registered protocol family 2
[    1.261141] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[    1.268558] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[    1.275120] TCP: Hash tables configured (established 4096 bind 4096)
[    1.281629] TCP: reno registered
[    1.284897] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    1.290821] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    1.297561] NET: Registered protocol family 1
[    1.302572] RPC: Registered named UNIX socket transport module.
[    1.308659] RPC: Registered udp transport module.
[    1.313389] RPC: Registered tcp transport module.
[    1.318153] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.325832] bcm2708_dma: DMA manager at f2007000
[    1.330883] vc-mem: phys_addr:0x00000000 mem_base=0x1ec00000 mem_size:0x20000000(512 MiB)
[    1.340766] futex hash table entries: 256 (order: -1, 3072 bytes)
[    1.347033] audit: initializing netlink subsys (disabled)
[    1.352758] audit: type=2000 audit(1.100:1): initialized
[    1.373609] VFS: Disk quotas dquot_6.5.2
[    1.378131] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    1.387596] FS-Cache: Netfs 'nfs' registered for caching
[    1.394685] NFS: Registering the id_resolver key type
[    1.399998] Key type id_resolver registered
[    1.404213] Key type id_legacy registered
[    1.409771] msgmni has been set to 869
[    1.416042] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    1.424063] io scheduler noop registered
[    1.428211] io scheduler deadline registered (default)
[    1.433770] io scheduler cfq registered
[    1.440336] BCM2708FB: allocated DMA memory 5bc00000
[    1.445402] BCM2708FB: allocated DMA channel 0 @ f2007000
[    1.456906] Console: switching to colour frame buffer device 82x26
[    1.469078] bcm2708-dmaengine bcm2708-dmaengine: Load BCM2835 DMA engine driver
[    1.478699] uart-pl011 dev:f1: no DMA platform data
[    1.486115] vc-cma: Videocore CMA driver
[    1.491857] vc-cma: vc_cma_base      = 0x00000000
[    1.498269] vc-cma: vc_cma_size      = 0x00000000 (0 MiB)
[    1.505245] vc-cma: vc_cma_initial   = 0x00000000 (0 MiB)
[    1.525855] brd: module loaded
[    1.537831] loop: module loaded
[    1.543026] vchiq: vchiq_init_state: slot_zero = 0xdb800000, is_master = 0
[    1.552657] Loading iSCSI transport class v2.0-870.
[    1.560911] usbcore: registered new interface driver smsc95xx
[    1.568576] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[    1.776178] Core Release: 2.80a
[    1.781023] Setting default values for core params
[    1.787397] Finished setting default values for core params
[    1.994668] Using Buffer DMA mode
[    1.999581] Periodic Transfer Interrupt Enhancement - disabled
[    2.006974] Multiprocessor Interrupt Enhancement - disabled
[    2.014153] OTG VER PARAM: 0, OTG VER FLAG: 0
[    2.020146] Dedicated Tx FIFOs mode
[    2.025657] WARN::dwc_otg_hcd_init:1047: FIQ DMA bounce buffers: virt = 0xdbc14000 dma = 0x5bc14000 len=9024
[    2.038734] FIQ FSM acceleration enabled for :
[    2.038734] Non-periodic Split Transactions
[    2.038734] Periodic Split Transactions
[    2.038734] High-Speed Isochronous Endpoints
[    2.061790] dwc_otg: Microframe scheduler enabled
[    2.061897] WARN::hcd_init_fiq:412: FIQ on core 0 at 0xc040116c
[    2.069497] WARN::hcd_init_fiq:413: FIQ ASM at 0xc0401444 length 36
[    2.077421] WARN::hcd_init_fiq:438: MPHI regs_base at 0xdc806000
[    2.085131] dwc_otg bcm2708_usb: DWC OTG Controller
[    2.091714] dwc_otg bcm2708_usb: new USB bus registered, assigned bus number 1
[    2.100701] dwc_otg bcm2708_usb: irq 32, io mem 0x00000000
[    2.107876] Init: Port Power? op_state=1
[    2.113380] Init: Power Port (0)
[    2.118608] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    2.127039] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.135933] usb usb1: Product: DWC OTG Controller
[    2.142291] usb usb1: Manufacturer: Linux 3.18.7+ dwc_otg_hcd
[    2.149666] usb usb1: SerialNumber: bcm2708_usb
[    2.156911] hub 1-0:1.0: USB hub found
[    2.162519] hub 1-0:1.0: 1 port detected
[    2.168748] dwc_otg: FIQ enabled
[    2.168772] dwc_otg: NAK holdoff enabled
[    2.168784] dwc_otg: FIQ split-transaction FSM enabled
[    2.168844] Module dwc_common_port init
[    2.169417] usbcore: registered new interface driver usb-storage
[    2.177659] mousedev: PS/2 mouse device common for all mice
[    2.185710] bcm2835-cpufreq: min=700000 max=700000
[    2.192581] sdhci: Secure Digital Host Controller Interface driver
[    2.200488] sdhci: Copyright(c) Pierre Ossman
[    2.206709] DMA channels allocated for the MMC driver
[    2.247321] Load BCM2835 MMC driver
[    2.254398] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.270520] ledtrig-cpu: registered to indicate activity on CPUs
[    2.280740] hidraw: raw HID events driver (C) Jiri Kosina
[    2.292438] usbcore: registered new interface driver usbhid
[    2.301848] usbhid: USB HID core driver
[    2.309023] TCP: cubic registered
[    2.316162] Initializing XFRM netlink socket
[    2.322244] NET: Registered protocol family 17
[    2.328660] Key type dns_resolver registered
[    2.336312] registered taskstats version 1
[    2.342387] vc-sm: Videocore shared memory driver
[    2.348844] [vc_sm_connected_init]: start
[    2.355701] [vc_sm_connected_init]: end - returning 0
[    2.364360] Waiting for root device /dev/mmcblk0p2...
[    2.371548] Indeed it is in host mode hprt0 = 00021501
[    2.383665] mmc0: host does not support reading read-only switch, assuming write-enable
[    2.409633] mmc0: new high speed SDHC card at address 0007
[    2.427379] mmcblk0: mmc0:0007 SD32G 29.0 GiB
[    2.438840]  mmcblk0: p1 p2
[    2.491826] EXT4-fs (mmcblk0p2): INFO: recovery required on readonly filesystem
[    2.501074] EXT4-fs (mmcblk0p2): write access will be enabled during recovery
[    2.587489] usb 1-1: new high-speed USB device number 2 using dwc_otg
[    2.598839] Indeed it is in host mode hprt0 = 00001101
[    2.807842] usb 1-1: New USB device found, idVendor=0424, idProduct=9514
[    2.816540] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    2.827120] hub 1-1:1.0: USB hub found
[    2.833106] hub 1-1:1.0: 5 ports detected
[    3.117435] usb 1-1.1: new high-speed USB device number 3 using dwc_otg
[    3.237790] usb 1-1.1: New USB device found, idVendor=0424, idProduct=ec00
[    3.246529] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    3.258886] smsc95xx v1.0.4
[    3.322191] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-bcm2708_usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:68:40:55
[    3.930147] EXT4-fs (mmcblk0p2): recovery complete
[    3.943157] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    3.955083] VFS: Mounted root (ext4 filesystem) readonly on device 179:2.
[    3.965247] devtmpfs: mounted
[    3.971291] Freeing unused kernel memory: 340K (c07a7000 - c07fc000)
[    5.574490] udevd[159]: starting version 175
[   11.132126] random: nonblocking pool is initialized
[   11.791844] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[   13.185720] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[   22.644972] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
[   26.498504] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
[   30.625402] Adding 102396k swap on /var/swap.  Priority:-1 extents:2 across:2134012k SSFS
[   39.941430] Bits 55-60 of /proc/PID/pagemap entries are about to stop being page-shift some time soon. See the linux/Documentation/vm/pagemap.txt for details.

 

 

Usb Kabel ziehen und stecken hilft auch nicht weiter. Das einzige, was funktioniert ist das drücken der Reset Taste am Brick Stapel.

 

pi@raspberrypi ~ $ sudo dmesg -c
[  310.768227] usb 1-1.3: new full-speed USB device number 4 using dwc_otg
[  310.872598] usb 1-1.3: New USB device found, idVendor=16d0, idProduct=063d
[  310.872639] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  310.872659] usb 1-1.3: Product: Master Brick
[  310.872677] usb 1-1.3: Manufacturer: Tinkerforge GmbH
[  310.872693] usb 1-1.3: SerialNumber: 6DcNHW

Link zu diesem Kommentar
Share on other sites

@Ulrich: Das ist korrektes Verhalten! Die neueste Master Brick Firmware hat kein USB Hotplug, d.h. der Master muss einmal neugestartet werden nachdem man USB einsteckt.

 

Der einzige Fall in dem das passieren kann ist genau deiner (man nutzt eine Step-Down Power Supply, versorgt diese zuerst mit Strom und steckt dann das USB Kabel an).

 

Wir mussten die USB Hotplug Erkennung leider rausnehmen, da es leider zu "false positive" Erkennungen kommen konnte in bestimmten Fällen.

Link zu diesem Kommentar
Share on other sites

Hm... das ist ja schade. Ich hab nen ziehmlich großen Aufbau, daher reicht die Spannungsversorgung über usb nicht aus.

 

Es soll ein Testaufbau werden, den man nur einschalten braucht und der dann loslaufen soll. Daher ist das mit dem jedes mal Reset Taster drücken ungünstig.

 

Anfangs hatte ich den Stapel per USB an meinen PC angeschlossen, aber als ich dann immer mehr Bricklets angschlossen habe war irgendwann war dann der Strom zu groß und der Port überlastet.

 

Um mein Problem zu lösen habe ich aktuell folgende Ideen:

 

a) ein Kabel an den Reset löten und mit einem GPIO vom Raspi verbinden und dann nach dem Hochlauf des Raspi einen Reset auslösen.

 

oder b) FB4 auf dem untersten Modul runterlöten, sodass mein unterstes Modul nur über USB versorgt wird.

 

@Borg: Was hälst du davon?

 

Link zu diesem Kommentar
Share on other sites

finde ich auch etwas schade, so ein Szenario (Stapel mit Step-Down unten und Raspberry, der dann gleich den Saft vom Step-Down mitbekommt) ist ja nicht völlig exotisch (habe ich bei einem Konstrukt hier auch  8) )

Wäre es denn nicht vielleicht eine Möglichkeit, die USB-Hotplug-Erkennung zeitlich gesteuert abzuschalten? Also sagen wir 30 Sekunden oder so nach dem rest des Master Brick laufen zu lassen (so lange, bis der Raspberry bzw. das Linux da drauf sich soweit gestartet hat, so dass die USB-Verbindung soweit erkannt ist, das das Ganze funktioniert) und dann erst (dann bis zum reset) zu deaktivieren? Weil ich meine mich doch so dumpf dran zu erinnern, das dieser Effekt mit der falschen Erkennung erst so im Laufe der Zeit auftaucht. Oder notfalls eine Version der Firmware für den Master Brick zusätzlich zu veröffentlichen, das die Hotplug-Erkennung mit drin ist (denn so häufig kannn das Problem auch nicht sein, ich habe bei meinem Zeug hier - mit soweit älterer Firmware, das die Erkennung da auf jeden Fall noch drinsein muss) bislang nie Probleme)

 

Gruß,

Holger

Link zu diesem Kommentar
Share on other sites

Was genau ist das Szenario hier? Der Stapel ist per Step-Down versorgt, läuft durchgängig und der PC wird aus/ein-geschaltet und der Brick wird dann nicht erkannt am PC?

 

Eigentlich sollte das kein Problem sein solange beim ersten "Bootvorgang" des Bricks ein USB Kabel angeschlossen war.

 

Edit: Das Szenario von Gruenauge sollte auch keine Probleme machen, USB wird bereits erkannt wenn nur eine Spannung anliegt auf USB. D.h. zu dem Zeitpunkt wo der Master Brick die Detektierung der USB-Verbindung durchführt, muss der RPi den USB Port bereits mit Strom versorgen, was eigentlich immer der Fall sein sollte. Oder übersehe ich da etwas?

Link zu diesem Kommentar
Share on other sites

Was genau ist das Szenario hier? Der Stapel ist per Step-Down versorgt, läuft durchgängig und der PC wird aus/ein-geschaltet und der Brick wird dann nicht erkannt am PC?

 

also, wenn ich das nicht falsch verstanden habe, dann ist es in beiden Fällen folgendes Szenario:

a) Stapel mit Step-Down-PS, Master Brick und allerlei Kram (bekommt Strom vom Step-Down natürlich)

b) Raspberry, der den Strom über den 5V-Ausgang des Step-Down-PS bekommt

c) USB-Kabel, welches dann vom Raspberry zum Stapel geht (zur Steuerung halt)

 

Also im Grunde läuft immer alles, nur scheint es (nach den Texten oben von Ulrich) ein Problem zu geben, das in der ganzen Hochlaufprozedur der Master nicht merkt, das der Raspberry da am Start ist. Ichmuss zugeben, das ich auch nicht weiß, ab wann der Raspberry da Power auf die USB-Ports gibt (also ob die Power quasi kommt, wenn der Raspberry mit Strom versorgt wird, oder ob die erst durch Kerneltreiber (oder Raspberry-Firmware oder was weiß ich) aktiviert werden müssen.

Bei meinem oben beschriebenen Gerät habe ich aktuell keine Probleme, aber die Firmware von dem Master Brick ist auch etwas älter, da war die Hotplug-Erkennung auf jeden Fall drin. Ich will aber natürlich nicht probieren, ob ich Probleme kriegen würde, wenn ich da die aktuellste Firmware auf die Master Bricks drauf tue  8)

 

Ich hoffe mal, ich habe Ulrichs Text da nicht missverstanden, ansonsten ziehe ich alles zurück und gehe schämend in meine Ecke  ;)

 

Gruß,

Holger

Link zu diesem Kommentar
Share on other sites

a) Stapel mit Step-Down-PS, Master Brick und allerlei Kram (bekommt Strom vom Step-Down natürlich)

b) Raspberry, der den Strom über den 5V-Ausgang des Step-Down-PS bekommt

c) USB-Kabel, welches dann vom Raspberry zum Stapel geht (zur Steuerung halt)

 

Ja das beschreibt mein Szenario exakt. (-:

 

 

Edit: Das Szenario von Gruenauge sollte auch keine Probleme machen, USB wird bereits erkannt wenn nur eine Spannung anliegt auf USB. D.h. zu dem Zeitpunkt wo der Master Brick die Detektierung der USB-Verbindung durchführt, muss der RPi den USB Port bereits mit Strom versorgen, was eigentlich immer der Fall sein sollte. Oder übersehe ich da etwas?

Ich habe mir gerade einmal die 5V des Step Down Power Supply und die eines USB Port des Raspberry beim Einschalten angeschaut. Mein Raspberry braucht 4,6 Sekunden, bis er die USB Versorgung einschaltet.

 

@Gruenauge: Welche Firmware hast du den auf deinem Master Bricks? Auf meinen ist 2.3.1.

20150318-0007.pdf

Link zu diesem Kommentar
Share on other sites

Könnt ihr mal die Firmware im Anhang ausprobieren? Ich glaube ich habe eine gute Lösung gefunden. Der unterste Master im Stapel initialisiert die USB-State-Machine und PLL, usw. jetzt einfach unabhängig davon ob eine USB Verbindung da ist oder nicht. Dadurch kann ich dann auf USB_RESUME und USB_SUPSEND events reagieren.

 

Was mir daran gefällt: Wenn man nun einen USB Stecker in einen Brick im Stapel einsteckt startet dieser nicht neu, wenn man den USB Stecker in den untersten Brick einsteckt wird der komplette Stapel neugestartet. Das ist eigentlich optimal so ;D.

master-brick-2.3.2-beta1.bin

Link zu diesem Kommentar
Share on other sites

Hallo borg,

 

habe die neue Firmware einmal ausprobiert. Der USB Master brick wird nun erkannt, wenn ich die Spannung einschalte.

 

 

pi@raspberrypi ~/dev $ sudo dmesg -c
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.18.7+ (dc4@dc4-XPS13-9333) (gcc version 4.8.3 20140303 (prerelease) (crosstool-NG linaro-1.13.1+bzr2650 - Linaro GCC 2014.03) ) #755 PREEMPT Thu Feb 12 17:14:31 GMT 2015
[    0.000000] CPU: ARMv6-compatible processor [410fb767] revision 7 (ARMv7), cr=00c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
[    0.000000] Machine model: Raspberry Pi Model B+
[    0.000000] cma: Reserved 8 MiB at 0x1b800000
[    0.000000] Memory policy: Data cache writeback
[    0.000000] On node 0 totalpages: 114688
[    0.000000] free_area_init_node: node 0, pgdat c084d804, node_mem_map db474000
[    0.000000]   Normal zone: 896 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 114688 pages, LIFO batch:31
[    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: 113792
[    0.000000] Kernel command line: dma.dmachans=0x7f35 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708.boardrev=0x10 bcm2708.serial=0xa89e48ae smsc95xx.macaddr=B8:27:EB:9E:48:AE bcm2708_fb.fbswap=1 bcm2708.disk_led_gpio=47 bcm2708.disk_led_active_low=0 sdhci-bcm2708.emmc_clock_freq=250000000 vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000  dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 437208K/458752K available (5926K kernel code, 358K rwdata, 1876K rodata, 340K init, 734K bss, 21544K reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xffe00000   (2048 kB)
[    0.000000]     vmalloc : 0xdc800000 - 0xff000000   ( 552 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xdc000000   ( 448 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc07a6ad8   (7803 kB)
[    0.000000]       .init : 0xc07a7000 - 0xc07fc000   ( 340 kB)
[    0.000000]       .data : 0xc07fc000 - 0xc085588c   ( 359 kB)
[    0.000000]        .bss : 0xc085588c - 0xc090d128   ( 735 kB)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000] NR_IRQS:522
[    0.000024] sched_clock: 32 bits at 1000kHz, resolution 1000ns, wraps every 2147483648000ns
[    0.000076] Switching to timer-based delay loop, resolution 1000ns
[    0.000356] Console: colour dummy device 80x30
[    0.001430] console [tty1] enabled
[    0.001476] Calibrating delay loop (skipped), value calculated using timer frequency.. 2.00 BogoMIPS (lpj=10000)
[    0.001550] pid_max: default: 32768 minimum: 301
[    0.001930] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.001996] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.003008] Initializing cgroup subsys memory
[    0.003100] Initializing cgroup subsys devices
[    0.003159] Initializing cgroup subsys freezer
[    0.003214] Initializing cgroup subsys net_cls
[    0.003266] Initializing cgroup subsys blkio
[    0.003392] CPU: Testing write buffer coherency: ok
[    0.003506] ftrace: allocating 19479 entries in 58 pages
[    0.111597] Setting up static identity map for 0x55d058 - 0x55d0b4
[    0.114417] devtmpfs: initialized
[    0.131874] VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 5
[    0.135087] pinctrl core: initialized pinctrl subsystem
[    0.137833] NET: Registered protocol family 16
[    0.143343] DMA: preallocated 4096 KiB pool for atomic coherent allocations
[    0.171371] cpuidle: using governor ladder
[    0.201433] cpuidle: using governor menu
[    0.201950] bcm2708.uart_clock = 3000000
[    0.205030] No ATAGs?
[    0.205095] hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
[    0.205157] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.205223] mailbox: Broadcom VideoCore Mailbox driver
[    0.205388] bcm2708_vcio: mailbox at f200b880
[    0.205875] bcm_power: Broadcom power driver
[    0.205935] bcm_power_open() -> 0
[    0.205967] bcm_power_request(0, 
[    0.706707] bcm_mailbox_read -> 00000080, 0
[    0.706756] bcm_power_request -> 0
[    0.706954] Serial: AMBA PL011 UART driver
[    0.707190] dev:f1: ttyAMA0 at MMIO 0x20201000 (irq = 83, base_baud = 0) is a PL011 rev3
[    1.101552] console [ttyAMA0] enabled
[    1.174610] SCSI subsystem initialized
[    1.178754] usbcore: registered new interface driver usbfs
[    1.184557] usbcore: registered new interface driver hub
[    1.190060] usbcore: registered new device driver usb
[    1.197258] Switched to clocksource stc
[    1.231669] FS-Cache: Loaded
[    1.235008] CacheFiles: Loaded
[    1.255218] NET: Registered protocol family 2
[    1.261170] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[    1.268585] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[    1.275147] TCP: Hash tables configured (established 4096 bind 4096)
[    1.281656] TCP: reno registered
[    1.284923] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    1.290847] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    1.297587] NET: Registered protocol family 1
[    1.302598] RPC: Registered named UNIX socket transport module.
[    1.308685] RPC: Registered udp transport module.
[    1.313415] RPC: Registered tcp transport module.
[    1.318180] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.325866] bcm2708_dma: DMA manager at f2007000
[    1.330914] vc-mem: phys_addr:0x00000000 mem_base=0x1ec00000 mem_size:0x20000000(512 MiB)
[    1.340799] futex hash table entries: 256 (order: -1, 3072 bytes)
[    1.347066] audit: initializing netlink subsys (disabled)
[    1.352789] audit: type=2000 audit(1.100:1): initialized
[    1.373645] VFS: Disk quotas dquot_6.5.2
[    1.378161] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    1.387646] FS-Cache: Netfs 'nfs' registered for caching
[    1.394740] NFS: Registering the id_resolver key type
[    1.400061] Key type id_resolver registered
[    1.404275] Key type id_legacy registered
[    1.409832] msgmni has been set to 869
[    1.416102] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    1.424121] io scheduler noop registered
[    1.428265] io scheduler deadline registered (default)
[    1.433824] io scheduler cfq registered
[    1.440395] BCM2708FB: allocated DMA memory 5bc00000
[    1.445462] BCM2708FB: allocated DMA channel 0 @ f2007000
[    1.456955] Console: switching to colour frame buffer device 82x26
[    1.469126] bcm2708-dmaengine bcm2708-dmaengine: Load BCM2835 DMA engine driver
[    1.478745] uart-pl011 dev:f1: no DMA platform data
[    1.486157] vc-cma: Videocore CMA driver
[    1.491904] vc-cma: vc_cma_base      = 0x00000000
[    1.498318] vc-cma: vc_cma_size      = 0x00000000 (0 MiB)
[    1.505289] vc-cma: vc_cma_initial   = 0x00000000 (0 MiB)
[    1.525899] brd: module loaded
[    1.537909] loop: module loaded
[    1.543099] vchiq: vchiq_init_state: slot_zero = 0xdb800000, is_master = 0
[    1.552727] Loading iSCSI transport class v2.0-870.
[    1.560974] usbcore: registered new interface driver smsc95xx
[    1.568629] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[    1.776217] Core Release: 2.80a
[    1.781061] Setting default values for core params
[    1.787436] Finished setting default values for core params
[    1.994707] Using Buffer DMA mode
[    1.999618] Periodic Transfer Interrupt Enhancement - disabled
[    2.007002] Multiprocessor Interrupt Enhancement - disabled
[    2.014176] OTG VER PARAM: 0, OTG VER FLAG: 0
[    2.020167] Dedicated Tx FIFOs mode
[    2.025674] WARN::dwc_otg_hcd_init:1047: FIQ DMA bounce buffers: virt = 0xdbc14000 dma = 0x5bc14000 len=9024
[    2.038737] FIQ FSM acceleration enabled for :
[    2.038737] Non-periodic Split Transactions
[    2.038737] Periodic Split Transactions
[    2.038737] High-Speed Isochronous Endpoints
[    2.061772] dwc_otg: Microframe scheduler enabled
[    2.061878] WARN::hcd_init_fiq:412: FIQ on core 0 at 0xc040116c
[    2.069474] WARN::hcd_init_fiq:413: FIQ ASM at 0xc0401444 length 36
[    2.077397] WARN::hcd_init_fiq:438: MPHI regs_base at 0xdc806000
[    2.085112] dwc_otg bcm2708_usb: DWC OTG Controller
[    2.091703] dwc_otg bcm2708_usb: new USB bus registered, assigned bus number 1
[    2.100688] dwc_otg bcm2708_usb: irq 32, io mem 0x00000000
[    2.107863] Init: Port Power? op_state=1
[    2.113363] Init: Power Port (0)
[    2.118583] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    2.127016] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.135909] usb usb1: Product: DWC OTG Controller
[    2.142263] usb usb1: Manufacturer: Linux 3.18.7+ dwc_otg_hcd
[    2.149640] usb usb1: SerialNumber: bcm2708_usb
[    2.156885] hub 1-0:1.0: USB hub found
[    2.162493] hub 1-0:1.0: 1 port detected
[    2.168721] dwc_otg: FIQ enabled
[    2.168746] dwc_otg: NAK holdoff enabled
[    2.168759] dwc_otg: FIQ split-transaction FSM enabled
[    2.168819] Module dwc_common_port init
[    2.169386] usbcore: registered new interface driver usb-storage
[    2.177625] mousedev: PS/2 mouse device common for all mice
[    2.185673] bcm2835-cpufreq: min=700000 max=700000
[    2.192546] sdhci: Secure Digital Host Controller Interface driver
[    2.200450] sdhci: Copyright(c) Pierre Ossman
[    2.206672] DMA channels allocated for the MMC driver
[    2.247340] Load BCM2835 MMC driver
[    2.254406] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.269333] ledtrig-cpu: registered to indicate activity on CPUs
[    2.278592] hidraw: raw HID events driver (C) Jiri Kosina
[    2.290294] usbcore: registered new interface driver usbhid
[    2.299698] usbhid: USB HID core driver
[    2.306800] TCP: cubic registered
[    2.314023] Initializing XFRM netlink socket
[    2.320104] NET: Registered protocol family 17
[    2.326585] Key type dns_resolver registered
[    2.334236] registered taskstats version 1
[    2.340505] vc-sm: Videocore shared memory driver
[    2.346883] [vc_sm_connected_init]: start
[    2.353836] [vc_sm_connected_init]: end - returning 0
[    2.362555] Waiting for root device /dev/mmcblk0p2...
[    2.369742] Indeed it is in host mode hprt0 = 00021501
[    2.381433] mmc0: host does not support reading read-only switch, assuming write-enable
[    2.409669] mmc0: new high speed SDHC card at address 0007
[    2.427535] mmcblk0: mmc0:0007 SD32G 29.0 GiB
[    2.438801]  mmcblk0: p1 p2
[    2.492257] EXT4-fs (mmcblk0p2): INFO: recovery required on readonly filesystem
[    2.501507] EXT4-fs (mmcblk0p2): write access will be enabled during recovery
[    2.587662] usb 1-1: new high-speed USB device number 2 using dwc_otg
[    2.599487] Indeed it is in host mode hprt0 = 00001101
[    2.807817] usb 1-1: New USB device found, idVendor=0424, idProduct=9514
[    2.816510] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    2.826776] hub 1-1:1.0: USB hub found
[    2.832566] hub 1-1:1.0: 5 ports detected
[    3.117479] usb 1-1.1: new high-speed USB device number 3 using dwc_otg
[    3.237773] usb 1-1.1: New USB device found, idVendor=0424, idProduct=ec00
[    3.246468] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    3.258997] smsc95xx v1.0.4
[    3.322064] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-bcm2708_usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:9e:48:ae
[    3.417505] usb 1-1.2: new full-speed USB device number 4 using dwc_otg
[    3.541122] usb 1-1.2: New USB device found, idVendor=16d0, idProduct=063d
[    3.550077] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    3.559348] usb 1-1.2: Product: Master Brick
[    3.565485] usb 1-1.2: Manufacturer: Tinkerforge GmbH
[    3.572406] usb 1-1.2: SerialNumber: 6K7JbU
[    3.832778] EXT4-fs (mmcblk0p2): orphan cleanup on readonly fs
[    3.841167] EXT4-fs (mmcblk0p2): 1 orphan inode deleted
[    3.848382] EXT4-fs (mmcblk0p2): recovery complete
[    4.371807] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    4.383488] VFS: Mounted root (ext4 filesystem) readonly on device 179:2.
[    4.393553] devtmpfs: mounted
[    4.399480] Freeing unused kernel memory: 340K (c07a7000 - c07fc000)
[    6.006136] udevd[159]: starting version 175
[   11.467404] random: nonblocking pool is initialized
[   12.169874] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[   12.697864] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[   22.178102] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
[   31.212212] Adding 102396k swap on /var/swap.  Priority:-1 extents:2 across:2134012k SSFS
[   31.553988] Bits 55-60 of /proc/PID/pagemap entries are about to stop being page-shift some time soon. See the linux/Documentation/vm/pagemap.txt for details.
[  379.367230] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0x45E1

 

 

Aber mein Programm läuft trotzem noch nicht an und findet keine Bricklets. Wenn ich mich von meinem Host PC mit dem BrickViewer verbinde sehe ich dort auch keine Bricklets. Erst wenn ich die Reset Taste drücke läuft das ganze an.

 

Woran kann das noch liegen? Muss ja dann noch ein Problem mit dem BrickDeamon sein, oder?

 

Edit: hab jetzt erstmal wieder die alte Firmware geladen und ne Brücke über D11 gelötet, dann gehts auch.

Link zu diesem Kommentar
Share on other sites

So, hat ein bisschen gedauert aber ich glaube wir haben es jetzt! Wir haben das jetzt mit dem RPi getestet und soweit wir das überblicken klappt das jetzt.

 

Der Master Brick startet jetzt nicht neu wenn USB eingesteckt wird, er sollte sich aber trotzdem entsprechend initialisieren und im Brick Viewer auftauchen. Wenn man USB absteckt (und es wird weiter über die Step-Down versorgt) dann sollte sich der Master Brick neustarten.

 

Bitte nochmal testen! ;D

master-brick-2.3.2-beta2.bin

Link zu diesem Kommentar
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...