樹莓派 3B+ 筦窺︰ 【POE】 USB Boot ?★‧硬體

假使奶油土司掉到地上,十之八九是塗奶油的那一面◎

如果依據『最糟情境』考察樹莓派 3B+ 電源線路︰

唯有當

V^{min}_{in} - R^{max}_{fuse} * I^{max}_{load} \ge V_{under \_ votage}

時,才能不發生『低電壓警訊』!

從 MF-MSMF-250/X datasheet 可知 R^{max}_{fuse} = 0.1 \Omega

一個符合 USB 規格之電源,在額定電流內,它的輸入電壓落在 5V \pm 5 \% 範圍裡。

如此 V^{min}_{in} = 4.75 V ,那麼不管假設 V_{under \_ votage}4.65 V4.63V ,最多只能容許 1.0 A1.2A 電流哩!

更別說這時電壓恐已超出 USB 輸入範圍也?!

故知樹莓派基金會官網數字︰

POWER SUPPLY

The Raspberry Pi 3 is powered by a +5.1V micro USB supply. Exactly how much current (mA) the Raspberry Pi requires is dependent on what you connect to it. We have found that purchasing a 2.5A power supply from a reputable retailer will provide you with ample power to run your Raspberry Pi. You can purchase the official Raspberry Pi Power Supply from our website, and you can learn more about the differing power requirements of the various models of the Raspberry Pi on our FAQ page.

之合理性呦!?

既然為了安全,保險絲省不了;又為了 USB 裝置正常工作,V_{under \_ votage} 電壓設定低不了☻

不得不作此 V_{in} 升壓一途吧☺

─── 《STEM 隨筆︰古典力學︰轉子【五】《電路學》三【電阻】V.C

 

承上篇,這麼多『Under-voltage detected!』訊息,

 

難到不是意味這時 PoE HAT『電壓不足』嗎?沒有『over-current change』警告,豈非暗示符合『USB 電源規範』哩!

一時心中忖度︰論壇裡,幾種『不同長度』之陳述︰

Re: PoE HAT – USB Ports not working – over-current

aduvenhage

Tue Sep 04, 2018 9:07 am

Yip, I also confirmed that removing the hat and connecting it with wires, made it work much better.
I connected 5V, 3V, GND, SDA0, SCL0 and the POE pins with wires and it works perfectly now.I tested again with shielding between the transformer and the little chip beneath it (with hat on header again), but still not working.Is there maybe an error on the POE Hat board? Like another header pin connected where it should not be?

………

Re: PoE HAT – USB Ports not working – over-current

The_Raven

Tue Sep 04, 2018 9:31 am

The picture is from my “first attempt”. So maybe it was wrong to post it because it “confuses”. We also tested it with all 40 pins connected trough a IDE-Cable and it works!
Then we tested it with a short IDE cable (3cm) and it has NOT worked. Then we cut pin for pin beginning from the gpio side. And with every cuted pin it has worked better.
We tested it also with only the power-pins connected (short version) and it works sometimes but is very buggy.
With long wires -> No problem (and i think this was not only luck, think i can confirm it).
I stay by my statement: It looks like a hardware problem.Hint: Take a look in the schematics from MP8007 datasheet.

………

Re: PoE HAT – USB Ports not working – over-current

martinrowan

Tue Sep 04, 2018 9:43 am

Thanks for all your work @The_Raven. Is it the physical distance that makes the difference, for example with long leads/wires attached if you move it close to the RPi does it start to fail. Or is it the length/resistance of the cables that are making a difference? I’m assuming it’s physical proximity.

Really hope the Engineering team are catching up on this thread and will come back with a response soon. Seems like a pretty fundamental issue we’re all facing.

………

 

望著可能的 PoE HAT 5V 輸出電壓『量測波形』︰

Re: PoE HAT – USB Ports not working – over-current

Blaster

Tue Sep 04, 2018 12:44 pm

My guess is that problem lies in converter output voltage filtering, excessive noise disturbing overcurrent supervising feature of USB controller producing false “over-current” messages.
In this type of applications the current monitoring is commonly realised as voltage drop sensing, so it’s usually sensitive to noise in applied voltage.
And measurements shows that 5V line at USB ports (while powered by PoE HAT) is very noisy, ringing spikes clearly produced by DC/DC converter switching at some 19kHz. Also the voltage ripple is quite high (at least to my sense).
Attachments
TEK00006.PNG
5V at USB port, no devices connected, powered by PoE HAT
TEK00006.PNG (9.44 KiB) Viewed 471 times

………

Re: PoE HAT – USB Ports not working – over-current

daytona

Wed Sep 05, 2018 10:26 pm

I’ve setup the PoE Hat on a small test rig tonight feeding a dummy load. The two load resistors across the 5 volt supply sink about 1.5amps.

testrig.jpg
testrig.jpg (82.13 KiB) Viewed 923 times

With the output capacitors fitted to the PoE HAT PCB the 5 volt output on my ‘scope looks like this. (2V/div, GND at centre)

scopenoise.jpg
scopenoise.jpg (48.96 KiB) Viewed 923 times

When I add an additional 470uF across the 5 volt output I see this (2V/div, GND at centre) There’s a bit of drop in the leads to the breadboard, but measuring the output on the HAT it’s 5.1 volts

scopeclean.jpg
scopeclean.jpg (48.54 KiB) Viewed 923 times

Looking at the MP8007 datasheet, it shows two reference designs, one with a 12 volt, 1 amp output. The other for a 5 volt 2.5 amp output.

I desoldered two of the ceramic output filter capacitors from the HAT and found the small one measures 22uF and the larger one at 63uF (4 x 63uF = 252uF). If you compare these values to the reference design the output filter capacitors fitted to the HAT give the values shown for the 12 volt / 1amp output reference design. And increasing the capacitance on the 5 volt output to something around that shown for the 5 volt output reference design appears to stabilises it.

 

突然想起所謂『風扇轉速』控制事件︰

PoE HAT Fan Speed adjustment

dr.sputnik

Thu Aug 30, 2018 4:01 pm

Hi,

I saw the notes in ETA for Official POE Hat for 3B+, and decided to try this on one of mine.

After editing, compiling and copying over the file to the overlays folder, the fan no longer works. Also the faint high pitch noise made by the PoE HAT during boot is absent. Copying the original overlay file back and rebooting results in it all working again.

I downloaded the code from https://github.com/raspberrypi/linux/ra … verlay.dts and edited it as follows:

pi@dtc1:~/fan-control cat rpi-poe-overlay.dts /*  * Overlay for the Raspberry Pi POE HAT.  */ /dts-v1/; /plugin/;  / {         compatible = "brcm,bcm2708";          fragment@0 {                 target-path = "/";                 __overlay__ {                         fan0: rpi-poe-fan@0 {                                 compatible = "raspberrypi,rpi-poe-fan";                                 firmware = <&firmware>;                                 cooling-min-state = <0>;                                 cooling-max-state = <3>;                                 #cooling-cells = <2>;                                 cooling-levels = <0 50 150 255>;                                 status = "okay";                         };                 };         };          fragment@1 {                 target = <&cpu_thermal>;                 __overlay__ {                         trips {                                 threshold: trip-point@0 {                                         temperature = <50000>;                                         hysteresis = <5000>;                                         type = "active";                                 };                                 target: trip-point@1 {                                         temperature = <55000>;                                         hysteresis = <2000>;                                         type = "active";                                 };                                 cpu_hot: cpu_hot@0 {                                         temperature = <60000>;                                         hysteresis = <2000>;                                         type = "active";                                 };                         };                         cooling-maps {                                 map0 {                                         trip = <&threshold>;                                         cooling-device = <&fan0 0 1>;                                 };                                 map1 {                                         trip = <&target>;                                         cooling-device = <&fan0 1 2>;                                 };                                 map2 {                                         trip = <&cpu_hot>;                                         cooling-device = <&fan0 2 3>;                                 };                         };                 };         }; }; pi@dtc1:~/fan-control

and then ran:

dtc -@ -I dts -O dtb -o rpi-poe.dtbo rpi-poe-overlay.dts

That command produces warnings:

pi@dtc1:~/fan-control dtc -@ -I dts -O dtb -o rpi-poe.dtbo rpi-poe-overlay.dts rpi-poe.dtbo: Warning (unit_address_vs_reg): Node /fragment@0 has a unit name, but no reg property rpi-poe.dtbo: Warning (unit_address_vs_reg): Node /fragment@0/__overlay__/rpi-poe-fan@0 has a unit name, but no reg property rpi-poe.dtbo: Warning (unit_address_vs_reg): Node /fragment@1 has a unit name, but no reg property rpi-poe.dtbo: Warning (unit_address_vs_reg): Node /fragment@1/__overlay__/trips/trip-point@0 has a unit name, but no reg property rpi-poe.dtbo: Warning (unit_address_vs_reg): Node /fragment@1/__overlay__/trips/trip-point@1 has a unit name, but no reg property rpi-poe.dtbo: Warning (unit_address_vs_reg): Node /fragment@1/__overlay__/trips/cpu_hot@0 has a unit name, but no reg property pi@dtc1:~/fan-control

After copying it to the

/boot/overlays/

folder, after rebooting the PI the fan does nothing – not even when the temperature gets up above 65degC.

Additionally, after applying it, I ran dmesg -w and noticed that I’m now getting over-current warnings: I don’t have any devices plugged into the PI at all; its headless and I connect over SSH.

pi@dtc1:~ sudo dmesg -C pi@dtc1:~ dmesg -w
[   72.037711] usb 1-1-port2: over-current change
[   72.131720] usb 1-1.1-port2: over-current change
[   72.271588] usb 1-1-port3: over-current change
[   72.371592] usb 1-1.1-port3: over-current change
[   72.511585] usb 1-1-port4: over-current change
[   93.891759] usb 1-1.1-port2: over-current change
[   94.053660] usb 1-1-port2: over-current change
[   94.131606] usb 1-1.1-port3: over-current change
[   94.301594] usb 1-1-port3: over-current change
[   94.371595] usb 1-1.1-port2: over-current change

(this goes on and on and on...)

Any thoughts? Help!

Thanks!

因此決定先接通樹莓派『I2C-0』︰

BCM0(pin 27) 、 BCM1(pin 28) 也。

結果『履虎尾』,不能『開機』勒!!??

於是乾脆拔除『跳線』、拆掉『風扇』電源,重歸 RPI + PoE HAT + SD 卡,測試『最短距離』 瞧瞧??!!

※ 註︰驗證 USB Boot 不 work 在先☻

果然目睹 USB 裝置『群魔亂舞』現象呦★

PoE HAT – USB Ports not working – over-current

martinrowan

Tue Aug 21, 2018 10:10 pm

Hi, Just taken delivery of my official PoE-HAT and whilst I can now power the Pi on without the need for a separate micro USB PSU, it’s not exactly usable as the USB ports aren’t working.

Hardware:

  • Raspberry Pi 3 b+
  • Raspberry Pi PoE HAT
  • Cisco SG250-26HP POE Network Swich.

System:

  • Linux raspberrypi 4.14.62-v7+ #1134 SMP Tue Aug 14 17:10:10 BST 2018 armv7l GNU/Linux
  • Firmware:
    Aug 16 2018 17:30:30
    Copyright (c) 2012 Broadcom
    version 31e0613622dc2f2463bf3dd74e6c897d91201a4d (clean) (release)

On booting (without anything connected to the USB ports) the following is logged:

[   11.661117] Bluetooth: RFCOMM socket layer initialized
[   11.661151] Bluetooth: RFCOMM ver 1.11
[   12.986076] usb 1-1.1-port2: over-current change
[   13.147084] usb 1-1-port2: over-current change
[   13.231877] usb 1-1.1-port3: over-current change
[   13.391693] usb 1-1-port3: over-current change
[   13.631851] usb 1-1-port4: over-current change
[   33.978119] usb 1-1.1-port2: over-current change
[   34.139091] usb 1-1-port2: over-current change
[   34.211769] usb 1-1.1-port3: over-current change
[   34.371756] usb 1-1-port3: over-current change
[   34.611750] usb 1-1-port4: over-current change
[  408.250020] usb 1-1.1-port2: over-current change
[  408.411057] usb 1-1-port2: over-current change
[  408.482948] usb 1-1.1-port3: over-current change
[  408.644602] usb 1-1-port3: over-current change
[  408.762133] usb 1-1.1-port2: over-current change
[  408.883014] usb 1-1-port4: over-current change
[  408.993105] usb 1-1.1-port3: over-current change
[  409.132964] usb 1-1-port2: over-current change
[  409.232949] usb 1-1.1-port2: over-current change
[  409.372938] usb 1-1-port3: over-current change

When connecting any USB device, a USB mass storage device or the Logitech wireless keyboard transceiver, messages are logged.

[  473.733117] usb 1-1.3: new high-speed USB device number 5 using dwc_otg
[  473.864020] usb 1-1.3: New USB device found, idVendor=0781, idProduct=556c
[  473.864035] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  473.864043] usb 1-1.3: Product: Firebird USB Flash Drive
[  473.864051] usb 1-1.3: Manufacturer: SanDisk
[  473.864060] usb 1-1.3: SerialNumber: 4C532000000116109085
[  473.868191] usb-storage 1-1.3:1.0: USB Mass Storage device detected
[  473.871816] scsi host0: usb-storage 1-1.3:1.0
[  473.947128] usb 1-1-port2: over-current change
[  474.042110] usb 1-1.1-port2: over-current change
[  474.183449] usb 1-1-port3: over-current change
[  474.273351] usb 1-1.1-port3: over-current change
[  474.423299] usb 1-1.3: USB disconnect, device number 5
[  474.753127] usb 1-1.3: new high-speed USB device number 6 using dwc_otg
[  474.883976] usb 1-1.3: New USB device found, idVendor=0781, idProduct=556c
[  474.883993] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  474.884001] usb 1-1.3: Product: Firebird USB Flash Drive
[  474.884009] usb 1-1.3: Manufacturer: SanDisk
[  474.884017] usb 1-1.3: SerialNumber: 4C532000000116109085
[  474.884822] usb-storage 1-1.3:1.0: USB Mass Storage device detected
[  474.885225] scsi host0: usb-storage 1-1.3:1.0
[  474.885928] usb 1-1-port4: over-current change
[  475.066003] usb 1-1.1-port2: over-current change
[  475.123277] usb 1-1-port2: over-current change
[  475.303252] usb 1-1.1-port3: over-current change
[  475.363319] usb 1-1-port3: over-current change
[  475.603178] usb 1-1.3: USB disconnect, device number 6
[  475.903134] usb 1-1.3: new high-speed USB device number 7 using dwc_otg
[  476.044024] usb 1-1.3: New USB device found, idVendor=0781, idProduct=556c
[  476.044042] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  476.044050] usb 1-1.3: Product: Firebird USB Flash Drive
[  476.044059] usb 1-1.3: Manufacturer: SanDisk
[  476.044067] usb 1-1.3: SerialNumber: 4C532000000116109085
[  476.044877] usb-storage 1-1.3:1.0: USB Mass Storage device detected
[  476.048170] scsi host0: usb-storage 1-1.3:1.0
[  476.049075] usb 1-1-port4: over-current change
[  476.283387] usb 1-1-port2: over-current change
[  476.346097] usb 1-1.1-port2: over-current change
[  476.523476] usb 1-1-port3: over-current change
[  476.583383] usb 1-1.1-port3: over-current change
[  476.763258] usb 1-1.3: USB disconnect, device number 7
[  477.103133] usb 1-1.3: new high-speed USB device number 8 using dwc_otg
[  477.234021] usb 1-1.3: New USB device found, idVendor=0781, idProduct=556c
[  477.234038] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  477.234047] usb 1-1.3: Product: Firebird USB Flash Drive
[  477.234056] usb 1-1.3: Manufacturer: SanDisk
[  477.234064] usb 1-1.3: SerialNumber: 4C532000000116109085
[  477.234868] usb-storage 1-1.3:1.0: USB Mass Storage device detected
[  477.237752] scsi host0: usb-storage 1-1.3:1.0
[  477.238749] usb 1-1-port4: over-current change
[  478.314404] scsi 0:0:0:0: Direct-Access     SanDisk  Ultra            1.26 PQ: 0 ANSI: 5
[  478.316594] sd 0:0:0:0: [sda] 31266816 512-byte logical blocks: (16.0 GB/14.9 GiB)
[  478.317631] sd 0:0:0:0: [sda] Write Protect is off
[  478.317649] sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00
[  478.318064] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[  478.331456]  sda: sda1
[  478.334032] sd 0:0:0:0: [sda] Attached SCSI removable disk
[  478.340700] sd 0:0:0:0: Attached scsi generic sg0 type 0
[  478.394088] usb 1-1.1-port2: over-current change
[  478.555097] usb 1-1-port2: over-current change
[  478.633379] usb 1-1.1-port3: over-current change
[  479.183155] usb 1-1.3: reset high-speed USB device number 8 using dwc_otg
[  479.313802] usb 1-1-port3: over-current change
[  479.553522] usb 1-1-port4: over-current change
[  479.674094] usb 1-1.1-port2: over-current change
[  479.793515] usb 1-1-port2: over-current change
[  479.913413] usb 1-1.1-port3: over-current change
[  480.153155] usb 1-1.3: reset high-speed USB device number 8 using dwc_otg
[  480.283764] usb 1-1-port3: over-current change
[  480.442136] usb 1-1.1-port2: over-current change
[  480.603102] usb 1-1-port2: over-current change
[  480.673471] usb 1-1.1-port3: over-current change
[  481.153129] usb 1-1.3: reset high-speed USB device number 8 using dwc_otg
[  481.283588] usb 1-1-port3: over-current change
[  481.533586] usb 1-1-port4: over-current change

Checking my Cisco SG250-26HP switch shows the port connected to the Pi (via a 1m cable):

  • Operational Status: Delivering Power
  • Administrative Power Allocation: 30000mW
  • Power Consumption: 3000mW
  • Class: 3
  • PoE Standard: 802.3 AT

Do I have a faulty HAT, or RPi3, or any other suggestions as to why this isn’t working properly. When powered via micro USB power socket the USB ports work just fine.

………