further refactoring; usb_get_desc_interfac doesn't work yet