USB over wireless - usb

this is a more HW question. I was wondering, is someone aware of a device which enables to connect a USB device to a PC over WiFi?
The idea is to plug USB device into a transmitter and have a receiver at the PC side. The data would be transferred wirelessy.
I have learned that the key word for this type of devices is WUSB. However, I am failing to find a successfully stories behind using some of these, as well as a good device.
Does someone have an experience?
Thank you in advance.

I haven't seen any USB hubs that can transmit over Wi-Fi. But there are several Wireless Hubs available. Like these
http://www.ebay.com/itm/like/131933064085?lpid=82&chn=ps&ul_noapp=true
https://jet.com/product/detail/49089829a0c7458d9d30c1ec308febef?jcmp=pla:ggl:gen_electronics_a1:networking_bridges_routers_wireless_access_points_a1_other:na:PLA_348772140_24231289500_pla-177033586620:na:na:na:2&code=PLA15&ds_c=gen_electronics_a1&ds_cid=&ds_ag=networking_bridges_routers_wireless_access_points_a1_other&product_id=49089829a0c7458d9d30c1ec308febef&product_partition_id=177033586620&gclid=CJTyuaXNjM8CFYQkgQodOLAIkA&gclsrc=aw.ds
They have an adapter you plug into the PC and the hub works just like it would if it were wired.
Why do you need it to transmit over Wi-Fi specifically?

Related

How to communicate two USB slave devices

I have a GSM LTE evaluation board which contains a USB slave device port and a evaluation board for microcontroller which also contains USB slave device.
I want to send commands to GSM module using the controller boards through USB.
After browsing couple of hours on internet i didn't find anything helpful.
My question is that is there any possible way to communicate two USB slave device??
Any help is appreciated...
Thank you in advance
Two USB devices cannot communicate directly one to another. Unless they support OTG. In most cases it is needed USB host controller between those two USB devices to provide some kind of link between them.

How does USB integration work from the device end?

Hopefully I will have more luck today. I have no prior USB integration and about 8 months of learning embedded systems on Atmel devices. I am trying to use an Atmel SAM L series to connect over USB to a computer. The use case is for data transfer. Specifically, the MCU will be gathering data from it's sensors and packaging it for USB transfer.
I have searched through and read up on all of Atmel's included USB examples. I have also started reading through usb.org's class specifications for CDC.
I have running now something that lets me send data along one com port, into the target usb and then out the debugger usb to another com port. However, I don't think this is real USB.
My problem is two fold.
1.) I do not fully understand what differentiates USB from serial communication on a com port.
2.) Even if I were doing it correctly, I'm not sure how to test and verify that I have indeed created a legitimate USB device that can be accepted by a host computer.
Links to documentation(Atmel or generic) or example code would be appreciated.
1) USB is defined in the USB specifications from http://www.usb.org. Serial ports were an older and simpler interface that involved sending data back and forth asynchonously on pins with names like TX and RX. The USB CDC class and its ACM subclass allow you to make a USB device that emulates a serial port. If you make your device be a USB CDC ACM device, then you don't need to supply any drivers for Windows 10, Linux, or Mac OS X.
2) You can read the USB specification and the CDC ACM specification. You can run the USB command verifier. You can test your device with a variety of different USB hosts to make sure it works.

Mimic USB Vendor or Product ID

After having been studying a USB Packet Sniffer based around the BeagleBoard xM (https://gitorious.org/beagleboard-usbsniffer/), I have been at a loss as to how the driver actually works in a certain area.
I now understand that the BeagleBoard acts as a one port USB hub for the USB host to see, so that it may view and log the packets going through it. The part i'm trying to currently understand is how exactly the BeagleBoard is able to be somewhat transparent, and able to mimic the USB Vendor/Product ID's of the device being sniffed.
There is nothing to mimic. If it behaves as a hub, it can see all the traffic going between the computer and the device under test because all the USB packets would go through the hub. Packets are received by the hub and transmitted along to the other device.

emulating usb device with another PC

Task: Testing production software on PC notebook without production unit attached via USB and without changing prodcution software.
Goal: Emulate production device with another PC. The test application runs on the second PC to emulate our device commands/responses.
Challenge: Using a USB bridge cable or other device requires that we can change the PID/VID to look like our device.
Suggestions?
You need a hardware device on the second PC to do this type of emulation.
USB ports on a normal PC are USB host ports. Two such ports cannot be connected with each other directly. USB device (or USB OTG - switchable) ports can be found on programmable smartphones (Android, maybe others) and some developer boards like these. I think you probably need to use a smartphone or developer board rather than ordinary PC as the your USB device emulator.

Is it possible to determine usb protocol from an installed driver?

Just as the question states, the goal is to reverse engineer the protocol used by a device.
Let's say you have a webcam, an Arduino and an Arduino USB Host shield. You want to talk to that webcam, from which you don't know the protocol. Can it be done by monitoring USB data packets and by analyzing the driver installed for that device?
It would be a really interesting project.
Thanks in advance.
I often use a serial spy program to look at the conversation between two devices. In windows you can pay for it...
http://www.sinnovations.com/htdocs/serial-port-monitor.htm
In Linux it's free...
http://www.cyberciti.biz/faq/howto-monitor-data-on-a-serial-port-in-linux/