dslreports logo
 
    All Forums Hot Topics Gallery
spc
Search similar:


uniqs
6758
mazilo
From Mazilo
Premium Member
join:2002-05-30
Lilburn, GA

mazilo

Premium Member

[Equipment] Hitachi SimpleNET NAS Head USB 2.0 Portable Dongle

In response to my post about a Hitachi SimpleNET NAS Head USB 2.0 Portable Dongle, I went to a local Fry's Electronic store and purchased two units for $30/each + Tax. My aim is to turn this simple USB dongle into a FreeSwitch PBX system + a printer server running on an OpenWRT firmware. As of this writing, there isn't any support for this device by OpenWRT, yet. For those who are interested in hacking this device, perhaps this little HOWTO may get you started.

So far, I like this device. It has a capacity of 64MB RAM that is suitable to run a memory intensive program, i.e. FreeSwitch. The only thing I don't like this device is the location of its CPU on a dual-sided board. If you read this little HOWTO, you will notice the CPU is located on the other side facing the bottom to trap the heat generated by its CPU. I left my device on idle for approximately one hour with its top facing down and its CPU facing up. The device seemed to have maintained its temperature to the touch of my palm. I am sure I can make a cup of yogurt with the heat generated by this device. ;) I haven't done much on this device, so I basically left it on idle and top utility reported its load average was about 2.80 (pretty high for a small device like this, especially on idle). Here is the snapshot of the top utility:
Mem: 14524K used, 47592K free, 0K shrd, 1048K buff, 5328K cached
CPU:  22% usr  77% sys   0% nice   0% idle   0% io   0% irq   0% softirq
Load average: 2.80 2.86 2.73
  PID  PPID USER     STAT   VSZ %MEM %CPU COMMAND
  699     1 root     R     1328   2%  12% /bin/sh /etc/sysconfig/system-script/n
28198 10420 root     R     1232   2%   1% top 
  990   989 root     S     2380   4%   0% /bin/DNSR -f /etc/sysconfig/config/res
  974     1 root     S     2380   4%   0% /bin/DNSR -f /etc/sysconfig/config/res
  989   974 root     S     2380   4%   0% /bin/DNSR -f /etc/sysconfig/config/res
  719     1 root     S     1984   3%   0% /usr/local/samba/sbin/nmbd 
32408   699 root     R     1328   2%   0% /bin/sh /etc/sysconfig/system-script/n
10420 10322 root     S     1252   2%   0% -sh 
  921     1 root     S     1244   2%   0% /bin/crond -L /var/log/crond.log 
  928     1 root     S <   1228   2%   0% /usr/sbin/httpd -h /var/www 
  677   676 root     D     1224   2%   0% insmod /lib/modules/2.6.16-star/button
  676     1 root     S     1224   2%   0% /bin/sh /bin/power 
10322   920 root     S      968   2%   0% ssh -r /etc/sysconfig/config/ssh/ssh_r
  920     1 root     S      892   1%   0% ssh -r /etc/sysconfig/config/ssh/ssh_r
  698     1 root     S <    720   1%   0% udevd --daemon 
  870     1 root     S      684   1%   0% /bin/lld2d eth0 
    1     0 root     S      556   1%   0% init  
  605     5 root     SW<      0   0%   0% [str8131_spi]
  602     1 root     SW       0   0%   0% [mtdblockd]
    4     1 root     SW<      0   0%   0% [khelper]
 
Below, you can find the output from uname -a, free, df -h, cat /proc/meminfo, and cat /proc/cpuinfo:
# uname -a
Linux SimpleNET 2.6.16-star #103 Fri Nov 6 14:38:05 CST 2009 armv4l unknown
 
# free              
              total         used         free       shared      buffers
  Mem:        62116        14424        47692            0         1048
 Swap:            0            0            0
Total:        62116        14424        47692
 
# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/shm/tmp             30.3M     64.0k     30.3M   0% /tmp
/dev/mtdblock3            4.0M      4.0M         0 100% /usr
/dev/mtdblock4          512.0k    248.0k    264.0k  48% /etc/sysconfig/config
 
# cat /proc/meminfo 
MemTotal:        62116 kB
MemFree:         47656 kB
Buffers:          1048 kB
Cached:           5336 kB
SwapCached:          0 kB
Active:           4784 kB
Inactive:         3468 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:        62116 kB
LowFree:         47656 kB
SwapTotal:           0 kB
SwapFree:            0 kB
Dirty:               0 kB
Writeback:           0 kB
Mapped:           3348 kB
Slab:             2836 kB
CommitLimit:     31056 kB
Committed_AS:     5136 kB
PageTables:        184 kB
VmallocTotal:   188416 kB
VmallocUsed:      2436 kB
VmallocChunk:   185980 kB
 
# cat /proc/cpuinfo 
Processor: FA526id(wb) rev 1 (v4l)
BogoMIPS: 192.51
Features: swp half 
CPU implementer: 0x66
CPU architecture: 4
CPU variant: 0x0
CPU part: 0x526
CPU revision: 1
Cache type: write-back
Cache clean: cp15 c7 ops
Cache lockdown: format B
Cache format: Harvard
I size: 8192
I assoc: 2
I line length: 16
I sets: 256
D size: 8192
D assoc: 2
D line length: 16
D sets: 256
 
Hardware: STAR STR8131
Revision: 0000
Serial: 0000000000000000
#
 

jjoshua
Premium Member
join:2001-06-01
Scotch Plains, NJ

jjoshua

Premium Member

Re: [Equipment] Hitachi SimpleNET NAS Head USB 2.0 Portable Dong

I ordered one. It should arrive soon. I'm up for hacking it.
pagemen
join:2008-12-28
planet earth

pagemen to mazilo

Member

to mazilo
looks like a good cheap alternative for SheevaPlug.
mazilo
From Mazilo
Premium Member
join:2002-05-30
Lilburn, GA

mazilo

Premium Member

said by pagemen:

looks like a good cheap alternative for SheevaPlug.
IIRC, this product was sold for $80 the 1st time when I saw it at the same local Fry's store about a year ago. So, this isn't a bad choice to have and to hack for under $30.

As with SheevaPlug, I believe that is an ultimate solution. Unfortunately, I haven't seen it sold @Fry's, yet. If it is, I will be expecting its price will come down considerably after sometimes. At $100 a plug, that's certainly way beyond my budget.
mazilo

mazilo to jjoshua

Premium Member

to jjoshua
said by jjoshua:

I ordered one. It should arrive soon. I'm up for hacking it.
I hope you have received your order by now.

Using OpenWRT, I managed to compile asterisk-1.6.2.7 to produce binary codes that are compatible to the native firmware on the device. Unfortunately, I haven't got some times to test it, yet. This requires some additional steps to prep the device to accept new libraries, i.e. the mtd partition that hosts its native firmware needs be set to a R/W mode so that the new libraries can be written on to /usr/lib directories. Once this is done, the mtd partition can be set back to a R/O mode. For the asterisk binary files, they can be copied to a USB memory stick and mounted at a boot time as an external USB partition.

jjoshua
Premium Member
join:2001-06-01
Scotch Plains, NJ

jjoshua to mazilo

Premium Member

to mazilo
I haven't even opened mine up yet - too busy.

It sounds like you made some progress, though.
mazilo
From Mazilo
Premium Member
join:2002-05-30
Lilburn, GA

mazilo

Premium Member

said by jjoshua:

It sounds like you made some progress, though.
That's how far I could go ATM. According to the information found here, it is advisable not to remove the board from the bottom case. Doing so will make it impossible to let its CPU from making a physical contact with the aluminum sheet that acts as a heatsink. This means, it is not possible to solder pins onto its serial-console port. Without an access to its serial-console port, hacking can be very risky. As such, I have suspended my efforts to work on porting OpenWRT to this device. That's the bad news. The good news is I know someone has managed to port OpenWRT to a Cavium board and is looking to buy this device to see if his port will work before he can submit it to OpenWRT. Only time will tell.

jjoshua
Premium Member
join:2001-06-01
Scotch Plains, NJ

jjoshua to mazilo

Premium Member

to mazilo
Based on Bill Kibler's writeup and pictures, I was able to expose the serial port without opening the entire case.

First, I heated a bent paperclip and used it to melt the area to cut, then I used a heated knife to finish the cut. The camera flash makes it look worse than it really is.

At that point, it's a simple matter to fold back the heat shield and solder a header onto the pads.

I got lucky - the device still works.




I have a RS232 to TTL adapter on order. Once it arrives, I'll be able to access the console.
mazilo
From Mazilo
Premium Member
join:2002-05-30
Lilburn, GA

mazilo

Premium Member

said by jjoshua:

Based on Bill Kibler's writeup and pictures, I was able to expose the serial port without opening the entire case.
Excellent. So, I believe now you can have an access to your device serial-console port. This means you are ready to hack this device.

I also noticed from your other post that you started to get involved into building an OpenWRT firmware. You may want to build your own OpenWRT firmware for this device, too. This way, you may be able to make this device to run an OpenWRT firmware. If you have such a plan, I have attached the configuration files below for you to try (if you don't mind).

When I got my device, I started to work on this device with a simple executable file compiled using OpenWRT with many different Target System. Finally, I managed to configure my OpenWRT SVN trunk to produce a binary file that is compatible and executable with the factory default OS on a Hitachi SimpleNET device. Here is list of steps I did:
    1. Execute make menuconfig.
    2. Go to Target System sub-menu and enable the (X) Cortina Systems CS351x option (this is also a Gemini system, AFAICT).
    3. Go to Target Images sub-menu and enable the [*] tar.gz option to produce a tarball firmware file (in case you will need it).
    4.Go to the Advanced configuration options (for developers) -> Toolchain Options sub-menu and disable the [ ] Enable EABI support option.
    5. Execute make kernel_menuconfig to select SCSI Disk, USB EHCI, USB Mass Storage, and perhaps among options to include support for an external USB partition.
    6. Execute make to compile OpenWRT.

If you don't feel like to do the above, I have attached the .config and config-default files below. You will need to rename the config.gemini to .config and put it under the root directory of your OpenWRT SVN trunk. For the config-default file, put it under target/linux/gemini directory. Make sure you take into the consideration to backup your original .config and config-default files before you copy the ones from here.

config.gemini
17557 bytes
(config.gemini.zip).config file for menuconfig

config-default
1583 bytes
(config-default.zip)config-default file for Linux kernel

Let me know if there is any problems. Good luck.

jjoshua
Premium Member
join:2001-06-01
Scotch Plains, NJ

jjoshua

Premium Member

Thanks. I will give this a try. I'm still waiting for the rs232/ttl adapter to come in the mail.
jjoshua

1 edit

jjoshua to mazilo

Premium Member

to mazilo
Update... I got the rs232/ttl adapter. It required all 4 wires to make the interface work.

»alldav.com/index.php?mai ··· ts_id=11

I replicated Bill Kibler's results. I am able to access u-boot through the console.
mazilo
From Mazilo
Premium Member
join:2002-05-30
Lilburn, GA

mazilo

Premium Member

said by jjoshua:

Update... I got the rs232/ttl adapter. It required all 4 wires to make the interface work.

»alldav.com/index.php?mai ··· ts_id=11

I replicated Bill Kibler's results. I am able to access u-boot through the console.
Col. I hope you will be able to make this device to run an OpenWRT firmware soon.

jjoshua
Premium Member
join:2001-06-01
Scotch Plains, NJ

jjoshua

Premium Member

said by mazilo:

Col. I hope you will be able to make this device to run an OpenWRT firmware soon.
Now that I'm able to build for the dockstar, I'm gong to give this one a try with the config files that you provided.

I have no idea how to load the files once I've built them. Do you have any examples? I don't suppose that the simplenet will boot from a usb stick.
mazilo
From Mazilo
Premium Member
join:2002-05-30
Lilburn, GA

mazilo

Premium Member

said by jjoshua:

I have no idea how to load the files once I've built them.
Me neither. :(
Do you have any examples?
Unfortunately, the answer is no.
I don't suppose that the simplenet will boot from a usb stick.
With a serial-console access, you will have a better chance to do this.

The cat /proc/mtd shows the following MTD partitions on its Flash device:

# cat /proc/mtd 
dev:    size   erasesize  name
mtd0: 00800000 00010000 "all"
mtd1: 00040000 00010000 "ARMBOOT"
mtd2: 00200000 00010000 "Linux Kernel"
mtd3: 00540000 00010000 "MTD Disk1"
mtd4: 00080000 00010000 "MTD Disk2"
 
Of particular interest in the above is the mtd0 (ARMBOOT). When a Hitachi SimpleNET device is powered up, ARMBOOT will take over to load a Linux Kernel on its mtd2 partition (use a serial-console cable to verify this during a boot process). If I am not mistaken, this is the same u-boot manager used on a Seagate DockStar device (verify this with your serial-console cable). If so, then perhaps this HOWTO: install OpenWrt on Seagate Dockstar may inspire you to install an OpenWRT on this device. To go this route, you will first need to configure your OpenWRT source to build a tarball firmware file, too.
mazilo

mazilo

Premium Member

ATM, Fry's Electronics has again reduced the price of this Hitachi SimpleNet NAS Head USB2 dongle to an affordable price of $29.99 if anyone is interested to get this device to hack so that it can be used as an Asterisk PBX System. Sure, this offer may not be as good as the one from the $24.99 Segate DockStar.
mazilo

mazilo

Premium Member

FYI, Fry's Electronics is doing it again making this device affordable to as low as $29.99. I have also posted on OpenWRT, as shown here, asking readers/developers to support this device. Granted this device isn't as powerful as an inexpensive Seagate DockStar, but it fits a low-end budget to host an Asterisk PBX System when an inexpensive Seagate DockStar can't be had for some people due to their geography.
mazilo

mazilo

Premium Member

Today, when I did an svn up on my OpenWRT SVN development trunk, I noticed a new commit with an initial support for the Cavium CNS21xx SoC as shown below.
A    toolchain/uClibc/config-0.9.30.1/arm.cns21xx
A    toolchain/uClibc/config-0.9.31/arm.cns21xx
A    toolchain/uClibc/config-0.9.32/arm.cns21xx
U    toolchain/Config.in
U    toolchain/gcc/Config.version
U    toolchain/gcc/Config.in
A    target/linux/cns21xx
A    target/linux/cns21xx/config-2.6.36
A    target/linux/cns21xx/config-2.6.37
A    target/linux/cns21xx/patches-2.6.36
A    target/linux/cns21xx/patches-2.6.36/006-arm-add-fa-watchdog-driver.patch
A    target/linux/cns21xx/patches-2.6.36/004-arm-add-fa-time.patch
A    target/linux/cns21xx/patches-2.6.36/204-cns21xx-add-gec-device.patch
A    target/linux/cns21xx/patches-2.6.36/103-cns21xx-usb-ohci-support.patch
A    target/linux/cns21xx/patches-2.6.36/202-cns21xx-add-watchdog-device.patch
A    target/linux/cns21xx/patches-2.6.36/302-cns21xx-mach-nsb3ast.patch
A    target/linux/cns21xx/patches-2.6.36/001-arm-use-cache-alignment-from-asm-cahce-h.patch
A    target/linux/cns21xx/patches-2.6.36/100-cns21xx-core.patch
A    target/linux/cns21xx/patches-2.6.36/105-cns21xx-spi-driver.patch
A    target/linux/cns21xx/patches-2.6.36/101-cns21xx-serial-support.patch
A    target/linux/cns21xx/patches-2.6.36/002-arm-debugll-printk.patch
A    target/linux/cns21xx/patches-2.6.36/106-cns21xx-gec-driver.patch
A    target/linux/cns21xx/patches-2.6.36/102-cns21xx-gpiolib-support.patch
A    target/linux/cns21xx/patches-2.6.36/201-cns21xx-add-usb-devices.patch
A    target/linux/cns21xx/patches-2.6.36/301-cns21xx-mach-ns-k330.patch
A    target/linux/cns21xx/patches-2.6.36/203-cns21xx-add-spi-master-device.patch
A    target/linux/cns21xx/patches-2.6.36/104-cns21xx-usb-ehci-support.patch
A    target/linux/cns21xx/patches-2.6.36/003-arm-introduce-fa-platform.patch
A    target/linux/cns21xx/patches-2.6.36/005-arm-add-fa-gpio-driver.patch
A    target/linux/cns21xx/image
A    target/linux/cns21xx/image/Makefile
A    target/linux/cns21xx/patches-2.6.37
A    target/linux/cns21xx/patches-2.6.37/006-arm-add-fa-watchdog-driver.patch
A    target/linux/cns21xx/patches-2.6.37/004-arm-add-fa-time.patch
A    target/linux/cns21xx/patches-2.6.37/204-cns21xx-add-gec-device.patch
A    target/linux/cns21xx/patches-2.6.37/103-cns21xx-usb-ohci-support.patch
A    target/linux/cns21xx/patches-2.6.37/202-cns21xx-add-watchdog-device.patch
A    target/linux/cns21xx/patches-2.6.37/302-cns21xx-mach-nsb3ast.patch
A    target/linux/cns21xx/patches-2.6.37/001-arm-use-cache-alignment-from-asm-cahce-h.patch
A    target/linux/cns21xx/patches-2.6.37/100-cns21xx-core.patch
A    target/linux/cns21xx/patches-2.6.37/105-cns21xx-spi-driver.patch
A    target/linux/cns21xx/patches-2.6.37/101-cns21xx-serial-support.patch
A    target/linux/cns21xx/patches-2.6.37/002-arm-debugll-printk.patch
A    target/linux/cns21xx/patches-2.6.37/106-cns21xx-gec-driver.patch
A    target/linux/cns21xx/patches-2.6.37/102-cns21xx-gpiolib-support.patch
A    target/linux/cns21xx/patches-2.6.37/201-cns21xx-add-usb-devices.patch
A    target/linux/cns21xx/patches-2.6.37/301-cns21xx-mach-ns-k330.patch
A    target/linux/cns21xx/patches-2.6.37/203-cns21xx-add-spi-master-device.patch
A    target/linux/cns21xx/patches-2.6.37/104-cns21xx-usb-ehci-support.patch
A    target/linux/cns21xx/patches-2.6.37/003-arm-introduce-fa-platform.patch
A    target/linux/cns21xx/patches-2.6.37/005-arm-add-fa-gpio-driver.patch
A    target/linux/cns21xx/profiles
A    target/linux/cns21xx/profiles/00-default.mk
A    target/linux/cns21xx/base-files
A    target/linux/cns21xx/base-files/lib
A    target/linux/cns21xx/base-files/lib/cns21xx.sh
A    target/linux/cns21xx/base-files/lib/upgrade
A    target/linux/cns21xx/base-files/lib/upgrade/platform.sh
A    target/linux/cns21xx/base-files/lib/preinit
A    target/linux/cns21xx/base-files/lib/preinit/05_cns21xx_load_button_drivers
A    target/linux/cns21xx/base-files/etc
A    target/linux/cns21xx/base-files/etc/uci-defaults
A    target/linux/cns21xx/base-files/etc/uci-defaults/ns-k330
A    target/linux/cns21xx/base-files/etc/diag.sh
A    target/linux/cns21xx/Makefile
Updated to revision 24859
 
According to this blog, a Hitachi SimpleNET NAS Head USB 2.0 Portable Dongle is based on a Cavium CNS2132-250FP128-AEFF-G chipset. Looks like OpenWRT has geared up to support a Hitachi SimpleNET NAS Head USB 2.0 Portable Dongle! FYI, currently Fry's Electronics is selling this device @$49.95/each. With a Seagate DockStar becomes hard to get these days, it may not be a bad option to have this device as an alternate server to host an Asterisk PBX System through one of its USB ports.