0

I've had a Pi3 for a while but only used it a few times. I had it setup on Noobs headless and it was working just fine and i could connect to it via wi-fi. I turned it on yesterday and couldn't get connected, and I couldn't see it attached to my router. So connecting to it via ethernet all is ok .... but it was telling me that there were no wireless interfaces. I played for while without success... so as there was nothing on this machine i'd upgrade to the latest OS .. Raspian Stretch to see if this fixed it.

Again nothing seemed to work, so I thought I'd play with the Bluetooth .... again nothing I did got it working.

My conclusion is that I have a hardware problem ... but I thought I'd ask here before I go and buy a new Pi.

Here are some relevant logs, but it just seems to show that it can't find the devices. If anyone has suggestions or diagnostics I can look at I'd love to hear.

OS version

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.9.52-v7+ #1038 SMP Fri Sep 29 16:26:52 BST 2017 armv7l GNU/Linux

latest bluetooth packages

pi@raspberrypi:~ $ sudo apt-get install pi-bluetooth
Reading package lists... Done
Building dependency tree       
Reading state information... Done
pi-bluetooth is already the newest version (0.1.6).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

pi@raspberrypi:~ $ sudo apt-get install blueman
Reading package lists... Done
Building dependency tree       
Reading state information... Done
blueman is already the newest version (2.0.4-1+b4).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

pi@raspberrypi:~ $ sudo apt-get install bluez bluez-firmware
Reading package lists... Done
Building dependency tree       
Reading state information... Done
bluez is already the newest version (5.43-2+rpt1+deb9u1).
bluez-firmware is already the newest version (1.2-3+rpi2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Bluetooth is running

pi@raspberrypi:~ $ systemctl status bluetooth
● bluetooth.service - Bluetooth service
   Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset
   Active: active (running) since Tue 2017-10-03 13:31:25 BST; 11min ago
     Docs: man:bluetoothd(8)
 Main PID: 986 (bluetoothd)
   Status: "Running"
   CGroup: /system.slice/bluetooth.service
           └─986 /usr/lib/bluetooth/bluetoothd

Oct 03 13:31:24 raspberrypi systemd[1]: Starting Bluetooth service...
Oct 03 13:31:25 raspberrypi bluetoothd[986]: Bluetooth daemon 5.43
Oct 03 13:31:25 raspberrypi systemd[1]: Started Bluetooth service.
Oct 03 13:31:25 raspberrypi bluetoothd[986]: Starting SDP server
Oct 03 13:31:25 raspberrypi bluetoothd[986]: Bluetooth management interface 1.14

bluetooth control o/p

pi@raspberrypi:~ $ bluetoothctl
[bluetooth]# list
[bluetooth]# power on
No default controller available
[bluetooth]# agent on
Agent registered
[bluetooth]# scan on
No default controller available

WiFi

pi@raspberrypi:~ $ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.20  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fdae:87d6:6531:1:9309:7a85:4726:43be  prefixlen 64  scopeid 0x0<global>
        inet6 2001:2000:2002:0:2bb3:c2ad:7caa:8ac2  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::435:6b92:6a61:6835  prefixlen 64  scopeid 0x20<link>
        ether b8:27:eb:01:40:80  txqueuelen 1000  (Ethernet)
        RX packets 11608  bytes 8096874 (7.7 MiB)
        RX errors 0  dropped 264  overruns 0  frame 0
        TX packets 5577  bytes 1528554 (1.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

iwconfig

pi@raspberrypi:~ $ iwconfig
eth0      no wireless extensions.

link

pi@raspberrypi:~ $ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether b8:27:eb:01:40:80 brd ff:ff:ff:ff:ff:ff

Config files

pi@raspberrypi:~ $ cat /etc/dhcpcd.conf
# A sample configuration for dhcpcd.
# See dhcpcd.conf(5) for details.

# Allow users of this group to interact with dhcpcd via the control socket.
#controlgroup wheel

# Inform the DHCP server of our hostname for DDNS.
hostname

# Use the hardware address of the interface for the Client ID.
clientid
# or
# Use the same DUID + IAID as set in DHCPv6 for DHCPv4 ClientID as per RFC4361.
# Some non-RFC compliant DHCP servers do not reply with this set.
# In this case, comment out duid and enable clientid above.
#duid

# Persist interface configuration when dhcpcd exits.
persistent

# Rapid commit support.
# Safe to enable by default because it requires the equivalent option set
# on the server to actually work.
option rapid_commit

# A list of options to request from the DHCP server.
option domain_name_servers, domain_name, domain_search, host_name
option classless_static_routes
# Most distributions have NTP support.
option ntp_servers
# Respect the network MTU. This is applied to DHCP routes.
option interface_mtu

# A ServerID is required by RFC2131.
require dhcp_server_identifier

# Generate Stable Private IPv6 Addresses instead of hardware based ones
slaac private

# Example static IP configuration:
#interface eth0
#static ip_address=192.168.0.10/24
#static ip6_address=fd51:42f8:caae:d92e::ff/64
#static routers=192.168.0.1
#static domain_name_servers=192.168.0.1 8.8.8.8 fd51:42f8:caae:d92e::1

# It is possible to fall back to a static IP if DHCP fails:
# define static profile
#profile static_eth0
#static ip_address=192.168.1.23/24
#static routers=192.168.1.1
#static domain_name_servers=192.168.1.1

# fallback to static profile on eth0
#interface eth0
#fallback static_eth0

SSid & password

pi@raspberrypi:~ $ sudo cat /etc/wpa_supplicant/wpa_supplicant.conf
country=GB
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="Hampshire"
    psk="xxxxxxxxxxxxx"
}

Interfaces

pi@raspberrypi:~ $ sudo cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)

# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'

# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

allow-hotplug wlan1
iface wlan1 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

lsmod

pi@raspberrypi:~ $ lsmod | grep brcm
pi@raspberrypi:~ $ lsmod
Module                  Size  Used by
bnep                   12051  2
bluetooth             365780  7 bnep
fuse                   99603  5
cfg80211              543219  0
rfkill                 20851  5 bluetooth,cfg80211
spidev                  7373  0
snd_bcm2835            24427  2
snd_pcm                98501  1 snd_bcm2835
snd_timer              23968  1 snd_pcm
snd                    70032  7 snd_timer,snd_bcm2835,snd_pcm
bcm2835_gpiomem         3940  0
i2c_bcm2835             7167  0
spi_bcm2835             7596  0
w1_gpio                 4818  0
wire                   32619  1 w1_gpio
cn                      5889  1 wire
evdev                  12423  4
uio_pdrv_genirq         3923  0
uio                    10204  1 uio_pdrv_genirq
fixed                   3285  0
i2c_dev                 6913  0
ip_tables              13161  0
x_tables               20578  1 ip_tables
ipv6                  408836  60
  • Try looking at ip link. – goldilocks Oct 3 '17 at 13:41
  • Added information as requested above – AndyHamp Oct 3 '17 at 14:18
  • That is a problem, although it is not necessarily broken hardware. I'm not sure what all the kernel modules needed for the Pi 3's wifi are, but at least brcmfmac and brcmutil; lsmod | grep brcm should show those. If not there's the tip of the iceberg (or if you are lucky the whole thing). Finally, if you have a spare SD card around, trying putting a new Raspbian image onto it and booting. – goldilocks Oct 3 '17 at 14:47
  • This is a completely new install ... which is why i'm suspecting something more fundamental ... i'm going to try noobs on a clean card – AndyHamp Oct 3 '17 at 15:53
  • lsmod added above – AndyHamp Oct 3 '17 at 15:55
1

It appears the kernel modules for the wifi chip are not loaded for some reason.

Try sudo modprobe brcmfmac; if that does not spit any obvious error, double check lsmod for that and brcmutil (it should be loaded as a dependency).

ip link should hopefully now show a wireless interface. Note that ifconfig only shows interfaces that are in an "up" state (also, ifconfig is depreciated, see man ifconfig).

  • The modprobe pi@raspberrypi:~ $ sudo modprobe bcrmfmac modprobe: FATAL: Module bcrmfmac not found in directory /lib/modules/4.9.41-v7+ – AndyHamp Oct 4 '17 at 14:25
  • For reference ... this is now a completely clean install ... i downloaded noobs last night and did a clean install .... I can't believe this is a software glitch ! has the wifi chip been killed by static where it's been sitting in my office ? – AndyHamp Oct 4 '17 at 14:31
  • Sheesh I'm a goof -- that should have been brcmfmac (now corrected in the answer). The 'brcm' is an abbreviation of broadcom and for some reason I have a mental block about it. All apologies... – goldilocks Oct 4 '17 at 16:38
  • running the command gives no response ? >pi@raspberrypi:~/ $ sudo modprobe brcmfmac >pi@raspberrypi:~/ $ – AndyHamp Oct 4 '17 at 17:54
  • That's good; unless you use modprobe -v (v for verbose), it only reports errors. So now lsmod | grep brcm should show them loaded and hopefully ip link shows the wireless interface. – goldilocks Oct 4 '17 at 17:56
-1

Need to setup a fake second Network in your /etc/wpa_supplicant/wpa_supplicant.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=GB
network={
ssid="NetworkName"
psk="password"
key_mgmt=WPA-PSK
}
#fake network workaround for headless Raspberry Pi Stretch
network={
ssid="fakessid"
psk="fakepass"
key_mgmt=WPA-PSK
}
  • I've added this but it hasn't changed anything ... the system just doesn't seem to think there is a wlan there ... – AndyHamp Oct 3 '17 at 14:18
  • Hmm try adding it to wpa_supplicant.conf inside /Boot drive. then boot your pi let start then reboot. – Dr.Rabbit Oct 3 '17 at 14:26
  • 1
    Since the wireless interface does not exist for the kernel this will not do anything. – goldilocks Oct 3 '17 at 14:42

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.