title: WebUSB on Android Chrome
body: <p>I have a website that connects to a label printer using WebUSB and prints labels. Everything works well on the computer, but unfortunately it does not work on Android. Android finds my printer "LP 433", but after nothing happens, it should print. I connect to the printer using the OTG cable. Google Chrome version: 83.
  On other browsers WebUSB does not respond in any way, except firefox, it directly says that it does not support WebUSB. My site work on https.</p>
  
  <pre><code>  async findDevices() {
  try {
    const navi: any = navigator;
    const devices = await navi.usb.getDevices();
    console.log(devices);
    devices.forEach(dev =&gt; {
      console.log(dev);
    });
    const device = await navi.usb.requestDevice({filters: [{vendorId: 15923}]});
    await device.open(); // Begin a session.
    await device.selectConfiguration(1); // Select configuration #1 for the device.
    await device.claimInterface(0); // Request exclusive control over interface #2.
    await device.controlTransferOut({
      requestType: 'vendor',
      recipient: 'interface',
      request: 0x01,  // vendor-specific request: enable channels
      value: 0x0013,  // 0b00010011 (channels 1, 2 and 5)
      index: 0x0001   // Interface 1 is the recipient
    })
      .then(() =&gt; device.transferIn(1, 64)) // Waiting for 64 bytes of data from endpoint #5.
      .then(result =&gt; {
        const decoder = new TextDecoder();
        console.log('Received: ' + decoder.decode(result.data));
        // document.getElementById('target').innerHTML = 'Received: ' + decoder.decode(result.data);
      })
      .catch(error =&gt; {
        console.log(error);
      });
  
    const imgData: any = await this.toPrintFormat();
    for (let p = 0; p &lt; this.pcs; p++) {
      for (let i = 0; i &lt; imgData.length; i++) {
        //   setTimeout(() =&gt; {
        const string2 =
          'sLABEL,' + imgData[i].width + ',' + imgData[i].height + '\n' +
          'sGAP,0,0\n' +
          'sTPHY,0\n' +
          'sDENSITY,7\n' +
          'sSPEED,' + this.speedp + '\n' +
          'sTHERMAL,' + this.thermop + '\n' +
          'sDIRECTION,1\n' +
          'sORIGIN,0,0\n' +
          'wSAVEB64,' + imgData[i].src.length + ',\"WLP000\",' + imgData[i].src + '\n' +
          'wLOADIMG,0,' + 0 + ',1,\"WLP000\"\n' +
          'wPRINT,1\n';
        console.log(string2);
        const encoder = new TextEncoder();
        const data = encoder.encode(string2);
        device.transferOut(2, data)
          .catch(error =&gt; {
            console.log(error);
          });
      }
    }
    // document.getElementById('target').innerHTML = 'Received: ' + decoder.decode(result.data);
  } catch (error) {
    // document.getElementById('target').innerHTML = error;
  }
  }
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/vcowu.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/vcowu.jpg" alt=""></a>
     <a href="https://i.stack.imgur.com/zPMpg.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/zPMpg.png" alt=""></a>
     <a href="https://i.stack.imgur.com/tPvJm.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/tPvJm.png" alt=""></a></p>