code: func newHub(scheme string, vendorID uint16, productIDs []uint16, usageID uint16, endpointID int, makeDriver func(log.Logger) driver) (*Hub, error) {
  	if !hid.Supported() {
  		return nil, errors.New("unsupported platform")
  	}
  	hub := &Hub{
  		scheme:     scheme,
  		vendorID:   vendorID,
  		productIDs: productIDs,
  		usageID:    usageID,
  		endpointID: endpointID,
  		makeDriver: makeDriver,
  		quit:       make(chan chan error),
  	}
  	hub.refreshWallets()
  	return hub, nil
  }
docs: // newHub creates a new hardware wallet manager for generic USB devices.