Nach Zugang zu einem angeschlossenen Gerät zu erhalten navigator.usb.requestDevice
indem ich versuche, eine Verbindung mit einem angeschlossenen Gerät zu öffnen, wie folgt:Wie beanspruche Schnittstelle mit WebUSB?
device.open()
.then(() => device.selectConfiguration(1))
.then(() => device.claimInterface(1))
Es scheinbar wählt die Konfiguration erfolgreich, aber der claimInterface
Schritt wird die folgenden Fehler erzeugen:
DOMException: Unable to claim interface.
ich bin mit Chrome 55.0.2883.75 beta mit der --disable-webusb-security
Flagge als Wurzel (ohne die ich keine Geräte hast) auf Ubuntu 16.10.
Wie kann ich die Verbindung herstellen und ausführen?
Edit:
Es scheint, dass die cdc_acm Fahrer bereits die Schnittstelle beansprucht seit Vorrichtung I ist ein serielles Gerät zu befestigen bin versucht, den Fahrer Entladen ermöglicht es Ihnen, das Gerät (jedoch nach diesem Anspruch darüber beschwert Schnittstelle 1 nicht verfügbar, sowie 0 oder 2).
Da dieses Gerät mehr Schnittstellen hat sollten wir sicherstellen, dass Sie die richtigen sind behaupten. Bitte fügen Sie die Ausgabe von 'lsusb -v' für Ihr Gerät ein, welches die vollständigen Gerätedeskriptoren auflistet. Ein USB-CDC-Gerät wird in der Tat schwierig mit WebUSB zu verwenden wegen der vorhandenen Treiber, die geladen werden, aber zwingt den Treiber zum Entladen sollte die Schnittstelle freigeben. Wenn ein Fehler wie "Kann keine Schnittstelle anfordern" angezeigt wird, liefert Chrome möglicherweise weitere Details zum Fehler in chrome: // device-log. –