Looking for my blog's rss feed? it's here:

XFS Filesystem Support in Veritas Cluster Server

Finally a blog post after more than 2 years! ;-)

I can't say I was too busy to update this but I was lazy :-P

There is nothing much to say but I've been working for Huawei Technologies since last summer.

Ok, lets talk about the topic.

I was setting up several clusters recently and I formatted the storage using my favorite filesystem, XFS :) But the strange thing was that Veritas Cluster Server (We are using 4.1)was unable to mount the storage automatically! After reading the engine log file I found this error: “Unsupported filesystem!” wtf?

If you are an experienced linux user, you most probably know that the applications which run on linux are not dependent on the filesystem format, in other words you are free to use whatever filesystem you like. So my guess was that the guys at Symantec/Veritas Software don't like XFS.

As always I googled to find a solution but I failed to :-/ So my last change was to make VCS support my lovely filesystem. After greping for other supported filesystem names in /opt I found these configurations:

/opt/VRTSvcs/bin/Mount/functions.pl
my (@supported_fs) = ($default_fs, "ext2", "ext3", "nfs", "reiserfs");
/opt/VRTSvcs/bin/Mount/Mount.xml
            <attr_description>Type of file system.</attr_description>
            <possiblevalues>
                <value>vxfs</value>
                <value>ext2</value>
                <value>ext3</value>
                <value>nfs</value>
                <value>reiserfs</value>
            </possiblevalues>

So I edited both files to add “xfs”:

/opt/VRTSvcs/bin/Mount/functions.pl
my (@supported_fs) = ($default_fs, "ext2", "ext3", "nfs", "reiserfs", "xfs");
/opt/VRTSvcs/bin/Mount/Mount.xml
            <attr_description>Type of file system.</attr_description>
            <possiblevalues>
                <value>vxfs</value>
                <value>ext2</value>
                <value>ext3</value>
                <value>nfs</value>
                <value>reiserfs</value>
                <value>xfs</value>
            </possiblevalues>

Ta-da! Now everything works fine. :-)

Don't forget to update these files on all cluster nodes in the group!

Wive(-NG) Configuration

I wrote about Wive in the previous post. I'm going to write about the configuration in this one. But first I should tell you about Wive-NG which is the next generation firmware. I highly recommend upgrading to wive-ng. The upgrade can be done as I described it in the previous post (make sure to reset the device after that). The only difference is the default ip address which is set to: 10.200.200.249.

First you should connect to the router using ssh or any ssh client you like:

$ ssh root@10.200.200.249
root@10.200.200.249's password: 
::Wive-NG-0.2.21::RTL8186-REALTIME::
Base station firmware version
Enter 'menu' for config router
Sun, 26 Apr 2009 18:41:28 +0700
[Wive-NG@/]# 

Note!

The default password is rtl8186, don't forget to change it.

Running menu will show you the configuration menu:

-=General menu=-
	
1) Boot 2)Interfaces 3)General 4)WPA 5)Stat 6)Scan 7)RSSI 8)ExtendedMenu
9) Change password 10) WiFi reset 11)Save 12)Reboot 13)Quit
	
Enter choice number: 

Enter a number and the related configuration file will be opened using vi. The configuration files are all documented using comments.

Important!

Don't forget to save the configuration by entering 11 or all the settings will be lost after reboot!

It's not possible to describe the configuration in detail here since there are many ways to configure the router which depends on how you're going to use it.

You should know about basic linux networking in order to be able to do the configuration. If you don't you can ask in any linux forums and/or irc channel related to networking. Wive-NG has a wiki but unfortunately it's in russian, you can use google translate ;-)

If you have any problems/questions related to configuration, feel free to ask here :-)

Wive: a Free/OpenSource Firmware for rtl8186 Based Devices

If you've read my previous post about D-Link DWL-G700AP you should know about the problems. I finally bricked it by installing a wrong firmware. After searching for a flash/jtag solution I found the rtl8186 project which develops the Wive Firmware. A Free/OpenSource Firmware for rtl8186 based devices including DWL-G700AP. Unfortunately there's not enough documentation available, so I had to read the forum. After reading some posts and checking the device, I found out that it was not really bricked since the bootloader was still working (no jtag was needed) and it was possible to upload the firmware using the LAN interface. Here's how it's done:

Warning!

Uploading this firmware will cancel the warranty!

  1. turn off the device (disconnect the power)
  2. hold the reset button
  3. turn on the device while you're holding the reset button
  4. release the reset button after 3 seconds

The device is booted with 192.168.1.6 ip address assigned to it's LAN interface. Now we can upload the firmware (there are 2 revisions available, A and B, you can find out the hardware revision by looking at the bottom of the device):

# ifconfig eth0 192.168.1.1
# tftp 192.168.1.6
tftp> binary
tftp> put wive_rev_b.bin

Wait 1 minute…

you can access the device using ssh (yeah, it has ssh server now):

# ifconfig eth0 192.168.0.1
# ssh root@192.168.0.50

password is: rtl8186

You have full control now. Wive has many features and you can even use the device as a router (which is not possible with the original firmware)

I'll write about configuring and managing in the next post.

autotools based build system for xsd

One of the libraries used by audiosource is xsd. It's included in audiosource under xsd/ directory. After facing problems to build against xercesc 3.0.0 we decided to remove xsd from our source code and use it as an external lib. The original build system (used by xsd) is not standard and doesn't provide installation. (package maintainers don't like it and xsd is not included in distributions). So I ported xsd and it's dependencies to autotools based build system. You can find them on my Mercurial repositories.

Use this command to clone the repositories:

$ hg clone http://hg.siavashs.org/<repo>

replace <repo> with the repository name you want.

2009/03/09 19:07 · Siavash Safi · 1 Comment

Dvorak and Colemak Keyboard Layouts on Gentoo

I've recently tried both Dvorak and Colemak Keyboard layouts. They're both good but Colemak is better and easier to learn.

Dvorak is included in Gentoo by default but you should install the Colemak layout yourself.

download and extract the layout:

# wget http://colemak.com/pub/unix/colemak-1.0.tar.gz
# tar xzf colemak-1.0.tar.gz

install console keymap:

# cd colemak-1.0/linux_console
# cp colemak.iso15.kmap colemak.map && gzip colemak.map
# mkdir /usr/share/keymaps/colemak && mv colemak.map.gz /usr/share/keymaps/colemak/

install xorg symbol:

# cp colemak-1.0/xorg/colemak /usr/share/X11/xkb/symbols/

You can switch between console layouts using loadkeys:

# loadkeys colemak
Loading /usr/share/keymaps/i386/colemak/colemak.map.gz

or:

# loadkeys dvorak
Loading /usr/share/keymaps/i386/dvorak/dvorak.map.gz

to switch back to qwerty:

# loadkeys us
Loading /usr/share/keymaps/i386/qwerty/us.map.gz

for xorg you can use setxkbmap:

# setxkbmap colemak

or:

# setxkbmap dvorak

to switch back to qwerty:

# setxkbmap us

if you want the layouts to be set automatically:

for console edit /etc/conf.d/keymaps:

KEYMAP="colemak"

or:

KEYMAP="dvorak"

for xorg edit /etc/X11/xorg.conf:

Section "InputDevice"
    Identifier    "Keyboard"
    Driver        "evdev"
    Option        "Device"           "/dev/input/event2"
    Option        "CoreKeyboard"
    Option        "XkbLayout"        "us"
    Option        "XkbVariant"       "colemak"
EndSection

or:

    Option        "XkbVariant"       "dvorak"

You should add the proper layout in your desktop enviroment's(e.g. gnome/kde) settings too.

You can use dvorakng to learn Dvorak faster, for Colmake checkout this list.

I've also repositioned my laptop's keys too. You can print the layout on paper to use it as a reference(it's not possible with all keyboards since the keys vary in size/shape).

Older entries >>