DHCP nightmares at Kamelija hotel
It’s your first hours after arriving at a (questionable) quality 2* hotel. You look around a bit scared, but at least there’s hope in you: there’s (some) free wireless Internet access in (some) designated areas around the bar.
You see happy people using it and also your friend’s phone (HTC Desire S) is doing more than fine. You think: now it’s the right time to go and complain (or brag, depending on your state) that I’m finally on vacation!
When you try to connect with your Samsung Galaxy Tab 7, you see that it finds correctly your wireless network, authenticates without any problem, but hangs on “Acquiring IP address…” state. And it never finishes connecting.
You think “well, it’s because the wireless router is quite busy, I’ll wait”. You keep waiting for some time, and retry. And you get the same. Then you restart your tablet, hoping that it’ll fix the issue. It doesn’t.
You now think “Yes, but I have my top-notch Samsung Galaxy S II phone, which will save the day! You try the same with you phone and… you get the same result. The phone “performs” (if that can be named “performance”) the same like the tablet, hanging at “Acquiring IP address…” message, and giving up after some time. You even discover (and that’s for another anti-Samsung rant!) that your phone after restarts allows itself to auto-enable your roaming data access, so it can check for its shitty Samsung updates. Bad, bad, BAD! It’s good I captured that on time and completely disabled mobile data access (they made it sane enough not to auto-enable that as well)!
And then you start getting desperate. Internet abstinence starts building up and you no longer enjoy your time here!
Luckily, you have also your notebook. You pull it out, and it works like a charm. Since the beginning. All great and smooth!
You think “well, at least my PC is OK”, but you’re not one of the people, who get comfortable with such compromise. After all, your Foursquare mayorship on this hotel depends on the ability of your Android devices to get some bits from this damn wireless router (otherwise, your overpriced roaming internet fees will enslave you for ages). Plus, you use you mobile devices more often than your notebook and they (logically) have more battery juice for you!
So you start looking for solutions.
Firstly, you scream to all your Facebook and Twitter friends, hoping that someone will help.
Secondly (until you wait for the help), you go to XDA Developers. You build up your best search query and dig. Then you dig more. Then you dig even more, until you find this forum post archive. Inside there you read that:
- It’s an existing issue with the DHCP client of (some) devices. Obviously, Samsung’s devices you have are part of the problem;
- And also that if you delete “/data/misc/dhcp/dhcp_list” from your device, you might get it working.
However, both your devices are not rooted and obviously the forum post is too old, because even if they were, you cannot find such file, residing at this place. Not to speak that this is “too much of a Linux way of solving things”.
Although you’ve no problem resolving things “like in Linux”, you prefer to make it in a saner way. That’s why you kept reading, until you discover WiFi Static: the soluiton of Android DHCP issues. This great application allows you to specify static IP addresses for given wireless networks, already in your wireless network list.
Why this works?
The problem, as it manifests itself, is with the fact that your device (or your router, since it could be a router issue too, and I think that’s what is in this case) cannot get (or give) an IP address correctly. Your authentication and MAC-address-level communication works, but you can’t get to TCP/IP, since you can’t get the precious address (sorry, my TCP/IP guru friends, that’s how a developer explains TCP/IP ). By default you’ve no way to specify “fixed IP address” in Android, and you’re screwed!
This app fixes that deadly case. Once you add the setting for the given Access Point, after you connect to this access point, the “Acquiring IP address…” is skipped or cancelled and the parameters, which you specify, are set instead. This simply means that if you set the parameters correctly, it works. If, however, you specify the parameters incorrectly, you can get screwed even worse . But we all hope that once you decide to mangle with such things, you know what you’re doing. Not “Linux way” of resolving things, but still requires some advanced user magic there.
The router at the hotel had standard “192.168.1.xx” setup, which means:
- IP Address is any address you luckily guess (I user 192.168.1.111-192.168.1.114, since I saw that the router gives 192.168.1.50 and above for the “legal” devices that can get it)
- Gateway is, of course, your router at 192.168.1.1
- Network mask is the default 255.255.255.0
- DNS1 is your gateway 192.168.1.1, and for DNS 2 I set the Google DNS server at 184.108.40.206
- My friends at Facebook did not fail me. They pointed to the same solution, just at the same time when I was reading about it in XDA Developers. Which made me feel great, because first my friends care for my pain and second, because it proved that Facebook can be of some help sometimes .
Thank you all!
- The same problem manifests itself on the following devices:
- My friend’s Windows 7 notebook. She could not connect unless I set her up with static IP configuration (and reminded her to tell me to remove that setting at the end of our holiday).
- My both Android devices (fixed with WiFi Static already).
- My wife’s HTC 7 Trophy Windows Phone 7 phone. Unfortunately, this is the only device which I could not fix and I doubt someone would. Microsoft decided to cut our arms in this direction, wisely knowing that no one can configure a router that stupidly, so their mighty OS would not work with it. Wrong!
My final conclusion is that the router at this hotel sucks! Like most of the things here, it’s not configured correctly (or it just sucks as a device) and its DHCP server works quite selectively. I do not know how many other people have the same problem, but my egoistic nature pushes my hopes high. The more people have the issue, more bandwidth will be free for my holiday needs .