Wednesday, July 21, 2010

Some thoughts about Intel SS4000-E Storage NAS (INNS04-4200)

Anyone interested to hack this unit with a (better) opensource alternative (debian or whatever), please contact me or write a comment. I'd love to have this working like a real storage array it claims to be.


Got this piece of hardware with high expectations and start reading on the internet about it. Most of its users shows it rather a crap. I tend to feel the same.


Details about SS4000-E unit
- CPU Intel Xscale IOP 80219 at 400 MHz
- chipset Fintek f75111 (according to Arnaud)
- the OS volume is a 256 DOM (Disk On Memory) module installed in the motherboard IDE port, mounted as /dev/hda1 as ext2 partition
- the data for storage is on a lvm2 volume in md raid, mounted as /dev/evms/md0vol1 and formatted ext3 >> 4 bays for SATA-1 HDD, greater than 500 GB with the total storage capacity greater than 2 TB (according to Intel)
- the OS is a proprietary Linux wolf 2.6.10-iop1-9 by FalconStor (check # uname -r via SSH)
- the operating system used by the user determines which option should be choose while setting it up:
  • Windows/Mac OS X user (CIFS)
  • Linux/Other Mac user (NFS)
- Newisys NA-1400 is a similary device, but not identical; however, its documentation might be helpful



Short story
I expect SS4000 to be a storage backup for my data. I'm not interested on any advanced feature like RAID or so. I'm not interested in speed, though the device has 2 built-in GB lan adapters and 4 SATA slots for hard drives. Generally, I want a device attached to my home network, low on electricity bill, capacity of minimum 2 TB (4 x 500 GB) and just work without hassle.


Setup
This unit runs proprietary software made by FalconStor. The unit I have was upgraded to the maximum RAM supported (512 MB DDR-266, but only 256 MB recognized) and latest firmware (version 1.4). I want as more available capacity as possible. At some point, I added 4 drives of 1TB (WD10EACS) but not satisfied >> read Test Lab bellow.


Tasks I want to accomplish
- Linear configuration, as explained by Javed Lodhi. This is what I intended in the first place upon acquisition, but I didn't know how to do it. I'll test that in the future.
- Automatic scheduling, as nkamp asked on Intel Comunity (no answer as of this writing)
- SSH access - explained on Paul Cobbaut's blog


CLI commands that can be used for different purposes
# dmesg =
# cat /var/log/kern.log = kernel logs
# uname -m = architecture (smth. like armv5tel)
# uname -r = kernel (smth. like 2.6.10-iop1)
# ls /proc =
# cat /proc/cpuinfo =
# cat /proc/devices =
# cat /proc/filesystems =
# cat /proc/interrupts =
# cat /proc/ mdstat =
# cat /proc/meminfo =
# cat /proc/pci =


Test Lab
2010-08-01: Four 1TB drives attached as RAID-5. After 1 day, the 4th drive started rebuilding RAID. It takes about 3 days (and nights) !?! I feel like I give up on RAID-5...
The web interface is very limited during rebuilding. The only page available is https://xxx.xxx.xxx.xxx/raid_disks_changedF.cgi (it asks first for credential first). No other page I can access, including default http://xxx.xxx.xxx.xxx/ (Chrome browser gives this error:
"This webpage has a redirect loop. The webpage at http://xxx.xxx.xxx.xxx/index.cgi has resulted in too many redirects. Clearing your cookies for this site or allowing third-party cookies may fix the problem. If not, it is possibly a server configuration issue and not a problem with your computer.). Clearing cookies won't change anything.


2010-08-20: Linear configuration doesn't work quite I was expecting. I would need to see each disk independent as one share each drive/disk, but linear configuration on SS4000-E gives me a wizard which force me to choose a homes share (min. 200 MB, but not more than 2 TB; in this particular case 2TB) and a public share (min. 200 MB, but no more than 2 TB; in this particular case 745GB). Homes share is the place where each added user would have it's own share name, while public share should be available to any user without credential (not working this way here). I created a user backup for all my needs, and I use public share when homes share would not be enough (security is not a concern, I have a private area network, secured from outside intruders).

2010-08-21: To activate SSH, visit this page: https://XXX.XXX.XXX.XXX/ssh_controlF.cgi (where https://XXX.XXX.XXX.XXX is the IP of the unit). It takes a few seconds until it shows a switch button to select Turn On / Turn off SSH, and about 1 minute to activate.


Some commands:

# uname -r
2.6.10-iop1-9

# uname -m
armv5tel

# cat /proc/cpuinfo
Processor : XScale-IOP8032x Family rev 0 (v5l)
BogoMIPS : 395.67
cpu MHz : 395.673
Features : swp half thumb fastmult edsp
CPU implementer : 0x69
CPU architecture: 5TE
CPU variant : 0x0
CPU part : 0x2e2
CPU revision : 0
Cache type : undefined 5
Cache clean : undefined 5
Cache lockdown : undefined 5
Cache format : Harvard
I size : 32768
I assoc : 32
I line length : 32
I sets : 32
D size : 32768
D assoc : 32
D line length : 32
D sets : 32

Hardware : Intel IQ31244
Revision : 0000
Serial : 0000000000000000


# cat /proc/devices
Character devices:
1 mem
2 pty
3 ttyp
4 /dev/vc/0
4 tty
4 ttyS
5 /dev/tty
5 /dev/console
5 /dev/ptmx
7 vcs
10 misc
13 input
21 sg
89 i2c
90 mtd
128 ptm
136 pts
180 usb
211 gpiodrv
212 eepromdrv
252 kipstor
253 bkscctl
254 kfsnbase

Block devices:
1 ramdisk
8 sd
9 md
31 mtdblock
65 sd
66 sd
67 sd
68 sd
69 sd
70 sd
71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd
252 kvbdi
253 kvbdi
254 mdp

# cat /proc/filesystems
nodev sysfs
nodev rootfs
nodev bdev
nodev proc
nodev sockfs
nodev pipefs
nodev futexfs
nodev tmpfs
nodev eventpollfs
nodev devpts
ext3
ext2
nodev ramfs
nodev jffs2
xfs
nodev rpc_pipefs
nodev nfsd
nodev usbfs
vfat


# cat /proc/interrupts
CPU0
0: 0 IOP321 DMA 0 EOT
1: 0 IOP321 DMA 0 E0C
2: 0 IOP321 DMA 1 EOT
3: 0 IOP321 DMA 1 E0C
9: 318860 IOP321 Timer Tick
11: 6343 IOP3xx-I2C
12: 1 IOP3xx-I2C
20: 0 IOP321 DMA 0 ERR
21: 0 IOP321 DMA 1 ERR
27: 25610 eth0, ehci_hcd
28: 30002 serial
29: 248644 GD31244, ohci_hcd
30: 1581 eth1, ohci_hcd
Err: 0


# cat /proc/meminfo
MemTotal: 256916 kB
MemFree: 151528 kB
Buffers: 2920 kB
Cached: 20980 kB
SwapCached: 0 kB
Active: 27188 kB
Inactive: 9848 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 256916 kB
LowFree: 151528 kB
SwapTotal: 526144 kB
SwapFree: 526144 kB
Dirty: 44 kB
Writeback: 0 kB
Mapped: 21520 kB
Slab: 9636 kB
CommitLimit: 654600 kB
Committed_AS: 208228 kB
PageTables: 764 kB
VmallocTotal: 745472 kB
VmallocUsed: 73856 kB
VmallocChunk: 3907584 kB


# cat /proc/pci
PCI devices found:
Bus 0, device 1, function 0:
Ethernet controller: Intel Corp. 82541GI/PI Gigabit Ethernet Controller (rev 5).
IRQ 27.
Master Capable. No bursts. Min Gnt=255.
Non-prefetchable 32 bit memory at 0x80000000 [0x8001ffff].
Non-prefetchable 32 bit memory at 0x80020000 [0x8003ffff].
I/O at 0xfe000000 [0xfe00003f].
Bus 0, device 2, function 0:
Ethernet controller: Intel Corp. 82541GI/PI Gigabit Ethernet Controller (#2) (rev 5).
IRQ 30.
Master Capable. No bursts. Min Gnt=255.
Non-prefetchable 32 bit memory at 0x80060000 [0x8007ffff].
Non-prefetchable 32 bit memory at 0x80080000 [0x8009ffff].
I/O at 0xfe000040 [0xfe00007f].
Bus 0, device 3, function 0:
Class 0106: Intel Corp. GD31244 PCI-X SATA HBA (rev 0).
IRQ 29.
Master Capable. No bursts. Min Gnt=16.Max Lat=1.
Non-prefetchable 64 bit memory at 0x800c0000 [0x800c0fff].
Bus 0, device 5, function 0:
USB Controller: NEC Corporation USB (rev 67).
IRQ 30.
Master Capable. Latency=8. Min Gnt=1.Max Lat=42.
Non-prefetchable 32 bit memory at 0x800c1000 [0x800c1fff].
Bus 0, device 5, function 1:
USB Controller: NEC Corporation USB (#2) (rev 67).
IRQ 29.
Master Capable. Latency=8. Min Gnt=1.Max Lat=42.
Non-prefetchable 32 bit memory at 0x800c2000 [0x800c2fff].
Bus 0, device 5, function 2:
USB Controller: NEC Corporation USB 2.0 (rev 4).
IRQ 27.
Master Capable. Latency=68. Min Gnt=16.Max Lat=34.
Non-prefetchable 32 bit memory at 0x800c3000 [0x800c30ff].

# echo $PATH
/usr/local/ipstor/bin:/usr/local/ipstor/lbin:/usr/local/ipstor/util:/usr/local/ipstor/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin



Side notes
- I miss a shutdown power switch. I have to take the power plug out when I feel the unit is stuck (it happened few times), which is not practical, if you ask me
- whenever I do a forced shutdown as described above, the startup time tend to be much longer (20-30 min.); it looks like the unit is doing a check disk on some drives or all; I have no knowledge if or how I can check the disks when I want, not when it wants (at startup)
- the machine only understands FAT-32, ext2, ext3 and xfs file systems (more on this)


Reference
I'm definitely trying to get all the info I can get about this unit, and make it work the way I want. This is what I found so far:
- Intel® Entry Storage System SS4000 Family - general info:
Product Information | Overview and Product Features | Technical product specification | Tested Hardware and Operating System List [PDF] | Release_Notes [PDF] | Quick Start User's Guide [PDF]: Front and Back | User guide [PDF] | Product discontinuance announcement [PDF] (effective June 24, 2008)

- Intel® Entry Storage System SS4000 Family - technical staff:
System partition, volume and file system information | File system requirements for attached USB devices | How much storage space can the system provide?

- Intel® Entry Storage System SS4000 Family - troubleshooting:
Comprehensive troubleshooting guide | TA 809: Recovery CD issue | TA 847: Loss of system access issue | System (password) Reset Procedure

- Intel® Entry Storage System SS4000 Family - Support for SS4000-E on Intel website & comunity:
RAID Initialization may take an Extended Period of Time to Complete | Power Loss Will Terminate Any Backup, Restore or Copy Actions in Progress | Powering Down | Drive unavailable, I/O errors, extreme time to format or system stops (hang) | Should I initialize my RAID array if this is the only option available? | Why can't I copy large files to an attached USB device? | Can't I see an external USB disk drive attached | Web User Interface disk hotplug indicators (LEDs)

Other links
- Intel SS4000-E enthousiast site - FreeBSD on SS4000-E (and lot of info) by Tom Judge- ss4200.pbworks.com
- support forum at us.generation-nt.com
- Intel IOP
- Booting Debian on SS4000-E< - debian-arm mailing list
- Installing Armel Debian on SS4000E
- Intel SS4000-E NAS Install Debian [PDF]
- Help with the SS4000-e install process
- search 'ss4000' on nabble.com forum
- Installing Debian Linux on the NAS SS4000E [YouTube video]
- Serial cable for SS4000-E
- Install FreeBSD on SS4000-E
- Thermaltake Muse NAS-RAID - similar device (forum with debug info)
- Device Profile: Intel SS4000-E storage server (a very detailed presentation from linuxfordevices.com)
- [RFC] Draft of announcement and errata, last chance of change by Otavio Salvador
- Intel SS4000-E expanded (Germain)
- Intel's SS4000-E - so you're having issues with one too, eh ...

Update 2011-02-18 - this unit still makes some noise on the internet (Debian Forum):
- Debian on SS400-E: positive feedback for Debian (forum) by Hans | HowTo by Chris Wilkinson | another HowTo by JFS (jfstraeten@scarlet.be) || search query on debian lists

- Intel NAS SS4000-E installation woes (forum)
- Intel NAS SS4000E - Disk size limitation revisited (forum)
- SS4000E - Disk size limitation? (forum)
- How to save the original zImage and ramdisk.gz of an Intel NAS SS4000-E (forum)
- Adding support for the Intel SS4000-E NAS aka the EM-7210 (Tom Judge)
- Adding support for the Intel SS4000-E NAS aka the EM-7210 (same as above, keep this link as a backup)

Update 2013-02-28 - I don't use this unit for about 2 years, and I'm still looking for a way to make value of it. New links I found:
- installing Debian with success
- so you're having issues with one too, eh...
- reducing disk I/O by mounting partitions with noatime

Other IOP80219-based NAS (clones)
- Thecus N2100 (600 MHz), and rebadged versions: Allnet ALL6500, ARP Datacon NAS-2100, Evesham SilverSTOR M-Box; links: Adding a serial port | OpenBSD port (OpenBSD/armish)
- IO-Data GLAN Tank (400 MHz)
- Newisys NA-1400; links: NA-1400 info

- Lanner NS04-4100 and NS04-4110; links: 2005 News Release: Arrow Electronics to Deliver Affordable Network Storage Appliance for the SMB Market (NS04-4100)

- Thermaltake Muse NAS-RAID (N0001LNU); links: Slow Muse NAS-RAID N0001LN | Missing support for 512 MB Ram for the MUSE-NAS Raid | price @newegg.com (very good reviewes) | price @mwave.com.au | price Elsaco (RO)


NAS distro and freeware software alternatives (for using with a PC)
- FreeNAS - light, booting from USB drive / Live CD / hard drive
- OpenFilter - feature-rich, DAAP support
- unRAID (free for up to 3 hard drives)
- VortexBox - feature-rich, DAAP


Other links related to NAS
- NAS-Central - The Epicenter of Buffalo NAS Hacking (Buffalo unofficial support)


Modding NAS
- ReadyNAS X6 PSU and Fan upgrade


Other links related to embedded systems
- Redboot - download and execute embedded applications via serial or ethernet
- Debian ARM mailing list


About / Despre acest blog
Disclaimer and privacy statement / Confidenţialitate
Updated / Actualizat: 2013-02-28.

___

6 comments:

Traveler said...

I am in the same position as you. It is nice to see someone trying to use this device in 2010! All the postings I found until yours have been very old

My name is Arnold Bramnick. I am in Boca Raton, Florida (USA).

Perhaps we can share and cooperate?

My contact information is bramnick@gmail.com

Best regards
Arnold

Unknown said...

intel has publish new

Open Source Software for Firmware Revision 1.4
Open Source Software and GPL Components for Intel® Entry Storage System SS4000-E Firmware Revision 1.4 ver fs-bc-1.4 b710

with all soure file , i hope some one able to do something with like putting twonky media server

Unknown said...

@Arnold >> I sent you an email since September. Didn't get yet a response...

@rajusa >> Thank you. Weired, 'though! It looks like the firmware was published in 2009 and it's not on my list of links as of now (I'll add it), I might have skip it (if Intel won't lie about published date). Anyways, good to know. Unfortunately I don't have the skills to manage source file, but maybe one day we'll have someone who does.
Intel firmware

Amedeo77 said...

Hi,
I'm experiencing a I/O errors, extreme time to format or system stops (hang), but the link leads to nothing (tanks Intel) can you help me to sort it out?

Sam said...

2020 - I have one of these units that I want to put back in service in some way. I found and installed an new power supply and the unit will boot and run as intel originally intended (not that great, but it works). I have to run using an ie11 browser with security validation turned off because the certificate originally put on the device is long expired and it will throw (very) annoying certificate errors. I read the basic hardware description with great interest. My first thought was to remove the OS rom module from the PCI bus and replace that with something more workable (or at least solder in a connector). Also I was thinking something like coreboot might get the thing to a stable OS but it seems that Arm 5 is not available (Arm 8 is). There is a reddit thread ( https://www.reddit.com/r/arm/comments/9gwrwl/lets_talk_about_arm_and_a_bios/ ) that might have some interest but I'm following bread crumbs there. If anyone has made any progress on this in the last few years I'd like to know what you know. I'm glad to share back to this thred everything I can. It's a low/moderate priority effort for me but I do wnat to see if I can get this thing to be more useful than useless. --Sam

Sam said...

Just a quick follow-up. U-Boot supports ARM v5. I'm still following bread crumbs on reddit. --Sam