Hardware discovery