Legacy Forum: Preserving Nearly 20 Years of Community History - A Time Capsule of Discussions, Memories, and Shared Experiences.

eBox 33xxMX: Getting to grips with XP Embedded

Based on DMP's Vortex processor / SoC this board is a full computer capable of running a standard Windows and Linux installation on the backpack of your robot.
2 postsPage 1 of 1
2 postsPage 1 of 1

eBox 33xxMX: Getting to grips with XP Embedded

Post by itstimmeh » Wed Oct 12, 2011 4:33 pm

Post by itstimmeh
Wed Oct 12, 2011 4:33 pm

Hello All

First post here so a quick intro before I get into it.

My name's Tim and I work in the entertainment lighting industry (think lasers and big flashy festival lights) as an engineer and a product designer. Recently I've started on a new set of projects that involve the 3350MX as their 'brain'. I've chosen this product because of its exceptionally small size, low power requirements and its ability to run all existing x86 operating systems.

I've been reading the forums and I see that a lot of you have had good success with normal XP, and using things like nLite is great as it squeezes down the footprint and EWF which now comes as an add-on for XP Standard. I've been chatting to Pedro and he asked me to come on here and talk a bit about what I'm doing with the eBox, so here goes.

Most lighting control is invariably based on a protocol called DMX512, which is little more than RS485 sent a single twisted pair (a bit like ethernet). Lighting kit is plugged together daisy-chain fashion with a controller (e.g. PC or lighting desk) at one end. DMX sends 512 channels (in the range of 0 to 255) to all the devices in the chain. Depending on what the devices 'start address' is, it chooses to listen to various different channels coming down the line. These then control things like colour or position settings for the moving light or LED fixture.

The next step up from DMX is called ArtNet which allows us to send multiple DMX lines over ethernet networks. ArtNet is very cool because ethernet networking is cheap and easy to implement - DMX networks are expensive as you need far more cables. ArtNet can easily handle 64 universes (32768 channels) down one cable whereas DMX can only do 512. Also using ArtNet we can send DMX over LAN, WAN, the internet and over any wireless system that supports TCP/IP.

This is where the eBox comes in. By connecting to a network and using the appropriate software, the eBox can translate ArtNet data efficiently and do just about anything I care to with it.


Right, introduction over, sorry if I've bored anyone already.

...

Compared to Linux, XP is better because it has a unified structure and every hardware you've ever bought has a driver that can be instantly used. However its pitfalls are a far bigger install footprint, a locked kernel and it is far more hungry on resources. XP also has a very aggressive memory manager and will quickly bottleneck if the system its running on has slow RAM or HD (like the eBox does)

Thankfully there are several tools that can help.

The Enhanced Write Filter was until quite recently only available as a component for XP Embedded. Thanks to a large computer manufacturer selling devices with appallingly slow SSDs that resulted in horrific user experiences for people who bought these brand new machines, MS released a standalone version of EWF that can be used on XP Standard SP2 or greater. If you haven't done it yet, go out and see if it makes a difference.

XP Embedded is substantially different to normal XP that you might have sitting on your PC at home. Essentially it's XP that has been completely dismantled and turned into a bunch of distributable components along with a special open version of the Kernel. Linux power users will know all about recompiling theirs and tweaking their OSes to suit them - XPe uses the same premise but it is far, far more powerful and Microsoft provide a whole suite of tools to enable users to build complete operating systems from scratch.

Unfortunately it's not free and I'm lucky enough to have got my company to buy me mine, and I'm not going to tell you how to get hold of it on this forum. However everything is out there on the net somewhere, if you can find it. ;)

I will talk in more detail (along with a ton of screenshots) on how get the XPe dev tools installed and building images. But first a quick rundown on whats inside a working platform.

SQL Engine
All XPe tools are designed to be used on a multi-user system. I can build images and share them with my coworkers, or we can all work on one together. All the components and work files are stored in a shared network repository and it uses the SQL engine to do its thing.

Windows XP Preinstallation Environment
WinPE is an ultra-lightweight image of XP that boots from a USB stick. It is for running command-line utilities on your intended device. It has basic networking and disk support and thats about it. It is even less capable than XP's Recovery Console as it can't log on to existing XP platforms or run any Win32 applications.

Target Analyser Probe (TAP)
TAP is the reason why WinPE was made. This tool allows you to get the the most basic information like motherboard resources, DMA, PCI and IRQ settings and the BIOS config data off your device. It is the starting point for virtually every XPe image ever made.

Component Database Manager
Does exactly what it says it does. Here I can add, delete, upgrade or change any of the XPe components currently stored in the repository. I can also copy, move or backup the entire system or create an offline version for testing and evaluation.

Component Designer
The standard XPe Library has all the drivers that you'll also find on the XP Install CD, held in the driver.cab file. However you're always finding ones that aren't there. Component Designer allows you to build your own, or, very handily, import .INF files and turn them into components. eBox have very kindly released the Vortex86MX/DX chipset drivers in component form so you can start using them instantly.

First Boot Agent (FBA]
The XPe equivalent of Windows Setup. When you run an image created in Target Designer the first time, FBA will decompress it and install the system files and write out the registy as if it were a normal install of Windows. FBA also deals with component registration and hardware settings. FBA will delete itself and its working files after it has finished leaving you with a working OS.

Target Designer
The biggie. The front end to the image building system looks foreboding and complicated but it quite easy to use once you've got your head round it. Every component in your database is listed under heading and type and simply drag it to your image and it will add it. TD is immensely powerful and it knows what components need what so if you add something it will automatically load the pre- and post-requisities into your image, and also tell you whats missing or conflicting when you compile it. Providing that you haven't done anything silly, a TD image will always run; however more than likely it won't have the functionality you need as this is the one thing it won't do for you. This is where you need to have in-depth knowledge of XP's inner workings and know exactly which set of components are needed for a particular function or device group. Reading MSDN notes until you are feeling sick and lots of trial and error are tips of the day.

It sounds like a lot of fun, and it is, however it's worth noting XPe's key flaws:

It's an arse to install on a single-user system
The SQL database assumes you're using a proper multi-machine networking environment with DHCP and all the trimmings. However you can use MS SQL Desktop Engine to fool XPe into thinking you have this. You need to get hold of an older version which is just about available on the net (it's also free). You may also need to lie to it to get it to install with administrator priviledges and have at least one network device with a valid IP for the loopback adapter to work. With SQL Desktop Engine you're basically installing both the client and server sides of the exchange onto a single PC. Once the SQLDE service is running you can then install the XPe tools and database engine onto that PC as well. Also note that the correct version of SQLDE for XPe wont install on Vista or Win7, or run on VMWare - you have to use a proper version of XP SP1 or better.

TAP is the root of all evil
Target Analyser is the starting point of your image. If your device misleads or confuses TAP when it runs then the resultant file will contain an error. Target Designer has no way of checking for this and any image you create will inevitably BSOD or be unstable when you come to deploy it. Knowing that TAP has gone wrong and dealing with it are things you learn with time. It is entirely possible to build an image without using TAP; this is for extreme cases where a device's configuration wont allow WinPE to run properly.

Bad use of component designer
CD is mostly used for importing INFs to build your own components. Its also perfectly capable of getting this task woefully wrong if you don't know what your are doing. Futhermore, creating a flawed component or a component that conflicts with the VID/PID of a critical system device could render every image you create unusable until you delete if from the database.

Good SQL, Bad SQL
As mentioned previously, The SQL Engine doesn't really like being used on a single PC. Messing around with the repositories usually spells disaster for the XPe Tools forcing you to do a full reinstall. Also it has been noted that some anti-virus software can intefere with the SQL Service or SQL Service Manager. If this service is disabled when any of the tools are running it will usually corrupt the database leaving you to fish out the CDs again.

Well, that's enough for now, more later.
;)
Hello All

First post here so a quick intro before I get into it.

My name's Tim and I work in the entertainment lighting industry (think lasers and big flashy festival lights) as an engineer and a product designer. Recently I've started on a new set of projects that involve the 3350MX as their 'brain'. I've chosen this product because of its exceptionally small size, low power requirements and its ability to run all existing x86 operating systems.

I've been reading the forums and I see that a lot of you have had good success with normal XP, and using things like nLite is great as it squeezes down the footprint and EWF which now comes as an add-on for XP Standard. I've been chatting to Pedro and he asked me to come on here and talk a bit about what I'm doing with the eBox, so here goes.

Most lighting control is invariably based on a protocol called DMX512, which is little more than RS485 sent a single twisted pair (a bit like ethernet). Lighting kit is plugged together daisy-chain fashion with a controller (e.g. PC or lighting desk) at one end. DMX sends 512 channels (in the range of 0 to 255) to all the devices in the chain. Depending on what the devices 'start address' is, it chooses to listen to various different channels coming down the line. These then control things like colour or position settings for the moving light or LED fixture.

The next step up from DMX is called ArtNet which allows us to send multiple DMX lines over ethernet networks. ArtNet is very cool because ethernet networking is cheap and easy to implement - DMX networks are expensive as you need far more cables. ArtNet can easily handle 64 universes (32768 channels) down one cable whereas DMX can only do 512. Also using ArtNet we can send DMX over LAN, WAN, the internet and over any wireless system that supports TCP/IP.

This is where the eBox comes in. By connecting to a network and using the appropriate software, the eBox can translate ArtNet data efficiently and do just about anything I care to with it.


Right, introduction over, sorry if I've bored anyone already.

...

Compared to Linux, XP is better because it has a unified structure and every hardware you've ever bought has a driver that can be instantly used. However its pitfalls are a far bigger install footprint, a locked kernel and it is far more hungry on resources. XP also has a very aggressive memory manager and will quickly bottleneck if the system its running on has slow RAM or HD (like the eBox does)

Thankfully there are several tools that can help.

The Enhanced Write Filter was until quite recently only available as a component for XP Embedded. Thanks to a large computer manufacturer selling devices with appallingly slow SSDs that resulted in horrific user experiences for people who bought these brand new machines, MS released a standalone version of EWF that can be used on XP Standard SP2 or greater. If you haven't done it yet, go out and see if it makes a difference.

XP Embedded is substantially different to normal XP that you might have sitting on your PC at home. Essentially it's XP that has been completely dismantled and turned into a bunch of distributable components along with a special open version of the Kernel. Linux power users will know all about recompiling theirs and tweaking their OSes to suit them - XPe uses the same premise but it is far, far more powerful and Microsoft provide a whole suite of tools to enable users to build complete operating systems from scratch.

Unfortunately it's not free and I'm lucky enough to have got my company to buy me mine, and I'm not going to tell you how to get hold of it on this forum. However everything is out there on the net somewhere, if you can find it. ;)

I will talk in more detail (along with a ton of screenshots) on how get the XPe dev tools installed and building images. But first a quick rundown on whats inside a working platform.

SQL Engine
All XPe tools are designed to be used on a multi-user system. I can build images and share them with my coworkers, or we can all work on one together. All the components and work files are stored in a shared network repository and it uses the SQL engine to do its thing.

Windows XP Preinstallation Environment
WinPE is an ultra-lightweight image of XP that boots from a USB stick. It is for running command-line utilities on your intended device. It has basic networking and disk support and thats about it. It is even less capable than XP's Recovery Console as it can't log on to existing XP platforms or run any Win32 applications.

Target Analyser Probe (TAP)
TAP is the reason why WinPE was made. This tool allows you to get the the most basic information like motherboard resources, DMA, PCI and IRQ settings and the BIOS config data off your device. It is the starting point for virtually every XPe image ever made.

Component Database Manager
Does exactly what it says it does. Here I can add, delete, upgrade or change any of the XPe components currently stored in the repository. I can also copy, move or backup the entire system or create an offline version for testing and evaluation.

Component Designer
The standard XPe Library has all the drivers that you'll also find on the XP Install CD, held in the driver.cab file. However you're always finding ones that aren't there. Component Designer allows you to build your own, or, very handily, import .INF files and turn them into components. eBox have very kindly released the Vortex86MX/DX chipset drivers in component form so you can start using them instantly.

First Boot Agent (FBA]
The XPe equivalent of Windows Setup. When you run an image created in Target Designer the first time, FBA will decompress it and install the system files and write out the registy as if it were a normal install of Windows. FBA also deals with component registration and hardware settings. FBA will delete itself and its working files after it has finished leaving you with a working OS.

Target Designer
The biggie. The front end to the image building system looks foreboding and complicated but it quite easy to use once you've got your head round it. Every component in your database is listed under heading and type and simply drag it to your image and it will add it. TD is immensely powerful and it knows what components need what so if you add something it will automatically load the pre- and post-requisities into your image, and also tell you whats missing or conflicting when you compile it. Providing that you haven't done anything silly, a TD image will always run; however more than likely it won't have the functionality you need as this is the one thing it won't do for you. This is where you need to have in-depth knowledge of XP's inner workings and know exactly which set of components are needed for a particular function or device group. Reading MSDN notes until you are feeling sick and lots of trial and error are tips of the day.

It sounds like a lot of fun, and it is, however it's worth noting XPe's key flaws:

It's an arse to install on a single-user system
The SQL database assumes you're using a proper multi-machine networking environment with DHCP and all the trimmings. However you can use MS SQL Desktop Engine to fool XPe into thinking you have this. You need to get hold of an older version which is just about available on the net (it's also free). You may also need to lie to it to get it to install with administrator priviledges and have at least one network device with a valid IP for the loopback adapter to work. With SQL Desktop Engine you're basically installing both the client and server sides of the exchange onto a single PC. Once the SQLDE service is running you can then install the XPe tools and database engine onto that PC as well. Also note that the correct version of SQLDE for XPe wont install on Vista or Win7, or run on VMWare - you have to use a proper version of XP SP1 or better.

TAP is the root of all evil
Target Analyser is the starting point of your image. If your device misleads or confuses TAP when it runs then the resultant file will contain an error. Target Designer has no way of checking for this and any image you create will inevitably BSOD or be unstable when you come to deploy it. Knowing that TAP has gone wrong and dealing with it are things you learn with time. It is entirely possible to build an image without using TAP; this is for extreme cases where a device's configuration wont allow WinPE to run properly.

Bad use of component designer
CD is mostly used for importing INFs to build your own components. Its also perfectly capable of getting this task woefully wrong if you don't know what your are doing. Futhermore, creating a flawed component or a component that conflicts with the VID/PID of a critical system device could render every image you create unusable until you delete if from the database.

Good SQL, Bad SQL
As mentioned previously, The SQL Engine doesn't really like being used on a single PC. Messing around with the repositories usually spells disaster for the XPe Tools forcing you to do a full reinstall. Also it has been noted that some anti-virus software can intefere with the SQL Service or SQL Service Manager. If this service is disabled when any of the tools are running it will usually corrupt the database leaving you to fish out the CDs again.

Well, that's enough for now, more later.
;)
itstimmeh
Newbie
Newbie
Posts: 1
Joined: Wed Oct 12, 2011 1:36 pm

Post by eried » Fri Oct 14, 2011 11:34 pm

Post by eried
Fri Oct 14, 2011 11:34 pm

Nice! thanks for sharing your experience.

I thought about testing the ebox with the embedded version, but since there are very little information about like nice tutorials, I ended with normal xp. But for my hobbie purposes is ok, I like to use the ebox for tasks that require a little more horse power like simple image analisis with .net apps.
Nice! thanks for sharing your experience.

I thought about testing the ebox with the embedded version, but since there are very little information about like nice tutorials, I ended with normal xp. But for my hobbie purposes is ok, I like to use the ebox for tasks that require a little more horse power like simple image analisis with .net apps.
eried
Robot Builder
Robot Builder
Posts: 15
Joined: Sun Aug 07, 2011 9:02 am


2 postsPage 1 of 1
2 postsPage 1 of 1