Logo

Wyse 3125SE: Download 

You think you have it all sorted.... I've downloaded and installed what I've just put up here and found problems that I thought were sorted are back.

It seems to be a little hit-and-miss as to whether things run properly - sometimes they do and sometimes they don't. The most obvious symptom is that the eth0 interface is not up. (Type ifconfig at the console prompt to see this). The 'up' command is hung and times out after 120 seconds at which point the serial console dies. There are variations on this. Rather than take everything down I've left it here in case anybody else wishes to play.

Sorry. I have other demands on my time and may be a week or so before I get this sorted.

What's here

This page provides some 'get you going' files for the Wyse WT3125SE and come without any kind of warranty! Use at your own risk. Whilst I'm happy to hear what you've done with them, or what modifications you've made, please assume that you're getting zero support. I'll try and answer emails where I can - and maybe update some of these pages to assist others - but don't rely on it.

Current Status

The builds here are based on Tiny Core 4.2 and Linux kernel 3.0.3.

This release has:

  • No Video support.
  • Supports a serial console (COM1) but can be run headless.
  • squirts logging messages out of COM1 at 57600 baud, 8 bits, 1 stop bit, no parity.
  • is stripped right down to almost the bare minimum.
  • will recognise FAT formatted USB drives
  • runs dropbear: logon as user ssh with password ssh.
  • does not support sound

Once the system is up you can su to tc and use command line tools such as tce-ab to download and install apps.

At some point I intend to return to this to sort out support for sound and to see if it's possible to use the IDE connector. (A quick check didn't work).

Tools

If you haven't already done so I suggest you browse the Wyse tools section of this website. You'll probably want to install a copy of them if you're intending to do any development work or want to rebuild the kernel.

Sources

The Linux build for the WT3125SE is currently based on Tiny Core 4.2 and the 3.0.3 kernel. If you want to build your own version you'll need to download them from here. As a starting point I downloaded the config file and the already patched kernel source file. You'll also need the core.gz from the distribution.

Editing source files

I have made the following two patches to the kernel:

natsemi.c

To remove repeated error messages of the form:

 eth0: possible phy reset: re-initializing

the recommendation is to make one small change to the file natsemi.c which is located in drivers/net. Around line 1815 you just need to delete the '!' that's in front of netif_queue_stopped(dev) to change the sense of the test.

Before:

1813:       writew(0, ioaddr+PGSEL);
1814:       if (np->dspcfg_workaround && dspcfg != np->dspcfg) {
1815:           if (!netif_queue_stopped(dev)) {
1816:               spin_unlock_irq(&np->lock);

After:

1813:       writew(0, ioaddr+PGSEL);
1814:       if (np->dspcfg_workaround && dspcfg != np->dspcfg) {
1815:           if (netif_queue_stopped(dev)) {
1816:               spin_unlock_irq(&np->lock);

cpu

Left to its own devices the kernel will not recognise the CPU ID code returned by the SC2200. In fact the CPU core in the SC2200 is a GX1 and so it's a matter of adding one line to the file arch/x86/kernel/cpu/cyrix.c to fix this.

Around line 256 add the extra line shown:

254:
255:    case 4: /* MediaGX/GXm or Geode GXM/GXLV/GX1 */
256:    case 0xB:
257: #ifdef CONFIG_PCI
255:    {

The other thing you'll need to do is remaster the core.gz file. As a minimum this will be to install the modules to match your kernel build. I also changed inittab to run a serial console and added a user ssh (with password ssh) and the dropbear server so that you can logon remotely to a headless WT3125SE.

The initialisation scripts (/etc/init.d/rcS et al) also make various assumptions about the system build. For example I've commented out some lines as I've built things like the loop device into the kernel rather than having them as modules.

Starting with the Tiny Core distribution .config I found it took about 40 minutes to build the kernel on my system, and I ended up with a modules directory of ~70MB! There's a handy script (sorter.sh) on the Tiny Core download site that will split out modules that go with packages just leaving the core set behind. However this script breaks as soon as you start removing options from the config file. My stripped down system builds from scratch in under two minutes, so you might like to start from there. (The modules directory is also only ~200KB).

My basic files:

Downloading the last three and makebootp would let you build other versions with differing command lines. (eg Change the host name from 'box' to something else).

As I mentioned before, the .config file has almost everything left out. Obviously we don't need support for hardware that we'll never use, but I've also stripped out stuff like IPV6 and IPSEC. For now, other than the ramdisk and loop devices, the only supported file system is vfat. I left that in as that's the format used by most pen drives. You can obviously re-introduce what's missing if you have a specific application in mind, but as a starter I've left almost everything out in view of the restricted amount of RAM.

Booting

If you haven't already done so read the description of netboot in the Tools section. You'll want to install a copy of this if you're intending to do any development work. Having compiled the netboot program all you need to do is:

makebootp -f F576_Wye74.bin -L loader.bin -b logos/new3125.bmp -o ~/ftp/

This creates a bootp.bin file in the ~/ftp/ directory that's ready to be downloaded and flashed into the WT3152SE using the standard NetXfer approach (hit the 'p' key on power-up). For convenience here's a ready built version:

Builds

These are based on Tiny Core 4.2. They are configured to run with a serial console (57600 baud, 8 bits no parity). They include dropbear and you should be able to logon remotely using ssh. Logon as user ssh with password ssh.

 


Any comments? email me.    Last update January 2012