Rpi3 - WiFi Dongle unreliability

Hi Everyone,

I’ve got an Rpi3 using both the onboard WiFi, which works great, and a USB WiFi Dongle which is only working intermittently. I’m using the dongle to do some WiFi scanning with tshark. Just running tshark on a regular Raspian Jessie image works great. However, running it on resin2.2.0+rev1 is unreliable. The dongle works for a minute or two, and then it disappears as an available device, then reappearing moments later.

Does anyone have any suggestions on how I can troubleshoot this?

Thanks!

Hello, do you run the development or production version of resinOS? What does dmesg say? You should be able to see logs about the device appearing and disappearing.

I’m using the production version of resinOS.

Interestingly, dmesg doesn’t show anything about the device.

I believe running dmseg from inside your container reports your container logs, not the host’s. You might want to flash a development image (see https://docs.resin.io/understanding/understanding-devices/2.0.0/#dev-vs-prod-images) that allows host OS access and see what dmesg reports there.

Thanks. I’m on the development version now but don’t see any new information. After some poking around, I think the issue is that Docker has trouble keeping my USB WiFi Dongle (wlan1) in promiscuous mode. Do you know if there is a way to tell Docker to not manage that interface so it stays in promiscuous mode?

@teamasphalt from having a quick google it seems more likely this is due to NetworkManager attempting to take control over the interface.

A quick way to test this would be to connect to the device over serial and stop the NetworkManager service with systemctl stop NetworkManager.service and then try out tshark again. If this works you could have a go at following this guide to enable you to have both NetworkManager and tshark running side by side.