Quirk system update
Detail:
A combination of 2 fixes.
- Simplify the handling of usbd_get_string() such that RiscOS specificversion is not needed.
- Improve the handling of the UBQuirk command to apply an added quirk to any devices already enumerated. Then provide a save option to make the use of an added quirk repeatable.
The USBQuirk command enables one to add or delete 'quirks' for specific misbehaving devices that are not included in the builtin quirks.
This extends the quirk add and remove commands to update the quirk entry for any matching devices already enumerated.
It 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: