1

I have a fresh install of Linux Mint Mate 64 on an old iMac (late 2008). I can not connect using a network cable so I need to use wlan. I've installed broadcom drivers, the network managers shows the wi-fi connection and everything seems fine... but I cannot connect to anything except localhost.

I've tried to reduce the problem and I believe I've a problem connecting to the router. If I ping it, I get 100% packet lost. If I ping broadcast I receive replies from the router!

$ ping 192.168.10.1 
PING 192.168.10.1 (192.168.10.1) 56(84) bytes of data.
From 192.168.10.111 icmp_seq=1 Destination Host Unreachable

$ ping -b 192.1168.10.255
WARNING: pinging broadcast address
PING 192.168.10.255 (192.168.10.255) 56(84) bytes of data.
64 bytes from 192.168.10.1: icmp_seq=3 ttl=255 time=299ms
...

Please note that DHCP works, since the machine is correctly identified as 192.168.10.111 in the first ping command.


EDIT 1: more info

$ arp -a

Address                  HWtype  HWaddress           Flags Mask            Iface
192.168.10.104                   (incomplete)                              wlan0
192.168.10.112           ether   38:c9:86:24:d6:88   C                     wlan0
192.168.10.1                     (incomplete)                              wlan0

# arp -d 192.168.10.1

no reply, the command returns without any output.

$ route -an

the "a" flag was not recognized.

$ route -n

Kernel IP routing table Destination     Gateway         Genmask        Flags Metric Ref    Use Iface
0.0.0.0         192.168.10.1    0.0.0.0         UG    1024   0        0 wlan0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlan0
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 wlan0

please note that I've successfully removed 169.254.0.0 route previously, but it re-appeared after re-starting network manager.

END OF EDIT 1


EDIT 2 on a different machine, in the same network (using wi-fi connection as well) arp -a returns the following:

$ arp -a
? (169.254.221.46) at c8:ff:28:46:52:c5 on en1 [ethernet]
router.local (192.168.10.1) at 0:a0:a2:62:c1:dc on en1 ifscope [ethernet]
nas.local (192.168.10.104) at 0:11:32:38:e:1 on en1 ifscope [ethernet]
? (192.168.10.105) at a8:86:dd:a5:8d:37 on en1 ifscope permanent [ethernet]
? (192.168.10.255) at ff:ff:ff:ff:ff:ff on en1 ifscope [ethernet]

The machine is a mac, so the route command does not provide a list of routes but I've tried a different command

$ netstat -nr
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            192.168.10.1       UGSc           61        0     en1
127                127.0.0.1          UCS             0        0     lo0
127.0.0.1          127.0.0.1          UH             70 30572605     lo0
169.254            link#5             UCS             1        0     en1
169.254.221.46     c8:ff:28:46:52:c5  UHLSW           0        0     en1
192.168.10         link#5             UCS             2        0     en1
192.168.10.1/32    link#5             UCS            11        0     en1
192.168.10.1       0:a0:a2:62:c1:dc   UHLWIir        51      393     en1   1149
192.168.10.104     0:11:32:38:e:1     UHLWIi          5    81773     en1    733
192.168.10.105/32  link#5             UCS             1        0     en1
192.168.10.105     a8:86:dd:a5:8d:37  UHLWI           0  1138657     lo0
192.168.10.255     ff:ff:ff:ff:ff:ff  UHLWbI          0       16     en1

I'm still investigating on the origin of 169.254.x.x routes, but they does not seems to cause any issues on other machines.

END EDIT 2


EDIT 3

$ arping -I wlan 0:a0:a2:62:c1:dc
arping: unknown host 0:a0:a2:62:c1:dc

Trying to ping/arping other machines returns "Destination Host Unreachable" for every machine in the arp list, using both IPv6 and IPv4 addresses

END EDIT 3


I have no idea how to "debug" this connection issue. I've searched forums, I've tried to set BSSID manually (it was empty), I've set DNS to 192.168.10.1,8.8.8.8 (and restarting everything so many times) but with no luck. What should I try?

1

Check your routing table using the command route -n

Check your ARP table using arp -a. If your ARP table is messed up, use arp -d

When you find out your router MAC address, use arping -I wlan0 <router_mac_address>

This will use ARP instead of ICMP. If you can use wireshark/tcpdump, please post a few traces

  • Thanks SOKS, every other computer in the local network connects flawlessly. The same computer, with a previous Ubuntu install was able to connect. I'll add the responses from the commands you provided in the original question – furins Sep 21 '17 at 9:38
  • Sorry about the a option in route, that was a typo. Do you have another computer in the network where you could run the same tests ? The 169.254.0.0 route is odd though – SOKS Sep 21 '17 at 12:23
  • Please do not apologize, I'm grateful for your help! Yes, I do but I've to figure the syntax since no one is a linux system. The closest is a mac, that does not have the same route command, but I'll try and update my question as soon as I've the info. I agree with you about the strangeness of 169.254.0.0 but I'm unable to figure how to remove it since it went back at every restart. – furins Sep 21 '17 at 12:30
  • Since you now have your router mac adress, maybe you could try to use arping -I wlan0 <router_mac_address> This will use ARP instead of ICMP Also try to ping the other "working machine" – SOKS Sep 21 '17 at 12:47
  • I've done what you suggested, without any luck it seems. – furins Sep 21 '17 at 13:18
0

To solve the problem I've selectively disabled all possibile drivers for my wifi card.

$ sudo modprobe -r b43 ssb wl brcmfmac brcmsmac bcma

I've also deleted all the connections shown in the network-manager taskbar icon.

At this point I've started re-enabling every driver separately. Every time I had to wait for a wile to the network-manager to re-connect. Here is an example:

$ sudo modprobe -r wl
(wait for network-manager to re-connect to the WLAN)
$ ping 192.168.10.1
(ping unable to connect, so I'll remove the driver again)
$ modprobe -r wl

I did this until I've found that b43 is the correct driver. At this point I've purged/blacklisted all other drivers from apt and now everything works like a charm.

This document was enlightening: https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.