Sunday, September 18, 2005
Tweaking Linksys Router (Part 2)
I then enabled telnet daemon and telnet into it. Do you know what's inside? Linux!! Wow, Linksys uses Linux for its router products!!. I then checked some stuff there. Pretty cool! Allright, maybe my next hacking project is how to hack the source code (it's available on linksys.com page, under GPL download). The source code is really huge, it is more than 100 MB even after zipped! Perhaps there are some binary firmwares inside it. I'll check it out later and report it on this blog once I am done checking out this amazing product.
(PS: I now highly recommend people to buy Linksys routers. I used to suggest people not to buy Linksys routers as their products relatively more expensive. But now, it is really worth it to invest a little bit for the really big thing you will get!)
Tweaking Linksys Router's Firmware
I just bought a Linksys wireless router WRT45GS. It is a wireless broadband router with speedbooster. According to the box, the speedbooster feature might boost speed up to 35%.
I buy this router because I want to make another 'wireless island' at home, and also because my phone cable that is going to the DSL modem has been severely degraded (when I check it, there is the insulator was torn, so the wires were almost broken). Why I use long phone cable to connect to my DSL modem? That's because there is no phone jack in the room where I put my desktop computers (which use CAT5 wires to connect to the router).
I bought the modem from Best Buy, which gave $20 rebate. Not bad for such a 54 Mbps wireless router, I said. But when I tried to configure it, I could not find anything on the web menu saying that the router is able to connect to another router via wireless connection. I was so dissapointed. I then went to the Internet and searched for information about this 'wireless bridging'. There are some hits, many links pointed me to the hardwares (such as Linksys Wireless Bridge). But this is not what I want!
After spent some more time to refine the search keyword, I eventually ended up to some discussion websites. Interestingly, these discussions mention about to upgrade the Linksys official firmware to the modified one! After going go Linksys website, I found out that for many of their products, they also provide the GPL source code for their products. Amazing! This modified firmware supports a feature called "WDS" (don't remember the abbrs., but is is something like wireless client).
The following links are few of them that have the information/and firmwares:
http://www.hyperwrt.org/
www.dd-wrt.com
http://sourceforge.net/projects/wifi-box
http://www.linksysinfo.org
http://wrt54g.thermoman.de/
Some of them require free subscription.
Monday, September 12, 2005
Next Generation Optical Transport?
But, if we see the distribution of bandwidth used by customers, seems there is still a lot of 'dark' fiber, in other words, much of the bandwidths are left unused. Are these slots are really unused? If we see, in United States itself, High Definition TVs have not reached a point that many people expect. What about the Internet? well, eventhough most of the service providers (telephone, Internet or TV cable) give broadband accesses, the numbers are not satisfactory.
Now it is coming Packet-Over-ADM using optical connection. Many people are expecting this will be the next generation optical transport. Even some vendors have already had thse PADM-enabled equipments.
Technology-wise it is next generation optical transport, but what about business-wise? Well, let see what is going to happen in near future.
Sunday, September 11, 2005
My Book Collections on Linux
This book add collection to my Linux bookshelf, besides Linux Device Driver, Linux Kernel, and Linux Wireless.
Friday, June 17, 2005
KDE or GNOME?
I have tried to compile my KDE from scratch and enabled many optimizations on my Pentium4 laptop (-O3, -mSSE2, -MFPMATH=SSE, -march=pentium4 -mthreads etc.). First I compiled my QT. This QT depends on CUPS, mySQL and some other modules to compile. After compilation, my KDE applications were not stable anymore. The printing did not work, my KMail sometimes crashed and so on.
While with GNOME, I compile some applications such as GAIM which required me to compile some GNOME modules and still it worked fine.
The total size of the modules are also less on GNOME than KDE. While in KDE, there is a lot of applications and modules, GNOME seems is more thin and fits to lower-end PCs.
Anyway, Linux community must decide which GUI they want to use for desktop Linux. Otherwise, they will be crushed by Apple's Mac OS which has decided to pulling their steer towards Intel processors. Yes!, they have decided for their next Mac computers to use Intel x64 dual or quad processors.
Sunday, June 5, 2005
CORBA header
The structure of message header is :
char[4] magic;
octet[2] GIOP_version;
octet flags;
octet message_type;
unsigned long message_size;
First 4 octets contain "GIOP", then followed with 2 octets of GIOP version (high byte is for Major version, low byte is for minor version).
flags (in GIOP 1.1, 1.2, and 1.3) is an 8-bit octet. The least significant bit indicates the byte ordering used in subsequent elements of the message (including message_size). A value of FALSE (0) indicates big-endian byte ordering, and TRUE (1) indicates little-endian byte ordering. The byte order for fragment messages must match the byte order of the initial message that the fragment extends.
The second least significant bit indicates whether or not more framents follow. A value of FALSE (0) indicates this message is the last fragment, and TRUE (1) indicates more fragments follow this message. The most significant 6 bits are reserved. These 6 bits must have value 0 for GIOP version 1.1, 1.2, and 1.3.
message_type indicates the type of the message; these correspond to enum values of type MsgType.
message_size contains the number of octets in the message following the message header, encoded using the byte order specified in the byte order bit (the least significant bit) in the flags field (or using the byte_order field in GIOP 1.0). It refers to the size of the message body, not including the 12-byte message header. This count includes any alignment gaps and must match the size of the actual request parameters (plus any final padding bytes that may follow the parameters to have a fragment message terminate on an 8-byte boundary).
MsgType definition:
enum MsgType_1_1 {
Request,
Reply,
CancelRequest,
LocateRequest,
LocateReply,
CloseConnection,
MessageError,
Fragment // GIOP 1.1 addition
};
So, message_type may containt 0 for "Request", octet 1 (00000001) for Reply an so on.