firmware: allocate firmware id dynamically