@classmethod
def via_usb(cls, serial_number=None, manufacturer_id=None, model_code=None,
    name=None, board=0, **kwargs):
    """Return a Driver with an underlying USB Instrument resource.
        
        A connected USBTMC instrument with the specified serial_number, manufacturer_id,
        and model_code is returned. If any of these is missing, the first USBTMC driver
        matching any of the provided values is returned.
        
        To specify the manufacturer id and/or the model code override the following class attributes::
        
            class RigolDS1052E(MessageBasedDriver):
        
                MANUFACTURER_ID = '0x1AB1'
                MODEL_CODE = '0x0588'

        Parameters
        ----------
        serial_number :
            The serial number of the instrument. (Default value = None)
        manufacturer_id :
            The unique identification number of the manufacturer. (Default value = None)
        model_code :
            The unique identification number of the product. (Default value = None)
        name :
            Unique name given within Lantz to the instrument for logging purposes.
            Defaults to one generated based on the class name if not provided.
        board :
            USB Board to use (Default value = 0)
        kwargs :
            keyword arguments passed to the Resource constructor on initialize.
        **kwargs :
            

        Returns
        -------

        """
    return cls._via_usb('INSTR', serial_number, manufacturer_id, model_code,
        name, board, **kwargs)
