3 Sep 2008

Z formal systems specification tool and CZT

I recently as part of a systems engineering course had to write a few system specification documents using the Z language. I now had to find a nice way to do this. The Community Z Tools at source forge provided the best and simplest way for me to get things done. They have integrated their tools in to jedit so that it would be very simple for them to get things working.

The instructions at source forge are not exactly straight forward. It seamed to me that I need to download the source and compile from source this is not the case. Just download the czt binary file form source forge and extract. The follow the instructions at http://czt.sourceforge.net/jedit/index.html ignoring the step to download and install the source. Every thing is include in the czt download.

The jedit tool also seams to be a quite useful tool worth a look.

2 Sep 2008

Jawug, wug, and wireless equipment

I recently decide to get involved with the South African Wireless Users Group. So I had to decide on what equipment to uses where and how I was going to connect. It was a really good learning experience. I now know a bit more about the wireless networks, the equipment and types of connections possible.

For equipment I found that Uniterm Direct had the best selection and devices. I will probably end up with an RB433, or RB411 device. The Mikrotik devices have a better routing software and are designed for extream conditions like out doors, or in relativly high heat. These mikrotik devices also allow for power of ethernet, so you can put in them in some really strange places, not have to worry to much about how to power them.

Most standarde wireless routres could do the same thing and a lot of people would use the linksys WRT54g series routers. Those are designed for indoor use and don't do well in your roof or out side in an antenna enclosure.

The only thing I was not sure about was signal quality, strength and my ability to connect to the high sites a round my house. The following articles helped me understand what was going on.
http://wireless.gumph.org/articles/longrangelink.html
and http://www.cisco.com/en/US/tech/tk722/tk809/technologies_tech_note09186a00801c12c2.shtml
and http://www.universalweb.com/CustomCablesUSA/Technical.html. This last one is particularly good at explaining the differences between the different low loss co-axial cables when using antenna.

31 Aug 2008

Ubuntu Network manager, static interface setup, multiple profiles, no internet, no dns

Recently I decided to experiment with the multiple profiles feature of the network manager provide by Ubuntu 8.04. I set up my lan network card with a static ip address so that I could manager port forwarding on my router specifically for my laptop.

I still wanted to be able to switch to the roaming mode provided by the network manager if I went to university or some where else. So I decide to save the set up in the network manager as a separate profile. I then saved other profile for the roaming modes on my wireless lan, and my cable lan interfaces.

After a restart I found that I could no longer get out on the internet after start up. I was not sure what the problem was. I could ping my router but nothing beyond my router. In checking my network manager set up I could see that where I used to have my router as a dns, I now had nothing.

So I add some dns servers saved the settings under my static profile and applied these setting buy clicking the green tick. Now every thing was working again. I could connect to the internet web pages would now load in firefox.

Again after a restart I found I had the same problem so I check my network manger and found that the settings were still there but were not applied. So I again choose the correct profile and applied the settings. This behaviour of being not being set up after a restart continued. It gets a little irritating having to go into network manager and apply setting after ever restart.

After reading around in fourums I found about about resov.conf resolvconf /etc/resolv.conf, /etc/resolvconf/interface-order and /etc/resolvconf/resolv.conf.d/. I could see that in interface-order and ifconfig my cabled lan card was begin configured correctly at start. In the resolv.conf file no dns servers were configured at start up, having no dns server to resolve requests out to the internet I could not browse the web or send emails or any thing you would need to do.

To solve the problem of not being set up at start up open the /etc/resolveconf/resolv.conf.d/base as root in a text editor and add a dns server like your router or some other dns server. Read the man resolvconf to find out why. Redundancy here is a good thing, have it point to more then one dns server.

Simply place entries like "nameserver 127.0.0.1" or "nameserver #your router#". Obviously 127.0.0.1 is localhost and probably wont work for the average set up. If your not sure what dns servers to use, ping a top level domain like www.com or www.co.za and get their ip address. Do a traceroute and look for domain names with .dns in them. You can see and example of how network manager saves one of these file in /etc/resolvconf/resolv.conf.d/original.

28 Aug 2008

linux the cisco vpn and monash south africa

I have spent quite a bit of time trying different options for the vpn connection to Monash South Africa. The open source vpnc dose not work because when importing the cisco profile it warns that IP tunnelling across TCP has been enabled. Which may cause undesired resualts, in this case it simply dose not work.

The only option left for linux is the cisco client which has not been updated since 2006. Major problem. Thus we now have to go to projects.tuxx-home.at. Here is the only way to get support for the cisco linux vpn client. There are instructions for intallation, patching and support forums. Every thing a person would need. I have used them on a number of different kernel builds, 2.6.18 -- 2.6.24. They all worked.

The vpn client on the web site dose not, but you still need to down load it to get the correct profile configuration file. It is called sa.pcf. You will need to copy that file to the cisco /etc/opt/cisco-vpnclient/Profiles/. Then all you need to do to start it is type "sudo vpnclient connect sa".
Enter your user name and password and every thing should work.

I have found some small issues with the gnome network manager and haveing both my lan network card and wireless network card enabled. So depending on how I am connecting to the internet I disable which ever one I am not using. Type "ifconfig" to find out which device to disable. Then type "ifcofig eth#" where # is the device number, some thing like 0 or 1.

Here is some more info on getting the cisco vpn working www.blog.arun-prabha.com/2008/05/01/cisco-vpn-installation-issue-with-ubuntu-804-hardy-heron/.

13 May 2008

Problems in Ubuntu 8.04 LTS

I recently upgraded to Ubuntu 8.04 LTS. I found that after using it for about 20 minuites their were certain things I could do that would totally crash the whole system. Later I found that it was a bug in the released kernel, check https://bugs.launchpad.net/ubuntu/+source/linux/+bug/188226.

It has to do with the cpu schedualer (Completely Fair Schedualer), not being configured properly for the desktop system. Their is already a way to fix it, but in requires over 100 mb of downloads to fix the problem. This will be a serrious problem to people who pay exhorbitant rates for internet access.

The basic solution is to update your system to an the latest development release kernel. From 2.6.24-16-generic t0 2.6.24-17-generic. Caution this 2.6.24-17-generic kernel
is a developmental release used for testing changes and bug fixes, it is not the same as the release version kernel. This new kernel will only be released 2008-07-01 it the next version of hardy, ubuntu-8.04.1.

Any way I upgraded to ensure that I have a Linux desktop that dose not stall any time I open two many windows or try to do thing as a different users, ie every time i use the sudo command to do some thing cpu intensive.

Fix
Using synaptic
Open Synaptic > Settings > Repositories
Go to the updates tab and select Pre-released updates ( hardy proposed)
Close the window and reload the package information.
Either navigate through the Base System Section or search to find
linux-image-2.6.24-17-generic
linux-ubuntu-modules-2.6.24-17-generic
Select both packages.
If you are using an nvidia graphics card you will need to also up grade it. Serach for
nvidia-glx-new - we want the version that matches our kernel, 169.12+2.6.24.12-17.36 instead of the old one 169.12+2.6.24.12-16.36 notice that the 12-16 / 12- 17 referes to the version of kernel supported. This should automatically include the
linux-restricted-modules-2.6.24-17-generic. Which include the binary / compiled modules necessary for the nvidia driver to work.
This should be all the updates that you need to fix the problem with out a major difficulty.
Next click apply and wait.
When it finished be sure to disable the Pre-released updates ( hardy proposed)
Synaptic > Settings > Repositories
Go to the updates Tab and select Pre-released updates ( hardy proposed)
And reload the package lists.

That should fix the problem, all this is described in the bug report check https://bugs.launchpad.net/ubuntu/+source/linux/+bug/188226. It also includes instructions on how to compile the kernel form source with the correct options. For more advanced users. This would probable save people form having to download a whole new kernel, and graphics card drivers.

18 Apr 2008

mips and spim materials to help you get started.

Here is a link to a full text book on the mips processor.
http://www.comms.scitech.susx.ac.uk/fft/programming/R4400_Uman_book_Ed2.pdf
You will not need to read the whole text book, but it will come in very hand if you are struggling with MIPS. Choose what you read out of this text book.

I found it at the following site http://2020ok.com/. Here you may find some other useful books on a range of other computer related topics.

Also check out http://en.wikipedia.org/wiki/MIPS_architecture to get a better understanding of MIPS.

The official web site for spim is one of the best places to go and has a lot of extra resources, make user you visit this web site. http://pages.cs.wisc.edu/~larus/spim.html.At the bottom of the page is a section on additional materials.

Lastly here is a link to a document I got of the net and cant remember where. I found it gave a good overview of all the very basics and is an excellent reference when writing simple MIPS programs. http://www.scribd.com/doc/2576056/SPIM

23 Mar 2008

ffmpeg

I spent close to 2 days trying to get around a problem with ffmpeg
Input #0, flv, from 'tmp.flv':
Duration: 01:43:15.8, start: 0.000000, bitrate: 64 kb/s
Stream #0.0: Video: flv, yuv420p, 320x240, 29.97 tb(r)
Stream #0.1: Audio: mp3, 22050 Hz, mono, 64 kb/s
Output #0, mp4, to 'tmp.mp4':
Stream #0.0: Video: mpeg4, yuv420p, 320x240, q=2-31, 200 kb/s, 29.97 tb(c)
Stream #0.1: Audio: 0x0000, 22050 Hz, mono, 64 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Unsupported codec for output stream #0.1

Which is basically saying that it dose not know how to take the audio input codec mp3 and produce and audio out put codec.

I tried to used the -acodec option to force output to mp3. Which as far as I understand I don't need to do as mp4 has both an mp4 video codec and audio codec.

The only site I found useful information on all in one place was http://howto-pages.org/ffmpeg/.
It describes how to compile from source and enable the different lib's required. I still found this site much more helpfull then the mailing lists that keep popping up in google searches.

This can be used as a work around for the mp3 encoding problem which I found at the ubuntu forums
ffmpeg -i inputfile.flv -acodec copy -vcodec mpeg4 outputfile.mp4

Whats important here is the -acodec copy, I dont know what the quality of the output will be like but at least it dose not bomb out in an error.

I found the quality to be good, not great just good. I lost some video information. The sound was great, no distortion or delay. The file size shrank close to 20%. I think that -sameq option could improve things but my file sise more then doubles. Which gets me great out put. I am going to experiment to try and get a better result.