Mi e' stato dato il ricevitore EACHINE R051 (utlizzato per le camere FPV a 5 GHz dei droni) per vedere se riuscivo a creare una applicazione Android alternativa a quella originale della ditta....e sono iniziati i problemi
Il dispositivo si dichiara come segue su Linux
--------------------------------------------------
Jun 7 15:47:31 localhost kernel: usb 3-1: new high-speed USB device number 39 using xhci_hcd
Jun 7 15:47:31 localhost kernel: usb 3-1: New USB device found, idVendor=2537, idProduct=1081
Jun 7 15:47:31 localhost kernel: usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jun 7 15:47:31 localhost kernel: usb 3-1: Product: EACHINE
Jun 7 15:47:31 localhost kernel: usb 3-1: SerialNumber: 0123456789ABCDE
Jun 7 15:47:31 localhost kernel: usb-storage 3-1:1.0: USB Mass Storage device detected
Jun 7 15:47:31 localhost kernel: scsi host12: usb-storage 3-1:1.0
Jun 7 15:47:31 localhost mtp-probe: checking bus 3, device 39: "/sys/devices/pci0000:00/0000:00:14.0/usb3/3-1"
Jun 7 15:47:31 localhost mtp-probe: bus: 3, device: 39 was not an MTP device
Jun 7 15:47:32 localhost kernel: usb 3-1: USB disconnect, device number 39
Jun 7 15:47:36 localhost kernel: usb 3-1: new high-speed USB device number 40 using xhci_hcd
Jun 7 15:47:36 localhost kernel: usb 3-1: New USB device found, idVendor=2537, idProduct=1081
Jun 7 15:47:36 localhost kernel: usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jun 7 15:47:36 localhost kernel: usb 3-1: Product: EACHINE
Jun 7 15:47:36 localhost kernel: usb 3-1: SerialNumber: 0123456789ABCDE
Jun 7 15:47:36 localhost kernel: usb-storage 3-1:1.0: USB Mass Storage device detected
Jun 7 15:47:36 localhost kernel: scsi host13: usb-storage 3-1:1.0
Jun 7 15:47:36 localhost mtp-probe: checking bus 3, device 40: "/sys/devices/pci0000:00/0000:00:14.0/usb3/3-1"
Jun 7 15:47:36 localhost mtp-probe: bus: 3, device: 40 was not an MTP device
Jun 7 15:47:37 localhost kernel: scsi 13:0:0:0: Direct-Access JKH Tech Fly Video PQ: 0 ANSI: 6
Jun 7 15:47:37 localhost kernel: sd 13:0:0:0: [sdb] 2 512-byte logical blocks: (1.02 kB/1.00 KiB)
Jun 7 15:47:37 localhost kernel: sd 13:0:0:0: Attached scsi generic sg1 type 0
Jun 7 15:47:37 localhost kernel: sd 13:0:0:0: [sdb] Write Protect is on
Jun 7 15:47:37 localhost kernel: sd 13:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
Jun 7 15:47:37 localhost kernel: Dev sdb: unable to read RDB block 2
Jun 7 15:47:37 localhost kernel: sdb: unable to read partition table
Jun 7 15:47:37 localhost kernel: sdb: partition table beyond EOD, enabling native capacity
Jun 7 15:47:37 localhost kernel: Dev sdb: unable to read RDB block 2
Jun 7 15:47:37 localhost kernel: sdb: unable to read partition table
Jun 7 15:47:37 localhost kernel: sdb: partition table beyond EOD, truncated
Jun 7 15:47:37 localhost kernel: sd 13:0:0:0: [sdb] Attached SCSI removable disk
--------------------------------------------------
Come si vede c'e' una memoria interna (che pero' non sono mai riuscito a montare su Linux perche' il filesystem risultava sempre corrotto) mentre per la sigla JKH Tech Fly Video non si trovano informazioni.
La cosa da notare e' che su Linux non viene montata una /dev/video* e la camera non e' vista ne' su Windows 10 ne' su Mac....eppure il prodotto viene venduto come UVC (Universal Video Camera) USB Video Class
Non era possibile trovare l'R051 nemmeno in /dev/input/by-path
Montando WireShark per sniffare il traffico USB non ha dato informazioni perche' una volta connessa
la ricevente non era presente nessuno stream (di nessun tipo) sui canali USB
Il preda allo scoraggiamento ho decompilato la applicazione.
All'interno e' presente la libVLC per Android e ci sono chiare chiamate ad stream video conosciuti...quindi non si tratta di un formato video proprietario e ci sono a chiamate ad UVC quindi i dati tecnici sembrano corretti. Ci sono inoltre funzioni che gestiscono l'enumerazione di dispositivi USB e controlli apparentemente su firmware, serial number
Mi viene da pensare che lo stream video non si attivi quando si connette il dispositivo ma solo con un comando software ...questo giustificherebbe perche' non viene montato /dev/video (nel codice puo' essere interessante la funzione UsbConnection
Frugando nella cartella lib, oltre al gia' citato VLC, si trova libns1081-lib che e' relativa al firmware di un controller USB 3.0 Norelsys NS1081. Quindi l'interfaccia con la USB non sembra standard
Una particolarita che ho scoperto dopo un bel po' di prove: il cavo USB non ha la corrente necessaria per tenere acceso il dispositivo. L'EACHINE sembra avere una batteria tampone interna che si ricarica (fino a quando il led rosso smette di pulsare). Se a batteria scarica si connette il dispositivo e si cerca di usarlo nel giro di pochi secondi si spenge. Mi sa che questo aspetto possa essere dovuto al fatto che il dispositivo e' internamente USB 3.0 mentre io lo ho attaccato sempre ad USB 2.0 (quindi a porte di potenza piu' bassa)
sabato 9 giugno 2018
Iscriviti a:
Commenti sul post (Atom)
Dockerizza Flask
Un esempio semplice per inserire in un container Docker una applicazione Flask Partiamo da una semplice applicazione che ha un file app.py ...
-
In questo post viene indicato come creare uno scatterplot dinamico basato da dati ripresi da un file csv (nel dettaglio il file csv e' c...
-
Questo post e' a seguito di quanto gia' visto nella precedente prova Lo scopo e' sempre il solito: creare un sistema che permet...
-
La scheda ESP32-2432S028R monta un Esp Dev Module con uno schermo TFT a driver ILI9341 di 320x240 pixels 16 bit colore.Il sito di riferiment...
Nessun commento:
Posta un commento