Thursday, July 2, 2009

HP T5545 (Linux) VMWare View and USB Redirection

Well, since I’ve just spent the past 6 hours trying to figure out how the heck to get USB Redirection to work on HP T5545 , I thought I would write up some instructions on how to set it up, and all the gotchas to avoid.

For the record, I only set this device up because I got stuck with 50 of them for one of my schools, and for anyone who doesn’t want headaches, I would recommend they go with XPe (no, not WinCE), I’m pretty sure, the additional premium you will pay for the device itself will be saved in time trying to configure/troubleshoot, and update it. This recommendation is based on my usage with VMWare View (formerly VDI), and where USB Redirection is absolutely needed. For any other purposes (ie: terminal services, ICA, RDP, etc..) , I cannot vouch for it, but I would suspect it would work just fine if you’re on a lower budget.

ok, so now that the complaining about it is over, lets move on to some instructions on how to set this up.

These instructions do assume that you know how to create a VMWare View Desktop Pool, and have an appropriately created template that contains the View Agent in it, etc…  If not, there are some documents out there that describe this process, and you can see my post about Sysprep and VMWare View: the solution as well.

There are a few components that need to be setup correctly for this to work:

1- The HP RDP Multimedia and USB Enhancements (Server Side)

Now, this part, I’m not 100% sure on, but I think it’s only required when using an XPe client. In the case of Linux clients, the redirection is happening somehow within a Samba mount or something similar. If you find the need to install that, you can head over to HP Support site, and download the following file:

Install this on your View Manager Connection Server, and reboot the server. no further action is required there.

2- Firmware and HP RDP Multimedia and USB Enhancements (Client Side)

This step was by far the most cumbersome, because I had to figure out HP’s way of installing their .hpk files, which are, I believe, essentially a modified .deb (Debian) package. so for this reason – being modified – the dpkg –install  does work on that package.
This is where the confusion starts. If you are running any firmware older than M5ST0019 rev 1 (Oct 6 2008), you will have a command called hpkg to install packages. On that firmware you would need 2 packages to install for the complete View experience.

Unfortunately, all these package are not all available on the “downloads” page of the T5545. (don’t ask me why!). after researching, I ended up finding the new version of the View Client which had the Sound and USB Redirection built into it. Since I can’t seem to find it anymore, I’m making it available through my DropBox. Download it HERE. (this file may disappear at any time, but for now, it’s here) The other file is available on HP’s site, and that is the counterpart of the HP RDP Multimedia USB Enhancements… this time, it’s for the client. you can get it HERE

Even though, if you really want to follow my ideal way, this will not be necessary (see below). but if you really don’t want to flash the firmware of the device, you may be able to get things to work by installing both of the above files.

To install an hpk on the old firmware, you create a new XTerm connection, within the connection manager. On the old firmware you have to create a Custom… connection, then type xterm for the command, and now you should have access to the shell.

change the user to root: su -  (the default password is “root”)
unlock the filesystem: fsunlock
install the package: hpkg –i <filename.hpk>
lock the filesystem: fslock

(In order to get the files to the thin client, you can do it in multiple ways, but I used the FTP method, because it was the simplest). if you know your way around the shell, you can always stick a USB thumb drive and copy the stuff from it. hint: it’ll get mounted on /media

ok, so now that I ranted on the old way, let me point you to the new way, and seemed to have been much less cumbersome. There are 3 ways you can do this, on a CD (you would have to connect an external optical drive to the thin client), a USB thumb drive (that’s how I did it), and for deployment … (haven’t figured out how to use this one, but I’m pretty sure, it’s meant to work with Altiris deployment packages.

What we’re going to do here is flash the firmware to the latest version. Don’t be fooled, as of this writing, HP did not have the latest firmware on their website, so I had to fish for it with Dr. Google’s assistance. I finally found it HERE. When you download this, you will need a flash drive that’s bigger than 512Mb (1Gb should be ideal). just run the file, and choose the “USB” option when it pops up. note: you will lose all data on your flash drive when you do this. The drive will be loaded with the new firmware. once this is done, stick the USB thumb drive in your thin client, and reboot. You don’t have to change boot order, as USB is already enabled as the first boot device.  It’ll ask you if you really want to flash it, Answer “Y” , and wait about 5 minutes, the Thin Client will reboot and comes back up with the new firmware.

Now, your VDM client will be named View client, and will have more options on it. When you create a session, under “Options” there will be an additional setting called “ Sound Redirection” , and another one called “ Device Mapping”, which allows for mapping the USB Storage, Serial port and Printer mapping. for USB Storage, you can also select what drive you want the USB storage to map to. Enable whichever ones you want.

Prior to this firmware, the USB redirection hpk would’ve done what this one does natively. Though I never got the first solution to work fully, it looked to me like the HP RDP Multimedia USB Enhancements had way more options than the new View client. But I had no need for the other ones, and I couldn’t figure out how to install an hpk package on the new firmware, since the hpkg command no longer existed in the new firmware. Anyone that may have any insight on this, please share in the commends.


3- Your Virtual Machine template.

You may be thinking.. duh ! that’s simple. Well, that was one of the components that threw off for a loop, at least in regards to USB Redirection. You see, for USB redirection to function correctly, you need to have an actual virtual USB controller connected to the VM. you can install all plugins and add-ons all over the place, but without the controller, nothing will work.

Capture 9   Capture 10

When all is well with the USB controller, your VM should be showing all the items in the blue in addition to the items in the red box. Without the USB controller, and provided you had installed all the required add-ons on your thin client, you will see only the items in the red box.

4- Your Group Policies in Active Directory

This was a tricky one, and mostly due to the fact that USB Redirection on the Linux Thin Client does not work in the same as you would expect any USB redirect (at least I don’t think so) . What the redirect is doing, is really mounting the USB device to the Linux OS, and then the mechanism of the firmware (when USB redirection is enabled) somehow shares that drive as an SMB share, and makes it available to the connected View client. So this is where the drive letter comes into play. Of course, not knowing this, I had GPOs in AD that locked down printer redirection, COM ports, LPT ports, and most importantly for my purposes drive redirection. this was a no no, and was causing the whole system not work. So, what have we learned here? make sure you either choose NOT CONFIGURED or DISABLED on that option if you would like to stay sane.


When you have all this enabled, don’t expect a whole lot with USB redirection. For very novice users, it’s still going to be very confusing. The drive will get mapped by the volume name of the USB drive, or sometime by the Linux path, and does not get deleted when you remove the drive, though the user can actually delete the “ghost” folder, it’s still very confusing.

Also, it’s not instantaneous, when you plug in a USB device, especially if it’s a large capacity device with some data on it, the Linux OS has to scan it, mount it, and share it out, before the Windows OS can even figure out that it’s there. Bottom line, Windows does not see the USB device as a USB device, but rather, a SAMBA share.

I have not tested how that type of redirection will be affected by disabled USB access from VDI manager policies. That is something that is still up for testing. If I find something interesting there, I’ll make sure to post that.


Well there you have it, T5545 Thin Client USB Redirection, finally working. 


Babylon said...

Good information. Thanks for sharing. The only thing I am not getting out of this is the USB controller on the VM... everything I've read says it's not possible to add a USB Controller to a VM... Can you expand on how you added it? Please? :-D

Babylon said...

well, adding the USB controller is as described in section 3 (Your virtual machine template) If you look at the screenshot, I do , in fact, have a USB controller on the VM. So, that should tell you that it's possible. If your VM is powered on, you won't be able to add the controller, you need to power it off, and add that USB controller to your VM template, for it to show up on all the rest of your VM deployments. Once the controller is there, then, once you boot up the VM, it should detect some additional USB Hub devices which can then be leveraged to use the USB redirection function within your thin clients.

Hope this helps,

Babylon said...

USB redirection is now working, but I still can't get a USB controller added to my VM. LOL It's ok, I'm in a testing phase and it's not a huge requirement. I am having more issues with things like copy/paste when using client access software for the AS400 in the remote desktop. :-P

Babylon said...

I actually had this working awhile ago.
using the 2 separate packages on the older firmware it works exactly as it is supposed to. you plug the usb device in wait a few seconds it gets detected and shows up as a drive, not a mapped drive.

unfortunately my new set of thinclients has the new firmware that you can't install the redirect piece and something broke on my old one that causes to to crash when you open the drive.