Thursday, December 01, 2011

5.0 amd64 K43U: Firefox + gecko-mediaplayer + FlashVideoReplacer = watch streaming video inside Firefox!


Maybe you guys knew about this far longer than me but this post is just a reminder for me. Anyway, here it is.

- Install Firefox
- Download and install gecko-mediaplayer from OpenBSD package.
- Search for FlashVideoReplacer plugin from Firefox's plugin website. Install that.

After FlashVideoReplacer plugin has been installed. There will be an icon on the top right side of Firefox. Click on it and go to Preferences. On the Replacement tab, I choose:

- Preferred method = embedded
- Plugin/MIME type = WMP (application/x-mplayer2)

Then enjoy streaming videos.

Just a while ago I managed to make a mess by configuring the mplayer plugin to use xv in "Right-click video > Preferences > Adjust Output Settings > Video Output". When I open videos after that, the screen is blank but there's sound. To make it worst, right-click does nothing so I can't go to the Preferences again. The solution? go to ~/.mplayer/ and delete the config. Opening another video will reset the settings. Later.

5.0 amd64 K43U: Current status.


So far, this is my experience on running 5.0 amd64 using this K43U laptop. The list is what I consider as interesting and somewhat important.

1) Atheros (athn0) wireless works. Using kismet to scan for AP but I didn't test to connect to any yet.
2) Realtek (re0) LAN works like a charm.
3) Haven't tested suspend/resume yet. Soon I hope.
4) Sound works out of the box. Yum!
5) AMD Radeon HD 6310 is not yet supported. My widescreen LCD panel is on 1024x768 on vesa although it should be 1366x768. Still searching for tips on this.

1) Davmail 64-bit (using FreeBSD's package). Currently still testing as there's issue with java memory error.
2) Firefox works and now I can watch streaming video (youtube etc) inside Firefox! Using gecko-mediaplayer plugin and FlashVideoReplacer extension.
3) Thunderbird + enigmail works.
4) scrotwm using the source (0.9.34). Works great. No crashing on Thunderbird anymore.
5) conky have problem with ${addr} and multicore processor. Read about patch to fix it but I installed from package, not from port so no hope for me yet. Maybe in -current?

Later then.

5.0 amd64 K43U: Davmail crash with java dumping core, FreeBSD's package might be the saviour.


As some of you know, I'm using OpenBSD primarily for work and I use my company's email address which uses MS OWA. So I use davmail so Thunderbird can retrieve my emails properly. You can search my blog for davmail settings.

I downloaded davmail-3.9.6 and I noticed that less than an 1, davmail will crash and there's java.core dumping. I have a hint that this might be due to 64 version of davmail is not available for OpenBSD and there's only linux's version which has 64-bit.

As this issue is critical, I need to make sure I resolve this as soon as possible. Downloading linux's 64-bit version is out of the question because I don't want any more mess. So I thought of doing an experiment.

I noticed that FreeBSD have amd64 version of davmail in their package system. FreeBSD, which used to be i386 system only have broaden their supported architecture by releasing amd64 version of their OS a few years back. Good news indeed.

I found davmail-3.8.4 package (*.tgz) for FreeBSD 8.2 which is ok as long as it will work. I do some comparison and found that this is what's needed for davmail to work. No installation needed.


There's some files inside the lib folder and only 1-2 files has changed since 3.8.4 to 3.9.6. So I extracted the *.tgz and copied that files into ~/davmail/. Using my previous davmail configuration, I'm now using the amd64 version of davmail meant for FreeBSD.

I'm just using it today, starting in just 1 hour and so far it seems to be working fine. It davmail can survive working hours today then it's great. For the package, you can download from FreeBSD or I can provide mine if needed.

Update!: Just as I published this post, the davmail crashed again. Here's the header of the error message:

# A fatal error has been detected by the Java Runtime Environment:
# java.lang.OutOfMemoryError: requested 4361696 bytes for Chunk::new. Out of swap space?
# Internal Error (allocation.cpp:272), pid=11064, tid=8626964480
# Error: Chunk::new
# JRE version: 7.0
# Java VM: OpenJDK 64-Bit Server VM (20.0-b03 mixed mode bsd-amd64 compressed oops)
# If you would like to submit a bug report, please visit:

Maybe it's java's issue. Hmm. I'll need to search for answers. Maybe install another version of jre or jdk. Anyone else have this issue?

Update 02/12/11 09:40:
I found that there's already a few 5.0 users which posted question regarding this java.lang.OutOfMemoryError issue and it affected different java based program like eclipse and netbeans.

Rewinding a bit, DavMail is run using script which resides in DavMail folder. Normally by default, the script contains:

# Ahmad Zulkarnain 2011
BASE=`dirname $0`
for i in $BASE/lib/*; do export CLASSPATH=$CLASSPATH:$i; done
java -cp $BASE/davmail.jar:$CLASSPATH davmail.DavGateway $1

The last line tells the script to run DavMail. I tried to change the command to:

java -Xms512m -Xmx512m -cp $BASE/davmail.jar:$CLASSPATH davmail.DavGateway $1

Note the bold text are the changes I made. But then I have this error:

/home/karl/davmail/ /home/karl/davmail/davmail.conf
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

I even tried using only -Xms512m or -Xmx512m with the same error. So then after reading the java man page, I experiment with adding -d64 to force DavMail to run in 64-bit environment. So now the last line of looks like this:

java -d64 -cp $BASE/davmail.jar:$CLASSPATH davmail.DavGateway $1

Now I tested that one invoking sh ~/davmail/ ~/davmail/davmail.conf without making it a background process so I can see the output in xterm. I tested that since my last post on the java.lang.OutOfMemoryError until the end of my working hour and there's no crash. *Maybe* DavMail is not stressed enough by then because mails are less in the evening. So today I'm testing the altered to see if it can survive until the end of my working hours. I will keep you guys posted on that.

Thanks to Daniel M for your comment, sorry I have to answer your question in here instead of the comment box but I'm still interested to know any java tips from you.

Update 02/12/11 11:49:
Ok it crashed again. Still have the java.lang.OutOfMemoryError and java.core dump. But at least it's not as fast as yesterday. I managed to get more than an hour of emailing done. So I need to search for more answers. Later.

Wednesday, November 30, 2011

5.0 amd64 K43U: dmesg!


Here's the dmesg for K43U. Take note that I've upgraded my machine with 8Gb RAM. Yum!

Later then. Yeah I know I've not yet completed my installation's experience...

Tuesday, November 22, 2011

Garuda is yet again no match for Harimau Muda. Hurray for Malaysian Football Team!


I'm still excited because our Harimau Muda football team has won the SEA Games gold medal for the 2nd time in a row!! Hurray! Although the team has been provoked, our national anthem disrespected by the home crowd, BUT STILL WE"RE THE CHAMPION! The team fought Indonesia in quarter final and in the final, at Gelora Bung Karno's stadium, the so-called "stadium keramat" for the home team BUT WE BEAT THEM TWICE! YEAH!.

The "ganyang Malaysia" provocation ignited during the SEA Games football campaign didn't destroy the team's spirit. Instead of respecting other nation's culture, some of the home crowd choose to be rude and childish. Oh well, you get silver medal for that. Good on you.

For Harimau Muda and Harimau Malaya, keep up the great effort and superb performance. We'll always support you (as long you guys can cope with criticism that is :). You guys deserves the gold medal, and the sweet memory of beating Garuda on their own turf.

As for Garuda, good show. Can't say the same for some of the supporters though. Enjoy your silver medals. With all the courtesies of the referees, you guys earned it. Doping Check while Harimau Muda is still celebrating and haven't even received their medals yet? Wow that's too unprofessional.

Oh while I'm still on football here, remember AFC Cup. Heh. Later.

Monday, November 21, 2011

5.0 amd64 K43U: Dual booting OpenBSD 5.0 AMD64 with Windows 7 x64.


Ok. Now's the time some of us has been waiting for. I'll write up the experiences in configuring dual-boot environment of OpenBSD 5.0 AMD64 and Windows 7 x64 on my Asus K43U AMD Vision's laptop. I might write this in parts, or even put it all in this 1 posting.

Previously I wrote a bit about my K43U laptop and a bit about the specification. I have a large hard disk, 500Gb so I made my mind to dual boot this laptop with OpenBSD 5.0 AMD64 and Windows 7 x64. OpenBSD will be my work environment, and Windows 7 will be for gaming stuff. Now on to the experience.

1) Preparations
Ok first of all, install Windows first. On my K34U, I have 3 partition on my 500Gb drive. The first partition is Windows's reserved for something that I don't know of, whatever to make the OS happy. Then the 2nd partition is for Windows 7. The 3rd partition is for OpenBSD 5.0 AMD64. Make sure the important files in Windows 7 is properly backed up, as I've learned on the hardest way possible. More on this in a moment. Here's how I divide the hard disk.

None = System Reserved = 100Mb
C: = Windows 7 = 270Gb
None = OpenBSD 5.0 AMD64 = 195Gb

After hours of installation and updating Windows 7's driver to make it workable, my Windows 7 environment is installed. I used MS's Computer Management > Disk Management to create the free space for the would be OpenBSD into a raw partition without any filesystem format inside.

With the OpenBSD's CD inside, I rebooted the machine and for K43U, I need to press [ESC] key during the ASUS logo to choose the boot device. Then I choose my DVD drive to boot the OpenBSD CD. Then the lovely OpenBSD boot screen appears.

OpenBSD then asked me to choose either to (R)epair, (I)nstall or (U)pgrade, I choose [I] for installation.

After that the setups for root user/pass, configuring re0 for network and adding another user for the system. It's all the easy parts.

Then OpenBSD asked me to either "use the (W)hole disk or (E)dit the partition". It's the fdisk *gasp*. I just remembered and my last dual-boot exercise is on FreeBSD which is a long time ago! Ah. People says that curiosity kills the cat and mine killed my Windows 7 partition as I thought pressing [W] will give me a preview and there will be a confirmation afterwards asking me to confirm to use the whole hard disk. Well remember this well people. IT DOES NOT!. Once you hit the [W] key, OpenBSD will proceed with rewriting the MBR and it will be nearly impossible to recover your Windows installation. Well some said it's nearly impossible, but me, I never managed to get it back! I had to reinstall Windows 7 and start again. So do keep this in mind.

So I carefully hit the [E] key (remember next to the [E] key is... the [W]!!) so I can edit the partition manually. Here's a bit of it. Bold text is my input:

fdisk:1> e 2
fdisk:1> A6
fdisk:*1> q

So basically I told fdisk to use the 3rd slice (partition) of the hard disk (remember in *nix numbers starts with 0, not 1) and it's labeled as 2. OpenBSD needs A6 as the filesystem type so I set it. Then I just press [Q] to save changes and exit fdisk. Some pointer on the net stating that pressing [W] to write the changes in MBR is needed but I didn't do that. I might make you happier but currently this minimum steps are working fine for me.

After that, my partitions look like this:

Take note that the "*" sign on partition 0 means that I didn't make the new OpenBSD partition as active partition and retain Windows 7 partition as bootable. Well, this is because I'll be using Windows 7's own boot manager for dual booting. No need to install other boot manager software.

Now to partition the OpenBSD slice (Partition? Slices?). As usual, I starts with auto to see roughly how OpenBSD will partition my OpenBSD. And then I revert back to zero and do it manually. So I come up with this:

/ = 1Gb
swap = 2Gb
/var = 7Gb
/tmp = 4Gb
/usr = 18Gb
/home = the rest

Yours might be different so adjust it accordingly. I still think my swap is too big but as I have a bigger hard disk now, it doesn't matter much. Then proceed with OpenBSD installation. It took a while but no problem on the installation. Great.

2) Dual-boot preparation.

So the OpenBSD 5.0 amd64 has been installed. Before I reboot the machine, it's best to refer to

I proceed with creating the OpenBSD Partition Boot Record using the OpenBSD page for reference.

# dd if=/dev/rsd0a of=openbsd.pbr bs=512 count=1

After that I put my fat32 usb thumbdrive and copy the file "openbsd.pbr" into it.

Before rebooting, I changed the timezone so that the time in OpenBSD don't go off by 8 hours (Malaysian time). Text in bold is mine.

$ sudo config -ef /bsd
OpenBSD 5.0 (GENERIC.MP) #63: Wed Aug 17 10:14:30 MDT 2011
Enter 'help' for information
ukc> timezone -480
timezone = -480, dst = 0
ukc> quit
Saving modified kernel.

How did I get the "-480"? Because Malaysian time is +8 to UTC. So why was it -480? 8 x 60 mins = 480 mins. Because we're 8 hours in advance from UTC, we need to deduct the timezone about 480 minutes. Yours might be different so do make sure of it. dst is Daylight Saving Time which we don't use so it's 0. Oh yeah, make sure visudo is done appropriately so that we can sudo.

3) Configuring Windows 7 x64 to dual-boot.

Ok remember when I didn't change the active partition on fdisk back then? It's because we're going to reboot and let Windows 7 as the default boot (not for long though). I'll be using W7's own boot manager to dual boot OpenBSD amd64 and Windows 7 x64. As before, it's best to refer to OpenBSD's page on multibooting because I do.

Inside Windows 7, I moved the openbsd.pbr from my thumbdrive to C:\. Then I opened cmd (MS command prompt) as Administrator. Inside it, I typed the following. Bold text is mine and TAKE NOTE! I copied this from OpenBSD's page because there are details I didn't save.

C:\Windows\system32> bcdedit /create /d "OpenBSD/i386" /application bootsector
The entry {0154a872-3d41-11de-bd67-a7060316bbb1} was successfully created.

C:\Windows\system32> bcdedit /set {0154a872-3d41-11de-bd67-a7060316bbb1} device boot
The operation completed successfully.

C:\Windows\system32> bcdedit /set {0154a872-3d41-11de-bd67-a7060316bbb1} path \openbsd.pbr
The operation completed successfully.

C:\Windows\system32> bcdedit /set {0154a872-3d41-11de-bd67-a7060316bbb1} device partition=c:
The operation completed successfully.

C:\Windows\system32> bcdedit /displayorder {0154a872-3d41-11de-bd67-7060316bbb1} /addlast
The operation completed successfully.


See the text in underline? That thing depends on your system. I didn't save what's mine so I copied from OpenBSD's page. Yours will be different so do take note of that. Now the machine has been configured to dual-boot between OpenBSD 5.0 amd64 and Windows 7 x64. The Windows 7 boot manager can be tweak.

That's all. I might be updating this post to reflect any other things I forgot to mention etc. Enjoy and later!

Friday, November 11, 2011

ASUS K43U: Review - Specifications, or sort of.


Ok it's been a few weeks I'm using this ASUS K43U laptop. There's a few version of K43U laptop, with either AMD E350 (1.6Ghz x2) or E450 (1.65Ghz x2) processor. Mine is an E450 version. I know that link I gave you just state about E350 version, but ASUS is quite known for confusing website details/navigation. To make things worst, details for the laptop is insufficient and lacking. So I had to search for informations around that net. So far, this is what my K43U is made of:

Prosesor: AMD Brazos Dual Core E450 1.65ghz
Chipset: AMD A50M Chipset
Memory: DDR3 1333MHz SDRAM (8Gb Max), mine is 2Gb (urghh)
Display: 14.0" 16:9 HD (1366x768) LED Backlight
Graphic: AMD Radeon® HD6310
Storage: 500GB 5400rpm
Optical Drive: Super-Multi DVD
Card Reader: 4-in-1 Card Reader ( SD/ MS/ MS Pro/ MMC)
Camera: 0.3 Mega Pixel Fixed web camera
Atheros AR9002WB-1NG Wireless Network Adapter
Bluetooth V2.1+EDR
Realtek PCIe GBE Ethernet
1 x Microphone-in jack
1 x Headphone-out jack
1 x VGA port/Mini D-sub 15-pin for external monitor
3 x USB 2.0 port(s)
1 x RJ45 LAN Jack for LAN insert
1 x HDMI
Realtek High Definition Audio
Built-in Speakers And Microphone
Speaker Altec Lansing®
Battery: 6Cells 5200 mAh 56 Whrs

It's not a high spec notebook, but to me it's impressive. Before I bought this laptop, I was considering a few other brands/models, such as Lenovo G475, Fujitsu LH520 and Toshiba C640. Yes all the models is AMD powered and no I won't consider buying intel.

My highest priority would be Fujitsu LH520 (spill proof keyboard!). But I searched everywhere for easy-payment solution and was left with only 2 options, the ASUS and Lenovo. Toshiba in the other hand, was hard to find. They have intel machines up for sale but the C640 is a rare beast. So, I went to ASUS. The K43U came with 2 years global warranty instead of Lenovo's 1 year so the choices aren't hard to make.

What I like about K43U now that I owned 1? Well, it's quiet. Comparing it with my previous machine, the NC4200; the sound of the CPU Fan on NC4200 is like a rock concert. I can barely hear the CPU Fan on this K43U. I have to really put my ear close to the laptop heatsink area to hear the spinning sound. Nice. The machine doesn't feel hot even when I tested a recent 3D game. The LCD is bright, in fact I think it's too bright and it makes my eyes tired easily. But the picture is nice. Very nice. The 1366x768 widescreen resolution is nice too. Graphic wise, it's amazing for an entry level notebook. Games which was struggling on my AMD 939 dekstop is playable in this notebook. Great. The battery life is also good for a 14" machine.

Now for the things I hate about the K43U. First, plastic. Feels like cheap plastic. Hello! Aluminium case please! Why only the intel/mac machines have it? Then the keyboard. The keys lack individual feels to it. I mean, it's just flat. Touch typing is a pain. I'm growing on it but typos are everywhere. Maybe in a few more weeks I hope. Also the keyboard have no spill-proof thingy (Fujitsu! Where are you?). There's no MS XP device drivers so I'm stuck with Windows 7 for dual booting.

Then the USB port's placement. I always use Optical USB Mouse and on NC4200, there's a USB port on the rear end of the laptop which I can use for the mouse so the cable is out of the way. On K43U, there's 3 USB ports, 2 on the left, 1 on the right and all near the front of the laptop. I ended up using the left USB port for the mouse because the right side is obstrusive. Although the K43U have Altec Lansing speakers, but the sound is lacking in bass. Musics just sounds so thin. It might be the Realtek's driver for Windows 7 x64 but I don't have other OS yet to test out the sound. Even using my trusty headphone won't make a difference. Edit: Ok the sound is good using my trusty headphone now. But the Altec Lansing's speaker on this laptop is just.. shame. Even my NC4200's single speaker sounded better.

Ok enough with the criticism. All in all, most of the things I hate about this machine is because of design issue and software stuff. Overall, I'm satisfied with this laptop. Still, I hope there will be a nice 15" AMD laptop with aluminium body. Yeah!

I've been dying to run OpenBSD AMD64 for a long time so this is a great opportunity. And because this machine have 500Gb of space, I opted to dual boot with Windows 7 x64. Of course, Windows 7 is for gaming and the rest will be in OpenBSD. I've readied OpenBSD 4.9 AMD64 when I noticed that 5.0 was already out early November. Sheesh!.

Currently I'm still preparing the Windows 7 environment. It's taking quite some time with the driver's updates, system updates, additional software download bla bla. I would've gone back to XP x64 if the device driver for it exist! Hello ASUS! No XP drivers? Also I'm preparing the W7 for game programming environment because I want to try out game programming.

OpenBSD 5.0 will follow up as soon as possible. I'm missing scrotwm already. Later then.

Tuesday, November 01, 2011

Farewell NC4200, hi Asus K43U. OpenBSD 4.9 AMD64 here I come!


I just bought myself a new laptop. It's as Asus K43U Series laptop with AMD Vision E450 processor. I have to admit I'm an AMD fan so that's why I don't buy intel (my NC4200 was given to me, didn't bought it).

And so, I'm saying goodbye to my NC4200. It was a pleasure working with it. I'll put out a brief review of this Asus machine later.

Another good news, I'll proceed with OpenBSD 4.9 AMD64 version next! Yeah! I've been dreaming to try out AMD64 version of OpenBSD so this is the best time for it. Not forgetting to *finally* proceed to install 4.9. So expect me to write something about that soon enough. I've already prepared the installation media for 4.9 so it won't be long now. Later then.

Monday, October 10, 2011

10,000 page view. At last! Thank you very much.


I know it's not that accurate because me viewing my own blog also will be counted, but heck, 10,000 views now!. Wow. I never thought that would be possible. Someone do read what I've posted. Thanks. This is really amazing. I'm very happy indeed. Thanks again to people out there.

Thursday, October 06, 2011

Steve Jobs is no longer with us.

As many would've known by now. Steve Jobs, ex-CEO of Apple Inc died peacefully on 5th October 2011. No one can deny his contribution to Apple especially and to all of us in general. For sure, people will miss him.

Thursday, September 08, 2011

OpenBSD NC4200: Simple script for audio output swapping for scrotwm.


I've written a simple script to alternate audio out between my laptop speakers and phone out. This script is intended for scrotwm, but also can be used on its own.

As usual, feel free to copy this file and improve it. You can see by the Gist that there's 2 files, the first is .scrotwm.conf and the next one is (see the file name on bottom right of the embed).

The .scrotwm.conf is a snippet of configuration needed to make the script work with scrotwm's key binding. As you can see, I've set the key binding to Mod+Shift+a key. So whenever I press the key binding, the audio output will swap between speaker and phone out. Very simple. All I need to do is add the snippet to ~/.scrotwm.conf.

Then I need to save the 2nd file as and save it in /usr/local/share/scrotwm/. There's a few other default scrotwm's script inside there. Make sure the is executable, if not do chmod 755 or similar which is suitable for your environment. Then enjoy.

Previously I would need to manually mute/unmute both master and phone out as I sometime uses headphone. Now I can simply press Mod+Shift+a to swap between it.

Take note that this script can be used even without scrotwm. You just need to copy the 2nd file to your ~/ (home) and run it by typing ./ or use another keybinding if available. Later.

Monday, September 05, 2011

OpenBSD: Setting up GIT to store my dotfiles.

Ok. So I'm on Git now. As I'm not on a programming project whatsoever, my Git is basically just to store (or maybe sync) my dotfiles. Also will be used for embedding any of the dotfiles according to my blog post.

As I'm using it on my company's network, which has a very restrictive firewall and I'm online through a proxy, this is what I did to get my Git working. Take note that I'm using GitHub and most of the references are contained there.

1) Install Git.
I installed the Git package.

2) Set up proxy environment for Git.
In xterm, I set the http proxy value. Take note that I have set up my http_proxy env in ~/.profile:

# git config --global http.proxy $http_proxy

3) Set Git to ignore SSL verification.
I have to set this option, you might not need to touch this. In my ~/.profile, I add the following:

export GIT_SSL_NO_VERIFY=true

4) Follow Github's guide for my first git. Enjoy.

The GitHub's website is very easy to follow. At no time I have successfully push my first commit to it. I will post more bout this after I commit my dotfiles. Later.

Thursday, August 25, 2011

OpenBSD NC4200: tmux + vim + xterm 256 color. Solved

Hurrah! I've found the answer. My scrotwm open up xterm with tmux instead of plain xterm. Just now I used:

program[term] = xterm -e tmux

To open new term with tmux. That's what causing the 256 color issue. Seems like opening tmux like that made the xterm not setting the correct $TERM. That's why if I open an xterm, then open tmux, the 256 color will look as it's intended. So I changed that to xterm -tn xterm-256color -e tmux so that the xterm will open with 256 color $TERM correctly. And it works! Here's my ~/.scrotwm.conf for your pleasure. Feel free to use it.

Do note that I don't use spawn_term = xterm anymore. Initially I changed that to open tmux automatically, but defining other than "xterm" value just don't work. Hitting MOD+Return just didn't open any xterm at all. So that's why I had to use program[xterm] instead. As long as it works.

And here's my whole ~/.profile. Do take note on the upper part of the file especially on the xterm & tmux bit.

As usual, use it if you want to. Later.

OpenBSD NC4200: tmux + vim + xterm 256 color.

Sorry I have to delete my previous post. Surely that was a bit hurried. I should've tested more on the 256 color issue with tmux + vim. Ok, first of all, let's rewind back a bit for the history.

This is the scenario.

My vim's 256 color theme just got the wrong color in tmux than in regular xterm. I have set up MOD+Return in scrotwm to open up tmux inside xterm. When I use that, there's color but my wombat256 theme for vim is very different. If I open xterm, then open tmux, the theme will look as it should be. So I know this have something to do with $TERM env, and I'm searching the man for answer. I will post my ~/.profile with relevant files after I can make vim 256 color work correctly. Later then.

Thursday, August 18, 2011

OpenBSD NC4200: scrotwm 0.9.34, no more crash.


I wrote previously regarding a bug which core-dumping my scrotwm session (yeah they have a new site for scrotwm). I'm still on 4.8, being lazy to upgrade to 4.9 up till now, so I was left with the only option which is to compile scrotwm's latest version.

So I downloaded 0.9.34 version which is the latest. I put it *.tgz file to a temporary folder. Fingers crossed, this is the steps.

Create /usr/xenocara/ folder.
# mkdir /usr/xenocara
# tar xvzf scrotwm-0.9.34.tgz
# cd scrotwm-0.9.34
# make obj
# make depend
# make
# make install

That's all. If you don't create the xenocara folder, you'll get stuck in "make obj" command. So far there's no crashing when I'm using Thunderbird. Very nice! I didn't test CUPS yet will tell you later. Have fun and oh, Selamat Menyambut Ramadhan!

Wednesday, May 25, 2011

OpenBSD NC4200: Burning DVD using USB DVD-RW.

Ahh, My anime is screaming to be put into a DVD as my disk is nearly full. So I have an idea to write an entry for this blog-o-mine. Writing DVDs.

My laptop doesn't have optical drive built in. So I'm using the USB DVD-RW drive. The dmesg for the usb drive is:

umass0 at uhub0 port 3 configuration 1 interface 0 "Hewlett Packard USB Multibay IDE 2.466" rev 2.00/2.46 addr 3
umass0: using SCSI over Bulk-Only
scsibus0 at umass0: 2 targets, initiator 0
cd0 at scsibus0 targ 1 lun 0: SCSI0 5/cdrom removable

As for the software needed, the minimum is:


cdrtools contains mkisofs for writing CDs and dvd+rw-tools contains growisofs for writing DVDs. To ease my DVD burning project, I also installed:


Basically for DVD writing, growisofs is quite the standard for it. It's command line so customization is great. But I'm using TkDVD which is "a GUI for dvd+rw-tools and cdrecord/cdrkit. It allows burning DVD+R/RW, -R/RW, and CD-R/RW discs easily.". But while using the program, you can still see the command line it's using to burn the DVD.

First, I make sure that my user is in the operator group.

In /etc/fstab, mounting the drive would be using /dev/cd0a, but for writing disk it is /dev/rcd0c. By default, the /dev/rcd0c is set to crw------- which is Read/Write for root only. So I need to allow operator group to read/write the device.

# sudo chmod g+rw /dev/rcd0c

So now the operator group can write to the device. Now to perform the burning. I inserted the DVD disc, no need to mount anything. Then fire up TkDVD.

TkDVD's gui will appear, which is very user friendly. I left all of the options intact except for the DVD size. Choosing all the *.mkv and *.ogm files I wanted to burn, I make sure the Burning device: is set to /dev/rcd0c. Then I write the Volume name: to the name of the disc I want it to be known and hit the Burn button. I can also review the command TkDVD is using to burn my DVD in Command: field. Writing initiated and when it's done your DVD disc will be ejected. Easy! Later then.

Monday, May 23, 2011

OpenBSD NC4200: Upgrading 4.8 to 4.9. Soon.


I'll try upgrading my machine to 4.9 soon (aka when I feels like it..). My method will be via CD and the OpenBSD' Upgrading howto. Later.

Monday, April 04, 2011

OpenBSD NC4200: .profile script for easy Celcom 3G dialing / disconnecting.

Ok. I'm still testing to get auto proxy setting script. But in the mean time, you can copy and use this simple script to dial/disconnect your Celcom 3G. Feel free to alter the script if you use other telco. I put this one under my ~/.profile, but you can also create a file, paste the script and chmod the script executable.

# This is to dial celcom3g
function celcom3g {
 # Some internal functions
 function celcom3gConnect {
  sudo ifconfig ppp0 create
  pppd call celcom3g
 function celcom3gDisconnect {
  pkill -9 pppd
  sudo ifconfig ppp0 destroy
 # Dialing function
 if [[ $1 = "connect" ]];
   echo "Connecting to Celcom3G...";
 elif [[ $1 = "disconnect" ]];
   echo "Disconnect from Celcom3G...";
 elif [[ $1 = "restart" ]];
   echo "Restarting Celcom3G connection...";
  echo "Usage: $0 [connect|disconnect|restart]";

So if I want to dial to Celcom 3G, I just type celcom3g connect in the console, celcom3g disconnect will disconnect the connection and celcom3g restart will disconnect and connect. Currently celcom3g restart doesn't work properly as I need to implement some pausing after disconnect before reconnecting. So, for the time being, to restart the connection, I disconnect, wait a few seconds (until the USB modem light stop blinking) then connect. I'll update this post with other enhancement if I found any. Also, make sure your pppd script is named celcom3g in your /etc/ppp/peers/ folder. Find my previous post regarding this. Enjoy. Later.

Tuesday, March 29, 2011

OpenBSD NC4200: Using Celcom ZTE MF190 USB Modem.

I just registered with Celcom Broadband with no contract. Received a ZTE MF190 USB modem with sim card and working fine in XP. As usual, making it work in OpenBSD is the goal. OpenBSD's umsm listed a few ZTE USB modem as supported USB 3g modem but currently using cu -l cuaU0 will just display "Connected" and hangs there. Tried using cuaU0 to cuaU2 with no avail. I've posted a question in misc@ and a guy have replied and forwarded related emails regarding ZTE USB 3g modem. Thanks for that!. It seems that this type of USB Modem share similar properties as a supported ZTE modem, so no patching is required.

1) Getting info about the USB Modem.
Here's the dmesg after I inserted the usb 3g modem.

umsm0 at uhub0 port 3 configuration 1 interface 0 "ZTE,Incorporated ZTE WCDMA Technologies MSM" rev 2.00/0.00 addr 5
umsm0 detached
umsm0 at uhub0 port 3 configuration 1 interface 0 "ZTE,Incorporated ZTE WCDMA Technologies MSM" rev 2.00/0.00 addr 5
ucom0 at umsm0
umsm1 at uhub0 port 3 configuration 1 interface 1 "ZTE,Incorporated ZTE WCDMA Technologies MSM" rev 2.00/0.00 addr 5
ucom1 at umsm1
umass1 at uhub0 port 3 configuration 1 interface 2 "ZTE,Incorporated ZTE WCDMA Technologies MSM" rev 2.00/0.00 addr 5
umass1: using SCSI over Bulk-Only
scsibus1 at umass1: 2 targets, initiator 0
cd1 at scsibus1 targ 1 lun 0: <ZTE, USB SCSI CD-ROM, 2.31> SCSI2 5/cdrom removable
umsm2 at uhub0 port 3 configuration 1 interface 3 "ZTE,Incorporated ZTE WCDMA Technologies MSM" rev 2.00/0.00 addr 5
ucom2 at umsm2

Here's the usbdevs -v outputs:

Controller /dev/usb0:
addr 1: high speed, self powered, config 1, EHCI root hub(0x0000), Intel(0x8086), rev 1.00
port 1 powered
port 2 powered
port 3 addr 5: high speed, power 500 mA, config 1, ZTE WCDMA Technologies MSM(0x0031), ZTE,Incorporated(0x19d2), rev 0.00, iSerialNumber P671A1CELD010000
port 4 powered
port 5 addr 2: high speed, self powered, config 1, USB2 Hub(0x6560), Cypress Semiconductor(0x04b4), rev 0.0b
port 1 addr 3: high speed, self powered, config 1, USB Multibay IDE 2.466(0x031d), Hewlett Packard(0x03f0), rev 2.46, iSerialNumber HH63MC0BLTC1
port 2 powered
port 3 powered
port 4 addr 4: low speed, power 98 mA, config 1, USB-PS/2 Optical Mouse(0xc03d), Logitech(0x046d), rev 20.00
port 6 powered
port 7 powered
port 8 powered
Controller /dev/usb1:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x8086), rev 1.00
port 1 powered
port 2 powered
Controller /dev/usb2:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x8086), rev 1.00
port 1 powered
port 2 powered
Controller /dev/usb3:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x8086), rev 1.00
port 1 powered
port 2 powered

2) Set up the logging environment.
I create /var/log/ppp.log file. Then I vim /etc/syslog.conf and add:

*.*         /var/log/ppp.log

3) Testing using userland ppp.
So the logging part is done. Now to test the ppp environment. I found that /dev/cuaU2 is the working device for this. I tried /dev/cuaU0 but didn't work. /dev/cuaU1 on the other hand don't have Carrier Detect. Here's my ppp testing result. Bolded texts are my input:

# ppp
Working in interactive mode
Using interface: tun0
ppp ON karlaphp> set device /dev/cuaU2
ppp ON karlaphp> set speed 384000
ppp ON karlaphp> show physical
Name: deflink
State: closed
Device: N/A
Link Type: interactive
Connect Count: 0
Queued Packets: 0
Phone Number: N/A

Device List: "/dev/cuaU2"
Characteristics: 384000bps, cs8, no parity, CTS/RTS on
CD check delay: device specific

Connect time: 0:00:00
0 octets in, 0 octets out
0 packets in, 0 packets out
Overall 0 bytes/sec
ppp ON karlaphp> term
deflink: Entering terminal mode on /dev/cuaU2
Type `~?' for help
CONNECT 7200000

So basically interactive ppp is working, but I haven't got the chance to test my /etc/ppp/ppp.conf script thoroughly as I'm currently at work (yeah I do this at work...). But, for the pleasure of the eyes, here's my current /etc/ppp/ppp.conf script:

 set log Phase tun connect
 set device /dev/cuaU2
 set speed 384000
 disable ipv6cp

# dial number are *99# or *99***1#
 set phone "*99#"
 set login
 set authname ""
 set authkey ""
 set timeout 0
 set ifaddr
 add default HISADDR
 enable dns

If I dialed to celcom, I'll get this warning:

Warning: Change route failed: errno: No such process
Warning: ff01:6::/32: Change route failed: errno: Network is unreachable
Warning: ff02:6::/32: Change route failed: errno: Network is unreachable
Warning: ff02:6::/32: Change route failed: errno: Network is unreachable

But I was told (by googling) that it's just a warning and non-fatal. The 2nd to 4th warning is just mentioning about IPV6 so it's nothing.

4) Set up pppd for Celcom 3G.*hip hip, hurray!. hip hip, hurray!*
This is the final part. Instead of using userland ppp, I'll go for pppd. Do man both for informations. Ok for this, I will create 2 files. Here's the steps:

First I'll create and edit /etc/ppp/peers/celcom3g file. On my system, there's no /etc/ppp/peers folder so I mkdir it first. Here's what my /etc/ppp/peers/celcom file looks like:

ipcp-restart 10
connect "chat -v -f /etc/ppp/peers/"

Then I created /etc/ppp/peers/ file. Here's what mine looks like:

SAY "Calling Celcom3G...\n"
"" AT
OK AT&F&D2&C1S0=0
OK ATS7=60S30=0
OK AT&F&D2&C1S0=0
OK ATS7=60S30=0

Where the hell did I get the idea for all the AT commands?. Well, I took a peek at the USB Modem's log in XP. If you google for Celcom 3G ppp script, you'll most probably notice that I don't have the familiar AT+CGDCONT=1,"IP","celcom3g" command. Do I need it? For now, I don't think so, because I'm updating this while I'm on Celcom 3G! Using that chat script. Why don't I need it? I don't know, honestly. But it's working. You'll also notice that ATDT*99# means that I'm dialing *99#, if you want to use *99***1#, just replace that test appropriately. Oh, I almost forgot how to dial using pppd. First, I created ppp0 links:

# sudo ifconfig ppp0 create

Then dial using pppd:

# pppd call celcom3g

If your script is named other than celcom3g, replace the celcom3g to your file name. To check the log, use tail -f /var/log/daemon to see if there's anything weird, or if reading log files is one of your fetish. How to disconnect from the connection? I just use ps aux | grep ppp and then kill pid and finally ifconfig ppp0 destroy. Do search for scripts that simplifies it.

After I disabled my http_proxy, I can browse the net with no issue. So I set my Firefox to Use system proxy settings. Speaking of which, I need to find a way to automate turning on/off http_proxy depending on whether I'm in the office (proxy) or at home (no proxy). That'll be my next project. As usual, any tips is much appreciated. Later and enjoy!

Edit: I've replace /dev/cuaU2 to /dev/ttyU2. man 4 tty for more info.

Tuesday, March 08, 2011

OpenBSD NC4200: My .profile for TERM type. xterm-256color / wsvt25.

OpenBSD have 256 color support in xterm, which is xterm-256color. For console, setting the TERM to wsvt25 is better. Color will work but weird stuff will happen is you use xterm term type for console, such as funny scrolling while ls-ing, tmux behaving weirdly and other stuff. But is I use wsvt25 as my term type, mp3blaster won't work correctly, vim color scheme (I use wombat scheme) will display white background instead of the dark background. So, I have to set my .profile to detect the original term type and change it to the color version.

In console, the original term type is vt220, so I'll use wsvt25 for color but mp3blaster won't work correctly. In X, the term is xterm so I'll use xterm-256color instead.

I open up .profile and put the lines below.

# This is to check the TERM and change accordingly.
if [[ $TERM = xterm ]];
 then export TERM="xterm-256color";
 export TERM="wsvt25";

Then my console and xterm will have appropriate color enabled. Later then.

Friday, March 04, 2011

OpenBSD NC4200: Apache + PostgreSQL + PHP5 + P4A. Another interesting project.

Ok this is my current project. I'm exploring PHP now and because I only have a little knowledge on programming PHP, I need to use some sort of RAD / Visual tool to start building PHP website fast. I read that P4A - PHP For Applications - PHP RAD Framework is one of the tool that can be use so I'm exploring that now. So I need to build a OAPP (OpenBSD + Apache + PostgreSQL + PHP) environment on my 4.8. I would love a pre-built stack for this but AFAIK, there's none for OpenBSD. It's not a bad thing though because manual installation is better for my brain somehow.

1) Setting up Apache
OpenBSD have a custom Apache 1.3 installed by default. There's also Apache 2 package but I'll just focus with what's already there. To get the Apache running I just edit /etc/rc.conf.local and add:


2) Setting up PostgreSQL
I installed these packages:

After installation, you can see the brief steps you need to take to enable PostgreSQL. I had problem using su - _postgresql because I kept getting wrong password. After searching for answer, I found a way for that.

2.1) Set password for _postgresql
# su
# passwd _postgresql

Then after the password for user _postgresql has been set, I can finally follow the brief tips for starting up PostgreSQL (which can also be read at /usr/local/share/doc/postgresql/README.OpenBSD).

# su - _postgresql
# mkdir /var/postgresql/data
# initdb -D /var/postgresql/data -U postgres -A md5 -W

You can follow the rest of the steps contained inside /usr/local/share/doc/postgresql/README.OpenBSD. I also read somewhere on the net that I need to edit /etc/rc.conf.local and add this line:


2.2) Set up phpPgAdmin
I installed phpPgAdmin-4.2.3 package which will also install core php5 packages. I had a problem trying to log in to phpPgAdmin using postgres id which has been created earlier. After googling for answer, here's the way to do that. Edit the file /var/www/phpPgAdmin/conf/ Then edit/add the bolded text.

// Hostname or IP address for server. Use '' for UNIX domain socket.
// use 'localhost' for TCP/IP connection on this computer
$conf['servers'][0]['host'] = 'localhost';

// If extra login security is true, then logins via phpPgAdmin with no
// password or certain usernames (pgsql, postgres, root, administrator)
// will be denied. Only set this false once you have read the FAQ and
// understand how to change PostgreSQL's pg_hba.conf to enable
// passworded local connections.
$conf['extra_login_security'] = false;

Then after that I can log in using postgres id and manage the PostgreSQL database. There's also pgadmin3 program which uses wxWidget, a GUI program to manage PostgreSQL database.

3) Install PHP5
As I wanted to try out P4A - PHP For Applications - PHP RAD Framework, the relevant PHP5 packages I installed is:


Installation is straightforward and there's brief description on how to enable PHP5 support + testing out PHP5.

4) Set up P4A - PHP For Applications - PHP RAD Framework have the nescessary files for the application. I downloaded from the site, unzip the package and rename the p4a-3.8.1 folder to p4a. After that I move the folder to /var/www/htdocs/. When I open up http://localhost/p4a/ using Firefox, I can see the P4A page. I'm currently having problem viewing the hello_world sample page correctly and I'm trying to find some answer for that. This RAD program is made for linux but I noticed there's OpenBSD user using it too. So I guess there's a way for me to get it to work correctly.

5) Install NetBeans + PHP plugins.
I installed NetBeans 6.9 from OpenBSD's package. I know NetBeans still have weird character issue on compiling Java codes but I'm not using NetBeans to write Java program. Instead, I want to use NetBeans to write PHP codes. So after I installed NetBeans from package, I installed PHP related plugins. After that, I wrote the hello_world sample P4A code which is available in the P4A website and wallah! It's working. I've also linked NetBeans with PostgreSQL and it's working fine.

So far, all is ok. I'm studying PHP bits by bits, slowly as a serious hobby rather than serious work. One thing for sure, this is a start. Later.

Friday, February 11, 2011

OpenBSD NC4200: Editing .mkv file's subtitles. A fun project.

Well, this is basically a fun project. I have collections of anime and I was thinking about making Malay subtitle for some of it. Just for fun. I found that it's totally possible with OpenBSD. Here's the packages that I need:


mkvtoolnix have few programs that can manipulate .mkv files. I can extract subtitles from a .mkv file for editing purpose. Then there's program to merge the subtitle inside the .mkv file. There's also GUI for it which is named mmg.

subtitleeditor is a great subtitle editing program for .ass subtitles. It also has video preview panel in it. I had problem with subtitleeditor when it stated that I have missing H.264 decoder and I solved it by installing gstreamer-ffmpeg package. There's also error stating about missing audio decoder but I forgot the package I installed to solve it because I also installed gstreamer-plugins-bad-0.10.19p0 and gstreamer-plugins-ugly-0.10.15p0 also not forgetting x264-20100511. I use Subtitle Workshop in XP but subtitleeditor works great in OpenBSD and better at editing .ass subtitles.

wordnet is a thesaurus program. It's not required but I would like to check meaning of words so I can translate the existing subtitles better. As always, man is the best friend. Later then.

Wednesday, February 09, 2011

OpenBSD NC4200: Using Plantronics USB Headset.

It's been a while since I last post anything. My OpenBSD box is still running great. Yesterday I got a Plantronics USB Headset and I wanted to see if I can get it to work in my 4.8. When I plugged the headset, here's the dmeg:

uaudio0 at uhub1 port 1 configuration 1 interface 0 "Plantronics Plantronics USB Headset" rev 2.00/1.20 addr 3
uaudio0: audio rev 1.00, 10 mixer controls
audio1 at uaudio0
uhidev1 at uhub1 port 1 configuration 1 interface 3 "Plantronics Plantronics USB Headset" rev 2.00/1.20 addr 3
uhidev1: iclass 3/0
uhid0 at uhidev1: input=1, output=0, feature=0

Seems to be ok. Now to test the headset. For I change the symlinks for these files:

/dev/audio = from /dev/audio0 to /dev/audio1
/dev/sound = from /dev/sound0 to /dev/sound1
/dev/audioctl = from /dev/audioctl0 to /dev/audioctl1
/dev/mixer = from /dev/mixer0 to /dev/mixer1

Normally it can be done manually by using:

$ ln -sf /dev/audio1 /dev/audio

and using the same method for the other 3 devices. I read someone's post on the net and he provided with this simple script which I named file.

====== script starts ======


ln -sf /dev/audio$p /dev/audio
ln -sf /dev/sound$p /dev/sound
ln -sf /dev/audioctl$p /dev/audioctl
ln -sf /dev/mixer$p /dev/mixer

exit 0

====== script ends ======

After I created the script, chmod it to executable and then just type:

$ sudo ./ 1

and all 4 symlinks got changed. Doing ./chaudio 0 will change the symlinks back to default sound.

I tried testing the USB headset using:

$ cat /dev/urandon > /dev/audio1

and I can hear sounds on the headset. But, here comes the unsolved (yet) part, using mplayer or mp3blaster will output the sound to the laptop's speaker. Drats. I'm currently trying to figure this out. Got something to do with sndio stuff I guess. Will update on this if I find anything interesting. If you know any tips for this, please share.

Update: I found out that my Plantronics USB Headset is faulty. It's wacko even in XP. Damn. Later then.