Habey BIS-6620 Intel Atom Z510 Fanless Embedded PC

5.00 avg. rating (93% score) - 1 vote

I purchased the Habey BIS-6620, a fanless embedded PC running on an Intel Atom Z510 processor, from eBay for a cheap price of 50 USD inclusive of shipping:

s-l500

Below are the specifications for this machine:

Processor		Intel Atom Z510 @ 1.1GHz
Chipset			SCH US15WPT
Memory			1x 200-pin DDR2 SO-DIMM, up to 2GB
Ethernet		1x RJ45, Realtek RTL8111C GbE
Storage			1x 1.8” HDD bay, CF & SD card slot 
Video Controller	Integrated GMA500, up to 256 MB shared memory
Max Resolution		1920x1080 @ 50Hz
Display Ports		VGA & S-VIDEO
USB			4x USB2.0 (2 on front panel)
Other Ports		1x PS2 (keyboard/mouse), 1x Mic-in, 1x Line-in
Weight			500g 
Power Supply            12V DC @ 5W

Hardware design

The first thing I did with my unit is to install a 2GB SO-DIMM memory module taken from an old laptop. Otherwise, the machine will neither POST nor play any beeps and all LED indicators will be lit. The slot for the RAM module is located at the back of the motherboard:

IMG_20171107_140857

This machine has slots for a CF card and an SD card. These are located on the other side of the board:

IMG_20171107_140850

The CMOS battery is a standard 3V CR2032 that can be easily replaced if needed. As is the case for most modern compact machines, the PC speaker is just a piezoelectric buzzer (or beeper in layman terms) purely designed for playing simple POST beeps. There are also surprisingly no heat sinks for the CPU, just a thermal pad on top of it.

The SATA, VGA and USB ports are on another board that is inter-connected to the motherboard via a small socket. Installing a SATA hard disk requires the necessary brackets and a 1.8″ SATA drive that did not come with my purchase.

IMG_20171107_143003

BIOS Setup

With the 2GB SO-DIMM memory module installed, the machine boots fine to the standard American Megatrends BIOS:

IMG_20171107_144100

The IDE configuration section of this BIOS has two modes: Disabled and Compatible:

IMG_20171107_184337

If set to compatible, the CF card will appear on the primary IDE channel. The primary IDE slave channel always shows Not Detected even with an SD card inserted. This is because the SD card slot is designed purely for accessing media cards and is therefore connected to a separate SD host controller. I did not have any 1.8″ SATA drive to test the BIOS behavior with a SATA hard drive connected.

It is worth noting that although the BIOS supports booting from USB, the boot selection menu will hide all other bootable devices (CF card & USB thumb drives) if a USB hard disk is connected. When booting from USB, the screen would flash multiple times before actually reading the drive. This prevents me from permanently connecting a USB hard drive to this machine to be used as a media server, as the machine will hang while attempting to boot from the connected (but unbootable) USB hard drive.

Installing Windows

As the Intel Z510 is 32-bit, Windows Server 2008 R2 and newer are out of the question. I made a Windows 10 Setup USB thumb-drive and choose to boot from USB, only to stare at the “Where do you want to install Windows?” screen which complains “we couldn’t find any drives”:

windows setup no drive

This problem is usually due to the lack of SATA drivers and can be resolved by clicking Load Driver to load the manufacturer’s chipset driver. However, in my case, drive C (a 64GB CF card) already appears in the Browse dialog and in the setup command prompt, albeit with a removable attribute. What this means is that the onboard IDE controller has decided to report the emulated hard drive as ‘removable’, which is presumably what my cheap Sandisk CF card is configured to report. Unlike Linux, Microsoft purposefully prevents Windows from being installed on removable devices to avoid licensing issues.

At this point I wasted half a day trying various possible workarounds. I summarized them below, for those who are interested:

  1. Run regedit from Windows Setup and change the TreatAsInternal registry key so that Windows will report all removable devices as fixed
    • Result: did not work – drive C still appears as removable. Perhaps it requires a reboot to take effect, which is not possible with Windows Setup since the registry will be reverted to defaults.
  2. From the Windows Setup dialog, load a filter driver (cfadisk.sys or dummydisk.sys) so that drive C will appear as a fixed drive
    • Result: also did not work, perhaps for the same reason as above.
  3. Use a tool such as WiNToBootic to install Windows 8/10 to a USB thumbdrive, then use Clonezilla to copy the installed Windows version to the CF card
    • Result: Although the created USB drive boots properly to the login screen, Windows will no longer boot once copied to the CF card. It would forever stuck at the Windows logo screen with a loading spinner.

Another method which I did not try is to purchase an industrial-grade CF card that reports itself as a fixed drive. Alternatively, for older CF cards, one can also use the ATCFWCHG.COM tool and run the following from a clean MS-DOS boot disk to change the CF card to fixed mode:

ATCFWCHG.COM /P /F

The above command did not work for me – error #7 is returned. Maybe Sandisk has disabled this feature on newer cards in order to sell the fixed model of the cards at a higher price.

What did work for me is using NT6_Fast_Installer to install a Windows 7 on a USB hard drive. After that, use Clonezilla to clone the installed version of Windows to the CF card. Upon first boot, you will see an error “Setup cannot configure windows for this hardware” or “Windows could not finish configuring the system” at the “Setup is starting services” phase:

windows 7 starting service fails

This is again because Windows is looking for a fixed disk, but drive C still appears as removable. To fix this, do not click OK as it will close the dialog and reboot the computer. Instead, press Shift-F10 to open a command prompt window. From there, run c:\windows\system32\oobe\msoobe and Windows Setup will continue successfully all the way till the end!

After the reboot, you will see that Windows will appear to work properly and the System page should correctly show the system speed and amount of memory installed:

windows 7 about

There might be a System Restore warning similar to “System Restore encountered an error. Please try to run System Restore again. (0x81000203)”. To work around this, you can simply turn System Restore off and use your PC as usual for most tasks.

The final step is to make drive C appear as a fixed drive. Without this, various complex software which look for a fixed disk will refuse to install or not work properly. An example is Microsoft SQL Server, which will complain “Setup encountered a failure while running job UpdateResult.”  if drive C has the removable property. Although this can be bypassed by running “setup.exe /Action=Install /UpdateEnabled=False” directly from the command line, all will be lost when the setup program reports error “Path is not on a specified drive type” if drive C is chosen as the target drive, since the drive still has the removable attribute.

To do this, download diskmod.zip, extract it, run UFDasHDD.bat and reboot your system. All removable drives will now appear as fixed disk, which will allow Microsoft SQL Server (and other Microsoft software) to install on the CF card. For more information on filter drivers, see this post.

At this stage, the installed version of Windows 7 should work normally with no further issues. In retrospect, perhaps an even easier way would be to install diskmod on an existing Windows 7 installation, use GParted to reduce the partition size if necessary, and then use Clonezilla to clone it to the CF card. This will force Windows to reconfigure its drivers to match the BIS-6620 hardware upon first reboot and allows for a smoother installation experience.

Further information

Attempting to install Windows To Go, by using NT6_Fast_Installer, WiNToBootic or other software, on a cheap USB thumb drive would take a long time (e.g. a few hours). This is due to the tens of thousands of small files that need to be copied coupled with slow flash memory throughput. Even an old USB 2.0 hard drive would outperform your USB 3.0 thumb drive in this respect. If you have to install Windows To Go on your thumb drive, install it on a hard disk drive first, use Gparted to reduce the partition size, and then use Clonezilla to clone the installation to your thumb drive. The net speed will still be faster (~30 mins in my case) due to Clonezilla’s fast partition cloning algorithm.

Also, on the first boot of any cloned version of Windows, you should disconnect all unused IDE, SATA or USB drives. Otherwise, Windows will be confused and associate the wrong drive letter to your primary drive. This will cause blue screens or other boot problems when the other drives are later removed. Once Windows has successfully reconfigured itself after the first boot, you can safely reconnect your drives.

Conclusion

With the diskmod driver installed, I can install most server software (IIS, SQL Server, FileZilla, etc.) on the BIS-6620, making it a very good mini home server, especially at a low power consumption of only 5W. The server has been running fine on Windows 7 for around a month with no issues for me. The only disadvantage is the lack of 64-bit support, precluding the installation of recent server editions of Windows, and the slightly complicated setup procedures (unless you have a 1.8″ SATA drive installed), which I guess is a small price to pay for the affordability and portability of the machine.

See also

eBox 3350MX x86 Compact PC
AMD Geode LX TR2350 mini x86-compatible motherboard

5.00 avg. rating (93% score) - 1 vote
ToughDev

ToughDev

A tough developer who likes to work on just about anything, from software development to electronics, and share his knowledge with the rest of the world.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>