0x75, 0x08, # REPORT_SIZE (8) 0x95, 0x40, # REPORT_COUNT (64) 0x81, 0x02, # INPUT (Data,Var,Abs) 0x09, 0x21, # USAGE (Output Report Data) 0x15, 0x00, # LOGICAL_MINIMUM (0) 0x26, 0xff, 0x00, # LOGICAL_MAXIMUM (255) 0x75, 0x08, # REPORT_SIZE (8) 0x95, 0x40, # REPORT_COUNT (64) 0x91, 0x02, # OUTPUT (Data,Var,Abs) 0xc0, # END_COLLECTION ]), ) usb = io.USB( vendor_id=0x1209, product_id=0x53C1, release_num=0x0002, manufacturer="SatoshiLabs", product="TREZOR", serial_number="000000000000000000000000", ) usb.add(usb_wire) usb.add(usb_vcp) usb.add(usb_u2f) # load applications from apps.common import storage if __debug__: from apps import debug from apps import homescreen from apps import management from apps import wallet from apps import ethereum
# We start this only for bitcoin-only firmware or for emulator. ENABLE_VCP_IFACE = utils.EMULATOR or utils.BITCOIN_ONLY if ENABLE_VCP_IFACE: # interface used for cdc/vcp console emulation (debug messages) iface_vcp = io.VCP( iface_num=2 if utils.BITCOIN_ONLY else 3, data_iface_num=3 if utils.BITCOIN_ONLY else 4, ep_in=0x83 if utils.BITCOIN_ONLY else 0x84, ep_out=0x03 if utils.BITCOIN_ONLY else 0x04, ep_cmd=0x84 if utils.BITCOIN_ONLY else 0x85, ) bus = io.USB( vendor_id=0x1209, product_id=0x53C1, release_num=0x0200, manufacturer="SatoshiLabs", product="TREZOR", interface="TREZOR Interface", serial_number=get_device_id(), usb21_landing=False, ) bus.add(iface_wire) if __debug__: bus.add(iface_debug) if not utils.BITCOIN_ONLY: bus.add(iface_webauthn) if __debug__: if ENABLE_VCP_IFACE: bus.add(iface_vcp)
]), ) usb_vcp = io.VCP( iface_num=1, data_iface_num=2, ep_in=0x82, ep_out=0x02, ep_cmd=0x83, ) usb = io.USB( vendor_id=0x1209, product_id=0x53C1, release_num=0x0200, manufacturer="SatoshiLabs", product="TREZOR", serial_number="44DD6B2C788D760538A78ECA", interface="TREZOR Interface", ) usb.add(usb_wire) usb.add(usb_u2f) if __debug__: usb.add(usb_debug) usb.add(usb_vcp) # load applications if __debug__: from apps import debug from apps import homescreen