To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.roboticsOpen lugnet.robotics in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / 22072
22071  |  22073
Subject: 
Follow-Up to USB IT Tower issue on Hyperthreaded XP systems
Newsgroups: 
lugnet.robotics
Date: 
Sat, 17 Jan 2004 22:32:57 GMT
Original-From: 
Rob Limbaugh <rlimbaugh@greenfieldgroup.#StopSpammers#com>
Viewed: 
2024 times
  
Everyone,

This is a follow-up and suggested work-arounds for the USB IR Tower problem
on computer systems that have Hyperthreaded CPU(s) and are running Windows
XP.  My apologies for the length of this post.

Please understand the following:

*  This is not an "official" LEGO fix or work-around.
*  Information contained here is "as is" without any warranty expressed or
implied
*  General statements will be made to simplify concepts

Overview:
Hyperthreading PC's running Windows XP Home or Windows XP Pro lock up when
RIS 2.0 software accesses the USB IR Tower.

Background:
Hyperthreading is a technology that makes use of idle processor time and
thereby creates the illusion of dual processors.  The CPU operation is based
partially on concepts used in true multi-processor systems.

To better illustrate, think of true multi-processor systems as each CPU
represented by a human being.  The group of humans divide work between
themselves to accomplish tasks more quickly.

Using the analogy above, a Hyperthreaded CPU would be more like a human that
is a siamese twin from the waste up.  One being, but two distinct
individuals.  Sometimes both twins could be doing separate tasks.  Other
times, one twin is along for the ride.

For a more detailed explanation of Hyperthreading, go to Intel's website:
http://www.intel.com/personal/products/pentium4/hyperthreading.htm?iid=ipp_desk_proc+highlight_p4_ht

Assessment:
From the machine specs sent to me, I put together a composite idea of what
the problem could stem from.  In the end, the conclusion is that the problem
is caused from poorly written USB IR Tower drivers from LEGO.  Until they
release a new driver, our options for an immediate and satisfactory
resolution are limited.

Facts to Debunk Myths:
*  The problem is in LEGO's driver.  It is not Bill Gates fault.  Quite
frankly, the information was accessible to software developers for quite
some time, including rules on how to write drivers to be threaded properly.
On a single CPU system (i.e. - single CPU with HT disabled or not
available), the improper coding doesn't matter because the operating system
can only handle the threads to one CPU.

*  Other hardware having problems running on Windows XP systems with HT
processors has nothing to do with the USB IR Tower not working.

*  Hyperthreading is defined in BIOS _first_.  Disabling it in the BIOS does
not remove the HT code from Windows XP.  Disabling HT in the OS does not
turn HT off in the BIOS.  You can disable HT in BIOS and still use your
computer.

*  Windows 2000 is not HT aware, but will see an HT CPU as two processors.
If HT is disabled, then Windows 2000 will simply think only one processor is
available.

*  HT can be fully disabled in the OS by performing a "repair" install of
the OS.  This does not affect most applications and does not necessarily
require formatting (aka - "blowing away") the system.

Work-Arounds:
There are a few options.  Personally, I favor the 2nd one because it does
not hinder performance of the PC or involve any reloading or risking of any
applications or files.  That being said, choose wisely and at your own risk!

#1)  Use a Windows 98/Me PC for LEGO development where the IR Tower is
needed for downloading.

#2)  If you are not technically savvy, do not wish to mess with your
operating system, and/or just want an easy fix, then you will need to obtain
a Serial IR Tower.  They are available from Pitsco
(http://www.pldstore.com/pld/finditem.cfm?itemid=1000).  They are $31.00.
Personally, I find the serial tower to be invaluable, especially in
circumstances like this.  Laptop users may need a USB to serial adapter as
well.

#3)  Use Linux.  This workaround is here to be politically correct, not as
serious recommendation for the average computer user.  There is Linux
support for HT processors and the USB IR Tower.  Good luck, and may <insert
supreme being title here> be with you.  Don't forget to clearly document
your proceedure (right down to the color of your clothes) so that someone
else can   Of course, this will also make all of LEGO's software pointless,
but you'll be free to write your own.

#4)  Systems with Hyperthreaded Processors can run Windows 2000
Professional.  Win2K will see the HT CPU as two separate CPU's.  But, the
USB IR Tower will work.  Contrary to what LEGO says, the RIS 2.0 software
will work fine on Windows 2000.  Of course, this requires a complete reload
of the system to an OS that is not easy to obtain for the general consumer
and it has an older look and feel.  If the sound of this intimidates you,
then you may be better off with #1 or #2 above.

#5)  Disable Hyperthreading and do a "repair" of the operating system.  All
HT processors must be reported by BIOS.  However, once HT operating system
files have been loaded into Windows XP, they cannot be "unloaded" easily.
The suggested work around is to use a recovery/repair technique.  You must
be able to run a Windows XP setup "OEM" style... NOT the system recovery
tools from your PC manufacturer.  (If you are confused at this point, do #1
or #2 above).  Be aware that disabling and removing HT means you may hinder
your PC's performance with certain applications.

How to Disable Hyperthreading in XP:

   1)  Make sure you have the Windows XP product key, administrator name and
password, and any SCSI, RAID, or 3rd party drivers necessary for setup.
   2)  Unplug the USB IR Tower
   3)  Disable HT in BIOS.
   4)  Boot from the XP install CD as if you are going to completely reload
your machine.  On the "Welcome to Setup" screen, hit "ENTER" to set up
Windows XP
   5)  Acknowledge the licensing agreement
   6)  Setup will detect a previous version of Windows XP.  Hit "R" to
repair it.
   7)  From there, setup should run almost on it's own.  I just had to
set/accept region settings, type in the product key, click "Next", and
"Finish".

What this does is it forces the re-detection of equipment.  Setup determines
there is only one non-HT CPU and therefore performs the repair as it would
on any other single processor system.

Remember, reloading an operating system can put your data and applications
at risk.  You may also void your support options from your PC manufacturer.
If you do not know what you are doing, or if your computer is critical to
your income, then I _highly_ suggest obtaining a serial IR tower or waiting
for LEGO to create a fix.

Final Notes:
Mike Thorn and Rob Hendrix were of great help to me in evaluating this
problem.  Mike sent me a wealth of information from people having this
problem.  Rob's own laptop became a reference point because he too
experienced this problem.

If you are affected by this problem, please email, call, or write LEGO
support and request that they fix the driver in a timely manner and post it
on their support site for everyone to download.

- Rob Limbaugh



1 Message in This Thread:

Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR