Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Maker: Prefer Circuit Playground over other serial port devices #13312
@alicesteinglass brought me a teacher's laptop today that was failing to connect to the Circuit Playground board even though all the setup instructions had been followed correctly. This change makes that laptop (and probably many like it) connect successfully.
The first odd thing I noticed on this computer was that the maker setup page reported success for the "Board plugged in" step before I plugged the board in. Turns out it's running something called Intel Active Management Technology which uses a "Serial-Over-Lan (SOL) driver." That driver shows up in the serialport list on the machine, and our site was trying to connect to it, thinking it was the Adafruit board.
You can see here that the Adafruit Circuit Playground board is also listed, it's just listed after the SOL port which is why we were missing it. At the bottom of that screenshot you can see the
The solution is to teach Maker Toolkit to be much smarter about which of the available ports it connects to. Adafruit boards (and most USB devices) report a vendor id (VID) and a product id (PID) to help identify the connected device. We now read these ids on the available ports and pick the best one to connect to, searching in this order.
These rules should catch not just this case, but probably a lot of cases we don't know about yet where some other software or hardware on the machine would have looked vaguely connectable.