my onboard is intel so do i move that to top ?
No, I'm not talking about the order things appear in that file, I mean the order that the sound devices are detected on bootup (which is the only thing I can think of that might be different between reboots)
Find out what kernel module is driving your on-board sound by using lspci -v.
Mine says:
00:10.1 Audio device: nVidia Corporation MCP51 High Definition Audio (rev a2)
<snip>
Kernel modules: snd-hda-intel
So in MY case I would add:
options snd slots=snd-hda-intel,snd-usb-audio
This forces the on-board to ALWAYS be "Card 0" and the USB to ALWAYS be "Card 1" regardless of what order the system detects them on boot.
Aside:
I could also use
options snd-hda-intel index=0
options snd-usb-audio index=1
to achieve the same thing (the "older" way of doing it).