Draft: Updates to improve the handling of USB Quirks
Detail:
The USBQuirk command enables one to add or delete 'quirks' for specific misbehaving devices that are not included in the builtin quirks.
This MR combines MR !13 (closed), which fixes the cause of some potential null pointer issues and MR !14 (closed) which extends the quirk add and remove commands to also update the quirk entry for any matching devices already enumerated.
It also adds an additional command, 'USBQuirk s', which will save out an obey file with any added quirk settings to be run very early in the disk boot sequence to maximise the likelyhood that the setting will be in place before the qualifying device is enumerated, even if it is already plugged in at power up.
This last command is particularly useful for e.g. certain USB KVM devices that are in use.
One particular one is a TESmart 4 port KVM with vendor 0xc45 and product 0x7403. This device does not supply usable vendor and product text strings, so 'USBQuirk a c45 7403 1 8' will add a quirk for this device to ensure it doesn't try to return these invalid strings.
Running the 'USBQuirk s' command will then save this particular command to an obey file in Boot:Choices.Boot.Predesk, if there, to be run early enough in the boot sequence that most probably the quirk arrives before the device can be enumerated.
Admin: