USB OTG on Project Tango - google-project-tango

Does anyone know if the Project Tango tablet supports USB OTG? Or alternatively if the USB 3.0 port on the dock can act as an OTG hub? Online it only states that these ports are for charging so I am unsure if OTG functionality is also included. It would certainly increase the usefulness of the Tango's tracking capabilities if it was also able to interface with other devices.

Tango device supports "USB 3.0 host via dock connector". It means that it is possible to connect external device USB, but setup requires additional source of power.
Please refer official web site:
https://www.google.com/atap/project-tango/hardware/index.html

The Project Tango tablet support USB OTG, you could interface to other devices.

I'm checking the Tango tablet with an app named "USB OTG Checker". It says that the USB OTG API is loaded, and I can browse a USB memory drive attached to the dock's USB 3.0 port.
The USB OTG Checker says that the Tango tablet fails the check for USB OTG Signal, but I think this is because I'm not attaching a true external data source, like a USB Hard Drive.

Related

Can we communicate over USB Serial from KaiOS App?

I am quite new to KaiOS and was wondering if it is possible to build an app that sends / receives serial communications (for instance communicate with Arduino) over a physical cable connected to the phone.
I am currently doing it on Android using this library https://github.com/mik3y/usb-serial-for-android, and would love to do it on KaiOS.
I looked at the permissions and see that there is nothing related (https://developer.kaiostech.com/core-developer-topics/permissions) but I did not find any info saying that it is possible (or not possible) to do it
If not possible, any idea of how to do Serial communication between a feature phone and an Arduino is welcomed !
Thanks for you help !
Nope. KaiOS phones do not support USB Host mode.
I've tried plugging USB mouse and keyboard in Nokia 2720 using USB OTG cable, the phone did not even provide +5V power to the USB port (my keyboard lights up LED if I plug it into USB charger)
Likewise, Bluetooth is limited to headphones, my Bluetooth mouse and Bluetooth gamepad did not work.

TDS NOMAD windows CE5.0 device connects more than two USB devices

I have a TDS Nomad running windows CE 5.0 system. It has a USB host port. I have connected to the manufacture and ask if nomad can connect to more than 1 USB devices via USB hub (can connect to 7 USB devices, designed for windows ), they said they haven't tested to connect more than one USB device. If more than one devices is connected to nomad, there mightbe resource conflict.
The nomad works well with one USB device connect to it individually.
But I have a console application debugging in nomad using visual studio2005 and active sync.
I need to talk to both USB devices. Therefore I have to use USB hub. But it doesn't work most of the time. I think the drivers of two USB devices are all correctly installed on nomad.
But what I want to ask, is that has anyone tried to connect more than one USB device to windows CE product via USB hub and both of them works well ?
I'm slightly confused. here. You say the device has USB host and you want to connect more than one client device through a hub. This is definitely supported by the OS, and I've done this with several devices from several manufacturers, though never with a Nomad. Not sure what the OEM is talking about with "resource conflicts" as the USB spec itself allows for multiple devices (kind of the whole point behind a "bus").
But you say that your second "device" is the debugger. That isn't a USB Host connection from the device perspective, that's a USB Client connection, and it typically uses completely different hardware and drivers for that connection. Can a device have both a host and a client connection? Again, yes I've done this with many devices (but not a Nomad) and the OS fully supports it.
Now maybe this is USB OTG hardware (though back in the 5.0 days I doubt it) and the OEM didn't do the design well to handle a client and a host at the same time. Maybe the physical hardware is laid out poorly or the OAL portion of their USB driver is poorly done and can't route properly through a hub properly (I've definitely seen that before). Hard to say.
A USB Analyzer would tell you a whole lot about what's actually happening and where the problem is, but it is definitely a supported scenario by both the USB spec and the OS. If it's failing, it's a manufacturer/device-specific problem.

Installation and emulation of virtual USB Device

I already read Creating a Virtual USB Device and Virtual USB device about creating a virtual USB Device. I am familiar with the Plug and Play handling by Windows as well as the driver mechanism.
So far I understood that first of all I would have to create another device driver which is used for the virtual USB device. But I am still lost on the point what actually is the virtual device. How would I control the behaviour of my virtual device?
Background: I develop a software which acts as a communication layer between an API and the USB driver. The behaviour of the USB device is well known to me. I even could provide the whole firmware. For reasons of QA, I would like to test my software without the bugs of the whole system or on the other hand easily implement errors to see how the software reacts. But what kind of software could implement this behaviour as virtual device?
Any documentations / instructions are welcome!
I used the USB/IP project to emulate USB devices in Python. Maybe it can help you to create your virtual USB devices:
http://breaking-the-system.blogspot.com/2014/08/emulating-usb-devices-in-python-with-no.html

Can I debug/deploy my app on Window RT tablet through USB?

I know I can remote debug my winRT app through wifi, but is it possible to debug/deploy app via USB? I'm asking this, since USB would be faster than the wifi alternative.
This is possible via a USB to USB (Easy transfer cable). The cables just simulate a network connection, so it will work like wifi.
You will need to ensure the drivers are compatible with the arm device, but they should be. This device is made by Microsoft for windows 8 so should work:

Windows PC as a USB slave to emulate a thumbdrive

I need to create a application that will allow a Windows PC (XP/Vista) to emulate a thumbdrive. That is, when the PC is plugged into either another Windows system, or in this case, a piece of hardware that allows for USB thumbdrives to be plugged in, a folder on the computer looks like a giant thumbdrive. Any thoughts on where a guy would start to investigate this?
Update (more specific description):
I need to connect my PC to one of the newer multifuction devices that support scanning to a USB thumbdrive that is inserted into the front of the device. These units do not support WIA or TWAIN via the rear USB connector that you'd typically use for connectivity to a PC.
Most USB controllers in regular pc's dont have the possibility to function as an USB slave. So I'd start with investigating what kind of hardware you're going to use.
Another way to go: there are USB Link cables to link up 2 pc's over USB, maybe that's usable for you?
You cannot do this in an application. At the lowest level, the USB ports on your computer are controlled by an Host Controller Interface. This chip will manage up to 127 slave USB devices. You would need to seriously reprogram this chip before it implements the slave side of the USB protocol. Of course, at that point any USB hub in your PC will break down - those 8 USB ports you probably have are usually implemented by 2 smart USB hubs connecting to both USB1 and USB2 host controllers. Next, your USB keyboard and mouse will stop working.
Take an MCU with two Slave USBs. Write a simple frimware which makes one USB act as a Special Device Class and wait until PC on this USB provides mandatory data (including Device Class, of course) for the other USB. Write a PC program which connects to the Special Device (your MCU), uploads Mass Storage Device Class and redirects I/O to a dedicated partition. The other USB on the MCU will become an emulated Mass Storage Device.
Some of those code can be taken from Linux.

Resources