KFS WebSDR maintenance Log 29 Feb 2016 Initial system installation at Lobitos Creek site, assisted by Hal, KK6HY. 10 Mar 2016 The system was out of service from 10am Thursday to 9am Friday due to PG&E power outage. The backup generator failed! 13 Mar 2016 The server was unreachable from just after midnight Sunday morning to about 6 am Monday due to an Internet outage. 14 Mar 2016 Set firewall to block numerous SSH login attempts from China. 15 Mar 2016 Installed 160M bandpass filter to eliminate 49M SWBC spurious mixes. 15 Mar 2016 Re-aligned 40M receiver for better coverage of Extra-class phone band. 15 Mar 2016 Reset 60M receiver; it seemed mis-aligned. 15 Mar 2016 Several improvements to server remote monitoring. 17 Mar 2016 New, autostart, backup generator for site commissioned. Will automatically test itself every Wed. morning at 9:30 am. 31 Mar 2016 Installed 75/80M bandpass filter to reduce possible AM Broadcast spurs. 31 Mar 2016 Re-aligned 160M receiver for increased coverage at low end of band. 31 Mar 2016 Bypassed spliter in antenna lead of 160 M receiver for +6 dB gain on that band. 10 Apr 2016 Fixed loose connection to 75 meter receiver, thanks to Paul, W7JVY. 15 Apr 2016 Removed unused FM demodulation mode. 04 May 2016 Removed 75/80M filter and replaced all antenna system cabling in an effort to clear intermittent 75M problem. 02 Jun 2016 Improved security for remote administration of server, assisted by Bob, KO6AQ. 03 Jun 2016 Beta test of frequency tag time swap, 75M day/nite only at this time. 09 Jun 2016 Day/Nite swap of frequency tags now on all bands. 28 Jun 2016 Installed FiFi-SDR receiver for 20 meter phone band. 28 Jun 2016 Installed temporary, manual antenna switch for 40 meter receiver. To be tested by Paul W7JVY. 06 Aug 2016 Added passband tuning control. Thanks to Jeff, K2SDR and development by Weert Websdr. 15 Aug 2016 Stuttering due to interference on Internet link. ISP has fixed it (for now?). 16 Aug 2016 Expanded frequency tag swap to be different on weekends vs. weekdays. 16 Aug 2016 Reset 20 meter receiver and recabled it for better signal strength; thanks to Paul, W7JVY for helping. 22 Aug 2016 Moved existing Softrock receiver from 40M to 30M for coverage of CW/data as well as WWV. + Installed two additional Fifi-SDR receivers one for 40 meter CW/data and one for 40 meter phone. + Thanks to Werner, WB6RAW, and Sheri, KB6GWQ, for their assistance. 29 Aug 2016 Increased maximum nunber of users to 50, was 40. Hopefully the server and internet bandwidth will support this. 01 Sep 2016 Added NEWS feature near top of main page. 03 Sep 2016 Added UTC clock at bottom right of controls area. 03 Sep 2016 Changed default SSB bandwidth to norm = 2.8 kHz, and nrw = 2.1 kHz for better fidelity. 20 Sep 2016 An unexpected power cycle has reset the server PC. The sound card for 160M seems to have died. + The system was restored without the 160M band. 26 Sep 2016 Calibrated all receivers to S9 = -73 dBm +/- 1 dB using an Elecraft XG3 RF Signal Source. 25 Oct 2016 Temporarily disabled the chatbox due to excessive abuse. 04 Nov 2016 Removed the chatbox by commenting out its code. 27 Dec 2016 Restored power to USB hub powering 75, 60, and 30 meter Softrock receivers and secured hub to rack. 02 Jan 2017 Changed system name to KFS WebSDR to better reflect its history and location. 12 Jan 2017 Attempted install of USB card in server. System did not boot correctly due to USB port crash. Recovered partially. 15 Jan 2017 Swapped receivers - 20 with 40ph and 60 with 160. 18 Jan 2017 Resored RealVNC functionality so system can be configured remotely without a site visit. 26 Jan 2017 Installed faster PCI-E cards for additional USB ports. This allowed recovering the 40M CW band. 24 Jul 2017 Weekend outage for unknown reason. The RealVNC license expired and new license key was not working. + Installed xrdp as replacement. 21 Aug 2017 Reduced idle timeout to a duration of 30 minutes. 28 Aug 2017 With little notice (at least to me) the building UPS was replaced today. Normally, a reatart should bring us back. + However, the UPS restoration involved a brief application of 208VAC on 120VAC circuts. Some fuses blew, etc. 29 Aug 2017 The WebSDR is OK, but the receivers have no antenna signals from the house system. Still some blown fuses not located? 30 Aug 2017 Visited site and bypassed an antenna distribution amp with blown fuse. Now we have signals! The report is that the + electricians still have changes to make this week so we may not be finished with this saga! Proof of Murphy's law! 08 Sep 2017 Increased idle timeout to 60 min. = 1 hour. Increased maximum number of users to 75. 15 Sep 2017 Forced compact view on user display as experiment to reduce displayed poor language. 20 Sep 2017 Restored 75M receiver to operation by swapiing IQ cable with 30M receiver which remains out of service. + This required a site visit - was accompanied by Gary, K6GLH and Dick, W1QG. 10 Oct 2017 Added a facility to switch between 'normal' and 'forced compact' view on user diaplay. 17 Nov 2017 Started initial testing of new hardware at my home QTH. 27 Dec 2017 **** Installed new server computer and FiFi receivers at LO. **** 01 Jan 2018 Replaced 75ph FiFi receiver to eliminate signal mirroring. 03 Jan 2018 Replaced 80ph and 20ph FiFi receivers to eliminate signal mirroring. 15 Jan 2018 Installed bandpass filter ahead of 160M receiver anmd removed high-pass filter. - Removed old server harwdare and receivers and returned to my home as testbed system. 23 Jan 2018 Installed preamp for 160 meter band to compensate for the antenna response; set gain initially to +12 dB. - Adjusted 80cw band to also cover aeronautical channels from 3400-3500 kc. 20 Feb 2018 Installed Dow Key relay, controlled with a Wemo wifi module, to switch the 40ph antenna from Omni to SE. - Investigated spurs in 160 receiver by removing antenna; spurs remain. Possible receiver replacement needed. 06 Apr 2018 Added "=kHz" code from KA7OEI for button to snap to nearest kiloHetz; renamed to "= .00". 15 May 2018 Brief ISP outage today due to fiber optic line cut. 23 Nov 2018 Installed smartctl utility to monitor status and performance of solid state drive. 01 Nov 2019 Istalled high pass filter and 4:1 multicoupler on antenna feed of the three 80/75M receivers. 30 Jan 2020 Addded Clint, KA7OEI, as additional sysop with public/private keys for ssh installed. 31 Jan 2020 Clint added mode indication in Frequency window and moved clock display. 07 Feb 2020 Installed ctl-sdr.sh script for easier server control by sysops. 05 Mar 2020 Moved blocked IP list from ufw to reject.txt file. (date appx.) 20 Mar 2020 Clint, KA7OEI: Addition of DSP noise reduction; Rename of "Autonotch" to "Notch1"; Addition of audio-only notch filter (more aggressive than original "Autonotch") that is capable of multiple tones and working with heavy modulation; Addition of 50 Hz HPF in audio path to reduce DC pumping in AM demod with rapid AGC that can cause a loud "click" in the audio. *** Roll-back instructions *** The original versions of the modified files have been renamed with "-backup_20200320" added to them. Restore these files in order: - "websdr-controls.html-backup_20200320" to "websdr-controls.html" in /pub - "websdr-base.js-backup_20200320" to "websdr-base.sh" in dist11/pub2 - "websdr-javasound.js-backup_20200320" to "websdr-javasound.js" in dist11/pub2 - "websdr-sound.sh-backup_20200320" to "websdr-sound.js" in dist11/pub2 21 Mar 2020 Clint, KA7OEI: Added hover-over text information for DSP Noise reduction drop-down menu 25 Mar 2020 Removed public links to this file (from ABOUT pages) to increase privacy. 26 Mar 2020 Clint, KA7OEI: Added "High Boost" - a high-pass shelf that provides 6 dB boost with curve centered at 1500 Hz 02 Apr 2020 Clint, KA7OEI: Added code in "websdr-base.js" for "Chrome Audio Start" button - added more identifiers for "iOS Audio Start". 19 Apr 2020 Clint, KA7OEI: New version of "websdr-sound.js" to fix an issue where enabling squelch and DSP NR at the same time would congest the Javascript interpreter. 02 May 2020 Clint, KA7OEI: Removed numbering on DSP noise reduction level settings. 16 Jul 2020 Craig: Installed preamp/filter system for both 20cw and 20ph receivers; appx. gain 20 dB. 20 Oct 2020 Craig: Restored antenna connection to 160 meter receiver. 29 Nov 2020 Clint, KA7oEI: Adjusted values in "websdr-sound.js" to improve performance of the "Notch2" filter, making it less aggressive on voice spectral components and improve notching ability of CW carriers. The "original" version is saved as "websdr-sound_backup_20201129.js". 30 DEC 2020 CLINT, KA7OEI; Modified mouse operation in "websdr-base.js" to take into account changes with newer browsers that now required one to press-hold the SHIFT key when using the mouse wheel to change frequency: Changes restored previous behavior (e.g. SHIFT not required.) 11 Feb 2021 Brief power interruption due ARINC work on UPS. WebSDR restored late morning. 28 Feb 2021 Clint, KA7OEI; Modified both "websdr-base.js" and "websdr-controls" to default to slower waterfall speed to reduce bandwidth utilization. - Also changed "audioformat" from 0 to 1 and "maxusers" and "slowdownusers" to 140 and 80, respectively. This should (in theory) allow more users by changing total per-user utilization from about 79kbps to around 49kbps. - Also removed the "all bands" waterfall setting where all bands' waterfalls were displayed at full speed - renamed the original "others slow" setting as "all bands" so that the "other" bands' waterfalls were displayed more slowly. 07 MAR 2021 Clint, KA7OEI: Modified "function sendlog()" in "websdr-base.js" to limit length of string entered into logbook - Also added 16 character limit to username and filtered all but standard ASCII characters (see function document_username() in "websdr-base.js"). - Added code to "websdr-base.js" such that if another logbook entry is made within 60 seconds of the previous, the system will paus for 10 seconds. If more than 3 log entries are made without giving a 60 second pause between entries, there will be a 60 second pause and the user will be added to the "blocked" list (there will be a "blockmee" entry in reject.txt) automatically: They will probably try to reload the page before the 60 second pause times out. 18 MAR 2021 Clint, KA7OEI: Added scripts: - ~/pub/duplicate_up_pars.sh - This script is executed every minute and produces the following files: users.txt - This is a text version of the /~~otherstable web page users_iplist - This is just a list of the IP address of the current users sorted by increasing IP: The second field includes the (apparent) username - but the IP will be displayed if none was entered by the user. duplicate_ip.txt - This shows users who are currently logged in using more than one browers instance from the same UP address, formatted as: duplicate_ip_log.txt - This is a running log of activity of users with duplicate IP addresses. This file is updated ONLY when the content of the "duplicate_ip.txt" file changes. Each new entry has a timestamp. It has the same line format as "duplicate_ip.txt". - ~/pub/logcpy.sh - This script is executed every 6 hours. It takes the current "logbook.txt" file filters out duplicate entries and removes lines that contain obscenities found in "badwordlist.txt". It produces the following files: log_intermediate.txt - This file is created from the original "logbook.txt" file when this script runs. logbooks.txt - This is copied from "log_intermediate.txt" when this script runs. This has the effect of delaying log entries by twice the interval of this script (e.g. 12 hours for 6-hourly execution.) It is hoped that this delay in posting will reduce the self-gratification of logbook vandals. logbooks_20.txt - This is the "last 20 entries of the logbook" file. badlines.txt - This file contains the lines that were removed from the logbook: It shows what is being caught by the filter and it can be useful in adjusting the contents of "badwordlist.txt". Editing "badwordlist.txt": This file may be edited, but it MUST NOT contain a blank line anywhere including the beginning or end: If there is a blank line, ALL log entries will be filtered! It is sufficient to put a hash (#) at the beginning of a word that you do not want to filter (it will catch that word if includes the hash at the beginning - which is unlikely to happen.) Finally, the file "websdr-controls.html" has been modified to link to "logbooks.txt" and "logbooks_20.txt" instead of the original log files. 26 March, 2021 Clint, KA7OEI: Modifications> - Added the apparent user name to the "user_iplist.txt", "duplicate_ip.txt" and "duplicate_ip_log".txt. - Adding the user name should help correlate entries with the websdr usage log and with the lines that were removed by the logbook filter which may contain only a name, but an ip address. - PLEASE NOTE: The "name" will be the same as the IP address if the user has not entered a name. Also, because of the varied contents of the "name" field, is not possible to separate it reliably from the next field, so the "name" information is simply the first 24 characters of the respective line in "users.txt" and may either be trimmed to that length or it may include some portion of the next field(s). 28 March, 2021 Clint, KA7OEI: Created .GIF version of logo in /pub and changed websdr.cfg accordingly: Trying to figure out why the KFS logo - among many others - have suddenly disappeared from WebSDR.org, despite the path being correct. Most (but not all) of the working logos on websdr.org are .gif, so giving it a try. Did *NOT* restart the WebSDR, so we'll have to wait until the next time it's restarted to see if it works. 6 October, 2021 Clint, KA7OEI: Added "same site" attribute to "createCookie" in "websdr-base.js" to accommodate newer browser directives pertinent to this and prevent the related warning from showing up in the console debugger. 26 November, 2021 Clint, KA7OEI: Updated "websdr-sound.js" - Improved audio null detect to prevent LMS from blowing up when mute/squelch is occurring. 23 January, 2022 Clint, KA7OEI: Modifications in preparation for new receive hardware: - Imported modified code from NUT to interface with front-end AGC (e.g. display attenuation, S-meter correction). - Also includes code for additional URL options (?zoom=n - zoom to frequency "n" times, ?squelch=1 - load page with squelch enabled, ?nolabels=1 - force display of frequency labels OFF when page is loaded). - Code to make sure that the labels are reliably activated when the page is loaded (unless they are to be disabled via "?nolabels") - Means of setting default frequency, mode and zoom level, sample rate correction, and to allow setting of waterfall brightness separately from S-meter. - In "stationinfo.txt" file, appending "~n" to the entry will shift it to the left by "n" pixels to allow flexibility in label placement - Added A/B VFO and control buttons/display. - Added additional "stationinfo.txt" content to include the "new" bands. - Other (minor) modifications. 3 March, 2022 Clint, KA7OEI: Modifications: - Moved "Mode" indicator to below frequency line, along with "mute" and "squelch" indicators. - If a frequency in MHz is entered in the box (e.g. a number below 100) it is converted immediately to kHz: This allows either kHz or MHz frequency entry, provided that the range of the WebSDR's lowest and highest frequency is less than 1000:1. - Moved per-band configurations for adjustment of s-meter/waterfall brightness, initial frequency, mode, and zoom settings to the file "websdr-band_configs.js". - Remove manual gain control setting from main web page. - Changed "Atten:" indicator to "RF AGC:" to be more accurately descriptive. 21 March, 2022 Craig W6DRZ: HTML file changes for new version: - File index.html, made minor changes for update. - File about.html, reworked system description portion. Operating tips needs work. - File whatsnew.html, compete rewrite to include all new features of upgrade. Still needs work, but usuable as-is. This is the place to refer beta testers and new users. 26 March 2022 Craig W6DRZ: Made first pass at all stationinfo files to us
where needed. Much more work to be done. 17 April 2022 Clint KA7OEI: - Reduced pre-LNA attenuation on the 80/75 meter receiver to see if this improves performance during daytime to match performance of the KiwiSDRs - required restart -will evaluate. - Added "custom" scales for the 80, 40, 20 and 15 meter bands to "un-scrunch" the frequency scales below the waterfall, at the bottom of the page. 20 April 2022 Clint KA7OEI: - Fixed issue where stations beyond the left/right edge of the (custom) frequency scales (those at the bottom of the GUI with usernames) weren't being properly represented with the "<<" and ">>" symbols to indicate that they were outside the bounds. 2 June 2022 Clint KA7OEI - Installed code tested at Northern Utah WebSDR, which includes: - Improved DSP noise reduction and "Notch2" filtering along with reduced processor loading - Added "Varia-Notch" (manually tuned audio notch filter) - Added tunable "CW Peak" filter - Synchronous AM demodulation (Upper/Lower sideband - no double-sideband) - Improved tuning resultion (to 1 Hz) - Mode/context sensitive manual tuning buttons (e.g. number indicate step size) - Recording now includes DSP noise reduction 21 July 2022 Clint KA7OEI - Added "?10hz" URL parameter to make the WebSDR display only 10 Hz resolution, as in: websdr1.kfsdr.com:8901?10hz This was done to address an issue in which the "CatSync" program seems to have trouble parsing the extra digit to the right of the decimal place. 24 October 2022 Clint KA7OEI - Added capability for USB CW reception: One may add "?usbcw" to the URL, or check the on-screen box. Default is the (original) LSB CW reception - both centered on 750 Hz. Also added "?allow_kbd" to turn on keyboard commands via URL 28 December 2022 Clint KA7OEI - Added "?chan=x" URL command where "x" is "left" or "right" for audio channel selection. 4 January 2023 Clint KA7OEI - Significant improvements to Synchronous AM demod in terms of audio handling when lock is lost, audio quality, etc. "sam-l" and "sam-u" are now valid modes in URL frequency tuning, and "sl" and "su" may now be used for synchronous lower/upper sideband in the "stationinfo.txt" file to set entries to Synchronous AM. ================================== Sysops: Craig W6DRZ & Clint KA7OEI