Pi USB-Gadget Tastatur gegenüber Android wird nicht erkannt

  • Hallo,


    ich experimentiere aktuell mit der Möglichkeit den Raspberry Pi Zero als Linux-USB-Gadget (Tastatur/Maus/Festplatte/...) zu verwenden. Zum Einrichten des Pis habe ich mich an die folgende Anleitung gehalten: https://www.isticktoit.net/?p=1383 Den Teil mit dem Installieren der speziellen Kernel-Installation habe ich übersprungen, da das meines Wissens nach heute nicht mehr nötig ist. Das Einrichten als HID-Gerät/Tastatur hat wunderbar funktioniert und ich bin in der Lage Tastendrücke an meinen Windows-Rechner zu senden. Nun würde ich allerdings gerne auch gegenüber Androidgeräten wie Smartphones und Tablets eine Tastatur simulieren. Wenn ich nun aber versuche mit dem Pi Tastendrücke an ein angeschlossenes Androidgerät zu senden passiert einfach nichts.


    Zum Anschließen an die Androidgeräte verwende ich einen USB-A-weiblich-zu-USB-C-männlich-Adapter (OTG?) auf Seite des Androidgerätes und das selbe Mikro-USB-zu-USB-A-Kabel wie beim Anschluss an den PC. Wenn ich den Adapter mit einem USB-Stick oder einer USB-Maus in die Androidgeräte stecke werden diese sofort erkannt und sind verwendbar. Der Pi wird nicht erkannt.

    Getestet habe ich mit einem Tablet und einem Smartphone. Weiterhin habe ich mit einer App auf dem Androidgerät versucht zu erkennen ob der Pi als USB-Gerät erkannt wird. Eine angeschlossene Maus wird erkannt und in der App ausgegeben, der Pi nicht.


    Hat jemand von euch schon einemal den Pi als USB-Gadget an einem Androidgerät betrieben?

    Ist es möglich auf dem Pi festzustellen ob dieser gerade im USB-Host/-Slave Modus ist?

    Hat jemand eine Idee wie man dieses Problem debuggen könnte?


    Vielen Dank für eure Antworten.


  • Habe die Lösung selbst gefunden:

    Android wartet nur eine gewisse Zeit darauf, dass ein USB-Slave sich anmeldet. Wenn man also zu spät libcomposite konfiguriert, erkennt Android die emulierte Hardware nicht. Ich vermute damit soll Energie gespart werden oder Ähnliches.