Bug #632

wifi scanner not working in default mode

Added by Hammel about 2 years ago. Updated 5 months ago.

Status:ClosedStart date:20 May 2018
Priority:ImmediateDue date:
Assignee:Hammel% Done:

100%

Category:-
Target version:PiBox - 1.0 - Atreides
Severity:02 - High

Description

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.

Associated revisions

Revision 1b6fa46c
Added by Hammel 5 months ago

RM #632: Fix background of scanner now that it's in a tab to black, and adjust the colors of fonts accordingly. Change the way we find wireless devices that doesn't rely on the devices being up and configured. Change updateScan() to update required lists of data even if we don't actually update the display.

Revision 1b6fa46c
Added by Hammel 5 months ago

RM #632: Fix background of scanner now that it's in a tab to black, and adjust the colors of fonts accordingly. Change the way we find wireless devices that doesn't rely on the devices being up and configured. Change updateScan() to update required lists of data even if we don't actually update the display.

Revision b3d135a6
Added by Hammel 5 months ago

RM #632: Enable wifi devices even if they aren't configured so wifi scanning can work out-of-the-box.

History

#1 Updated by Hammel 5 months 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.

#2 Updated by Hammel 5 months ago

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

#3 Updated by Hammel 5 months 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.

#4 Updated by Hammel 5 months 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.

#5 Updated by Hammel 5 months 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