core: show webusb popup only in bootloader and only if firmware is not installed

pull/845/head
Pavol Rusnak 4 years ago
parent 0ec628ccd4
commit 07cd73ce57
No known key found for this signature in database
GPG Key ID: 91F3B339B9A02A3D

@ -50,8 +50,8 @@ static const uint8_t * const BOOTLOADER_KEYS[] = {
#define USB_IFACE_NUM 0
static void usb_init_all(void) {
static const usb_dev_info_t dev_info = {
static void usb_init_all(secbool usb21_landing) {
usb_dev_info_t dev_info = {
.device_class = 0x00,
.device_subclass = 0x00,
.device_protocol = 0x00,
@ -63,7 +63,7 @@ static void usb_init_all(void) {
.serial_number = "000000000000000000000000",
.interface = "TREZOR Interface",
.usb21_enabled = sectrue,
.usb21_landing = sectrue,
.usb21_landing = usb21_landing,
};
static uint8_t rx_buffer[USB_PACKET_SIZE];
@ -88,7 +88,9 @@ static void usb_init_all(void) {
static secbool bootloader_usb_loop(const vendor_header *const vhdr,
const image_header *const hdr) {
usb_init_all();
// if both are NULL, we don't have a firmware installed
// let's show a webusb landing page in this case
usb_init_all((vhdr == NULL && hdr == NULL) ? sectrue : secfalse);
uint8_t buf[USB_PACKET_SIZE];

@ -59,6 +59,7 @@ bus = io.USB(
product="TREZOR",
interface="TREZOR Interface",
serial_number=get_device_id(),
usb21_landing=False,
)
bus.add(iface_wire)
if __debug__:

@ -18,6 +18,7 @@ usb = io.USB(
manufacturer="SatoshiLabs",
product="TREZOR",
serial_number="000000000000000000000000",
usb21_landing=False,
)
usb.add(usb_vcp)

Loading…
Cancel
Save