Всем привет, если еще у кого возникнет подобная трудность, рассказываю как у меня вышло починить.
HID дескриптор (массив HID_ReportDesc_FS или CUSTOM_HID_ReportDesc_FS) добавили в код? Вместо него CubeMX ставит заглушку. И размер массива тоже нужно правильно задать.
Не совсем, заплатку CubeMX ставит при выборе Custom human interface device. Она находится в файле usbd_custom_hid_if.c , называется CUSTOM_HID_ReportDesc_FS и сюда вписывается дескриптор репорта HID.
Однако в моем случае проблема была в том, что используя Cube, на вкладке Clock configuration при автоподпоре частот Cube поломал настройку. При выборе "another clock sources" в диалоге, когда он подбирает HSE и PLLи для него, он поставил Input frequency 25 МГц, хотя для этой платы актуально значение 8МГц. Далее никакой ошибки не возникает, все генерится и прошивается, только не работает USB (для него получилась частота таким образом в 2 раза большая, чем нужно), хотя и это нигде не всплыло, заметить невозможно. А остальной проект работает, просто на других частотах - тоже не разберешь.
Надеюсь, кому-то помог.