views:

228

answers:

5

Hi Guys,

I'm wondering if there is a way to create an asp.net webpage that will connect a visitors USB device to an application on the windows bases server? This way we avoid having to install a software on the visitors computer to control a USB device update that they purchase form us.

All they have to do is visit our update page, plug their deivce to the USB, and have our site update the usb hardware.

Possible? or am I dreaming? :)

i found software like: USB over IP, and few others. But not show ure its possible to create a C# or vb.net based ASP.net page to control the visitors USB device.

Please advise.

+1  A: 

The only way I can possibly imagine doing this is through JAVA

EDIT: Looks like there might be an ActiveX way to do this as well, though ActiveX is Internet Explorer only, which limits it's usability.

rockinthesixstring
Sorry to nit-pick, but Java is not an acronym and shouldn't be all caps. Just a little pet peeve of mine. :) http://java.sun.com/products/jdk/faq.html
Andy West
MMM... don't really care how I typed it... the point is still the same
rockinthesixstring
+2  A: 

In general, Web pages and scripts that run in browsers are limited in what local system resources they can access. Direct access to hardware like USB devices has obvious security implications.

The only way I can think of to do this might be an ActiveX control (IE only, I think) or some other kind of browser plugin.

Andy West
haha. funny that the "only thing we can think of" are two separate technologies. lol
rockinthesixstring
Though Java really is "some other kind of browser plugin".
Anon.
@rockinthesixstring: LOL, I noticed that coincidence, too. @Anon: True.
Andy West
ActiveX is restricted to IE only (as you noted) where as JAVA can be used on any browser except for Chrome (afaik) - (note Java support for Chrome is currently in Beta.)
rockinthesixstring
+1  A: 

It is possible to create an ActiveX/.NETcontrol/Java Applet that will do it.

Granting the rights to this thing to access local devices will require certain security setup which can be automated, but in any case will require some user consent/interaction

mfeingold
+1  A: 

One possibility is building a webserver into the USB device. Give the device internet access, and get it to download its own firmware in a process controlled through the webpage that the usb device serves.

Note that I have no idea if this is actually possible, just thought I'd throw in this different way of looking at the problem.

Breton
Interesting concept. Basically create a web server that has an API. A good example of this is XBMC (http://www.xbmc.org) where you can control the entire software (including adding and removing files, renaming, etc) via HTTP.
rockinthesixstring
A: 

Hi,

I see here 2 ways:

1) ActiveX control

The problem is that the user should first download and install the ActiveX from an Internet web server or from a local file

2) USB Device driver + DHCP Server + Web server embedded in the device

Your USB device, once plugged, should present itself as a "Virtual Ethernet Interface" in order for Windows to add the driver to the list of the Internet Connections.

The Device should have also a DHCP server in order to give Windows an IP address. Beware of the fact

The USB Device should also have an HTTP server.

At the end of this process, Windows will have 2 IP addresses.

Now you have to figure out how to have IE point to the index.html file of the device.

3) But/Find a commercial software

You are not the first guy on this planet that has similar requirements.

Ciao, Enrico Migliore

Enrico Migliore