Crappy Adapters and Good Motherboards
I've got a confession. I've had some Google Coral devices kicking around for some time now. They're the mPCIe variant, so not terribly popular. Which is why I bought them. In my infinite cheap-assery, I figured I could make them work somehow.
I bought them for my self hosted NVR, Frigate.
None of my servers can natively accept an mPCIe card. In fact, mPCIe fell out of favor about 10 years ago (2013)
mPCIe being PCIe after all, I elected to shoehorn these into an adapter and subsequently, a motherboard.
Problem: Every time the system is powered on, something kills the power.
Suspect #1: The cheapass adapter is badly designed.
I thought this was most likely. Made in China by the lowest bidder. Sold for pennies on eBay/Aliexpress.
With that in mind, and armed with mPCIe and PCIe pinouts, I opted to tone it out.
No good. The adapter is as it says on the tin. The voltage regulator seemed to work alright and all the traces from the mPCIe to the PCIe x1 went to the right places. So I thought I'd get a second one in case it was some strange impedance matching issue.
Suspect #2: The second cheapass adapter is badly designed.
Just like the previous one, I had the same problem. Another tone out and it was the same.
It was about this time I tried this in a different motherboard. Everything worked as expected. Because I'm a packrat, I ALSO tried it on 3 other motherboards. All of those worked.
So I set my sights on....
Suspect #3: The motherboard.
Plausible, considering it works in other motherboards, however, Supermicro is normally known for their quality.
The board posted and worked properly with the bare adapter(s). So the issue was unlikely to be the solid bits of copper.
Again, because I'm a packrat, I grabbed a spare ancient mPCIe card (in this case a 3G modem card). Mounting it in either adapter had the system posting (and the card showing up in lspci
for all that's worth).
So that leaves only the following...
Suspect #4: The Coral
I'm assuming Google has money. And that money can be traded for engineering expertise. Some basic assumptions for a multi-billion dollar multinational corporation.
That's why the Coral was last on the list.
I decided to tone out the board with the Coral installed on the adapters.
Everything toned out properly EXCEPT...
Google shorted the 3.3V supply to 3.3VAUX.
For those following the pinouts at home: On the Google Coral mPCIe card, Pin 24 is shorted to Pins 2 and 52.
Why would Google do this?
Who knows. Laziness? Hubris? The infamous "It worked on my computer"? Its unlikely we'll ever have an answer.
But why did it cause only one of my motherboards to fail to boot?
I can't fully confirm, but I suspect Supermicro actually read the PCIe spec and monitors 3.3Vaux and 3.3V separately. They also implemented some sort of error checking to prevent any short circuits from killing their board.
How did I fix it?
I sliced the 3.3Vaux trace off one of the crappy adapters. After that, the Supermicro booted without issue. I suspect this may be an issue on other motherboards as well.