Showing posts with label SS4200E. Show all posts
Showing posts with label SS4200E. Show all posts

Sunday, June 23, 2013

SS4200-E Successful Boot From CF!

Based on the success I had installing OpenMediaVault to the PATA drive and booting after modifying some ATA modules, I knew that I was getting closer.  I saw that there have been problems getting Windows Home Server to boot from the PATA port on the SS4200-E, and I was looking for device.hints that would let NAS4Free (FreeBSD) recognize the PATA port.

This post has the answer, at least for a full install where you can edit the config files. 

I was able to install to the CF card using ATA/IDE Compatible mode in the BIOS instead of Enhanced.  I was also able to write the embedded NAS4Free image directly to the CF card.  You have to gunzip the .img file first because it is compressed.  I do this by adding the .gz extension, then using 7zip to extract.  The resulting .img file can be written using Win32DiskImager.

After writing the embedded image and changing BIOS back to ATA/IDE Enhanced, I booted.  At the first menu, I hit "5" to get to a prompt.  There, I entered these five commands:

OK set hint.ata.0.at="isa"
OK set hint.ata.0.port="0x1F0"
OK set hint.ata.0.irq="14"
OK set console="comconsole,vidconsole"
OK boot

This finally worked, and I finished booting NAS4Free from the CF card.  I wrote a new message of the day and rebooted to see if it would stick.  I added the two SATA disks and formatted them because GRUB had got on by accident at some point.

After the reboot, I interrupted the process to drop to the prompt and typed in the hints again.  I booted, and saw the new MOTD.  The config stuck!

The post suggested updating /boot/loader.conf and /boot/device.hints.  The loader.conf changes really seemed to be to set up the serial console, which was done through the webgui.  The hints were the important ones, so I made a new /boot/device.hints file, edited it through the web page, and rebooted.  I only added the three ata hints.  I rebooted, but it did not work.

I booted again and added the hints manually.  I checked the file manager, and the /boot/device.hints file was gone.  I saw in this post that the file should actually be /cf/boot/device.hints, but it would disappear after each upgrade.

I added the three hints to the existing device.hints to /cf/boot and rebooted.  This is what it looked like before editing:

# $FreeBSD: release/9.1.0/sys/amd64/conf/GENERIC.hints 235926 2012-05-24 19:24:31Z bz $
hint.fdc.0.at="isa"
hint.fdc.0.port="0x3F0"
hint.fdc.0.irq="6"
hint.fdc.0.drq="2"
hint.fd.0.at="fdc0"
hint.fd.0.drive="0"
hint.fd.1.at="fdc0"
hint.fd.1.drive="1"
hint.atkbdc.0.at="isa"
hint.atkbdc.0.port="0x060"
hint.atkbd.0.at="atkbdc"
hint.atkbd.0.irq="1"
hint.psm.0.at="atkbdc"
hint.psm.0.irq="12"
hint.sc.0.at="isa"
hint.sc.0.flags="0x100"
hint.uart.0.at="isa"
hint.uart.0.port="0x3F8"
hint.uart.0.flags="0x10"
hint.uart.0.irq="4"
hint.uart.1.at="isa"
hint.uart.1.port="0x2F8"
hint.uart.1.irq="3"
hint.ppc.0.at="isa"
hint.ppc.0.irq="7"
hint.atrtc.0.at="isa"
hint.atrtc.0.port="0x70"
hint.atrtc.0.irq="8"
hint.attimer.0.at="isa"
hint.attimer.0.port="0x40"
hint.attimer.0.irq="0"
hint.wbwd.0.at="isa"


I added:
hint.ata.0.at="ias"
hint.ata.0.port="0x1F0"
hint.ata.0.irq="14"

SUCCESS!!!!!  I can finally close this thing up and start experimenting.  After all that, I am leaning toward using OpenMediaVault anyway.  I installed it to a VM and added Plex easily.  The only downside is that it does not have an embedded version.

 
 

SS4200-E PATA Tests

I established that NAS4Free was not recognizing the PATA port in the SS4200-E using default BIOS settings.  I then tried OpenMediaVault (another FreeNAS fork), but ran into the same problem where the CF card in the CF-IDE adapter was not seen, and then the laptop drive was not seen.

I switched ATA/IDE Configuration from "Enahnced" to "Compatible" in the BIOS and tried that.  This worked, but only one of the two SATA drives showed up.  It seems to only have a primary master and primary slave.

After switching back to "Enhanced," the system would not boot and complained mdamd had beens tarted with two drives.

After looking at this some more, I found the exact solution, at least for OpenMediaVault.

The post describes how to modify the ata settings using an editor.  The way to do it is to install while in compatible mode, boot, login as root, then add ata_piix and ide_generic to the /etc/initramfs-tools/modules file.  Update the system with 'update-initramfs -u' then reboot and reset the BIOS back to compatible.  The update-initramfs comand creates a new /boot/initrd.img-2.6.32-5-amd64 file. The command after logging in as root were:

# echo ata_pix >> /etc/initramfs-tools/modules
# echo ide_generic >> /etc/initramfs-tools/modules
# update-initramfs -u
# reboot

I did this, and it worked.  Now I am booting off the PATA drive and can see both SATA drives.  Something similar to this should work for NAS4Free.  I just need to find the equivalent commands and file to update.  One option I've seen that may be relevant is to provide device.hints.  Or maybe this option to update the boot image will work as well.


SS4200-E NAS4Free Not FInding PATA

I received a 1x to 16x PCI-E adapter so that I could run a video card in my SS4200-E.  It worked perfectly, and I was able to watch the whole boot sequence, as well as run the NAS4Free installer from the LiveUSB stick.  I got the latest - 9.1.0.775.

I tried to install to the CF on a CF-IDE adapter, but the installer did not show the disk, even though it was recognized by the BIOS.  I then tried a laptop PATA drive using an adapter to an 80 pin ide cable.  The BIOS saw the drive, but the installer did not.  Finally, I tried a DOM (disk-on-module) plugged into the PATA port.  I have already installed the EMC Lifeline software that comes with the device to this DOM on this machine, so I know it works.  The NAS4Free installed did not see the DOM either.

My conclusion is that the NAS4Free (FreeBSD) OS is not recognizing the PATA port.  I think that something can be done in device hints, but I'll have to research FreeBSD some more to find out.

Sunday, June 9, 2013

NAS4Free embedded on Compact Flash

I've been trying to get NAS4Free embedded running on a compact flash card mounted to the PATA port on an SS4200-E using an IDE to CF adapter.  I've tried installing to multiple CF cards using a live USB image, but it always throws an error when trying to find the config.xml file.

For something new, I decided to use the embedded image (instead of the live USB image).  This is a compressed file.  I use NAS4Free-x64-embedded-9.1.0.1.724.img from here: http://sourceforge.net/projects/nas4free/files/NAS4Free-9.1.0.1/9.1.0.1.724/

Of course, as soon as I went there I saw that there was an update 24 hours ago.

Anyway, I extracted the image using 7zip, then added a "img" extension, then burned the new .img file to the compact flash card using Win32DiskImager.

Then, I put the CF card on a USB reader (something different) and booted.  As usually, the serial output died after the "Welcome to NAS4Free!" menu, but this time I got the server to boot.  I enabled serial output and changed the message of the day.  Then I rebooted.  I wanted to see if the config.xml file was going to be saved or not.  I really don't know were it does get saved, if at all.

This time, it worked.  I was able to see all the boot, the MOTD, and the console setup menu.  The next step is to put the card in the IDE port and see if it works there.  If not, then either the adapter is not working or there is a conflict in BIOS.  Or there may be a bug, so I should try the latest version if this doesn't work.

When I put it in the adapter, I get this error:
Reboot and Select proper Boot device
or Insert Boot Media in selected Boot device and press a key


Turns out the adapter wasn't inserted correctly!  After booting, I got the same error as always:

*******************************************************************************
FATAL ERROR!
The device that contains the configuration file (config.xml) could not be
found. NAS4Free cannot continue booting.
*******************************************************************************

Clearly, the CF card is being mounted/treated differently when it is attached via USB vs. the CF to IDE adapter.  I tried on a newer 1GB CF card in case the bios settings were conflicting.

The serial output showed what devices are being mounted.  It probably has something to do with md0.  It only tries to find config.xml on ad0 and ad1, which are the two SATA drives in the system.

 ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
 ³                                                                            ³
 ³                                                                            ³
 ³                                                                            ³
 ³                                                                            ³
 ³  Welcome to NAS4Free!                                                      ³
 ³                                                                            ³
 ³  1. Boot NAS4Free in Normal Mode                                           ³
 ³  2. Boot NAS4Free with ACPI enabled                                        ³
 ³  3. Boot NAS4Free in Safe Mode                                             ³
 ³  4. Boot NAS4Free with verbose logging                                     ³
 ³  5. Escape to loader prompt                                                ³
 ³  6. Reboot system                                                          ³
 ³                                                                            ³
 ³                                                                            ³
 ³                                                                            ³
 ³                                                                            ³
 ³                                                                            ³
 ³  Select option, [Enter] for default                                        ³
 ³  or [Space] to pause timer  0                                              ³
 ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

Copyright (c) 1992-2012 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 9.1-RELEASE-p3 #0 r251558M: Sun Jun  9 00:59:19 CEST 2013
    root@dev.nas4free.org:/usr/obj/nas4free/usr/src/sys/NAS4FREE-amd64 amd64
CPU: Intel(R) Celeron(R) CPU          420  @ 1.60GHz (1600.03-MHz K8-class CPU)
  Origin = "GenuineIntel"  Id = 0x10661  Family = 6  Model = 16  Stepping = 1
  Features=0xafebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,TM,PBE>
  Features2=0xe31d<SSE3,DTES64,MON,DS_CPL,TM2,SSSE3,CX16,xTPR,PDCM>
  AMD Features=0x20100800<SYSCALL,NX,LM>
  AMD Features2=0x1<LAHF>
  TSC: P-state invariant, performance statistics
real memory  = 1073741824 (1024 MB)
avail memory = 760705024 (725 MB)
Event timer "LAPIC" quality 400
ACPI APIC Table: <121907 APIC1340>
ioapic0 <Version 2.0> irqs 0-23 on motherboard
kbd1 at kbdmux0
cryptosoft0: <software crypto> on motherboard
acpi0: <121907 XSDT1340> on motherboard
acpi0: Power Button (fixed)
acpi0: reservation of 0, a0000 (3) failed
acpi0: reservation of 100000, 3f700000 (3) failed
cpu0: <ACPI CPU> on acpi0
attimer0: <AT timer> port 0x40-0x43 irq 0 on acpi0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
atrtc0: <AT realtime clock> port 0x70-0x71 irq 8 on acpi0
Event timer "RTC" frequency 32768 Hz quality 0
Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
vgapci0: <VGA-compatible display> port 0xec00-0xec07 mem 0xffa80000-0xffafffff,0xe0000000-0xefffffff,0xffa40000-0xffa7ffff irq 16 at device 2.0 on pci0
agp0: <Intel 82945G (945G GMCH) SVGA controller> on vgapci0
agp0: aperture size is 256M, detected 7932k stolen memory
pcib1: <ACPI PCI-PCI bridge> irq 16 at device 28.0 on pci0
pci1: <ACPI PCI bus> on pcib1
em0: <Intel(R) PRO/1000 Network Connection 7.3.2> port 0xbc00-0xbc1f mem 0xff6e0000-0xff6fffff irq 16 at device 0.0 on pci1
em0: Using an MSI interrupt
em0: Ethernet address: 00:15:17:31:c9:8f
pcib2: <ACPI PCI-PCI bridge> irq 18 at device 28.2 on pci0
pci2: <ACPI PCI bus> on pcib2
siis0: <SiI3132 SATA controller> port 0xcc00-0xcc7f mem 0xff8ffc00-0xff8ffc7f,0xff8f8000-0xff8fbfff irq 18 at device 0.0 on pci2
siisch0: <SIIS channel> at channel 0 on siis0
siisch1: <SIIS channel> at channel 1 on siis0
uhci0: <Intel 82801G (ICH7) USB controller USB-A> port 0xe880-0xe89f irq 23 at device 29.0 on pci0
uhci0: LegSup = 0x2f00
usbus0 on uhci0
uhci1: <Intel 82801G (ICH7) USB controller USB-B> port 0xe800-0xe81f irq 19 at device 29.1 on pci0
uhci1: LegSup = 0x2f00
usbus1 on uhci1
uhci2: <Intel 82801G (ICH7) USB controller USB-C> port 0xe480-0xe49f irq 18 at device 29.2 on pci0
uhci2: LegSup = 0x2f00
usbus2 on uhci2
uhci3: <Intel 82801G (ICH7) USB controller USB-D> port 0xe400-0xe41f irq 16 at device 29.3 on pci0
uhci3: LegSup = 0x2f00
usbus3 on uhci3
ehci0: <Intel 82801GB/R (ICH7) USB 2.0 controller> mem 0xffa3fc00-0xffa3ffff irq 23 at device 29.7 on pci0
usbus4: EHCI version 1.0
usbus4 on ehci0
pcib3: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci3: <ACPI PCI bus> on pcib3
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
ahci0: <Intel ICH7 AHCI SATA controller> port 0xe080-0xe087,0xe000-0xe003,0xdc00-0xdc07,0xd880-0xd883,0xd800-0xd80f mem 0xffa3f800-0xffa3fbff irq 19 at device 31.2 on pci0
ahci0: AHCI v1.10 with 4 3Gbps ports, Port Multiplier not supported
ahcich0: <AHCI channel> at channel 0 on ahci0
ahcich1: <AHCI channel> at channel 1 on ahci0
ahcich2: <AHCI channel> at channel 2 on ahci0
ahcich3: <AHCI channel> at channel 3 on ahci0
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
acpi_button0: <Power Button> on acpi0
uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
uart0: console (9600,n,8,1)
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
ppc0: cannot reserve I/O port range
ctl: CAM Target Layer loaded
coretemp0: <CPU On-Die Thermal Sensors> on cpu0
coretemp0: Tj(target) value 0 does not seem right.
p4tcc0: <CPU Frequency Thermal Control> on cpu0
ZFS WARNING: Recommended minimum kmem_size is 512MB; expect unstable behavior.
             Consider tuning vm.kmem_size and vm.kmem_size_max
             in /boot/loader.conf.
ZFS filesystem version 5
ZFS storage pool version 28
Timecounters tick every 1.000 msec
ipfw2 (+ipv6) initialized, divert loadable, nat loadable, rule-based forwarding disabled, default to accept, logging disabled
iSCSI boot driver version 0.2.6
md0: Preloaded image </mfsroot> 232783872 bytes at 0xffffffff819a3c58
usbus0: 12Mbps Full Speed USB v1.0
usbus1: 12Mbps Full Speed USB v1.0
ugen0.1: <Intel> at usbus0
uhub0: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
ugen1.1: <Intel> at usbus1
uhub1: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus1
usbus2: 12Mbps Full Speed USB v1.0
usbus3: 12Mbps Full Speed USB v1.0
ugen2.1: <Intel> at usbus2
uhub2: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus2
ugen3.1: <Intel> at usbus3
uhub3: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus3
usbus4: 480Mbps High Speed USB v2.0
ugen4.1: <Intel> at usbus4
uhub4: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus4
uhub0: 2 ports with 2 removable, self powered
uhub1: 2 ports with 2 removable, self powered
uhub2: 2 ports with 2 removable, self powered
uhub3: 2 ports with 2 removable, self powered
uhub4: 8 ports with 8 removable, self powered
ada0 at ahcich0 bus 0 scbus2 target 0 lun 0
ada0: <SAMSUNG HD103SJ 1AJ100E4> ATA-8 SATA 2.x device
ada0: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
ada0: Command Queueing enabled
ada0: 953869MB (1953525168 512 byte sectors: 16H 63S/T 16383C)
ada0: Previously was known as ad8
ada1 at ahcich1 bus 0 scbus3 target 0 lun 0
ada1: <SAMSUNG HD103SJ 1AJ100E4> ATA-8 SATA 2.x device
ada1: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
ada1: Command Queueing enabled
ada1: 953869MB (1953525168 512 byte sectors: 16H 63S/T 16383C)
ada1: Previously was known as ad10
Timecounter "TSC" frequency 1600034840 Hz quality 1000
Trying to mount root from ufs:/dev/md0 []...
Loading configuration files.
Booting platform: embedded
Looking for configuration file: ada1 ada0 ada1 ada0

*******************************************************************************
FATAL ERROR!
The device that contains the configuration file (config.xml) could not be
found. NAS4Free cannot continue booting.
*******************************************************************************

Friday, June 7, 2013

SS4200-E NAS4Free install to DOM

Instead of installing nas4free embedded to a CF card using a different computer, I'm trying to install from the live USB image right to the DOM using the SS4200E.  The problem is that the live USB image does not have serial output enabled by default, so I don't get any more output after the boot menu.

NAS4Free does boot up to the default IP address of 192.168.1.250, but I don't have a serial connection to start the install of the embedded image.  I'm waiting for a PCI-E 16x to PC-E 1x cable so that I can hook up a video card to the PCI-E 1x slot.  Then I should see the whole boot process and be able to install right from the SS4200-E.

In the meantime, I added another usb stick to the system and configured NAS4Free to use it.  Then I could store the config.xml file on that disk, and hopefully when the usb live image boots, it will see the config.xml file and turn serial output on.

I mounted the usb card, tried to copy the config.xml to there, and tried to make a new conf folder and copy the config.xml there.  None of those worked.

I don't think that the live USB stick is reading a config.xml file from where I had put it.

BIOS settings for CF mounted to PATA port on SS4200-E

I am trying to install NAS4Free to a compact flash card mounted to the PATA port on my SS4200-E.

Here is what I have tried.
  • Using another computer to write the embedded image to a 2GB Sandisk Ultra II CF card using a card reader.  It booted fine on the other computer, but the SS4200-E  had problems finding the config file.
  • Using another computer to write the embedded image to a 1GB Sandisk Ultra II CF card using a card reader.  It booted fine on the other computer, but the SS4200-E  had problems finding the config file.
  • Using the SS4200-E to install the embedded image from the usb live image to a 256MB Viking CF card.  This didn't work either, and it did not boot on another computer.
Now the USB image seems to be corrupt.  I installed nas4free/NAS4Free-x64-LiveUSB-9.1.0.1.724.img to usb using Win32 Disk Imager to the Viking 256MB CF card.  It boots fine on the computer.

I move the card to the SS4200-E using the IDE-to-CF adapter.  It boots to the welcome screen (seen using a serial connection at 9600 baud) and then goes to the normal boot (option 1 of 6).  It freezes shortly after that.

I booted it back on on the laptop and connected it to the network via ethernet.  I went to the login page (192.168.1.250) and logged in with the default username/password of root/nas4free.

Then I enabled serial output under the System|Advanced menu, put it back in the SS4200-E, and booted up.  This time I got to see the output after nas4free started to boot up, right until the FATAL ERROR:
FATAL ERROR!
The device that contains the configuration file (config.xml) could not be found. NAS4Free cannot continue booting.

This is perplexing, because clearly the CF card is being read and booted from.  On the laptop, the config.xml file is easily found.  So somehow, the partition that has config.xml is not being found.

I need to find out how the embedded image is configured, then see how the SS4200-E is mounting it.


There is an option for verbose logging, so I'll do that next.



Device configuration finished.
procfs registered
ZFS WARNING: Recommended minimum kmem_size is 512MB; expect unstable behavior.
             Consider tuning vm.kmem_size and vm.kmem_size_max
             in /boot/loader.conf.
ZFS filesystem version 5
ZFS storage pool version 28
lapic: Divisor 2, Frequency 100002226 Hz
Timecounters tick every 1.000 msec
crypto: <crypto device>
vlan: initialized, using hash tables with chaining
ipfw2 (+ipv6) initialized, divert loadable, nat loadable, rule-based forwarding disabled, default to accept, logging disabled
ipfw0: bpf attached
lo0: bpf attached
iSCSI boot driver version 0.2.6
hptrr: no controller detected.
md0: Preloaded image </mfsroot> 232783872 bytes at 0xffffffff819a3c58
usbus0: 12Mbps Full Speed USB v1.0
usbus1: 12Mbps Full Speed USB v1.0
ugen0.1: <Intel> at usbus0
uhub0: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
ugen1.1: <Intel> at usbus1
uhub1: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus1
usbus2: 12Mbps Full Speed USB v1.0
usbus3: 12Mbps Full Speed USB v1.0
ugen2.1: <Intel> at usbus2
uhub2: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus2
ugen3.1: <Intel> at usbus3
uhub3: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus3
usbus4: 480Mbps High Speed USB v2.0
siisch0: SIIS reset...
ugen4.1: <Intel> at usbus4
uhub4: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus4
siisch0: SATA connect timeout time=10000us status=00000000
siisch0: SIIS reset done: phy reset found no device
uhub0: 2 ports with 2 removable, self powered
uhub1: 2 ports with 2 removable, self powered
siisch1: SIIS reset...
uhub2: 2 ports with 2 removable, self powered
siisch1: SATA connect timeout time=10000us status=00000000
uhub3: 2 ports with 2 removable, self powered
siisch1: SIIS reset done: phy reset found no device
ahcich0: AHCI reset...
ahcich0: SATA connect time=100us status=00000123
ahcich0: AHCI reset: device found
ahcich0: AHCI reset: device ready after 0ms
ahcich1: AHCI reset...
ahcich1: SATA connect time=100us status=00000123
ahcich1: AHCI reset: device found
ahcich1: AHCI reset: device ready after 0ms
ahcich2: AHCI reset...
ahcich2: SATA connect timeout time=10000us status=00000000
ahcich2: AHCI reset: device not found
ahcich3: AHCI reset...
ahcich3: SATA connect timeout time=10000us status=00000000
ahcich3: AHCI reset: device not found
uhub4: 8 ports with 8 removable, self powered
pass0 at ahcich0 bus 0 scbus2 target 0 lun 0
pass0: <SAMSUNG HD103SJ 1AJ100E4> ATA-8 SATA 2.x device
pass0: Serial Number S246J90Z199190
pass0: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
pass0: Command Queueing enabled
pass1 at ahcich1 bus 0 scbus3 target 0 lun 0
pass1: <SAMSUNG HD103SJ 1AJ100E4> ATA-8 SATA 2.x device
pass1: Serial Number S246J90Z199188
pass1: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
pass1: Command Queueing enabled
ada0 at ahcich0 bus 0 scbus2 target 0 lun 0
GEOM: new disk ada0
ada0: <SAMSUNG HD103SJ 1AJ100E4> ATA-8 SATA 2.x device
ada0: Serial Number S246J90Z199190
ada0: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
ada0: Command Queueing enabled
ada0: 953869MB (1953525168 512 byte sectors: 16H 63S/T 16383C)
ada0: Previously was known as ad8
ada1 at ahcich1 bus 0 scbus3 target 0 lun 0
ada1: <SAMSUNG HD103SJ 1AJ100E4> ATA-8 SATA 2.x device
ada1: Serial Number S246J90Z199188
ada1: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
ada1: Command Queueing enabled
ada1: 953869MB (1953525168 512 byte sectors: 16H 63S/T 16383C)
ada1: Previously was known as ad10
Timecounter "TSC" frequency 1600035328 Hz quality 1000
GEOM: new disk ada1
Trying to mount root from ufs:/dev/md0 []...
start_init: trying /sbin/init
Loading configuration files.
Booting platform: embedded
Looking for configuration file: ada1 ada0 ada1 ada0

*******************************************************************************
FATAL ERROR!
The device that contains the configuration file (config.xml) could not be
found. NAS4Free cannot continue booting.
*******************************************************************************
Waiting (max 60 seconds) for system process `vnlru' to stop...done
Waiting (max 60 seconds) for system process `bufdaemon' to stop...done
Waiting (max 60 seconds) for system process `syncer' to stop...
Syncing disks, vnodes remaining...0 done
All buffers synced.
Uptime: 18s
(ada0:ahcich0:0:0:0): spin-down
(ada1:ahcich1:0:0:0): spin-down
usbus0: Controller shutdown
uhub0: at usbus0, port 1, addr 1 (disconnected)
usbus0: Controller shutdown complete
usbus1: Controller shutdown
uhub1: at usbus1, port 1, addr 1 (disconnected)
usbus1: Controller shutdown complete
usbus2: Controller shutdown
uhub2: at usbus2, port 1, addr 1 (disconnected)
usbus2: Controller shutdown complete
usbus3: Controller shutdown
uhub3: at usbus3, port 1, addr 1 (disconnected)
usbus3: Controller shutdown complete
usbus4: Controller shutdown
uhub4: at usbus4, port 1, addr 1 (disconnected)
usbus4: Controller shutdown complete
unknown: wake_prep disabled wake for \_SB_.PCI0.P0P2 (S5)
pcib3: wake_prep disabled wake for \_SB_.PCI0.P0P1 (S5)
unknown: wake_prep disabled wake for \_SB_.PCI0.SBRG.PS2K (S5)
unknown: wake_prep disabled wake for \_SB_.PCI0.SBRG.PS2M (S5)
unknown: wake_prep disabled wake for \_SB_.PCI0.MC97 (S5)
pcib1: wake_prep disabled wake for \_SB_.PCI0.P0P4 (S5)
unknown: wake_prep disabled wake for \_SB_.PCI0.P0P5 (S5)
pcib2: wake_prep disabled wake for \_SB_.PCI0.P0P6 (S5)
unknown: wake_prep disabled wake for \_SB_.PCI0.P0P7 (S5)
unknown: wake_prep disabled wake for \_SB_.PCI0.P0P8 (S5)
unknown: wake_prep disabled wake for \_SB_.PCI0.P0P9 (S5)
uhci0: wake_prep disabled wake for \_SB_.PCI0.USB0 (S5)
uhci1: wake_prep disabled wake for \_SB_.PCI0.USB1 (S5)
uhci2: wake_prep disabled wake for \_SB_.PCI0.USB2 (S5)
uhci3: wake_prep disabled wake for \_SB_.PCI0.USB3 (S5)
ehci0: wake_prep disabled wake for \_SB_.PCI0.EUSB (S5)

The operating system has halted.
Please press any key to reboot.







I'm downloading a FreeBSD image now to mount the CF card in.

Thursday, May 30, 2013

SS4200-E Serial Connection for NAS4Free

The SS4200-E has a header for a 9 pin serial (DE9) connector.  There is even a knockout on the back for the connector.  This page describes the pinout in great detail.  The key point, and I can't stress this enough, is that the motherboard header is an Intel/DK style instead of the more common AT/Everex style.  I pulled out an old connector, and I spent a day trying to figure out if that, the null modem cable, or the usb to serial adapter on my desktop was bad.

I finally got it to work after resoldering the DE9 connections.  My SS4200 has a bios setting for the serial connection.  It was set to:
  • Serial Port Mode: 115200 8,n,1
  • Flow Control: None
  • Terminal Type: ANSI
  • VT-UTF8 Combo Key Support: Enabled
Eventually, I was able to get this to work using Putty and the settings here.  However, I turned flow control off in both Putty and in the device manager for the serial port.

This is great for getting into the bios.  My next step was to install NAS4Free from the USB image to the 2GB SanDisk Ultra compact flash card mounted in the PATA port.  I could see text in the terminal but it eventually froze. 

I then used another computer to install NAS4Free from USB to compact flash.  I put the compact flash back into the SS4200-E, but it would freeze.  I remembered reading somewhere that it defaulted to 9600 baud, so I closed putty and opened at the 9600 baud setting.  Sure enough, I could see NAS4Free booting.  Eventually, it gave the error "The device that contains the config file (config.xml) could not be found."  More googling led to this, which explains that the most likely culprit is that the bios isn't dealing with the CF card very well.  Which is odd, because it managed to boot pretty far.  Maybe that isn't the problem....

I'm going to try reinstalling from USB to CF directly on the SS4200-E again.  Now that I know the baud settings might change, I can default the SS4200-E to 9600 baud and work with that.


Wednesday, May 29, 2013

SS4200-E Hardware

I have two Intel SS4200E servers.  I found a good description of the hardware in this presentation from Intel.
  • IA-Based Low End Storage Appliance
  • Four SATA ports (3.0Gbps)
  • Four Drive Bays
  • Conroe–L processor [Celeron 420] 1.6 GHz
  • Chipset: 945GZ with ICH7-R
  • 512 MB DDR2 SDRAM
  • Four USB 2.0 Ports
  • 2 x E-SATA Port
  • 1 x Gb Ethernet [Intel 82573V]
I'm interested in the chipset, because I want to upgrade to a dual-core cpu to run Nas4Free.  I also will upgrade the ram from 512MB to 2GB.  The chipset supports 4GB in two banks, but there is only one slot for ram on the motherboard.

The 945GZ chipset supports:
  • Memory Types DDR2-400 / DDR2-533
  • Celeron 420 (1.6GHz), 430 (1.8GHz), 440 (2.0GHz)
  • Core 2 Duo E4400 (2.0GHz), E4500 (2.2GHz), E4600 (2.4GHz), E4700 (2.6GHz)
  • Pentium E2200 (2.2GHz), E2220 (2.4GHz),
Interestingly, the higher numbers came out first and have more cache.  A good comparison is here.
The E4600 is a Core 2 Duo with 1Mb cache, 800MHz FSB, and came out in Q4 of 2007.  The E2200 is a Pentium with 1M caches, 800MHz FSB, and came out Q1 2008.  The E1600 is a Celeron with 512K cache, 800MHz FSB, and came out Q2 209.  They are all 2.4GHz CPUs, and all should be compatible with the 945GZ chipset.

On this comparison, the E2200 is 96% of the E4600, and the E1600 is 88% of the E4600.  They are all 65W processors vs. the 35W Celeron 420 that it comes with.  Many people have upgraded to E2200 and have had the same CPU temps.

DDR2-400 is PC 3200, and DDR2-533 is PC4200.  Higher speeds should work fine as well.

Off to craigslist and ebay to search for parts!


Sunday, March 3, 2013

Install SS4200E EMC OS to VirtualMachine

I have had an Intel SS4200E for a while now.  It is an intel based, single core celeron computer with 512MB ram, 4 internal SATA ports, one PATA port, 4 USB 2.0 ports, and 2 e-SATA ports.  The default software is EMC Lifeline.  The last version is 1.1.11.32736.  The software runs on a 256MB Disk-on-Module (DOM) in the PATA port.  This is like an early SSD.

I recently got another SS4200E so that I could run NAS4Free on it.  I want to do this for several reasons.
  • NAS4Free is more capable and flexible
  • NAS4Free can run ZFS
  • I can install a different media server.  The media server on the EMC server will not serve out certain file types.
I had looked into the media server once before, and it is an older version of twonky.  I think that twonky can be configured to serve out additional files.  I also think that the OS loads from the DOM into memory, so any changes to the configuration would be lost during reboot.  I know that I should not mess around with configuration files and reboot my working server.

So now I have some options.  I can test using the 2nd SS4200E.  I have another DOM, and I have installed the EMC software using a file called: EmcImager-1.1.1-1.0.8.29352.zip.  It isn't hosted on Intel's site, but it can be found.  It creates a bootable USB, which is used to install a previous version of the OS to the PATA disk.

Once the older OS is installed, you can update to the current OS.  In order to update, you have to put at least two disks in.  For the disks to be recognized, they have to be empty.  I was able to delete everything off one disk and have it be recognized, but this didn't work for another disk.  I tried to reformat it in Windows 7, but that didn't work.  I finally cloned the original disk to the 2nd disk.

Once two disks are installed, you can upgrade the SS4200E to the current OS using the "firmware" downloaded from Intel's site.  I did all of this over several days, then I wondered if I could just install the OS to a virtual machine.  After all, the SS4200E is a standard Intel system running linux.

So, I tried to figure out how to get VirtualBox to boot a USB drive.  It is not supported.  I tried several work-arounds without success.  Then I tried to convert the USB drive to an ISO image so I could boot from CD.  The USB drive is based on SLAX linux.  I first tried to "burn" an ISO using ImgBurn.  There are some options that you set to tell it what file to boot from.  I apparently did not guess correctly.

Then I looked in the USB drive.  There is a make_iso script.  That is just what I needed.

I ran the make_iso.bat script, attached the new ISO to the virtual machine, and booted.  For the first time, I saw video output from the SS4200E OS (the SS4200E is a headless machine, although you can hack a video card in).  The cd iso installed the OS to the 256MB hard drive in my virtual machine.  After installing, it ejected itself.  This even removed it from the virtual machine.  I removed the cdrom from the virtual machine and started it.

It booted up to a login prompt.  I was unable to connect to the web server, probably because the network adapter was bridged.  I changed the adapter to be bridged and rebooted.  Then I was able to connect to the web server.

Now I can play around with the settings to see what changes are persistent.  If I get brave, I can even try to modify the OS image itself.