On Mon, 18 Dec 2006, J. Scott Olsson wrote:

On 12/18/06, Daniel Lenski <[EMAIL PROTECTED]> wrote:


Scott, when you say "hangs", do you mean that the machine actually
crashes, or that the attempt to access the network continues interminably
without connecting?  If the machine actually crashes, it sounds like a
driver problem.


It just continues interminably.

* Try connecting the laptop to the router WITH AN ETHERNET CABLE.  If it
works with non-wired ethernet, then you can be sure the problem is with the
wireless card configuration (either that or the wireless router is locking
out the MAC address of the laptop).


I should have clarified. I am connected with a wire.

* If it doesn't work with wired ethernet and DHCP, then try it with wired
ethernet and MANUAL address configuration.  Set up thes address, netmask,
and gateway for the ethernet adapter manually and see if you can
connect.  For example, if the router is at 192.168.0.1, I would do:

# echo 'nameserver 192.168.0.1' >> /etc/resolv.conf
# ifconfig eth0 192.168.0.64 netmask 255.255.255.0 gw 192.168.0.1


Hmm... that command dies with... "gw: no address associated with name" ( is
that what you meant?)

No, that should have said

ifconfig eth0 192.168.0.64 netmask 255.255.255.0 up
ip route add default via 192.168.0.1 dev eth0
echo 'nameserver 192.168.0.1' > /etc/resolv.conf

Or, if you don't hafe iproute installed (which you really should), you can replace the second command with

route add default gw 192.168.0.1 dev eth0

If DHCP was your problem, this will cure the symptoms.

Since you say you can ping and resolve DNS, but not make TCP connections, it sounds like you have a packet loss, MTU or firewall problem. First try flood pinging your gateway with different length packets to test for loss:

ping -nfs 10 192.168.0.1
ping -nfs 1000 192.168.0.1
ping -nfs 1472 192.168.0.1

If you get >1% loss and especially if you get more loss at a greater length, you have a bad cable. Next, obtain your interface MTU from ifconfig, and try

traceroute -n 128.8.5.2 100
traceroute -n 128.8.5.2 <MTU>

128.8.5.2 is a sample destination (a big DNS server at UMD), you can use any IP that should always be up. If the destination can't be reached for either packet length, you have a firewall problem. If it can be reached for 100, but not for MTU, and you get timeouts ('*'s) then a device in your path to the destination is breaking PMTU discovery (usually also a firewall problem, but probably not on your machine). If the problem is PMTU discovery, find the greatest length that works, with traceroute, set your MTU to that with ifconfig, and you should be OK. If both traceroutes work, try with tcptraceroute:

tcptraceroute -nl 100 128.8.5.2
tcptraceroute -nl <MTU> 128.8.5.2

If the results are different from the regular (UDP) traceroute results, you have a firewall problem.

If you have a firewall problem and you need more help, please provide the configuration information for any firewalls you control; on your linux box that's:

iptables -nvL
iptables -nvL -t nat
iptables -nvL -t mangle

                        Alexey

Reply via email to