I've also found hardware support lacking. In my case SATA controller threw errors on FreeBSD and worked fine in Linux. It's something that's impossible for FreeBSD through because Linux has much more drivers, testers and eyes for exotic hardware. However there exist hardware compatibility lists and most common hardware is supported very well.