RPi3 WiFi issues with onboard chip
The onboard wifi seemed to die a while back after I used the rpi-update utility so I stopped using it and just stuck with the reliable Slackware-ARM+cabled ethernet but I'd like to resolve it.
On boot it throws up the following messages that seem to be related to the problem: Code:
[ 4.461534] usbcore: registered new interface driver brcmfmac Network mode on my router is 802.11b/g/n Domain is China Channel is 7 Frequency bandwidth is 20MHz/40MHz I have tried wpa_supplicant with everything I can find to resolve it (including turning off all authentication) and nothing seems to work. I have tried making rc.firewall not start at boot but no luck. Have I fried the onboard wifi or am I just being thick as usual? |
I gather you upgraded. Does it work if you downgrade it?
|
Your issue is wifi is just not working? Searching for "not a ISO3166 code" there's this
Code:
sudo iwconfig wlan0 power off |
Quote:
The RPi3 onboard WNIC is tricky at the best of times. I've stopped using it because it's just cheap and unreliable, in my experience. So without intentionally dancing around your question/problem I'd advise you to get hold of the easiest USB wireless adapter you can lay your hands on and use that instead. It's more than likely going to serve you better. However, if you don't have access to one of these, take a look at alienBOB's pretty comprehensive networking guide which might help to point you in the right direction: http://alien.slackbook.org/dokuwiki/...eless_networks Also, there's the following SARPi page which you might find useful: http://sarpi.fatdog.eu/index.php?p=wireless-nic Hope it helps. :cool: |
Just a shot in the dark: If you have installed some HAT onto the Raspberry Pi there can be interferences. Lately I tried an Sound Hat (DAC) for example, but that one had reportedly a broken design, so that two parts of it are electro-magnetical interfering with the Raspberry's Wifi chip. So if you have installed any additional hardware part please be sure to test Wifi also without it.
|
Quote:
Quote:
Quote:
The most frustrating part is that iwlist scan shows the router with the correct ESSID but the %^&$$ thing just won't associate with it. Quote:
|
I don't know if this is any help for you since I don't have a RPI3, but I have found that installing wicd from extra and letting it handle wireless connections with broadcom cards works best. I never had any luck with networkmanager or manual configs. I also found after an upgrade that the newest drivers from broadcom (even though they are supposed to be compatible) didn't work consistently with my card. I had to download and build an older driver version to regain consistent operation.
|
1. aircrack-ng
2. kismet 3. wireshark and try capture and analyze what Pi "hears" and what it "says" to the AP. I had quite few times "almost" working drivers since 2k5 (PCI-ACX) over a wide variety if chips sometimes it's just the driver (kernel update and maybe even a patch only helps). Not that I solved anything, but a point to an viable direction? |
I'm surprised that you couldn't restore function with a return to what was (I presume) a working system. What have you installed now?
When I have this issue, I try and narrow it down. Booted up & wifi started, post the output of these run one at a time in the given order (presuming wlan0 is your wifi device) Code:
ifconfig wlan0 up |
Thanks for those.
I've just (yesterday) had a cataract operation so it'll be a little while until I get back to trying this. I'll will post back when I start up trying again. Cheers. |
My sympathies. I know about life's limitations. Get well soon.
|
Meh, I am convinced it's broken now or the firmware is simply not compatible with my router.
I put raspian onto a card and then openelec and neither can connect to my WiFi. Even if I fiddle with the router settings to turn off all security my (old) Android phone will happily connect, as will my Mrs' iPhone, an iMac we have in the house, her work laptop which is on Win10, an Android tablet and an ancient SMC EZConnect g wifi dongle. Thanks to all of you that tried to help but I think it is a hardware issue, probably caused by me shorting out something or other while I play around with my breadboard! |
If you run through post #9 we might be able to call it for you.
|
Darn hot out there and allot still to do but came in to cool off and saw this thread and thought I'd throw in my two cents/pence/whatever. This is my drill.
First check if your system sees a wifi something by as root running iwconfig if iwconfig returns with a wlan0 or so your system has loaded a module for your wireless device/chip and a wirless device wlanX has be created. If there is no wlanX then your wireless chip device has not been recognised and a device created. If it has been created then here is what I would do if it was wlan0: iwconfig wlan0 essid myessid # and if the essid is broken by a space put it in quotes Then run iwconfig wlan0 to see what you get. Here's what I have out in the garden shed: Code:
root@bpi9:/home/rick# iwconfig wlan0 Ok you can now configure your wireless network connection using wicd very easily if you are GUI or an ssh X session after installing wicd as long as /etc/rc.d/rc.inet1.conf is clean and /etc/rc.d/rc.networkmanager is chmod -x and /etc/rc.d/rc.wicd is chmod +x Maybe that will help. If you are working in a terminal you can use wicd-curses which is what I do when I can but there is a problem with the packaged wicd/curses/netentry_curses.pi in slackwarearm that will stuff things up. I have one that works but I am in remiss and having not yet submitted a patch and after this post I suppose I better learn how to make a diff! |
Quote:
Code:
[root@darkmoon:~] # iwconfig wlan0 Code:
[root@darkmoon:~] # iwconfig wlan0 Code:
[root@darkmoon:~] # cat /etc/wpa_supplicant.conf Code:
[root@darkmoon:~] # wpa_supplicant -Dnl80211 -i wlan0 -c/etc/wpa_supplicant.conf |
Right, your wlan0 seems to be sitting there but not joining the network. The driver etc looks ok so far. You're down to wpa_supplicant, protocols, & dhcp.
1. Os the psk in wpa_supplicant.conf passed through wpa_passpgrase? You get an output to paste into wpa_supplicant.conf Code:
bash-4.3$ wpa_passphrase My_ESSID My_Password Code:
wpa_supplicant -c/path/to/wpa_supplicant.conf -i wlan0 -Dwext >> some.log && dhcpcd wlan0 >>some.log |
Quote:
Quote:
Code:
[root@darkmoon:log] # wpa_supplicant -c/etc/wpa_supplicant.conf -i wlan0 -Dwext >> /var/log/bk.log && dhcpcd wlan0 >> /var/log/bk.log Code:
Feb 9 22:22:05 darkmoon kernel: [95066.510646] brcmfmac: brcmf_cfg80211_escan: Connecting: status (3) Code:
Feb 9 22:22:05 darkmoon kernel: [95066.279479] brcmfmac: power management disabled Code:
[root@darkmoon:log] #cat /var/log/bk.log |
On that output, the software looks ok, and you have driver or firmware trouble. One thing to try is that there's another -D option for wpa_supplicant, e.g. nl802.11. That's easy.
The messier bit is getting a driver & firmware your system agrees with, especially as you're Arm based & not x86. I think there's a big endian/little endian thing going on between those 2. If that doesn't sort it, and you get drivers that work for others & not you, we might end up calling the hardware dud. Ebay has usb wifi modules that plug into usb & provide wifi. I think you need the usbnet kernel module. I got one for the RasPi 1 I had, and it worked like a dream. |
@ slackist,
Sorry, been busy, I note that your system sets up wlan0 and that you have setup your essid, After that have you run ifconfig wlan0 up and then iwlist wlan0 scan? If you did and get a list of networks including your own then may I suggest that you forget about wpa supplicant et.al. and try using wicd. Wicd does not require you to have wpa supplicant configured, nor does network manager for that matter, but I find wicd easier to use. Just be sure that you have removed any entries you may have made in /etc/rc.d/rc.inet1.conf or wicd will not work. I never bothered with wpa supplicant so I'm not sure what you should do with that but probably it too would need any configs to be removed. |
Quote:
Quote:
|
This may be a wicd configuration problem.
That happened to me on an install to a bananapro. I had first gotten the pro up and running with a wired connection to my lan. When I then tried to configure to wireless with configs known to be correct it just rolled around. It turned out that wireless was turned off in wicd. I was able to connect once I turned it on. I was in an x session via ssh when I did it and don't remember exactly how now. Here's a link that might give you some ideas http://www.linuxquestions.org/questi...ff-4175475544/ I remember at the time I found some other references to this problem and solution so have a look. |
May I chime in some?
tcpdump can rely some of the 802 frame headers Also aircrack-ng might help a bit If not, alone the RTFMing of the respective chapters of said apps might shed a light of the culprits? IIRC the problem is the immature driver/firmware of the wifi MAC, so reading the module source might help even But before anything: /sbin/modinfo <module of ours> Would yield a clue? |
maybe this solves your problem ....
https://debianforum.de/forum/viewtop...142749#p935640 # /etc/modprobe.d/regdomain.conf options cfg80211 ieee80211_regdom=[your_country_code] have phun :) |
I'm not confident that will sort it as his wifi is puking on normal setup instructions. At the risk of repeating myself from post #20
Quote:
|
Reminds me of the days of ACX100 and how it got from a patch to mainline :)
My bet: kernel side (=not ready yet). Remedy: try upgrade kernel until it works? |
I believe I'm having a very similar issue. My Raspberry Pi was connecting to a WiFi network for months without issue. About a week ago it suddenly stopped and will not associate with the AP.
`iwlist wlan0 scan` shows the network is available: Code:
Cell 02 - Address: D6:D9:19:9A:00:5A /etc/network/interfaces contents: Code:
# interfaces(5) file used by ifup(8) and ifdown(8) /etc/wpa_supplicant/wpa_supplicant.conf contents: Code:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev When I run `wpa_supplicant -iwlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf` I receive this error: Code:
Successfully initialized wpa_supplicant |
If the config hasn't changed since the problems began, I would leave them. They look believeable.
What else happened around the same time as the problems? Kernel update? Software update? That's where to look. You also can specify more authentication methods than just ccmp. I believe one of them is going out (don't remember which), but you can hedge your bets there. If that fails, I would start reinstalling packages, and finally suspect hardware. |
Thanks, @business_kid.
It could have been a software and/or kernel update. I try to keep the PI updated. What packages do you suggest that I reinstall? Can you point me to where I could learn about other authentication methods other than ccmp? |
I would first disable WPA altogether and see if you can connect with dhcpcd. If you succeed, that clears the rest of it. Reinstall WPA supplicant
Man wpa_supplicant.conf provides info. |
Hello together,
maybe offtopic, but just a really stupid idea, which should be checked: Move the Raspberry more near to the Router Rationale: Some years in the past I got an issue with RPI2 and USB-WLANstick, I dont remember much details, but after hours of trying to connect and finding out the issue I fixed it as follows: Setup was: RPI2, WLAN accesspoint configured S2-smartphone tries to connect Network (SSID of the RPI) showed up on the smartphone, all seemed fine, but from my seat (3m away from the router) I got always "Authentication failed". Once moving the Smartphone near to the Raspberry all worked fine ...:-) just an idea, ignore if it does not help Good job, thank you really much for your deep analysis above! It gave me some more hints how to analyze issues with the WLAN! best regards Uwe PS: I currently have got the same issue like above, in a few days I will move the RPI setup to the 1st floor, where the router resides ... maybe it helps for me :-) |
@adamsimms, I have 2 rpi3 running current all up to date no connectivity issues.
What raspberry pi versions? What slackware versions? |
@glorsplitz It's a Raspberry Pi 3 running Jessie. Latest apt-get update && apt-get upgrade & apt-get dist-upgrade have been performed.
@business_kid I'm not sure if this is possible, but would I be able to hire you to help me troubleshoot this issue further? |
There's no need to hire - this is a forum. You just need a little familiarity with this stuff. I found it a nightmare when I started. Here's a few commands to check.
<sudo iwconfig -a> lists all network devices. Presuming yours is wlan0 <sudo iwlist wlan0 scan |grep -C3 Quality> Should show you all local wifi points like this with channel numbers and quality Code:
sudo iwlist wlan0 scan |grep -C3 Quality I gather you're on some version of slackware? There's a DHCP_KEEPRESOLV setting in /etc/rc.d/rc.inet1.conf which you need to uncomment and set to yes. That will stop dhcpcd overwriting resolv.conf. Look for it with grep -n, which gives you a line number. Also, the easiest way to start the wifi is Code:
sudo /etc/rc.d/rc.inet1 restart |
@business_kid Here is the output of sudo iwlist wlan0 scan |grep -C3 Quality
Code:
Cell 01 - Address: D6:D9:19:9A:00:5A |
Ok. your card can see the wifi. Looks exactly like mine. That seems to clear that wifi.
If you can switch off encryption, you should be able to connect with Code:
dhcpcd wlan0 |
@business_kid
I'm not able to disable the encryption. For a little more context, this is a remote solar powered Raspberry Pi connected with a USB LTE stick. I'm able to SSH into the Raspberry Pi via this connection. I'm trying to connect to a GoPro AP to download images, which was working for months. The GoPro turns on, enables WiFi, takes an image, then goes to sleep every hour. Suddenly I'm not able to connect to it's WiFi. In this context, I can't change anything about the AP physically or software wise. It could be a problem with the GoPro, but based on my Pi I can see that it still comes on and enables wifi every hour - which lead me to believe that this is still a Raspberry Pi issue. If you would like to SSH into the Pi and take a look you are welcome. The purpose of my system is not working so anything will help. Thanks! |
I don't see how I can ssh in if you haven't got internet.
Ok. Let's presume the card is working, dhcp is working, and get down to wpa_supplicant. Humour me and copy your wpa -supplicant.conf into /etc, as that's the usual location in my Slackware anyhow. Then start wpa_supplicant. Here's what I used, and what I got. Code:
root@RoseViolet:~# wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf Code:
bash-4.3$ iwconfig wlan0 |
wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf outputs:
Code:
Successfully initialized wpa_supplicant Linux version 4.9.64-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611) ) #1053 SMP Tue Nov 21 14:56:27 GMT 2017 PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)" NAME="Raspbian GNU/Linux" VERSION_ID="8" VERSION="8 (jessie)" |
If everything's correct, and wpa has been reinstalled, you've one last option, which is to check it's loading firmware and that the firmware is good. Also the manufacturer's site for downloads. Errors of that sort are SSID/PSK, firmware, reception, or occasionally hardware.I've asked about all of them, but haven't always been answered. Check for a driver bug also. I would next suggest a usb wifi from ebay which can stay under the 100mA. The one I got had some weirdo realtek chip but I was able to compile a driver for the early ras-pi I had. You mightn't get that with 802.11n, but you can make the choices. If you have the wpa config, the wpa package, or anything else wrong, of course, it won't work.
|
There are Atheros USB WiFi dongles out there - buy, compile the (mainline) kernel module (if not already present) and off You go.
They do cost a bit more than the realtek ones, but it pays off later, in the setup. my 2c |
Just thinking, if you don't like this and have another box on hand, you can set up a wifi & dhcp server on that, and try logging in with your raspi. You may even go to setting up wpa_supplicant in server mode and completely duplicate your own setup. That way,you'll be able to fool around and gradually narrow things down. If you keep coming up against wpa_supplicant, and have reinstalled it, it could be hardware. But you eliminate everything else first. It's unusual for hardware to fail that way; Not impossible, but unusual.
|
There's a "Setting up a wireless network connection on Slackware ARM on a Raspberry Pi 1, 2 or 3" guide/tutorial on the SARPi website if it helps at all.
|
All times are GMT -5. The time now is 04:44 AM. |