WYSE T50 Thin Client Install from Scratch

Hi Everyone. I would like to contribute by sharing my experiences on our quest to find a cheap thin client that can be maintained by anyone without technical abilities. Here is a setup that’s working well for us, has Wifi, and costs about $260. It runs an old version of Ubuntu and CPU Usage is less than 10% when using Oracle’s embedded Java JRE for ARM processors. It’s about 40% when using Open JDK 1.6 for ARM. Memory is plentiful.

We are an end user of Ignition in the Automotive industry and I work in the IT Department so it was important to have a device that could be stocked brand new on the shelf, and have a Maintenance guy grab a USB drive, plug it in, and have it deployed in less than 5 minutes. I imagine this would scale very well for Integrators because they could give their clients USB drives for each project.

If you choose to install the Free WYSE Device Manager on a server (instructions below), you can manage 750 of these devices centrally…for Free. It’s easy to see when devices have been replaced, amongst many other tools.

I apologize if this should be in another Topic Group. Please move it if need be.

I am not a Linux expert so some of these commands may be overkill or un-needed or executed incorrectly.

Wyse T50 Setup (1 GHz ARM CPU, 1GB RAM, 1GB Flash)
[attachment=0]t50.jpg[/attachment]

Based on 1.037 Firmware Enhanced Ubuntu (can be downloaded from Dell/WYSE’s website). Should be identical to previous versions.

Power it up

Login
-username: admin
-password: admin

System Settings->Date & Time

  • NTP server: Add your NTP server, Remove others
  • Chicago Timezone

System Settings->User Administration

  • Change Admin password
  • Autologin Admin, 0 delay
  • Change SSH root password, Allow ssh root login

System Settings->VNC Server

  • Set password

System Settings ->Screensaver

  • Disable Screensaver and Power Management

Get rid of packages so the image will fit on flashfs partition when finished. Install ftp and Microsoft TTF fonts

apt-get purge chromium-*
apt-get purge ica
apt-get purge vmware-viewclient
apt-get purge marvell-flashplayer
apt-get purge ericom-powerterm
apt-get purge ghostscript
cd /etc/apt
cp sources.list sources.list.bkup
cp sources.list.orig sources.list
apt-get update
apt-get install ftp
apt-get install msttcorefonts
cp sources.list.bkup sources.list
apt-get update
apt-get autoclean
apt-get clean

Verify /dev/sda3 has 266M available by using df -h

Allow client to send hostname to DHCP Server so it updates DNS

cd /etc/dhcp
vi dhclient.conf

Change the 2nd line to:

send            host-name       "<hostname>";

Make backup of sshd_config because it sometimes gets corrupted when you boot the device and try to enter BIOS incorrectly

/etc/ssh
cp sshd_config sshd_config.bkup

Install Native Client Launcher

cd /
mkdir ignition_clientlauncher
chown admin ignition_clientlauncher/
cd ignition_clientlauncher/
ftp servername
(bi, hash, get clientlauncher.tar.gz, bye)
tar -xzvf clientlauncher.tar.gz
chown admin clientlauncher.sh
mkdir clientlauncher-data
chown admin clientlauncher-data/
cd clientlauncher-data/
ftp servername
(bi, hash, get launch.xml, bye)
chown admin launch.xml

Install Embedded Oracle Java 1.7u55 optimized for ARM processors
oracle.com/technetwork/java/ … teId=otncn
ejre-7u55-fcs-b13-linux-arm-vfp-sflt-client_headful-17_mar_2014.gz

mkdir -p -v /opt/java
cd /opt/java/
ftp servername
(bi, hash, get ejre-7u55-fcs-b13-linux-arm-vfp-sflt-client_headful-17_mar_2014.gz, bye)
tar -xzvf ejre-7u55-fcs-b13-linux-arm-vfp-sflt-client_headful-17_mar_2014.gz
rm ejre-7u55-fcs-b13-linux-arm-vfp-sflt-client_headful-17_mar_2014.gz
sudo update-alternatives --install "/usr/bin/java" "java" "/opt/java/ejre1.7.0_55/bin/java" 1
sudo update-alternatives --set java /opt/java/ejre1.7.0_55/bin/java
cd /etc/profile
cd /etc
vi profile

Add the following right above umask 022

JAVA_HOME=/opt/java/ejre1.7.0_55/bin/java
PATH=$PATH:$JAVA_HOME
export JAVA_HOME

Reboot
verify Java installed with ‘java -version’
java version “1.7.0_55”
Java™ SE Embedded Runtime Environment (build 1.7.0_55-b13)
Java HotSpot™ Embedded Client VM (build 24.55-b03, mixed mode)

cd /ignition_clientlauncher
./clientlauncher.sh

Choose a Project, Create Shortcut
Close Project

cp ProductLogo_48x48.png /etc/addons.d/CUSTOM/gui/

Change Desktop icon for future use

vi /etc/addons.d/CUSTOM/desktop

Change the line that starts with Icon=

Icon=/etc/addons.d/CUSTOM/gui/ProductLogo_48x48.png

Enter Edit Mode (bottom right corner of desktop)
Add Item
Custom
Type a Description
Command = “/ignition_clientlauncher/clientlauncher.sh” scope=C project=projectname gateway.addr=1.1.1.1:8088:8043 windowmode=fullscreen
Auto Connect
Delete (click red x) on Shortcut that was created by running clientlauncher manually in previous step

Add Item
Custom
Description = Launch Terminal
Command = xfce4-terminal
Auto Connect

Exit Edit Mode

cd /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/
cp xfce4-session.xml xfce4-session.xml.bkup
vi xfce4-session.xml

Remove the following lines to disable the Menu Bar at the top of the screen. This is required because full screen doesn’t actually cover it

<property name="Client1_Command" type="array">
 <value type="string" value="xfce4-panel"/>
</property>
<property name="Client1_PerScreen" type="bool" value="false"/>
cp xfce4-session.xml xfce4-session.xml.nobar
cd /etc/Wireless/RT2860STA
vi RT2860STA.dat

Change the following lines to enable auto roaming (in case APs go down for maintenance, or interference is high, so it can roam to next one available automatically)

AutoRoaming=1
RoamThreshold=80
cd /usr/sbin/
vi setVncOptions

Change the two lines by adding -repeat like shown below. This allows key repeats when connected via VNC

setsid /usr/bin/x11vnc -nomodtweak -repeat -rc /etc/x11vncrc --forever &> ${VNCSTARTLOG} &
setsid /usr/bin/x11vnc -nomodtweak -repeat -rc /etc/x11vncrc --forever &> ${VNCSTARTLOG} &

Click Network icon on Desktop to setup Wireless
Connection Name: Your SSID
Wireless Security: WPA & WPA2 Enterprise
Authentication: PEAP
Anonymous identity:
PEAP version: Version 0
Inner authentication: MSCHAPv2
Username:
Password:

Ignore Certificate Warning (don’t ask Again)

System Settings->Network Connections
Verify Connect automatically and Available to all users is checked

Shutdown
Hold Del while pressing and holding power button until BIOS password pops up
Fireport is the password
Power Management
-Power States = Always On
This will make unit boot up automatically after losing power when it gets restored

Install WYSE Device Manager (WDM 4.9.1 Workgroup) on a server. It’s free up to 750 devices and can be downloaded from Dell/WSYE’s website

Create DNS Service Location SRV Record on your Microsoft DNS server. This will allow the WYSE clients to automatically register with WDM
Open DNS Management Console
Right click on the Domain, Other New Records, Resource Record Type
Choose Service Location (SRV)
Create Record
Service - _WDMServer
Protocol - _tcp
Port Number - 80
Host offering this service - FQDN of WDM server

After getting everything perfect, you can create an Image on a USB flash disk that can be used to configure brand new units off the shelf. It even gets the BIOS settings with Always-On power.
Download WYSE USB Firmware Tool 1.20.0.1 from Dell/WYSE’s website
Insert a blank USB drive
Select Configure the USB key to Copy/Pull
Select Linux Ubuntu (T50)
Copy or Pull Firmware
Choose your USB drive letter and hit Next
When finished, power down WYSE Device, plug in USB drive, Hold P key on keyboard while turning on and holding power button until you see BIOS popup
Fireport is the password
Choose USB and hit enter
Answer y when asked if you want to Proceed with Pull Operation
This takes about an hour so just let it go. It’s compressing everything bit by bit.

Now you have a full image of the Device on a USB drive that can be used on any other T50 directly from the factory.
To use it, power down the device, plug in USB drive, Hold P key on keyboard while turning on and holding power button until you see BIOS popup
Fireport is the password
Choose USB and hit enter
Answer y when asked to Proceed with Push operation

In about 4 minutes, your device will reboot and be ready for use!!!

If you need to connect to it remotely, you can use SSH or VNC
Because the Project will take up the entire screen, you will need to hit Alt-downArrow to choose the Launch Terminal if you want to kill any processes or do maintenance
If you need access to the System Settings and stuff, cp xfce4-session.xml.bkup xfce4-session.xml and reboot. Copy back the xfce4-session.xml.nobar to cp xfce4-session.xml when finished with changes and reboot again.

One thing to note is the .ignition directory gets deleted when rebooted. This is good if it gets corrupted but slows down the boot up time because there’s never any cache available on boot. Our projects on T50’s take about 2 minutes to boot.

**If you guys are interested, I’ll compile my notes for the Linux based WYSE D50D and the Raspberry Pi

Very cool – thanks for the detail! I’ve been looking for something like this, but haven’t felt comfortable diving into the Linux stuff.

:thumb_left:

Great stuff I know this post is a bit old, but I’ve been messing with these T50 now. And I wondering how you decided which packages to get rid off. (chromium, ica, etc). Did you get this list from dell/wyse or made it up yourself.

In other words, I need to create a usb flash image and I want to clean it (just like you did). I’m just not sure which packages are safe to purge.

Thanks,
Thiago Morais