I-Rocks KR6251 Mechanical Keyboard

posted Dec 29, 2011, 9:03 PM by hyunghwan chung   [ updated Dec 29, 2011, 9:22 PM ]

I just switched from the Thinkpad SK-8855 to I-Rocks KR6251. This reasonably priced mechanical keyboard uses Cherry MX red switches requiring 45g actuation force. I feel that fatigue on fingers has been reduced since using it though I was pretty happy with the Thinkpad.

Its built-in 3-port usb hub got this external USB hub retired.

EXT3 on an Iomega iConnect Wireless Data Station

posted Feb 27, 2011, 5:55 AM by hyunghwan chung   [ updated Nov 7, 2011, 7:34 PM ]

After playing with the Iomega iConnect WDS for a while, I soon realized that it had no support for EXT3 formatted partitions as well as other non-MS file systems unlike what is said on various review sites. Iomega didn't care to include any kernel modules for such file systems. Here is how I cross-compiled the EXT3 kernel module on Ubuntu Linux x86_64 and installed it to the box.

Enable the SSH access by checking Allow remote access for support (SSH and SFTP) in http://ip-address-of-iconnect/supportaccess.html.

Once SSH is enabled, you can log in as root@ip-address-of-iconnect with the password of soho+your-admin-password. If your administration password is tiger, your SSH password for the root user is sohotiger.

Get a proper cross-compiler and install in on your local development machine. I was too lazy to build my own so simply downloaded a compiler for SheevaPlug from and used it. The file downloaded is shown below and contains two files one of which contains ARM cross-compiler suite for 32-bit x86.

Extract files from gcc.tar.bz2 and place them into a directory you like. I put them under ${HOME}/iconnect/LinuxHost/gcc.

Get the kernel source files and the configuration file from the Iomega download site I could get the file named which includes and contains the kernel source files and the configuration file.

Extract the kernel source to a directory you like and copy config_iconnect to the root of the kernel source code as .config. I placed them in ${HOME}/iconnect/linux- without applying the patches in the patches directory as they do not include anything related to EXT3.

Chnage the current directory to the top of the kernel source code which, in my case, is ${HOME}/iconnect/linux-

$ cd ${HOME}/iconnect/linux-

Open the kernel configuration interface by executing the following command.

$ make menuconfig ARCH=arm

Enable the EXT3 file system driver under File systems.

Build the kernel with the following command.

$ make ARCH=arm CROSS_COMPILE=${HOME}/iconnect/LinuxHost/gcc/bin/arm-none-linux-gnueabi-

If compiling completes with no errors, you should be able to get the file system module files from the fs directory. Not only ext3.ko, but you need jbk.ko and mbcache.ko which ext3.ko depends on.

$ ls fs/ext3/ext3.ko fs/mbcache.ko fs/jbd/jbd.ko
fs/ext3/ext3.ko  fs/jbd/jbd.ko  fs/mbcache.ko

Copy these three files to the iConnect box. I chose to copy them into /etc because /lib/modules and its subdirectories are mounted read-only.

$ scp fs/ext3/ext3.ko fs/mbcache.ko fs/jbd/jbd.ko root@

Now log in to the iConnect box.

$ ssh root@

You can strip unnecessary information from the kernel module files copied to save some space on the box.

root@eagle:/# cd /etc
root@eagle:/etc# strip --strip-unneeded ext3.ko mbcache.ko jbd.ko

Load the kernel modules with the insmod command.

root@eagle:/etc# insmod mbcache.ko
root@eagle:/etc# insmod jbd.ko
root@eagle:/etc# insmod ext3.ko

Now, the iConnect box should be able to mount drives formatted in EXT3.

Add the following three lines into /etc/rc.local to make loading permanent.

insmod /etc/mbcache.ko
insmod /etc/jbd.ko
insmod /etc/ext3.ko

You may simply download precompiled-ext3-driver-for- from the attachments below if your device runs and you don't want to get your hands dirty compiling the modules.

Iomega iConnect Wireless Data Station

posted Feb 26, 2011, 7:11 AM by hyunghwan chung   [ updated Feb 27, 2011, 6:13 AM ]

I got a new Iomega iConnect Wireless Data Station from Amazon recently not to waste spare hard disk drives lying around. It is a diskless NAS that comes with 4 USB ports where you can plug in  USB storage devices. I bought it because it is ARM Linux system with 256MB RAM and 512MB flash memory. To be more precise, it is Marvell Kirkwood ARM which is the same processor as SheevaPlug. Let me show you the unit with USB storage devices plugged in.

1-3 of 3