Wyse sx0 s10 linux

Тонкие клиенты для бизнеса

Я считаю тонкие клиенты от компании Dell Wyse наиболее подходящей заменой рабочим станциям в проектах VDI и Терминального доступа для компаний Enterprise уровня. Говорю я это, основываясь на опыте эксплуатации целого ряда тонких клиентов от разных производителей. Могу выделить несколько основных тезисов, относящихся к теме тонких клиентов:

  • Идеальных тонких клиентов «из коробки» не существует, всегда будут возникать некие тонкие моменты, которые придется решать по ходу проекта.
  • Замена ПК на тонкие клиенты должна избавлять ИТ службу от проблем связанных с обслуживанием. Клиенты на сборках Linux, на Windows Embedded не могут обеспечить простоты администрирования. Избавляясь от необходимости обслуживать ПК, возникает другая необходимость — администрировать тонкие клиенты. Поэтому я не рассматриваю тонкие клиенты на Linux и Windows в проектах от 100 человек.
  • Из всего разнообразия на рынке можно выделит два типа оптимальных тонких клиентов.
    Это нулевые (Zero) тонкие клиенты на чипах от компании Terradici TERA2321 (для двух мониторов) и TERA2140 (для 4-х мониторов). Для этих чипов Terradici сама выпускает прошивку под названием Thread-X. Поэтому, если вы видите, что какой-то тонкий клиент построен на одном из этих чипов, то делайте вывод, что OEM производитель — Wyse, HP, Fujitsu и еще 25 других — сам изготовил только корпус и возможно чуть доработал прошивку, производительность у них одинаковая. Данные тонкие клиенты умеют подключаться по протоколам PCoIP (VMware Horizon View) и в последних прошивках по протоколу RDP.
    Второй тип тонких клиентов, которые я хочу выделить — это Dell Wyse с операционной системой ThinOS. Размер операционной системы 10Мб, что позволяет перепрошивать устройства централизованнно секунд за 30. Настройки всех тонких клиентов храняться в текстовом файле и считываются устройствами во время загрузки. ThinOS поддерживает протоколы RDP, Citrix HDX, а модель D10DP работает и с PCoIP, но на программном уровне, в отличии от нулевых клиентов на чипах Terradici, которые работают на аппаратном.

Тонкие клиенты Dell Wyse

Итак, предлагаю рассмотреть тонкие клиенты Wyse на операционной системе ThinOS и нулевые тонкие клиенты. Также я расскажу в каких проектах терминального доступа и для каких категорий пользователей будет оптимальным использование того или иного тонкого клиента, исходя из производительности, цены и сценариев использования.
Мне лично больше всего нравится только что появившийся в продаже моноблок Wyse 5212 All in One, который сочетает в себе топовою мощность тонкого клиента и отсутствие лишних проводов.

Нулевые Zero тонкие клиенты

Представлены моделями Dell Wyse P25 (для двух мониторов) и P45 (для четырех мониторов) Цены соответственно 458$ и 1054$ — поддержка протокола PCoIP

Есть еще тонкий клиент нулевой тонкий клиент для Citrix — Dell Wyse Xenith 3, который судя по характеристикам является копией T10D с урезанной ThinOS. Имеет смысл все же покупать полную версию, там больше настроек и функций за те же деньги.

Тонкие клиенты на ThinOS

C10LE T10 T10D D10D D10DP 5212 AiO
Цена 333$ 377$ 414$ 499$ 538$ 744$
CPU 1 ядро 1 ядро 2 ядра 2 ядра 2 ядра 2 ядра
1 ГГц 1 ГГц 1,2 ГГц 1,4 ГГц 1,4 ГГц 1,4 ГГц
VIA Eden Marvell PXA 510v7 Marvell PXA2128 AMD T48E AMD T48E AMD T48E
Размер 34x177x121 25x177x119 35x176x210 40x170x185 40x170x185 моноблок 21.5″
Протокол RDP
ICA
RDP
ICA
HDX
RDP
ICA
HDX
RDP 8.0
ICA
HDX
HDX 3D
HDX 3D Pro
RDP 8.0
ICA
HDX
HDX 3D
HDX 3D Pro
PCoIP
RDP 8.0
ICA
HDX
HDX 3D
HDX 3D Pro

Из таблицы понятно, что клиенты разные по мощности и, как следствие, по возможностям. Операционная система на всех клиентах примерно одна и та же, просто где то включены функции соответствующие мощности ТК, а где-то нет.

RDP — сложно сказать какая именно версия протокола работает, но сложных задач возлагать на ТК с процессорами VIA не стоить. Например, просмотр видео в Youtube или просмотр карт в Яндекс будет работать с тормозами. Основная решаемая задача — это работа с простыми офисными приложениями, 1С.

Читайте также:  Linux lib cannot open shared object file

ICA — протокол, по которому работают старые версии Citrix XenApp 4.0 -4.5 — 5.0. Есть ряд преимуществ по сравнению с RDP в потреблении трафика, стабильности работы на плохих каналах, отзывчивости пользовательского интерфейса.

HDX — новое название протокол ICA, который используется в новых версиях Citrix XenApp и XenDesktop. Позволяет работать с веб-камерой, улучшена работа с Flash, поддержка видеоконференций MS Lync 2010, просмотр видео и многое другое.

HDX 3D — имеется ввиду, что средствами протокола HDX может нормально передаваться изображение из графических и САПР программ, например, таких как AutoCAD и Photoshop. Не все тонкие клиенты сертифицированы для работы с HDX 3D, т.к. банально не хватает мощности процессора.

HDX 3D Pro — используется для работы с графическими приложениями, но по другому принципу. Изображение захватывается полностью и передается на тонкий клиент, как видеопоток, используется кодек H264. Такой подход позволяет снизить потребление трафика по сравнению с HDX 3D, также повышается отзывчивость интерфейса и точность передачи изображения, вплоть до отдельных пикселей.

Источник

Wyse SX0: Linux

Overview

The Wyse Sx0 BIOS is a strange beast and it is difficult to fathom out exactly what it is up to. Every time I revisit the Sx0 range of thin clients I find that some of my earlier suppositions were possibly not correct. One thing that is guaranteed though is that it may well be a bit hit-and-miss in getting one to boot your version of Linux.

For experimentation I currently have available:

  • S30 & S90 in the -xx range.
  • S10, S30 & S50 on the -xxL range.

Using Tiny Core 4.7.6 my current findings are:

early model -xx Later model -xxL
Loader Tiny Core will not boot on the S30/S90 using syslinux as the loader. There is no problem with grub. With syslinux the S10 will not boot from USB unless something is connected to the IDE interface. With nothing connected it enters an endless load-syslinux-and-then-reboot cycle. Using Grub you can boot from USB irrespective of whether anything is connected to the IDE interface.
Speed The kernel/core loading speeds from USB are slow — they seem to be around USB 1.0 speeds despite them being USB2.0 ports. The kernel/core loading speeds from USB are slow — they seem to be around USB 1.0 speeds despite them being USB2.0 ports.
IDE interface out-of-the-box Tiny Core does not find the onboard flash on the S30 as it does not include the driver for the CS5535. At the time of writing the driver is marked as ‘experimental’ which is why it is not included in the standard build. The BIOS marks the IDE interface as disabled — even if it has just booted from something attached to that interface. As a result anything connected to the IDE interface is not accessible. This applies to both USB and IDE booting.
Kernel initialisation Tiny Core has no problems initialising everything and starting the GUI. The kernel may well hang whilst finding the cs5536 during the PCI initialisation phase. This happens if a timer interrupt occurs at the wrong moment. This can be fixed by patching the driver.
[No longer necessary in the 4.2.9 kernel used in Tiny Core 7.2]
Media size There maybe issues with large (>1GB) boot partitions. A 2GB pen drive with Grub installed hung after displaying the word GRUB. My standard ‘test’ pen drives — 1GB in size — are fine. There maybe issues with large (>1GB) boot partitions. I’ve had problems with a 2GB Compact Flash card that just displayed the syslinux header and then hung. Repartitioning the compact flash so that the boot partition (sda1) was only 100MB fixed it. My standard ‘test’ pen drives — 1GB in size — are fine.

Some of these are discussed in more detail below.

USB Booting

Problems with Syslinux

The syslinux loader does not appear to work at all with the older hardware.

With a newer S10 a USB drive prepared with Core2usb would not boot. There was a brief flash at the top of the screen of the syslinux opening line and then the S10 would reboot. This repeated forever. I now believe this to be an issue with the newer hardware with nothing connected to the IDE interface. i.e You’ll get it with an unmodified S10 but shouldn’t see this on an S30 or S50 unless you’ve removed the flash.

Читайте также:  Debian linux зеркало репозитория

The fix is easy — use grub.

This didn’t take long as there was some useful guidance here. It might be worth reading through the ‘step 5’ section of that article if you are uncertain about what exactly is being described below.

Briefly what I did, and what you need to do is:

  1. Boot Tiny Core from the pen drive on some other hardware. (I used a Neoware CA10 as that was to hand). On this system my pendrive appeared as /dev/sdb. You need to see what your pendrive has appeared as and then substitute your sdx wherever I use sdb below.
  2. Connect to the AppStore and download and install grub-0.97-splash.tcz.
  3. sudo su and then cd /mnt/sdb1/boot.
  4. Create a directory for grub and then copy over the files for grub into that directory:
    mkdir grub
    cp -p /usr/lib/grub/i386-pc/* grub/
  5. Create a file grub-device.map containing the line (hd0) /dev/sdb.
  6. Run grub —device-map=grub-device.map and then type:
    root (hd0,0)
    setup (hd0)
  7. Finally you need to create the menu.lst file using your favourite editor. (e.g. vi /mnt/sdb1/boot/grub/menu.lst). Mine file started off as:

This worked perfectly on the older model. With the newer model it actually managed to boot once in a while but more often than not hung whilst the kernel was busy initialising everything.

Adding vga=

When you have problems with Linux starting up it is often useful to see as many of the kernel messages on the screen that you can. When I tried adding the parameter vga=791 to the command line to get a 1024 x 768 display things just hung. I found that vga=788 for an 800 x 600 display worked. However the following day it didn’t! The safest thing appears to be to leave it off unless it is essential that you increase the screen resolution whilst booting. If you do try it out, it looks like it is pot luck as to whether it will work or not.

[Update March 2014: This may have been sorted with the recent patch to the CS5536 driver]

Debugging

To get some idea of where the problem lay I ended up adding ignore_loglevel to the command line. This produces a verbose output from the kernel and from this I could see that the kernel always ground to a halt whilst probing the CS5536 device.

Originally (May 2013) I played around with various command line switches and settled on pci=nobios as a way of reducing the incidence of the bug. Now (March 2014) I know the reason for this bug and how to get rid of it. (See below).

Speed

It looks like the S10 BIOS runs the IDE interface at USB1.0 speeds. The Tiny Core kernel (2.4MB) loads in

12 seconds and the core.gz (5.1MB) in about

23 seconds. So it takes

35 seconds to load 7.5MB of data which is a throughput of

IDE Interface

With both models you will have problems if you use a boot partition that is >1GB. This is also true of any USB pen drive you are using. Large pen drives can be used if you partition them first in order to create a smaller boot partition.

Sx0-XX

The old hardware uses the CS5535 companion chip. The CS5535 driver is currently tagged as ‘experimental’ and is so excluded from the Tiny Core kernel. This means the internal flash drive on the S30, S50 or S90 can’t be seen. This is easily fixed by recompiling the kernel and including the driver.

Sx0-XXL

The new hardware uses the CS5536 companion chip. There are a couple of problems associated with it, both of which are documented more fully below.

  • The kernel can have problems whilst probing the PCI bus. It often locks up when it finds the CS5536.
  • The BIOS disables the IDE interface and so it is ignored by the kernel.
Читайте также:  Как перераспределить диск при установке windows 10

[Feb 2017 revisit: Found first point to be fixed and patch is no longer needed — Linux Kernel 4.2.9 ]

The second point came to light when I revisited the S10 using Tiny Core 4.7.6 installed on a Compact Flash card connected to the IDE interface. When I booted it it stopped at the command prompt and did not go on to load the graphical desktop. I didn’t notice this in my initial testing a few years previously as at that time the Tiny Core ram disk included the graphical interface. That is now split out and loaded from the physical disk after the basic system is running.

A quick check of the log file showed why there was no graphical desktop:

Note: This is also true when booting from USB.

The latest kernel finds the IDE interface is disabled and so doesn’t use it. As a result, when booting from a Compact Flash card on the IDE interface, the Compact Flash card disappears once the memory based kernel and core.gz files have been loaded and the tce directory with the GUI files vanishes with it.

Both these problems can be fixed with simple modifications to the pata_cs5336 driver and recompiling the kernel.

The process of recompiling the kernel is documented here and the results can be found under the TinyCore tab above.

CS5536 Driver patches

Note: The following patches were made to the driver in the 3.8.13 kernel. There have been some changes to the driver code since my previous set of patches (3.0.21 kernel) and things may be slightly different again with a later kernel.

Freeze during initialisation

[Feb 2017 revisit: Found this to be fixed and patch is no longer needed — Linux Kernel 4.2.9 ]

I now know the reason for this behaviour. Back in June 2013 Karol pointed me at a posting in the kernel list about a problem with some MIPS hardware. I’ve only just got round to checking it out (March 2014!) and it turns out this does solve the start-up problem. In the words of Aaro Koskinen :

«Some Loongson boards (e.g. Lemote FuLoong mini-PC) use ISA/southbridge device (CS5536 general purpose timer) for the timer interrupt. It starts running early and is already enabled during the PCI configuration, during which there is a small window in pci_read_base() when the register access is temporarily disabled. If the timer interrupts at this point, the system will hang. Fix this by adding a fixup that keeps the register access always enabled.»

The accompanying patch was applied to the driver that’s in the MIPS architecture source tree. What we need to do is add the following code to the driver pata_cs5536.c that we’re using which is in the directory drivers/ata/:

I added it at the start of the functions following all the #includes.

My thanks to Karol for pointing me at the fix — and my apologies to him for taking so long to do something about it. (My S10 based web server rarely gets rebooted).

Re-enabling the IDE interface

This is a matter of adding some code to set a bit in one of the registers. I also took the approach of telling the driver to use the Machine Specific Registers (MSRs) rather than the pci interface registers.

At the start of the driver, immediately following the listing of the include files, you will find the declaration of the module interface. I set the default for the variable use_msr to 1. (It saves having to add the switch to the kernel command line). The file should now look like:

Next locate the function cs5536_init_one() and change:

For the purposes of checking things (and without any particular reason) I initialised the IDE interface for PIO mode 4. I also took the opportunity to set the bit in the configuration register to indicate an 80-way cable on the IDE interface. Without this the interface is limited to UDMA/33 whatever you may have plugged into it.

Any comments? email me. Last update March 2014

Источник

Оцените статью