“Putting a BSD system in your pocket”
Starting to debug USB issues
WARNING
The information presented on these pages is NOT intended to be followed as a guide to installing OpenBSD on your own Pinephone device, and must not be used for this purpose.
Unlike most SBCs, the Pinephone contains a rechargeable battery intended to power the device. Correct configuration of the charging circuits, including various safety features such as thermal protection will not be enabled by the current OpenBSD kernel as of the time of writing.
THIS IS PART THREE OF SEVEN (3/7) - CHECK OUT THE
INDEXThe Exotic Silicon website is available in
ten themes, but you haven't chosen one yet!
TESTING VOLTAGES ON THE USB CONNECTOR
Using a USB analyser we can test the voltage present on the power supply pins of the USB-C connector, which might help to diagnose why connected devices are not detected or responding when running OpenBSD.
In the picture above, the Pinephone is actually booted into the MP kernel, which we know crashes during boot. There is no measurable power output from the USB port at all.
The USB analyser passes through the power and data signals, allowing us to daisy chain another USB device and monitor the voltage and current that it draws. With the USB dock connected, we still don't see a voltage reading:
With the dock connected and the mp kernel crashed, we don't measure a voltage on the usb connector.
Further testing using the bsd.sp kernel
With the Pinephone booted into the SP kernel, we can see that the power supply output on the USB-C connector is now measuring at 3.56 volts. This is clearly not in the expected 5 volts range, and would certainly explain why none of the connected devices work.
Connecting the USB dock, the voltage is virtually unchanged at 3.54 volts, although the current draw almost doubles.
Testing using a Linux kernel
Booting a Linux kernel, we measure no power output with just the analyser connected.
However, with the dock connected, we see a power supply output of 5.15 volts, at a current of 0.05 amps, and of course the dock is operational.
Interpretation of the results
It seems that the USB controller in the Pinephone is not being correctly initialized by the OpenBSD kernel.