Pass the device's hardware IDs through modem creation and use them
when calculating the device's identifier. Add a bunch of testcases
for real hardware to ensure we don't break the device ID in the
future unless we really want to.
These are Longcheer-based devices, but the vendor ID is different.
We had tagged the X060s' ports in the rules but never updated the
plugin to handle the different vendor ID.
Anything with vendor ID 0x1c9e really; like Alcatel X020, X030,
X060s, etc. Longcheer appears to make the actual hardware that all
the devices with vendor ID 0x1c9e use. You'll see it in .INF files
with "CMLONG" as part of the USB interface definition.
If the ports are not correctly detected, we need to get the driver's
.INF files to determine what the ports should be, and add them to
the udev rules file.