Tag Archives: Linux

Persistent paths for dynamic device file

This post is related to playSMS and Kannel, how to configure Kannel when you know that the device file names aren’t persistent.


When USB GSM modem plugged to a server Linux kernel assigned dynamic device file /dev/ttyUSB*, such as /dev/ttyUSB0 or /dev/ttyUSB1. For example, USB GSM modem with 2 ports will then be assigned to /dev/ttyUSB0 for port 1 and /dev/ttyUSB1 for port 2.

Problem starts when we unplug the GSM modem and re-plug back afterwards. Linux kernel will then assign different device file to it, was /dev/ttyUSB0 now /dev/ttyUSB2 and was /dev/ttyUSB1 now /dev/ttyUSB3.

Continue reading

Linux Bandwidth Manager using Banjar (part 1)


Banjar stands for bandwidth justification for administrator, an open source software that provides simple bandwidth management tools for internet cafe or small to medium network administrators.

Banjar will manage your uplink and downlink bandwidth, let you define your networks and packages and then limit bandwidth for each of those packages on each networks. For Indonesian, you will find this tool useful as it separates IIX bandwidth and International bandwidth. Easy application to install and operate.


LGPL as in GNU Lesser General Public License. In short, you can include Banjar as a library into your own application, re-publish it, modify it, change it, use it, sell it, for free or paid. You don’t need to provide the source code when using Banjar with your own software or any other software. Only when you modify Banjar source codes, you will have to provide those modifications accessible for public.


Main developer is Anton Raharja (me me mee..). Once I got helps from Abdul Hanan and Moses Kurniawan, mostly for web UI stuffs. Every now and then WAN-DKI team (Asoka, Engkos, Dedi, Husen, Sindu, Imam) helps in a way that they can do best, bug me to code fixes, updates and more features !


Below are software required to install Banjar. Most of them are already available on main stream Linux distros.

  1. Linux (any linux capable of running iptables and tc with HTB)
  2. Apache (any version, not tested on other web server)
  3. MySQL or Sqlite3 (the default is Sqlite3)
  4. PHP4 or PHP5 (wrote on php4 but will work on php5)
  6. iptables (load connmark modules, automatic on most distros)
  7. tc (iproute2 package)
  8. cron (scheduler for writing rules to a shell script and execute them automatically)
  9. svn (subversion package, this is optional, only for brave linux admin)

You may continue to installation part after all requirements above met.

Continue reading

Banjar v0.8.1 Released

A quick post about Banjar, new release available here:

Changelog v0.8.1 (update 5 April 2008)
– add collapse javascript for simpler node view
– add print and save link on package menu
– always show available slots instead of used slots
– fix bug on handling unmarked nodes
– fix bug banjar.sh doesn’t executed correctly from cron
– fix bug banjar.sh running paralel


Banjar v0.8 Released

I just love iptables and tc ! I even create a simple, easy to install easy to use application to make you love them as I do 😀

Version 0.8 contains several enhancements and a few important fixes. Starting from this version Banjar will not just for Indonesian (with IIX stuff hardcoded), but since admin can create a network based on destinations and each network can have their own packages where nodes (former name is client) can select multiple packages, Banjar will be suitable for those having problem configuring Linux bandwidth management or simply loves web-based user interface.

Other enhancements would be the addition of Sqlite3 support. This means that the router managing clients will not need MySQL installed, instead we use a text file based database, Sqlite3.

Don’t forget to always view the latest changelog here:

Latest source code always available on svn repository:

svn co http://developer.peanutinc.com/svn/banjar/trunk banjar

RT/RW Net are most welcome to test the latest Banjar 🙂

Changlog Banjar v0.8 (update 18 March 2008)
– add support for sqlite3, and make it default, no mysql installed on router
– remove netfilter.iix as we have them on database now, network menu
– remove invoices from nodes
– each network has their own packages
– nodes can select multiple packages
– packet marking using connmark and mark, speed up performances
– fix cacti templates on contribs
– move config*.php to directory conf (conf.example)
– add support for network, group packages and nodes based on destinations
– major changes on database structure (upgrade available)
– add support for registry, dynamic configurations stored in a database table

Dive into http://banjar.sourceforge.net to get the latest source code, svn repository, view demo, statistics and tracker.

I need help, please contribute by simply submitting bugs and requests to tracker.

Bandwidth shaping in Linux is easy, we can help optimizing and perfecting the tool, we can help each other by contributing knowledges 😉


Banjar version 0.7

Banjar support both upload and download bandwidth now. No bandwidth wasted anymore 🙂

I also add priority support when adding or editing clients. Priority is a level that tells the traffic control to prioritize particular clients to get early left-over bandwidth. Level 0 for the lowest priority clients, 5 for the highest ( pay more ? ) and 2 is the default, normal.

Another interesting stuff I add is contribs folder on docs, that folder contains cacti templates and scripts needed to add banjar support on cacti. Tested on cacti 0.8.7a. Now you can monitor, view upload and download usage graphics on each client !

Freshmeat: http://freshmeat.net/projects/banjar
Sourceforge: http://banjar.sourceforge.net

Im happy, now I can go to bed yey !

LPI Level 2 Cert.

An email just arrived, it’s about LPIC-2..

Dear Certified LPI Level 1 Applicant,

Please be informed that we hereby confirm your acceptance to the
upcoming Linux Training of Trainers (LToT) for Linux Professionals
Institute (LPI) Level 2 and Certification activity.

lalalalala… lalalalala… (the email quite long, skipped it)

Dr. Alvin Marcelo of IOSN ASEAN+3 and the designated LPI Level 2
trainer will be monitoring progress and facilitate the discussions and
exchanges in this mail list.

We look forward to see you in the list.

Congratulations and good luck!

Yours truly,

Francisco E. Sarmiento III, MD
Project Officer
UNDP-International Open Source Network
ASEAN+3 Sub-Regional Node

So I guess I’ll be going to ph next month. And, this end of year we’ll have a class of LPI preparations to get you guys on LPIC-1, regardless I’ll get the LPIC-2 or not 😉

Banjar version 0.6

It’s been quite a while since 0.5…

Well, even FOSS programmers has to eat and drove his wife to her office everyday (just married).

Version 0.6:
– UI somewhat nicer (with tabs and themes)
– Bugs eradicated (perhaps, I highly think so)
– Secure (maybe.. mmh no, I’m sure)
– Still unable to control upload (need help)

Get it from: http://banjar.sourceforge.net

Banjar version 0.5

Released version 0.5

Currently add simple theming support, soon will add plugins.

Download version 0.5 here.

Changelog can be found here.

Upgrade instructions from version 0.4.1 to 0.5 available on INSTALL here.

View source codes on SVN repository here (anonymous read access). SVN history logs can be found here.

View online demo here (username/password: admin/secret).

Please report bugs and/or submit feature requests here (in English please).

Banjar version 0.4 (and 0.4.1)

Released version 0.4

note: 0.4.1 release on comments in this posting

Download version 0.4 here, and version 0.4.1 here.

Changelog can be found here.

Upgrade instructions from version 0.3 to 0.4 available on INSTALL here.

View source codes on SVN repository here (anonymous read access). SVN history logs can be found here.

View online demo here (username/password: admin/secret).

Please report bugs and/or submit feature requests here (in English please).

cheers 🙂