Htc Sda Wifi
Htc Sda Wifi
![]() |
No items matching your keywords were found.
Why won't this one device connect to my home network?
I have a wifi cell (HTC SDA) that won't connect to my home network (security settings turned off to troubleshoot) . The phone works on other networks. My home network has a dsl modem, desktop, laptop, ipod, tivo and a printer running fine. My network is a lousy setup with a router and separate wireless access point, "get a new wireless router" was one suggestion. Model numbers are Gigafast EE410R and Netgear WG602v2. The phone gets an ip address 169.254.252.180 which means the router is not assigning an address so windows (xp) gives it one? In the routers system log I get "hash_ins() with client identifier failure in turnoff_bind()" instead of " Assign 192.168.1.xx to the client...." whenever the phone tries to connect. Some kind of conflict going on here?
"The phone gets an ip address 169.254.252.180 which means the router is not assigning an address so windows (xp) gives it one?" Not quite. Addresses in the range 169.254.0.0 - 169.255.255.255 are used by the Automatic Private IP Addressing (APIPA) protocol when a Dynamic Host Configuration Protocol (DHCP) server is not available to assign an IP address [1]. Under APIPA, each device proposes its own IP address. If no other device on the network objects, that becomes its address. In your situation, your phone asks for an IP address using DHCP. It must not be getting a response because it then falls back to APIPA to choose its own IP address.
Either or both of your Gigafast and your Netgear are capable of acting as a DHCP server. Some DSL modems are also capable. The potential problems are that some, all, or none of these are configured to act as a DHCP server or that the settings are incompatible.
Check your DHCP settings on your Gigafast per the instructions in section 2.3.1, page 30, of your manual [2]. The defaults should work. Though, if you're not currently using the defaults I'm wondering how you've set up your other computers -- perhaps with static IP addresses? Best write down what your current settings are so you can change back if you "break" the computers that are working!
Next check the DHCP settings on your Netgear per page 3-1 of the manual available at [3]. Record your current settings then reset to the defaults. These should work.
Note that Netgear uses the 192.168.0.0 with a subnet mask of 255.255.255.0 and the Gigafast uses 192.168.1.0 also with a subnet mask of 255.255.255.0. This makes your life easy because addresses assigned by one will never conflict with addresses assigned by the other (addresses assigned by the Gigafast will be 192.168.1.x, addresses assigned by the Netgear will be 192.168.0.x).
If checking and adjusting these settings do not fix your problem, please post what your current settings are in clarifications. Good luck!
Added 2242z 8 Dec:
I found the source code for the WIDE project [4]. It has the same error message. Probably your router's software is based on it. It indicates that the error is caused by the phone being assigned the same IP as an existing device. This suggests that your wireless access point is configured as a DHCP server and that it is giving out addresses in the same range as your router. Your router sees the phone and says, "I'm going to reject this because I already have a device assigned to that address." Two potential solutions are 1. Allow the access point to assign addresses but make sure they are in the different range or 2. assign the access point a fixed address and let the router act as the DHCP server for wireless devices (turn off DHCP Server in the access point).
static void
turnoff_bind(binding)
struct dhcp_binding *binding;
{
static u_short magic = 0;
time_t curr_epoch = 0;
if (binding == NULL)
return;
if (time(&curr_epoch) == -1) {
syslog(LOG_WARNING, "time() error in turnoff_bind()");
return;
}
/* insert dummy binding to avoid choosing same IP address */
binding->expire_epoch = binding->temp_epoch = curr_epoch + 180;
hash_del(&cidhashtable, binding->cid.id, binding->cid.idlen, bindcidcmp,
&binding->cid, NULL);
if (binding->flag & STATIC_ENTRY)
binding->cid.subnet.s_addr = magic++;
else
binding->cid.subnet.s_addr = ~0;
binding->flag &= ~COMPLETE_ENTRY;
if (hash_ins(&cidhashtable, binding->cid.id, binding->cid.idlen, bindcidcmp,
&binding->cid, binding) < 0) {
syslog(LOG_WARNING,
"hash_ins() with client identifier failure in turnoff_bind()");
}
return;
}
/*
