anikin, Scooby,
I now have a "compatibility" version of frisbee that works both in puppy and DebianDog. Its functionality is the same as the previous "1.2" but with these minor improvements:
- - fixes the pppoe option's "Status" button operation
- greys out the PPPoE option altogether if Roaring Penguin's PPPoE function is not present
- greys out the Diagnostics "Generate Diagnostic Data" button if the "pdiag" command/package is not present
The primary differences are to accommodate the different locations of the component files, as Scooby just mentioned above.
My intent is that there be only a single set of files constituting frisbee itself, but with a separate package of some type that has the files in the right place for debian or arch, and any other distro someone wants to use frisbee on.
Therefore, if you discover that you need to modify frisbee file contents, please notify me so that I can incorporate the mods into a master version of frisbee. I want to avoid having many variants of frisbee floating around, when I am eager to adapt frisbee as necessary to support its widespread acceptance.
In this posting I attach the current version of the "compatible" frisbee-1.2 for use only in Puppies that already support frisbee-1.x. The DebianDog (and any other adaptations) are in my next posting.
Richard
UPDATE 6/8/2014: Replaced frisbee-1.2 (with 20140607) to add changes recommended by Scooby and others.
UPDATE 6/14/2014: Replaced frisbee-1.2 (with 20140614) to add changes recommended by Scooby, to disable 2 diagnostic buttons (for pdiag & drop timeout) if they are not supported.
UPDATE 7/25/2014: Replaced frisbee-1.2 (with 20140724) to:
- - Remove the 'Set Drop Timeout' button (instead of disabling it) if dhcpcd does not offer the "-j/--dropwait" option, either because dropwait is not implemented or is a fixed value (3 seconds), depending on which variant dhcpcd package is installed.
- Prevent multiple instances of frisbee running concurrently.
- Fix "Drop Timeout" Cancel/X buttons to avoid zeroing the saved value.
- In Network Interfaces tab, (1) disable (grey out) fields and 'Save' button when no interface is selected; (2) ensure the 'Auto DHCP' checkbox is disabled if the 'Ignore' checkbox is "checked", when an interface is selected.
UPDATE 8/18/2014: Replaced frisbee-1.2 with version 1.2.2 (20140818). The main change is that the dropwait feature is removed as an option. However, the new version of dhcpcd posted on page 24 of this thread now incorporates a different implementation of dropwait that tests for a carrier every second for 3 seconds. Dhcpcd has added timeout protection that conflicts with longer wait periods. Distro developers now have the option to include a dhcpcd with or without the 3-second delay. The changes to frisbee are:
- - Removed wireless connection dropout delay option, now unnecessary.
- Corrected the logic to prevent multiple concurrent instances of frisbee execution (Scooby).
- Converted to the 1.2.x version format for updates.
- Removed 6 dummy "99-" hook script files formerly used in uninstallation of frisbee.
- Relocated the logic for determining the terminal emulator to be used to display the "dhcpcd log" (Scooby).
- Added check for the system log being something other than /var/log/messages (/var/log/everything/current), for compatibility with some other linuxes (Scooby).
- Corrected detection and display related to changing between multiple wifi interfaces.
- Changed initialization script name (to frisbee.sh) to avoid using same name as main script.
- Added SSID to profile update message.
UPDATE 9/12/2014: Replaced frisbee-1.2.2 with version 1.2.3 (20140912). The main improvement is to the table dialogs so that fields and related buttons are enabled only when an item in the table is selected and that DHCP static IP fields are enabled only when appropriate. The changes:
- - Refined dialogs for "Scan results", "Manage Saved Networks" and "Network Interfaces" so fields and buttons are enabled (not greyed out) only when a valid table entry is selected and, for static IP addresses, when Auto DHCP is not selected.
- Improved wireless network selection dialog so that updating of the list stops while an entry is selected, until connected or resumed with a "Refresh" or a "Restart Networks".
- Changed the interface-change logic to avoid restarting the frisbee script and, instead, restarting only the main dialog, making it compatible with the new single-instance lock.
- Added logic to update a wireless profile only when no input errors are detected.
- For static IP address entries, removed the requirement for a domain name server (DNS), to permit use in LANs using static IP addresses (which do not need a DNS specification).
- Added a "Refresh" button to the "Network Interfaces" dialog tab, for use with "hotplugged" network devices.
- Added logic to ensure that only one wireless (wifi) interface is active, by preventing DHCP from using any other such attached interfaces, enforcing a design constraint, to partially address domain name server issues that unexpectedly prevent internet access.
- Corrected the logic for multiple wireless interfaces to detect (hotplug) changes in connected devices and (re)start the appropriate wifi interface.
- Added a test for a spurious instance of wpa_supplicant possibly triggered by dhcpcd (6.4.2, probably due to incorrect configuration of it), to "kill" it when the user performs a "Change Interface" operation.
WARNING: Note that the 2014091x uploads are now replaced by 20140912 to remove all of the "wpa_supplicant.bin business". The problem it worked around is caused by the new dhcpcd, 6.4.2, which launches wpa_supplicant when a USB wifi device is plugged in ("hotplugged") but using the wrong configuration file. Dhcpcd probably needs to be recompiled with a configuration parameter to prevent that launch. Sorry for the aggravation to the two downloaders -- please destroy all copies of the 20140910 and 20140911 package, because they needlessly and only partially modify access to wpa_supplicant, damaging wifi support! The inappropriate wpa_supplicant still gets removed, as a precaution, when you click the "Change Interface" button and OK (no matter which interface is selected).
UPDATE 9/30/2014: Replaced frisbee-1.2.3 with version 1.3 (20140930). It contains refinements to button enabling/disabling and corrects the prioritization of networks to improve the chances that the selected network is actually the one connected, as well as bug fixes and improvements. The version is increased to 1.3 due to the extensive collection of fixes since 1.2 to the operation of frisbee. The details:
- - Inserted delay to avoid slow password input display. (This may not be the complete solution, but I am watching it.)
- Added message and immediate return if SSID not obtained during "Connect", which should be rare now that scanning is stopped while a network is selected.
- Added error return codes in add_profile and restart of scanning for all input errors/failures after a WPA disconnect (instead of for only some of the failures).
- Added a splash notice while waiting for WPA connection, checking periodically instead of single, long wait.
- For connections, changed logic to bump priority only when used (no errors), obtain SSID & FLAGS together, correct priority calculation so that newest connection is always top priority.
- Changed function names to use underscores instead of hyphens, which are nonstandard.
- Added to frisbee.conf, parameter LINKFD= so distros can choose a "file descriptor" number for frisbee that does not conflict with others used in the distro, arbitrarily defaulted to "111".
- Changed the "WPA scanning did not complete" message to state that no networks were found (after 30 seconds of scanning), because that is what happens when no networks are available.
UPDATE 10/19/2014: Uploaded bugfix as 1.3.1, to:
- - Correct '/usr/local/frisbee/frisbee-mode-disable' script name of invoked initialization script on line 3 (s/b frisbee.sh) to restore the ability to switch from frisbee to other network managers.
- Add 'nohook 10-wpa_supplicant' to dhcpcd.conf to prevent the new script of that name from being executed, because current logic does not require it; hotplugging produced a conflict with frisbee's operation.
- Replace/simplify "hazardous" exit-code-test code in 'add_profile'.
UPDATE 2/22/2015: Uploaded bugfix as 1.3.2 to correct a typo in
/usr/local/frisbee/frisbee-wifi-disconnect
that prevented restarting of DHCP and networks. To make the change without installing 1.3.2, change line 5 to replace the hyphen (-) with an underscore (_), to read as:
reset_dhcp&
UPDATE 3/7/2015: I have uploaded frisbee-1.3.3 and several versions of dhcpcd-6.7.1 and its source code here:
http://www.murga-linux.com/puppy/viewto ... 546#832546
The only difference from frisbee-1.3.2 is that the /etc/frisbee/*.conf files do not get replaced by the default versions, thus preserving users' settings through installation.