Arduino UNO - USB fails on Windows Thin Client

I tried an Arduino UNO at a school I work with.

We tried it on their MS Windows Thin Client system. It is Sun server hardware, using a bunch of Sun Ray 2's for the clients. The server is running Microsoft Windows Thin Client software.

When I plugged in the Arduino UNO, it didn't ask to register any new hardware. We were amazed - nothing to install :-)

When we started the Arduino IDE (21), there were no serial ports, in fact, no ports at all; "serial port" were greyed out :-(

We tried plugging and unplugging, but couldn't change it. We tried a couple of machines, but still no success. We looked at the device manager, and couldn't find the UNO.

Any suggestions how we might fix this?

PS - The Arduino UNO and USB cable work fine on my Mac

Thin clients and serial/tty communication is a very grey area. Everything is virtualised in a thin client environment and Microsoft's handling of the virtual com ports presented to the server from the TC is sketchy at best. When I was in charge of a thin client system it was accepted that serial communications just didn't work. A further issue is that the thin clent itself must have a driver for the arduino so that it can forward it to the server as a serial device.

I can imagine that the IT department has "removed" all kind of ports from the thin clients to prevent people to upload or download to their system. Have you asked them?

Any suggestions how we might fix this?

Ask your teacher for a real PC/mac/Linux box ...

pluggy - are you saying there is no way to make a serial USB device, plugged into a thin client, work with Microsoft Thin Client software?

I can imagine that the IT department has "removed" all kind of ports from the thin clients to prevent people to upload or download to their system.

That's a good thought. I thought I had asked that, but maybe they have inherited a configuration. I'll have another try next week.

Ask your teacher for a real PC/mac/Linux box ...

Not an option :-( This stuff is used throughout lots of UK schools and colleges. Nightmare!

Complicated business serial over thin clients. I spent a long time looking for a solution to make Picaxe software work over Windows Server 2003 with thin clients. It boils down to the fact that serial software almost always communicates over the raw hardware ports and not through the Windows API. And all terminal services can offer the software is the Windows API since the hardware doesn't exist on the server where the software is running. You would probably find it would work OK if you plugged it into the server, but then all the thin clents would be seeing the same Arduino which is far from the ideal.

We overcame it by using some old laptops with Windows 2000 on and just brought them out when they wanted to play with the Picaxes.....

Microsoft never bothered coming up with a solution because few use anything serial anymore and not when many use terminal services, combing the two amounts to something akin to a non problem and not worth pursuing. Probably not what you want to hear. :(

pluggy - IMHO it's a poor state when a school buys MS Windows Thin Client, and it doesn't work as well as ordinary Windows. It's supposed to be better!

The Thin Clients support USB HID devices, keyboards and mice; we tried more than one mouse simultaneously to see that it would work and it worked fine. The Thin Clients also support USB mass storage (Flash Memory sticks), though they prefers some brands of memory stick over others.

The Arduino UNO is a USB CDC 'virtual serial' device. It isn't using any serial hardware. It is using the same USB hardware as the mouse, keyboard or USB mass storage.

AFAIK, there is a USB CDC driver 'installed' with Windows. The UNO 'driver' is just a .inf file; there doesn't appear to be 'proper' driver code as such, it should use the USB CDC driver which comes with the OS.

Better ? Much easier to manage and possibly cheaper are why most go for thin clients. Its fabulous from a systems administrator's point of view (a control freaks wet dream), but there are question marks over the compatibility. Thin clients work fine with keyboards and mice and as you've noticed some USB storage devices (it worked with most sticks on the system I used to manage), the problem is with any kind of serial, it almost all expects the interface to be there on the machine running the software and it just isn't. Almost everything else software wise uses the windows API interfaces, but serial expects the physical interface to talk to.

Okay. So there is software missing from the Thin Client.

Let's assume I can fix the IDE so that it will use the Windows API to talk to a 'Thin Client' serial port.

How do I get a USB CDC serial port driver installed on the Thin Client? Is there a way for me to configure the Thin Client to include the extra USB CDC driver?

It would depend on the thin client, there are dozens of different types, using several different operating systems. Many are Linux based, some using Windows (CE and XP embedded are the usual suspects). How the boot system works is a product of the individual thin client, this would need to be changed to incorporate the driver. Many of the ones I used to manage were old PCs booting a cut down version of Linux using network boot (PXE).

http://www.thinstation.org/

Thanks pluggy!

I have been looking in the wrong place. I thought it was MS weirdness, but your link suggests otherwise!

When I left the school I was with (made redundant effectively) they were seeking to remove the thin client systems because of numerous problems with the technology, but because they had around 150 effectively scrap computers running as thin clients (some were literally 10+ years old that last saw Windows 98), they would need 150 new PCs and they didn't have the budget.....

If you have Sunrays, there is no "software missing from the thin client", as there is no software on the client (hence the definition of thin client).

Abstracting USB to generically extend it across the network is problematic, especially with timing critical applications like serial (for that matter, sometimes usb-rs232 adapters running on traditional clients introduce enough timing problems to break things). The Sunray USB interface is designed with things like keyboards and mice in mind.

Speaking as a sysadmin who runs sunrays (no windows clients, though), it isn't about control, it's about effective use of my most precious resource - my time. I can mange 75 sunrays more effectively than I can mange a dozen workstations. That control is important, though. Many windows problems are caused by users screwing around. If the system is locked down so that uses can't change settings, install malware, etc, the systems are much more stable.

A development platform for microcontrollers is one of the places where a traditional desktop is much more appropriate than a thin client.

If you hate 'em, don't fret, looks like Oracle is going to price Sunrays out of existence, at least for educational institutions.

-j

If you have Sunrays, there is no "software missing from the thin client", as there is no software on the client (hence the definition of thin client).

Let me disagree.

Quoting from Sun's Sun Ray 2 "Sun Ray? Ultra-Thin Client Deployment Options. ATechnical White Paper. March 2005" http://www.sun.com/sunray/whitepapers/wp_sun_ray_deployment_options.pdf Page 8 says:

Sun Ray Server Software Version 2.0 has provided a generational improvement in functionality over Version 1.3. Some of the more prominent features include the ability to attach Sun Ray ultra-thin clients to a local area network (LAN).

Sun Ray Server Software Version 3 includes support for USB Mass Storage devices such as [ch64258]ash disks, zip drives, memory sticks, and external hard drives. It also supports other USB devices such as digital cameras, [ch64258]atbed scanners, serial/parallel adapters, printers, keypads, bar code scanners, magnetic stripe readers, HID-class touch screen interfaces, keyboards, and mice. Sun Ray Server Software Version 3 also has an enhanced libUSB API that will enable access to other external USB devices.

There is software and hardware on the client which provides host USB support to communicates to a bunch of USB devices, and returns the results across a network to the server. There is software and hardware on the thin client which can run a TCP/IP communications stack to talk to the server; it can support ethernet, but USB CDC serial not possible? There is software and hardware on the thin client which receives graphic updates, unpacks and renders graphics on a screen.

Speaking as a sysadmin who runs sunrays (no windows clients, though), it isn't about control, it's about effective use of my most precious resource - my time.

Agreed, that's one of thin clients benefits. But IMHO, not at the expense of the end user.

According to Sun's Sun Ray 2 documentation, it can support USB serial/parallel adapters, as well as other USB devices.

I'd like help and advice to figure out how to get at it.

According to Sun's Sun Ray 2 documentation, it can support USB serial/parallel adapters, as well as other USB devices.

And it does. I've got them in use now (a USB/parallel adapter and a USB/rs232 adapter are in use at the moment, IIRC). You are limited by the Solaris driver availability (which is quite a limit). USB mass storage works, too, but is so slow I avoid it. I've even got vanilla CentOS machines connected via XDMCP and the CentOS session knows about the smart card reader - no idea how that bit of magic happens.

The issues you are experiencing are due to yet another layer of software. I think it's called RDP? Anyway, it's used to connect windows terminal service sessions to sunray thin clients. We don't run any of those, so I can't offer any suggestions.

-j

And it does. I've got them in use now (a USB/parallel adapter and a USB/rs232 adapter are in use at the moment, IIRC). You are limited by the Solaris driver availability (which is quite a limit). USB mass storage works, too, ...

Okay. Have you got an UNO available that you could test on your setup?

Or, can you explain (briefly) what parts you have running to make that lot work. I assume I can use a small machine, load it up with the same parts, and test a Sun Ray here, and hence temporarily remove the obstacle. I believe the school has a 'proper' support contract, and I may be able to have them invoke that if I can show the infrastructure works.

Have you got an UNO available that you could test on your setup? Or, can you explain (briefly) what parts you have running to make that lot work.

sorry, no Uno. I think the key point here is that I don't do windows - I've got solaris sunray sessions and USB peripheral hardware supported by Solaris.

What you are dealing with is the "Sun Ray Connector for Windows". I'd suggest taking a look at http://wikis.sun.com/display/SRWC2dot3/Home especially the section "managing -> USB redirection".

-j

kg4wsv - Thank you!

That reference is much closer to what I've been looking for than anything I have found. Cheers !-)