maziloFrom Mazilo Premium Member join:2002-05-30 Lilburn, GA |
mazilo
Premium Member
2010-May-11 10:18 pm
[Equipment] Hitachi SimpleNET NAS Head USB 2.0 Portable DongleIn 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
2010-May-11 11:50 pm
Re: [Equipment] Hitachi SimpleNET NAS Head USB 2.0 Portable DongI ordered one. It should arrive soon. I'm up for hacking it. |
|
| |
to mazilo
looks like a good cheap alternative for SheevaPlug. |
|
maziloFrom Mazilo Premium Member join:2002-05-30 Lilburn, GA |
mazilo
Premium Member
2010-May-12 6:46 am
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 |
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 |
to mazilo
I haven't even opened mine up yet - too busy.
It sounds like you made some progress, though. |
|
maziloFrom Mazilo Premium Member join:2002-05-30 Lilburn, GA |
mazilo
Premium Member
2010-Jun-11 9:03 pm
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 |
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.
|
|
maziloFrom Mazilo Premium Member join:2002-05-30 Lilburn, GA |
mazilo
Premium Member
2010-Jul-11 9:31 am
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
2010-Jul-11 12:56 pm
Thanks. I will give this a try. I'm still waiting for the rs232/ttl adapter to come in the mail. |
|
jjoshua 1 edit |
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=11I replicated Bill Kibler's results. I am able to access u-boot through the console. |
|
maziloFrom Mazilo Premium Member join:2002-05-30 Lilburn, GA |
mazilo
Premium Member
2010-Jul-15 6:21 am
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=11I 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
2010-Jul-15 11:21 pm
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. |
|
maziloFrom Mazilo Premium Member join:2002-05-30 Lilburn, GA |
mazilo
Premium Member
2010-Jul-16 9:17 am
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
2010-Oct-6 12:50 pm
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
2010-Nov-20 10:38 am
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
2010-Dec-30 12:41 pm
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. |
|