The solution was similar to solving code 39 for USB devices. The solution that finally worked was deleting the UpperFilters multi-string value (type: REG_MULTI_SZ) under the following key:
In the case that your registry key has a slightly different name, you can just go through all the registry keys under class, and check what they're for. I just scrolled through all the keys under class, until I found the right one. Under the REG_SZ default (as you can see in the top of my screenshot), you will find what device type the registry key refers to.
Note that this is an empty UpperFilters in my screenshot: in reality it will contain a certain value, but otherwise it will look like this.
So what are these mysterious upper filters? According to a post on techguy.org: "UpperFilters are drivers that handle/filter device access-requests from application prior passing them to the main device driver." In other (my) words, if this value is wrong, your access request will not end up in the main device driver, and the device will not function. In some cases the UpperFilters are essential, and your device will not function properly without them. Therefore, it is best to make sure you remember your UpperFilters (or rename it to UpperFiltersOld or something) before deletion.