Closed jynik closed 2 years ago
Thanks for looking into this!
Below are two of long runs of the script for me. Sometimes it would exit with a Pipe error have a few hundred samples, most of the time after a few thousand, and a few times got runs this long.
This is on a Mac Mini (10.14), with the Hub directly connected to a USB C port via a USB C to micro B cable.
› python3 ../port_power_log.py
Power samples: 7066 samples [00:55, 150.50 samples/s]Operation terminated due to USB Error: [Errno 32] Pipe error
Noise floor:
Port 1: 8.282623 mA
Port 2: 7.955158 mA
Port 3: 10.945635 mA
Port 4: 10.238008 mA
Max value:
Port 1: 53.200000 mA
Port 2: 53.200000 mA
Port 3: 53.200000 mA
Port 4: 53.200000 mA
› python3 ../port_power_log.py
Power samples: 8170 samples [00:52, 183.73 samples/s]Operation terminated due to USB Error: [Errno 32] Pipe error
Noise floor:
Port 1: 8.314328 mA
Port 2: 7.911445 mA
Port 3: 10.609784 mA
Port 4: 10.413216 mA
Max value:
Port 1: 53.200000 mA
Port 2: 53.200000 mA
Port 3: 53.200000 mA
Port 4: 53.200000 mA
So, reading fluctuations on my setup look very similar to yours.
Just wanted to follow up our Twitter conversation with some more data.
Per what we discussed, the LED flicker I'm seeing is the result of the LEDs being illuminated by fluctuations in low-order bits of the per-port current measurements, shown below. It appears to be significantly more noticeable when no upstream host is connected (i.e. powered down).
Before diving into the firmware to attempt add a bit of filtering, I just wanted to get some test data to evaluate things offline.
Below is my logging code and sample output (note the error reported in #4). Attached is a sample current_log.csv.zip.