Bug #632


wifi scanner not working in default mode

Added by Hammel about 6 years ago. Updated over 4 years ago.

Target version:
Start date:
20 May 2018
Due date:
% Done:


Estimated time:
02 - High


In embedded mode (used in the media systems) the wifi scanner is displayed correctly. In normal mode (the core platform) it isn't displayed at all but the space for it is there.

The fix:
1. Make it display in normal mode.
2. Give it a black background so it can be more easily seen.
3. Make sure the window is either not scalable or the scanner scales correctly.

Actions #1

Updated by Hammel over 4 years ago

  • Priority changed from High to Urgent
  • % Done changed from 0 to 10

Item #3 is fixed, as of RM #686.

Item #1 won't be fixed. The problem is that the scanner won't display anything until you configure once so that it brings up the wlan0 interface. That's a minor bug that I won't worry about. If it bugs someone later, they can fix it with a startup function that recognizes that wlan0 (or wlan1, etc.) is available and enables it with ifconfig or ip.

That just leaves #2, which needs to be retested to see what it looks like in normal mode. With the scanner moved to it's own tab, the background can be drawn in Cairo to be black instead of using the system colors.

Actions #2

Updated by Hammel over 4 years ago

  • Priority changed from Urgent to Immediate
  • Severity changed from 03 - Medium to 02 - High
Actions #3

Updated by Hammel over 4 years ago

Item #1 might be fixable by re-arranging main.c:updateScan() a bit. Let it try to get device information if any is available, but only if we find some devices, even if we're not realized yet. Having the info is useful as soon as the display is visible. I need to test if the device is visible if they have not been brought up yet, however. I suspect they are, but might need to enable them with ifconfig before accessing them with the scanner. Maybe the network init script should do that? Or maybe I can check it programmatically?

Also, gtk_wifiscan_update() should probably have a mutex around the changing of internal buffers since that happens async to updates. updateScan() might want to pass in the new buffers before clearing the old ones to avoid async access to them in the widget.

Actions #4

Updated by Hammel over 4 years ago

Verified: /proc/net/wireless has no data if the device is not configured. But scanning (iwlist scan) doesn't require the device to be configured. So I need to review updateScan() and friends to see if we really need /proc/net/wireless. We should be able to do this another way, I think.

Actions #5

Updated by Hammel over 4 years ago

  • Status changed from New to Closed
  • % Done changed from 10 to 100

Okay, this is all fixed and the wifi-scanner is now working quite well. It starts faster when you select the tab, has much better color and easier to read text. It also scales well. And it works fine in both embedded mode (as with the Media System) and normal mode (as with the dev platform).

All changes committed and pushed.

Closing issue.


Also available in: Atom PDF