What's new? cFosSpeed
---------------------------------------------------------------------------
Legend:
* New feature
+ Improvement
! Software change requires modification of your configuration
x Bugfix
- Information only
Revision history: ---------------------------------------------------------
cFosSpeed 5.00 build 1560 -- 30-Oct-2009
x Fixed non-working pinger in certain setups where application layer gateways
or NAT solutions are used that don't honour the TTL properly. Thanks to CDH
for his bug report.
x Fixed wrong colours for graphs in Traffic Analysis skin.
x Fixed missing ML keys.
cFosSpeed 5.00 build 1559 -- 27-Oct-2009
! New skin: cFosSpeed now comes with a "Traffic Analysis" skin, which allows
fine grained real-time traffic analysis. The skin comes in two sizes:
small to get a quick overview and large for detailed analysis. Each skin
draws up to 10 graphs. To enable/disable a graph line click on the
'legend' button on the left border to open the left pane. Then click on
the text for each colour to enable/disable the respective graph.
Each graph displays the value of a certain traffic "slot", where the volume
of traffic of certain programs and protocols is counted. You can setup
which traffic goes to which slot (and is thereby drawn by which graph)
in the slot setup dialog. In this Beta version the slot dialog is sometimes
hard to use, but we are improving the slot setup dialog in upcoming
versions.
! Rewrote ping engine. "Hybrid ping" is dead, long live "meta ping"! :)
The new pinger engine can make test pings to measure connection latency
with ICMP (like ping), but as well with UDP and TCP; furthermore, packets
can be sent from both kernelmode and usermode. All pingers operate in
parallel and cFosSpeed automatically selects the best one. The reliability
of the measurements is checked all the time and cFosSpeed will switch to a
different pinger if one starts to fail.
Hopefully, this will further reduce the problems users have with misbehaving
firewalls, routers and ISPs. Be sure to allow packets from spd.exe to pass
through your firewall if you're asked.
Commands of the new ping engine:
pinger set the protocol and TTL for outgoing test pings
pingstat print ping statistics (-clear clears stats after printing)
pingclear clears ping statistics
pingboot cycle thru all pingers to find best protocol and TTL
sethops set the TTL for outgoing test pings
! New and improved configuration dialogs that should be easier to use and
navigate. The Usage Graph dialog now also shows the total sums of the
displayed line diagrams.
! Moved 'hide_on_fullscreen' key from the window settings configuration to the
global configuration, i.e. into the [param] section of the cfosspeed.ini
file. Also, due to popular demand, you can now toggle this setting in the
window settings menu of the context menu.
+ New slot commands: you can set up the slots from the spd command line as
well. To do so, you can use the following commands. All commands begin
with "spd slot ":
get/set name
get/set/add protocols
get/set/add programs
get/set mode get/set the traffic counting mode. available modes are:
tx, rx, max, total_tx, total_rx, total_max
'max' modes display rx or tx, whichever is faster in percent
'total' modes display all traffic, ignoring protocol/program settings
unused protocols display protocols that have not been assigned to a slot
unused programs display program names that have not been assigned to a slot
save save all slot settings to user.ini
reload load all slot settings from user.ini
+ Added new skin functionality: you can now draw lines and set text with
arbitrary fonts in your system.
+ Improved burst code to find the line speed after install. This will happen
automatically only three times after connect now. Added detection of a
second traffic shaper to burst.
+ New language: Nederlands! That makes a total of 19 languages supported.
Even more languages are downloadable from our web site, here:
http://www.cfos.de/speed/documentation/lang.htm
+ Added tracking of UDP pseudo-connections counts.
+ Improved bulk detection: non bulk streams (i.e. interactive) connections
must now not exceed a certain speed.
+ Added spd con -lss and -ss option to display the largest ever used segment
size and all segment size values.
+ When started in compatibility mode, cFosSpeed will still know the real
operating system version.
+ The skins now support system fonts for text display. Thus skin designers
don't need to define their own bitmap fonts any more. Also the HISTORY
method supports line drawing. See http://www.cfos.de/skin/skin_ref_e.htm
for details.
+ Added a quicker way for the minimum RTT to adapt to higher ping times.
+ Two more regulation parameters of variable shaper are now available and can
be changed on the command-line: tx_dest_width and rx_dest_width. They are
both counted in usec. You can change them e.g. by "spd set tx_dest_width
20000". Changes are saved on a per-port basis automatically.
+ Added gset variable dump_ascii to switch off ASCII printing of data in data
dump mode.
+ Added -stat parameter to "spd tcb" command. This will print detailed traffic
statistics for each TCP connection.
+ You can now configure to check if outgoing TCP segments are resends of
segments that are still in the send queue. By default this check is no
longer performed, since it may consume too much time for a meagre gain of
some 0.1% tx bandwidth in tests here. If you want to squeeze the last bit
of speed out of your connection, switch it on with
"spd gset resent_in_queue 1 -save".
+ Speeded handling of out-of-sequence TCP segments. This could lessen overall
CPU load by some percent and lower the memory consumption.
+ "spd cons -speed" now lists a new column: flags. Listed flags are: MSS,
WSCALE, SACK, TSOPT and ECN. An upper case letter indicates that the option
is in use for that TCP connection, a lowercase letter indicates the initiator
of the connection tried to negotiate the option to no avail and a '-' means
the option is off. See "spd cons -?" for more help.
+ IP blocklists are now also accepted in Protowall/Peerguardian format. The
old format (which is still supported) was by Emule.
x Fixed a long-standing skin bug, which caused cfosspeed.exe to sometimes
crash while switching skins. Thanks to Ingo Guenther.
x Fixed tsclear command. It had erroneously cleared rx_limit, tx_limit and
inhibit_bridged.
x RTP detection would try to identify packets as RTP even if UDP pseudo-
connection had the l7-protocol already saved. This could lead to BitTorrent
UDP connections being flagged as RTP. Fixed. Thanks to TheXtremeKing for
data dumps.
x Added workaround to avoid spurious crashes in fslx.sys (Symantec Antivirus)
when booting.
x If running as Admin a change of language would not update the .hta files.
Fixed.
x Better bulk detection for small MSS. Thanks to Sz. J.
x Fixed Window 7 bug in game mode, thanks to Mario Schieke.
x Fixed TCP counter "ACKs for unsent data".
x Fixed a rare crash when dump mode was on.
x Fixed a bluescreen under Vista when hibernating. Thanks to Ralf Knuth.
x Fixed problems with game mode: under some circumstances the window would not
open after it closed automatically. It should now open/close the window
automatically on fullscreen - only if not opened/closed manually.
And sometimes game mode changed focus. Fixed.
x Fixed bug in usage graph display.
- Removed NDIS status output that only filled up the trace file.
- Added some decoding for Win7 in trace file.
- The dialog\calibration*.htm files are now used from our server directly
instead of from the distribution.
cFosSpeed 4.52 build 1509 -- 03-Jun-2009
* Finally added auto-hide on fullscreen to the skin window. Thanks to
Richard B. (dj deipotent), who provided the code for this feature.
cFosSpeed automatically closes the skin windows, if an application
(e.g. a game) switches to fullscreen mode. It opens the window after
fullscreen mode is exited if the last time it was opened was automatically.
To disable this feature, set the key "hide_on_fullscreen" in the section for
the respective skin window/network card in cfosspeed.ini to 0.
* cFosSpeed can now block huge lists of IP-addresses the same way IP-Blockers
like Protowall and Peerguardian support them. All traffic to or from one of
the listed addresses is blocked. We call those lists "iplists".
It works like this: cFosSpeed supports these iplists through two filter
expressions: -s-iplist and -d-iplist. They are already set by default in
settings.ini.
The filters -s-iplist and -d-iplist accept as a second parameter an iplist
name. The default name used in settings.ini is "ipfilter". In the [iplist]
section in settings.ini or user.ini you must specify the iplist names with
the corresponding IP block list files that contain the IP-ranges to be
blocked. These block lists are not supplied with cFosSpeed.
An example excerpt from settings.ini:
filter=-tx -d-iplist ipfilter -c drop
filter=-rx -s-iplist ipfilter -c drop
[iplist]
ipfilter=c:\text\ipfilter.dat
ipfilter=c:\text\my.dat
This will read both files and make them available as iplist named 'ipfilter'.
This iplist is used by default to filter packets to the drop queue, i.e. to
discard them. Use "spd reload -iplist" to reload the iplists from the source
files.
See http://www.cfos.de/speed/documentation/filter_expressions.shtml#iplist
for more. Thanks to esz for the idea.
+ Nicer budget graphics; the usage graph can now also display the total
transmitted/received number of bytes. This is now the default.
+ Added support for VLAN tags. You can filter on VLAN packets with -is-vlan,
-vlan-prio and -vlan-id filters. And you can specify VLAN priority and ID
to be set for each traffic class.
+ Added new global setting "bulk_detect", which is 1 by default. Switch it
off to prevent cFosSpeed from guessing if certain l7-protocols (like IRC,
Telnet, file sharing) are in bulk mode, i.e. transferring large amounts of
data.
+ Added -tcp-lport, -udp-lport and -lport to match local ports and -tcp-rport,
-udp-rport and -rport to match remote ports.
+ Added help texts for global variables dump_sessions and passthru. Use e.g.
"spd gset passthru /?" to get help.
+ Added new filter option "-force-set-class". By setting this option in a
filter expression you can force cfosspeed to set the class of this filter
as the main class of the TCP/UDP connection this packet belongs to.
See http://www.cfos.de/speed/documentation/filter_expressions.shtml
section "RX-priorisation" for more details. Thanks to GB W for inspiration.
+ Added additional way of allocation to relieve non-paged pool.
x Favour ping time mode is no longer switched off with each installation.
Thanks to prophecy.
x Fixed "spd medium" command.
x Fixed a crash when machine wakes up from hibernation. Thanks to Eric
Fraser for dumps.
x If the cfosspeed.ini file was saved as non-unicode, it was not changed to
unicode later. This could cause a problem, when unicode filenames were
tried to save. Fixed.
x If the measured delay is too high the fixed shaping algorithm now lowers
txspeed more, even if we attained a higher speed some time before. This
should guard better against measurement or calculation errors.
x Tried to fix a psched.sys crash. Thanks to Kai for dump file.
x The variable shaper sent pings all the time, even if there was no traffic
otherwise. This has been fixed. Thanks to Octavian for the report.
x Expanded and fixed "spd tvstat" counters.
x Added more debug output when driver could not be loaded.
x RTP statistics were not printed when there were no RTCP sessions. Fixed.
x RTP detection bug fix.
x UDP checksum errors were counted but not printed. Fixed.
x UDP packets without checksum are now properly handled.
x Relaxed CPU load needed for program name queries on routed UDP traffic.
Thanks to GB W for help.
x Overview of active connections should have less "Unknown" program names now.
x Fixed potentially serious bug in interlocked handling.
x Now handle_mss is 0 by default, i.e. TCP MSS is not changed by cFosSpeed.
This should fix problems with some strange web sites.
- When installing, cFosSpeed no longer asks for the default shaping algorithm,
but instead uses the variable shaper. If you want to use the fixed shaper
instead, you can change this setting under Settings, Preferences, Traffic
Shaping Mode and for each connection individually under Connections when
you click on the toolkit icon.
- Added more debugging output to help finding "Driver not loaded" problems.
- The variable strict_rtp_check is now 0 by default. If you experience
many unexpected RTP packets in l7-protocol detection, you may want to switch
it back on.
- The global parameter dump_arp is now 0 by default.
cFosSpeed 4.50 build 1456 -- 10-Feb-2009
+ Added new skin: "LC History"; it's like our well-known Liquid Crystal skin,
but with a history that scrolls to the left.
+ Added Layer-7 detection for large HTTP downloads (client & server).
HTTP transfers which take more than 1 sec. at full speed are now
classified as HTTP_C_BULK / HTTP_S_BULK and have low priority as
default. You can change the priority in the Layer-7 Protocol prioritisation
dialog.
+ Speeded memory allocation.
+ Improved detection of packets that NDIS sends erroneously to cFosSpeed.
x Added better handling of multiple but different SYN segments and improved
recovery after ACK for unsent data. Thanks to khashayar zayyani for help.
x Fixed a crash with Cisco Systems VPN Client. Thanks to Hardi Trenkel for
crash dump file.
x Adapters were sometimes unbound too fast, which caused Windows problems.
Fixed.
x It seems some networks trash the Ping IP packet when they return it to the
sender and cFosSpeed couldn't find the replies in its lists. Thus, we
relaxed the check a bit. Thanks to Deepak for bug report.
x Tried to fix problem with socket error sending pings that caused ping
balloons. Thanks to yen linh for report.
x Fixed a bug where cFosSpeed would not properly reset the 'bridged'
setting when the router resets while cFosSpeed is running. Thanks to 4wd
for bug report and testing.
x Sometimes HTTP, SSL and SSH non-BULK l7-protocols would stay on default
priority even if the l7-protocol priority was set to high. Fixed. Thanks
to mumia for bug report.
x Fixed a crash under Vista that would close spd.exe. Thanks to SyntaX.
x Fixed some Windows object security problems.
x L7 protocols SSL_C, SSL_S and SSH sometimes switched between _BULK and
regular versions periodically. This has been amended.
- Removed obsolete NDIS handler.
- Removed speed.gadget from distribution. It can now be downloaded from
our website.
cFosSpeed 4.24 build 1420 -- 03-Jul-2008
x The saved "spd dump -save" setting was never read. Fixed.
cFosSpeed 4.22 build 1406 -- 25-Jun-2008
+ Filter expressions -s and -d now accept lists of addresses. Thanks to
reMiND for the idea.
+ Added a switch to log all TCP connections with their addresses, ports,
statistics, etc. to a disk file. This may be good if you want to see
what happened, when you didn't watch the status window. The data of the
sessions is not saved, only statistics.
To activate set "spd gset log_sessions 1". Add a "-save" if you want to
keep it activated after a restart. The disk file is called
session_log.txt; you can set it max size with gset variable
max_session_log_size, default is 1mb.
+ Added spd command "tcb" to show interactively some of the info that is
written to session_log.txt.
x Fixed psched.sys crash. Thanks to Reinhold Gose for dump file.
x IP reassembly code was broken. Fixed.
x Fixed a cfosspeed.exe crash. Thanks to Steffen Rose for report.
x Low latency mode lowered the TCP MSS even in cases where the increased
amount of TCP ACKs would totally saturate the upstream. We now only
lower the MSS if the RX and TX rates are reasonably symmetrical. Thanks
to Oliver Rauh for bug report.
x To fix the case where line geometry is such that you have lots of download
and not much upload (like 1024/32) we now limit the amount of data that
is sent out prioritised in classes high and higher to 40% of TX-bandwidth
each. If that limit is exceeded, packets are sent out like any other
packet is with default priority.
cFosSpeed 4.20 build 1389 -- 12-Feb-2008
+ Added support for Vista Sidebar Gadgets. See speed.gadget in the
cFosSpeed installation directory (double-click to install after first
re-boot). This sample gadget demonstrates how to create your own
sidebar gadgets. Feel free to contact us. We might be interested in
publishing your gadget on our website.
+ New language: Arabic! That makes a total of 18 languages supported.
Even more languages are downloadable from our web site, here:
http://www.cfos.de/speed/documentation/lang.htm
+ trace.txt is now in UTF-8 coding, but without a byte-order marker at the
beginning. Use e.g. notepad for viewing.
+ The gset parameter passthru can now be set to 2. This will still bypass
all shaping and packet modification logic, but not as radical as
passthru = 1. Debugging purpose only.
+ Added func_trace = 2. This will dump NDIS_PACKETS with all fields into
trace.txt. Debugging purpose only.
+ Network adapters are no longer unbound if set to "Auto". Only setting them
to "No" will force the unbind. Thanks to Andrey Chernov for his help.
+ Added a way to change and save rtt_tab's. Thanks to Darko Grskovic for
inspiration.
+ If class installer is locked, adding a route is retried every 3 seconds.
x Fixed a long-standing bug (maybe as old as v2.13): packets were sometimes
sent to the wrong network adapter. This could have happened whenever you
had more than one active adapter. This could fix problems with Hamachi,
VPN software, multiple network cards or bridging. Please test and report!
x Fixed a rare crash while loading. Maybe this crash only appeared with
certain VPN software. Thanks to Christopher Moffett for the dump file.
x Testing whether not activating the device will fix freezes after
installation under Vista.
x Cleaned up NDIS packet handling.
x Buttons in the icon skins where not working under Windows Vista. Fixed.
x Now setting 'inhibit_bridged' will immediately change 'bridged' variable.
Thanks to Velouria for the bug report.
x Some internal rewrite to fix a spurious bluescreen.
cFosSpeed 4.06 build 1353 -- 29-Oct-2007
+ Variable shaper will regain full speed quicker after it slowed down when
congestion was detected.
+ Certain WLAN line status codes are no longer logged to trace file. This
should help in keeping the trace file small and readable.
+ Some network adapters don't notify cFosSpeed about route changes. You
can now notify it manually by the new context menu option
"re-detect routes".
x Historical maximum speeds no longer fall for the moment. It caused too
much problems.
x cFosSpeed window would stay open on a WAN connection even if you set it
not to shape the connection. Fixed.
cFosSpeed 4.04 build 1336 -- 06-Sep-2007
+ You can now even set a more limited subnet mask override (see
subnet_override). Thanks to Zyw for inspiration.
+ Added "spd cperf" command to switch on or off class traffic dumping. By
setting "spd cperf on" cFosSpeed will dump about once per second how many
bytes were sent in what priority class. This can help in testing filter
rules or finding performance problems.
+ When cFosSpeed's variable shaper is sending slow because of tx congestion
and that congestion goes away, cFosSpeed will now return to its old tx speed
quicker.
+ Historical maximum speeds can now fall as well, if your line gets slower
(because its bandwidth isn't fixed or because your speed was switched down).
Only supported by variable shaper.
x UDP program name detection was broken since build 4.01.1308. Fixed.
- The "no pings" balloon will now appear later, i.e. the number of pings that
must be missing for this balloon to appear is higher now.
- FTPDATA protocol can now be set to high or higher priority, regardless of
its packet sizes.
- Removed tracing of minimal RTT ping packets.
cFosSpeed 4.02 build 1312 -- 10-Aug-2007
! Added rx-priorisation. It works as follows:
Each class (high, default, low, lowest) has a weight assigned. Furthermore,
all TCP streams are mapped to a certain class (this only applies for bulk
data; e.g. ACKs are always sent out in the higher class), according to
filter rules. The class weight is used when TCP windows for rx-shaping are
computed. A TCP stream with weight 100 gets a window that is about 4 times
bigger than a stream with weight 25. This should *usually* translate into
more speed on that stream, but not necessarily (e.g. the sending server
might not be fast enough).
The pre-set weights are:
class high -weight 400
class default -weight 100
class low -weight 25
class lowest -weight 6
I.e. regular browser downloads (class default) should get about 16 times
the speed than Torrents (class lowest).
The weighting needs some time (some seconds) to be through, so a newly
created higher-than-average TCP stream needs these seconds to come to full
speed.
+ Now UDP checksums are checked as well.
+ New language: Russian. That makes a total of 17 languages supported.
+ Added "spd timerstyle" command to query (just "spd timerstyle"), set
"spd timerstyle " or list supported values ("spd timerstyle -?").
Changes to timerstyle are only active after a restart of cFosSpeed.
+ Added layer-7 protocols SSL_S_BULK, SSL_C_BULK and SSH_BULK. Switching
of sessions between bulk and regular mode is done automatically based
on speed and packet sizes. Thanks to ghorvath for inspiration.
+ Added gset variable fwlog. Setting it to 0 ("spd gset fwlog 0 -save")
will disable fwlog.txt logging of firewalled packets. Thanks to danny
for inspiration.
+ Straightened evaluation of which filter rules determine the class of a
connection. Now rules like -tcp-dport, etc. work as well. The third column
of a "spd filter" output is 'c' for rules that set the class.
+ "spd reset_budget" without specifying a budget number now resets the current
budget.
x Fixed warning that is displayed if too many connections cause rx-shaping
to be inefficient. It was displayed regardless of the number of
connections.
x Fixed a problem where downloads would be slowed too much. Thanks to FR.
x FTPS (FTP with SSL, FTP with TLS) command sessions are now identified
as FTPCMD in layer-7 detection. Thanks to ghorvath.
x Switching the medium no longer changes the shaping algorithm. This was
unintuitiv. If you want a different shaping algo (variable/fixed) you
now have to switch it manually.
- Streamlined some code in search of obnoxious "slow LAN copy" bug. Thanks
to Steve Coolen for his help.
- Module "ackfilter" is now disabled by default. Set "ackfilter=1" in
section [param] in cfosspeed.ini to enable it again. This does only
switch off the filtering of presumably superfluous TCP ACKs, not the
regular priorisation of TCP ACKs.
- cFosSpeed service is no longer flagged interactive. Please inform us if
something doesn't work as expected.
cFosSpeed 4.00 build 1283 -- 19-Jun-2007
! Major New Feature: Multi-User Version finally available!
Now you can use cFosSpeed on several PCs connected to one router. Also a
new Traffic Shaping algorithm is available for users with variable
bandwidth. The installer lets you specify the type of broadband connection
you have:
- fixed bandwidth: Your connection has fixed bandwidth and you either
use it exclusively or all Internet traffic is routed through your PC.
- variable bandwidth with cooperation: Either your connection has
variable bandwidth and/or you use it with several PCs simultaneously
(with cFosSpeed installed on each PC).
- variable bandwidth without cooperation: Same as above, however
at least one computer has no cFosSpeed Traffic Shaping.
Settings: "fixed bandwidth" allows lowest ping times, followed by variable
bandwidth with cooperation. However, if you have no influence on the
computers connected to the broadband connection, use variable bandwidth
without cooperation.
For best performance, calibrate each computer independently, i.e. while
no other computer uses the available bandwidth.
* Now you can set MAXimum rx-speed and tx-speed!
You can set it under Options / Settings / Preferences.
Or, just use "spd set rx_limit " resp. "spd set tx_limit ". The
value is in bytes as cFosSpeed calculates them. This might be up to some
percent more than what your software shows you. It's best to look at maxrx
resp. maxtxraw ("spd set maxrx" resp. "spd set maxtxraw") and then set the
limit accordingly. The value is automatically saved. To set no limit, set
it to "inf" (like "spd set rx_limit inf").
The tx_limit is quite accurate, but the rx_limit is only met statistically,
i.e. it's possible you receive more than the limit, but shortly afterwards
you'll receive less.
It is a good idea to give your client one full blast upload and download
before setting one of those limits. Otherwise, it will have problems
calculating, because it doesn't know the "true" line speeds.
* Now you can display the class most packets of TCP connections and UDP pseudo-
connections are classified to (higher, high, default, low or lowest). Use
"spd cons -class" or -show:c, -addshow:c or -sort:c options. See other
"cons" or "-sort:" entries here in whatsnew.txt for more details.
The "current connections" dialog show the class as well.
* cFosSpeed now has support to send ping messages from both usermode and
kernelmode, named "hybrid ping". This should hopefully help with some
firewalls that are difficult to configure or have problems with spd.exe
sending ICMP messages. cFosSpeed will switch between usermode and kernel-
mode ping at the beginning of a connection to ensure pings are coming
through.
+ Added additional column with MSS to "spd cons". It is included in
"spd -speed", can be added with "-mss" option and has the column key 'm'
for -show, -addshow resp. -sort parameters.
+ Added additional columns for average tcp segment size (ass) to "spd cons".
They are included in "spd -speed", can be added with "-ass" option and have
the column keys 'a' for tx ass and 'A' for rx ass for -show, -addshow resp.
-sort parameters.
+ Added a proper "spd cons -?" help screen.
+ New filter rules -tcp-seq and -tcp-cnt to match on bytes of sequence space
transmitted or number of packets in this connection, respectively. Thanks
to pogowurst for inspiration.
+ Added a warning that is displayed if too many active connections cause
rx-shaping to be inefficient. This can be disabled with
"spd gset balloon_many_cons 0 -save".
+ Recoded RX-shaping. cFosSpeed should now work much better with very many
connections, like with BitTorrent.
+ Added more debug output when cfosspeed.sys can not be loaded.
+ New language: Brazilian Portuguese. That makes a total of 16 languages
supported.
+ Added manual configuration option to change the subnet mask (only applies
if you use a router). This is needed if you have more than one router and
use them cascaded.
cFosSpeed already knows the network interface that is used to send data to
the Internet and it got the subnet mask OF YOUR SUBNET. But if you use
multiple routers it doesn't know about the subnet mask of the next-hop
subnet. But all traffic OUTSIDE of your subnet is considered Internet
traffic. So you can specify a BROADER subnet mask (i.e. with less 1's)
manually.
To do that add the MAC address of the router to section [subnet_override]
in cfosspeed.ini, followed by an equal sign and the desired new subnet mask,
like this:
[subnet_override]
11:22:33:44:55:66=255.255.0.0
If you don't know the MAC address of your router, use "spd ports". It's the
router_mac value. Thanks to TSE for inspiration.
x Changing l7-protocol priority to "Normal" didn't work. Fixed.
x Fixed two possible causes for non-MSS aligned RWINs.
x Fixed a problem under Vista where budget and skin settings would not be
written to disk after modification.
x Usage graph didn't work with user rights under Vista. Fixed.
x Fixes in rx-shaping for slow speeds (like ISDN).
x Fixed a rare problem with license keys when re-installing cFosSpeed.
cFosSpeed 3.22 build 1254 -- 13-Mar-2007
+ Added gset variable save_in_session. If set to 0, it will prevent cFosSpeed
from saving data.ini, budget and traffic stats every 10 minutes. However,
trace.txt is still saved if output is printed to it. Thanks to Paszczak
for the feature request.
+ We now activate the device after installation. This could fix some problems
with non-loading drivers.
+ When lowering msslimit this is now enforced on existing connections as
well. Before that, it only worked on new connections.
x Fixed logging of driver load problems for Vista.
x I hope I finally fixed that darned crash at deinstallation. Thanks to
spookypsi and all other for dumps, patience and testing.
cFosSpeed 3.20 build 1234 -- 28-Feb-2007
- The cFosSpeed Multi-User Version will be available as beta within the
next weeks. Sorry for the delay, but we had to fix the Vista issues first.
* All cFosSpeed executables, drivers and archives are now digitally signed.
This is a requirement for Windows Vista x64, but comes in handy for all
other operating systems. If you download a version without a digital
signature of "cFos Software GmbH" it has been tampered with and is not
from us. In that case, download an original version from
http://www.cfos.de/download
+ Added proper trustinfo to manifest so Windows Vista now asks correctly at
the start of the installer for user rights elevation.
+ New languages Danish and Swedish. Many thanks to eZtaR and Mattias Boström
for their translations. That makes a total of 14 languages supported.
Even more languages are downloadable from our web site, here:
http://www.cfos.de/speed/documentation/lang.htm
+ Added media frame_count and cable_mixed. They can be chosen now from
netconfig.hta as well.
+ When no routes to the Internet are found, no ports are unbound. This keeps
cFosSpeed from unbinding and binding again shortly afterwards when the
router becomes available.
+ "spd perf" output is now scaled with K or M postfixes if values become too
high.
+ Added -dscp filter condition. You can give a range of DSCP values as
"-dscp x:y" or a single values like "-dscp x". See RFC2474 for details on
DSCP and http://www.cfos.de/speed/documentation/filter_expressions.shtml for
details on filter expressions. Thanks to Knarf for inspiration.
+ Added a parameter in the [param] section of cfosspeed.ini:
keep_bindings=1 disables unbind operations for seemingly unused
network adapters. Use it if you experience connection losses with VPN.
+ Added parameters to "spd cons": -time to also show the duration of
connections and -addshow:... to also show some columns; columns are selected
like with -show.
+ Added methods frame_count and cable_mixed.
+ Until now -l7-prot rule didn't accept the protocol "unknown", this has been
fixed. Now you can write "filter=-tx -l7-prot unknown -c lowest" to match
all packets with no recognised l7-protocol.
+ cFosSpeed now keeps RTTs of each TCP connection. We have to see how useful
that turns out to be. View them with "spd cons -rtt". The column key for
rtts is 'i'.
+ More switches for spd cons: -win, -all, -speed to add window limit, all
variables resp. all speed critical variables to display.
x Numerous fixes for Windows Vista:
automatic calling of setup.exe when password was wrong; problems with
hibernation; installation quirks; key registration problem; missing program
names for connections; proper reporting if network installer is locked;
proper detection if you're Admin. Thanks to Paul Pagel and all others.
x Fixed a crash at deinstallation/update-installation. Thanks to TSE.
x Fixed a bug where layer-7 detection sometimes confused http streaming server
with client.
x Fixed a problem where status windows would stay open.
x Sometimes cFosSpeed forgot routing information after hibernation. Fixed.
x Sometimes cFosSpeed didn't detect route changes right after reboot.
Fixed. Thanks to Thorsten Taube.
x Re-registering with a key.cfosspeed didn't work if the already installed
key-file was read-only. Fixed. Thanks to ptr727 for the report.
x Sometimes not all settings were loaded from DATA.INI when a port was opened.
Fixed.
x cFosSpeed didn't find a route when the driver wasn't loaded beforehand.
Fixed.
x Upload speed was sometimes too low when low-latency mode was activated.
Fixed.
x Fixed a problem where cfosspeed.exe would cause 100% CPU usage right after
install in some cases. Thanks to Schimi1983 for help.
x Fixed a problem with Usage Graph and IE 7.
x Fixes for poorly performing rx-shaping: download throughput would be limited
too much. This should be better now.
- Now cFosSpeed will no longer check or change the TcpWindowSize or RWIN
parameter under Vista, since it's no longer supported thanks to Vista
TCP/IP auto-tuning.
- Added trace output for problems with power handling.
- More changes to rx-shaping to allow smaller ping times when downloading.
- Again a hint to heavy downloaders: limit the number of your download
connections. This ensures more stable download rates and in the end faster
downloads. 20-40 seems to be a good value.
- TCP window size is now adjusted to allow 25 Mbit/s downloads.
cFosSpeed 3.12 build 1184 -- 09-Nov-2006
+ Added -dscp option to class command to set a DSCP value to all outgoing
packets of a class. See RFC2474 for details on DSCP.
+ Added some wait time for driver to load after install.
+ Added support for Vista interface type 71. Thanks to Paul Pagel.
+ Added context menu entry to switch latency setting
x Fixed a problem with usage graph under Vista.
x Tried to work around locked conditions with Vista class installer.
x Fixed some trace output when driver didn't start.
x Removed erroneous properties dialog in Windows' Local Area Connection.
x Some files were not correctly deleted on uninstall. Fixed.
x Fixed a bug in the scaling of usage graph when used with "sum" display.
Thanks to TSE.
x Prevented cFosSpeed from unbinding itself from CISCO VPN adapters.
Hopefully this fixes connection problems there.
x When a WAN connection was not set to "yes" in "connections", you could not
enable Traffic Shaping in context menu.
x When IP addresses where added/deleted/changed to/from the network card the
cFosSpeed port and window closed. Fixed.
x Deleted IP addresses were sometimes not transferred correctly to the driver.
This could lead to cFosSpeed ignoring all data packets. Fixed.
x HTA fixes.
x Tried to fix a cfosspeed.exe crash where the context menu would refer to no
longer existing windows.
x Usage Graph now works for non-admins.
- After install, cFosSpeed installer will check if driver is running. If not,
it adds a diagnostic message to the trace file, but installation continues.
This should make installation problems better visible.
- Context menu entries "Clear calibration data" and "Send calibration pulse"
are now reduced to one entry.
- Status windows show speeds now based on transmitted IP packet volume.
Thanks to Vigil for inspiration.
cFosSpeed 3.10 build 1153 -- 07-Aug-2006
* New online time and volume budgets. You can assign your connections to
one of 10 budgets in order to count your online time resp. used volume.
You can set the day of month when your budget resets. There is a usage
indicator for the current budget in the skin status window. Also with
"hard limits" you can force cFosSpeed to throw away all data if the budget
limit is exceeded.
The "spd budget" command shows exact budget status.
* cFosSpeed can now track the used volume for budgets, protocols and
programs and record it into log files. There is a new dialog to display
the usage graphically.
The global setting traffic_stat (default 1) can be set to 0 to disable
all budget and traffic statistic tracking.
+ Added inhibit_bridged set variable. Set it if you have a public IP address,
but are connected with a router and not with a bridge.
+ Added better debug trace possibilities if driver doesn't load.
+ cFosSpeed default skin now has a nice explanatory "panel" that pops up
when you hover over one of the active areas.
+ Recoded RX (downstream) traffic shaping. This should help especially
BitTorrent users with improved download speed and better ping times. To
further increase your download speed, limit the number of receiving
connections. 400 seems to be normal with Azureus, but 50 result in better
download speed.
This fix could as well help users that had the effect of dropping TX rates
over time.
+ RX (downstream) traffic shaping can now be switched on or off by setting
"spd gset rx_shape 1" resp. "0". In the same way traffic shaping can now
be totally switched on or off by setting "spd gset shape 1" resp. "0".
+ "spd cons" output can now be sorted and only specific columns can be
printed. Use -sort: to sort and -show: to specify
the columns to be printed. Column keys are case significant. -noudp
and -notcp will not print UDP resp. tcp connections.
Column keys are:
p Protocol (TCP or UDP) (only display, no sort)
l Local IP:port number
o Remote IP:port number
g Program name
7 L7-protocol
r RX volume
t TX volume
R Current RX speed
T Current TX speed
d Duration of connection
- To reverse the sorting order
Example: "spd cons -sort:-d -show:lod -noudp" shows all TCP connections
and displays local and remote IP:ports and their connection time, oldest
first.
+ When left- of right-clicking the taskbar icon, all cFosSpeed windows are
re-set to topmost, in case they were covered with some other window.
+ HTA dialogs are now existent only once and pull their language specific
texts from the regular ml-file speedml.txt. Translators now only have to
translate speedml.txt and no longer work on the HTA files as well.
+ "Current Connections" has a new design and can now be sorted.
+ Added "medium /?", "set medium /?" and "set method /?" with a list of
available settings.
+ Added new method bridged_over_aal5, sometimes known as "RFC 1483 bridged"
or "RFC 2684 bridged". Thanks to Wanton.
x Fixes for Dial-Up connection for Windows Vista Beta 2.
x Now cFosSpeed runs under Vista x64. Thanks to Paul Mercer for his help.
x LAN ports that closed due to inactivity were re-opened incorrectly. Fixed.
x Another try to fix that annoying problem of empty taskbar icons.
x Fixed dump_sessions 4. Thanks to martin winkler. :)
x Now cFosSpeed properly distinguishes between http media downloads and
streamed plays.
x cFosSpeed would not detect cases where the router wasn't in one of your
subnets, fixed. Thanks to tycoon.
x Fixed install retry with corrupted DevicePath key. Thanks to Prótár Gábor.
x Minor tweaks of the network component installation. This hopefully fixes
installation problems with network bridges.
x Fix for missing interface info. This could have lead to connections not
being shaped although traffic shaping was enabled. Thanks to Arne
Brachhold.
x Fixed an UDP detection bug. Thanks to Kubiac.
x Kademlia/E2K UDP detection included again.
x Now cFosSpeed can handle up to 16 IP addresses per network card. However,
it is assumed that only one of those addresses is used to communicate with
the Internet. This should fix problems where users experienced slowdown
of LAN traffic. Thanks to Daniel Hirschmann.
x Some FTP data connections (like with Total Commander) were not properly
detected. Fixed.
x Now settings will be flushed to data.ini when the system shuts down.
Thanks to thefonz.
x Changes to fix problems when displaying taskbar icon.
- Switched off tooltip display for skin windows.
cFosSpeed 3.00 build 1103 -- 12-May-2006
* Major feature: Added Protocol Layer 7 Detection. From now on, cFosSpeed
analyzes traffic based on the transferred data rather than the port number
used. This gives cFosSpeed precise traffic analysis capabilities and
thereby allows you fine-grained control over your traffic. cFosSpeed
detects the following protocols:
Commonly used: HTTP, FTP, POP3, SMTP, IMAP4
Voice-over IP: RTP, RTCP, SIP
Special protocols: Telnet, SSH, SSL, IRC, DNS, (S)NTP, RPC
Filesharing: eDonkey, Kazaa, Bittorrent, Kademlia, Gnutella(2),
Direct Connect
Streaming Media: HTTP-Streams with various Media-Players and RTSP
For each protocol cFosSpeed distinguishes between client and server
mode. All protocols can be prioritised individually. In addition there
is a "Connections console" giving you real-time information about the
current connections and their detected protocols. User data of these
connections can also be recorded into a log file for analysis, see session
dumping below.
As a by-product you can now use internet connection sharing to connect
several computers to the Internet and still have e.g. filesharing traffic
prioritised low. The next major release will have additional bandwidth
negotiation for multiple PCs connected to a single router.
* New Technology: cFosSpeed is now available as 64-bit version for
Windows XP x64 Edition. Driver, Status Windows and Setup and all other
components are all true 64-bit programs! The 64-bit version has all the
features of the 32-bit version.
* Added firewall functionality. It's off by default. You can switch it on in
the cFosSpeed configuration dialogs. This could be useful for x64 users,
since there are few firewalls available for that platform.
cFosSpeed firewall is only designed to protect you from the basic threats
like malformed packets, source routing and known insecure open ports.
Ingress/egress filtering is only in place for WAN (i.e. dial-up), but not for
LAN (i.e. router) ports to protect you from IP spoofing. The firewall tries
to stealth your PC as good as possible (i.e. make it hard to find out that a
live system is at your IP address.)
You can tighten and/or change the firewall rules like you see fit. Have a
look at settings.ini (or "spd filter") for the active rules and the explanation
in http://www.cfos.de/speed/documentation/filter_expressions.shtml.
"spd fwstat" will show a count of blocked packets and the rules that caused the
blocking. FWLOG.TXT contains a dump of the packets.
* Added support for Traffic Shaping for ISDN. From now on ISDN users also
benefit from cFosSpeed Traffic Shaping! This makes your ISDN connections
more responsive by reducing ping times. All the advantages of the broadband
Traffic Shaping are now available for ISDN. Be sure to check that the method
for your ISDN connections is set to "ISDN" in cFosSpeed context-menu >
connections.
* Added UDP pseudo-connection tracking. UDP packets between two peers are
believed to belong to the same connection if they arrive less 10 seconds
apart. The pseudo-connections are displayed under "spd cons" as well.
The timeout can be adjusted by the udp_timeout gset variable (the variable
is in milliseconds).
* Added session dump: you can now dump TCP sessions and UDP pseudo-sessions
in their own files. This way you can have all packets of one session in
one file (and not more). Activate it with "spd gset dump_sessions 2" and
switch on TCP payload dumping with "spd gset dump_tcp_data 1" (without TCP
data dumps there won't be anything interesting for us to see). The
maximum file size is set to 100k, if you want to change it use
"spd gset max_session_dump_size 200k" (change "200k" to your liking).
All in one line that is:
spd gset dump_sessions 2; gset dump_tcp_data 1
"spd gset dump_sessions" accepts the following values:
0 don't dump sessions
2 dump, but delete dump file if there was no data except TCP SYNs
3 dump like 2, but delete also if l7-protocol is known.
4 dump and never delete dump file
* Added Medium selection to Options/Connections. By selecting the right
medium you can help cFosSpeed to be more accurate with its traffic shaping.
* Reworked cFosSpeed connection engine. You can now use multiple connections
to the internet simultaneously. You can even use several routers at the same
network adapter. Connection names are indicated as window names in the
context menu. To use several connections provide several ping destinations
by setting the parameters "ping_dest=", "ping_dest2=", "ping_dest3=", ...
in the [Param] section of cfosspeed.ini. cFosSpeed then maintains connection
information for each route which is used for the different ping destinations.
As a result cFosSpeed now supports Routing for RAS (RRAS) and VPN. In order
to use Traffic Shaping for the actual VPN connection, use a ping destination
which is routed via VPN. If you want to use Traffic Shaping on the
underlying connection of your VPN use the address of your VPN host as ping
destination.
* 1337 ready! :-)
+ If your method is set to PPPoE, cFosSpeed will now limit the MSS to 1452,
which is the maximum MSS for PPPoE anyway. The difference is only apparent
with a router, where the MSS to the router is 1460, but afterwards only 1452.
Thanks to thefonz for pointing that out.
+ Added turkish and traditional chinese HTML/HTA dialogs.
+ Azureus.exe has been added to program prios. Unfortunately, the new Azureus
release uses encryption which makes detection hard. Therefore, these
streams are not yet detected by our layer7 detection.
+ Protocols and programs that are set to "normal" prio are not matched at all
(since there is no longer a filter rule for normal prio). Especially,
packets of protocols that are set to normal can be matched by later
program filters (usually protocols are matched first and only if no match
was found, programs are matched).
+ Added "spd fstat" command to display which filters matched how often. Use it
to check if your filters are working. "spd fstat -clear" clears the stats.
+ Added "click-through" mode to skin windows. If you activate it, mouse clicks
are processed by the window beneath the cFosSpeed skin window.
+ Added new spd command "spd connections" or "spd cons". This will show a
list of all tcp connections with traffic, uptime and program, one per line.
+ Added new skin variable "latency_mode" and a new action to execute SPD
commands via skin buttons. Thus our skins now allow you to switch to low
latency mode. The additional variable "latency" indicates if low latency
mode is actually on.
+ In some installations windows can't find it's .INF files and therefore cannot
install cFosSpeed. The cFosSpeed installer now retries the installation with
a fix the registry (DevicePath key). Thanks to José Miguel Sá for his help.
+ Added new method ip_over_aal5 (a.k.a. RFC 1483/2684 Routed). Some ISPs
reportedly use it. Added new medium ip_over_aal5 as well.
+ Renamed medium dsl_pppoa to dsl_pppoa_vc_mux and added new medium
dsl_pppoa_llc.
+ Added some more trace output why ports where disconnected.
+ Added gset variable "port_close_time". After this many seconds without
traffic a LAN port will close automatically.
+ Now tray icons are re-displayed after explorer restarts.
+ Errors while doing a "spd reload" are now printed on the console as well
(not only to the trace.txt file).
+ The new gset parameter "strict_rtp_check=0" in the [Param] section of
cfosspeed.ini can now turn off strict checking of RTP packets. With strict
checking RTP packets must contain a source ID, previously introduced by a
corresponding RTCP packet. Disable this check if you use Voice over IP
Software which doesn't generate RTCP packets, like VoIPBuster. Default is 1
(enabled).
+ Rx shaping should more smooth now, i.e. you should experience less
fluctuations in the ping time.
+ Better ping times in "Favour Ping Time" mode, since now the MSS is limited
to 536 bytes in that mode, but only if your connection is slower than
about 20-30 kb/sec.
+ Improved accuracy of downstream speed calculation.
+ "method" set variable can now be entered and displayed symbolically.
+ Added -rand filter rule. See
http://www.cfos.de/speed/documentation/filter_expressions.shtml for details.
+ When a packet is dropped because it is totally malformed, it is dumped to
the FWLOG.TXT file.
+ The rule that caused a packet to be dropped is now printed to FWLOG.TXT.
+ Added IP fragmentation support.
+ Reintroduced TCP checksums: if a packet doesn't check out, it will be
ignored by cFosSpeed.
+ Some internal changes and speed improvements.
+ Added "spd dump ip" to dump IP packets (possibly fragmented) and
"spd dump ipr" to dump IP datagrams (after IP reassembly) when they are
handled by cFosSpeed.
- Switched off detectors for Kademlia and E2K UDP protocols for now, since
they create too many false positives.
- Removed filter_expressions.txt from distribution. See
http://www.cfos.de/speed/documentation/filter_exp.htm instead.
- The yes/no/auto setting for a network card without router now determines the
default value for this card with router.
- New design of HTA's.
x Fixed a bug in medium selection under Options/Connections: sometimes the
new medium would not be properly selected.
x Fixed a bug where sometimes the window wouldn't open in router mode.
x Fixed a bug where the yes/no/auto setting for networks cards could sometimes
be lost after route changes.
x Fixed a problem where LAN ports would close and not re-open correctly
afterwards. Thanks to Henrik Steiner and all others who provided me with
traces.
x cFosSpeed would sometimes not ask if a WAN connection should be shaped.
Fixed.
x Fixed a bug where windows of WAN ports would disappear after some minutes.
Thanks to Theodor Ramisch for his report.
x Now tcp_warn switch is properly read from param section of cfosspeed.ini
and properly inited.
x Finally, on WAN ports traffic shaping should be activated and status windows
should open properly.
x Fixed a crash in installation process (actually while unloading cFosSpeed).
Thanks to Armin Schöffmann for a dump.
x In rare cases, packets could be lost with WAN connections. Fixed.
x Fixed a problem where .ini files could not be accessed due to sharing
violations.
x Changed initialisation code. Now cFosSpeed waits for the system to be
fully up and running until it reads its settings from disk. This should
prevent disk read problems, especially from cfosspeed.ini, which was
sometimes not yet accessible when cFosSpeed was started.
x Fixed a rare UNEXPECTED_KERNEL_MODE_TRAP crash. Thanks to Samuel Lee
for a minidump and testing.
x We finally fixed that psched.sys crash. Thanks to Mario Steinhauser for
reporting.
x Tx packets that have to be dropped because of queue overflow are again
counted as regular packets in NETSTAT. The "Overflow packets" line has
been removed and the packets again appear in the "queue overflow" line
in CSTAT.
This removes a "feature" that was added in v2.03.995, but did not work well.
In particular, it caused Azureus with many uploads to overflow the queues.
This, in return, caused other applications' data to be dropped also and thus
their performance to be very poor.
Now, each traffic class has (again) it's own overflow limit of this many
bytes: max_queue_size (in msecs) * tx_speed (in bytes/sec) / 1000.
I.e. if one traffic class' queue overflows, the other ones' are not
affected.
x On connections with low-downstream bandwidth rx shaping might have taken some
seconds to effectively kick in. Fixed.
x Too many packets were logged to FWLOG.TXT. Fixed.
x Final fix for that RTP crash. Thanks to Armin Schöffmann for testing.
cFosSpeed 2.12 -- 19-Sep-2005
x In the old 2.12 the turkish language files were missing. Fixed.
cFosSpeed 2.12 -- 15-Sep-2005
+ Added differential statistics to "spd pingstat". The numbers in brackets
are the counts starting after the last time a ping worked. This should
help diagnose problems where pings work but at some time stop doing so.
+ Circumvented some strange behaviour with certain routers that resulted in
switching method from PPPoE to PPPoA. Thanks to Hagen Roehrig and Benny
for traces.
+ Language added: Hungarian, which makes a total of 12 languages supported.
+ "spd cstat" now shows txspeed and max_queue_size as well.
x TCP RWIN is now set so that DSL-6000 (and other 6mbit fast connections)
will work with full speed.
x Some other components seem to have problems when cFosSpeed executes
concurrent calls to BindAdapter in parallel. Now cFosSpeed executes only
one call at a time. Thanks to KY Wong for testing.
x Fixed a bug that caused the ACK-filter to filter way too many ACKs, thus
degrading download performance. Thanks to AlexV for his help.
x Circumvented a crash that sometimes happened in Windows' pshed.sys.
x Fix for multiple loads of cFosSpeed on Terminal Services.
x Fixed problems with HTA dialogs related to registry permissions.
- Removed all "fixes" for that "socket send error 10022". It turned out that
the only working fix to this problem was to deinstall the firewall (in two
cases it was the AVG firewall). Hopefully, the firewall's manufacturer
will fix the problem.
cFosSpeed 2.10 -- 28-Jul-2005
* Added RTP (real-time transport protocol, RFC 2550) support. cFosSpeed
will automatically detect RTP data and put it into the 'high' class, thus
ensuring fast transmission and low latency. Popular RTP applications are
Voice over IP (VoIP) and streaming media.
* New skin: Liquid crystal! This skin can be used in conjunction with your
own bitmap. To use your own background image, replace back.tga in the
line "background=back.tga" in the [All] section with name of your
bitmap. As a sample we included matrix.tga.
* We added a basic firewall functionality to cFosSpeed. It uses the concept
of filter rules, which are used anyway to schedule outgoing traffic.
The firewall settings are NOT ACTIVE, though. If you want to filter
your traffic comment in the desired rules in settings.ini.
Now incoming packets are filtered as well, but the only two classes they
can be put into are 'drop' (to filter out a packet) or any other class
to let the packet pass.
See filter_expressions.txt for a documentation of supported rules.
* There is one more thing: we sometimes read about cFosSpeed problems like
"it never worked for me" in other people's forums. PLEASE, tell US about
your issues with cFosSpeed. We cannot possibly check all the forums on
the net and often we cannot answer to whoever wrote that.
The easiest way to talk to us is through our forum online at
http://www.cfos.de/forum
* New language: Turkish. This makes a total of 11 languages supported
(Chinese simplified, Chinese traditional, English, German, Spanish, French,
Italian, Japanese, Korean and Polish were already supported). Thanks to
www.geek.com.tr for their help!
Other languages (right now Dutch, Hungarian, Macedonian, Portuguese, Swedish
and Thai), which were translated by third parties are available here:
http://www.cfos.de/speed/docs/lang.htm
+ You can disable the balloon about missing pings permanently by setting
"spd gset balloon_no_pings 0 -save".
+ Tx packets that have to be dropped because of queue overflow are no longer
counted as regular packets in NETSTAT, but added to "Overflow packets"
instead. So statistics now reflect what was really sent to the net, not
to cFosSpeed.
+ TCP data retransmissions of packets that are still queued are no longer
sent out. This can save some 1% tx volume.
+ Improved the way ping messages are sent out. This does not fix the "no
pings" balloon, but help the shaping algorithm to run more smoothly.
+ In order to see how effective Traffic Shaping is, you can now temporarily
enable/disable it in the context menu. This setting is not saved.
+ Added support for composite background images for the skins. Also you can
now limit skin sections for cFos or cFosSpeed only. So you can make skins
for both products. See www.cfos.de/techinfo/skin.htm for details.
+ Usually cFosSpeed handles your TCP MSS ("MSS clamping") (i.e. the MTU for
TCP packets). This work automatically and the MSS values are chosen so
data transfer rates and ping times are best. But if you want cFosSpeed
to leave the MSS alone, you can now set "spd gset handle_mss 0" to
instruct it so. Add a "-save" to have the setting saved in cfosspeed.ini.
Switching off MSS handling is not recommended.
+ Changed internal locking and priority of driver. This could make cFosSpeed
process data a little faster. We're talking microseconds here, so don't
expect anything big.
+ Added gset dump_framing variable.
+ You can now call "snapshot" from the cFosSpeed console. This prints the
output of "spd.exe -tcpview" into a file named priolist.txt. If you have
a suggestion of a program we should include in our priorities dialog
you can send us priolist.txt with the name of the program.
+ Removed TCP checksumming and some other sanity checks. If cFosSpeed gets
invalid packets now it's likely it'll ignore them and just pass them on.
Before now, they would have been dropped.
+ Added sethops command to ease setting the add_hops parameter to a desired
value. Just use "spd sethops " to make test pings have TTL .
+ Added more diagnostic code to prevent erroneous "No pings" balloons.
These diagnostics are displayed in the "spd pingstat" command as well.
+ All global variables (which can be shown with "spd gset") can now be saved
to cfosspeed.ini by typing "spd gset -save".
+ New gset variables max_dump_size, max_fwlog_size, max_pinglog_size that
hold the maximum sizes for the respective log/dump files.
+ "spd set" and "gset" commands now accept numbers with binary units (like
k, m, g etc) and hex values (numbers prefixed by "0x"). E.g.
"spd gset max_dump_size 10m" sets the maximum size the dump.txt file
can get to 10 megabytes.
+ Added PINGLOG.TXT as a debugging aid when pings don't work. It is disabled
by default. Use "spd gset pinglog 1" to enable.
+ Improved performance of SPD.EXE when used on a router (like an ICS server).
+ addhops variable can now be negative. If you get few Ping responses with
the auto-configured ttl, try using "spd set addhops -1".
+ cFosSpeed will now try to meet the percentage of low prio classes better.
This was sometimes exceeded in the past.
+ spd cstat command now shows percentage of sent data in each class.
+ New command "spd close" to force a close on a WAN port, thus writing out
all traces, .ini files and debug info.
+ Icon skins are now supported on systems older than XP and on systems with
16-bit colour depth.
+ New gset variable dump_arp can be set to 0 to inhibit dumping of ARP blocks.
New gset variable tcp_warn can be set to 0 to inhibit writing of warnings
about tcp to the trace file.
+ New filter '-tcp-connections range'. See filter_expressions.txt which is
now included in the distribution as well. If you want to limit the number
of total tcp-connections (to 200 in this example), enter this line in
cFosSpeed's home directory:
spd filter -I 0 -tcp-flags SYN,RST SYN -tcp-connections 200: -c drop
+ Added timerstyle mode 3 (Tick Counter).
x Fixed a crash when cFosSpeed was loaded a second time in a different
terminal session. Fixed: only one cFosSpeed can run at a time, first come,
first serve.
x The burst code should be more stable now.
x After starting "burst", "method" was erroneously set to 5 (Raw IP) when
used with a router. Fixed. Thanks to Alf v. Zweydorff for the hint.
x Fixed a bug which could result in wrong amounts of "Segments w/o
connection". This could have been the cause for processes sending too
fast, even with low(est) priorisation.
x Fixed some more "unverified RST" warnings. Strange TCP segments travel the
Internet! :)
x Fixed a condition where the computer would freeze while transferring data.
x Tiny Desktop Firewall caused cFosSpeed to stop transmitting when it popped
up a question-box to the user about outgoing data. Fixed. Thanks to Peter
Müller for testing and help.
x A download speed problem with Azureus and BitComet has been fixed.
x Further relaxed the checks of ping replies. This might fix "no ping"
balloons some users were getting. Thanks to Desi B for traces.
x Fixed gset dump_tcp_data and dump_udp_data variables. You could change them
but it had only effect when you saved and then restarted. Now it works
immediately.
x Improvements to the ACK filter for certain download hosts. Thanks to the
alert eye of Alex Varzakanos.
x DATA.INI may not have been written when shutting down cFosSpeed. Fixed.
x Fixed counting error in NETSTAT command (TCP/Checksum errors).
x Changing a program priority to "normal" didn't work. Fixed.
x The calibration pulse (burst) could have set addhops to a router that
doesn't answer pings. Fixed.
x Programs that were started with options may have been ignored by program
priorisation. Fixed.
x Fixed a bug that could have caused priority rules not to be evaluated when
cFosSpeed was used with a router.
x Fixed bug in priority.hta.
x Fixed an error when deleting programs in the priority dialog. This
dialog is also much faster now.
x Added spd commands 'ping' to generate a ping and 'pingstat' to see some
numbers to help trace the problem of unsent pings.
x Fixed a bug that caused the notorious "pings don't seem to come through"
balloon tip to come up for some people. Thanks to Dave Adams for his help.
If the balloon is still appearing on your system, check your firewall/router
if they drop ping or tracert packets or answers. You can try it on
commandline:
ping www.cfos.de -or-
tracert www.cfos.de
x Fixed a potential problem crash in spd.exe (the cFosSpeedS service).
- Increased the guaranteed percentage of tx bandwidth for low and lowest
classes from 20% to 25%.
- "spd tsclear" and the context menu entry "clear calibration data" will no
longer clear the addhops and msslimit and the new avg_time parameters.
- gset variables functrace and dumptcpdata are renamed to func_trace and
dump_tcp_data.
cFosSpeed 2.02 -- 23-Feb-2005
x Pings sometimes weren't sent, thus causing the balloon tip error message.
This has hopefully been fixed.
x Fixed a problem with font sizes for far-east languages.
x Fixed a problem where the speed dials in skin windows wouldn't be displayed.
x Fixed another problem with decreasing tx speeds.
cFosSpeed 2.00 -- 18-Feb-2005
! Some hacks that are circulating break cFosSpeed's traffic shaping!
These versions appear to be working, but are not. To avoid this,
use an official download from http://www.cfos.de. If cFosSpeed is
good enough that you want to use it past its test period, consider buying
it and spare yourself the frustration of hacks and cracks.
* cFosSpeed now has a low-latency mode for online gamers, VoIP users and
other friends of high responsiveness. In low-latence mode cFosSpeed
maximizes bandwidth, but only as long as ping-time is not affected.
In bandwidth mode cFosSpeed minimizes ping-time, but only as long as
bandwidth is not affected. Have a look at some test results
(T-DSL 2000, 2000/192 kbit/sec down/up):
down up favour bandwidth favour pingtime
1 0 226/-/120 206/-/72
0 1 -/22.6/96 -/21.2/84
1 1 216/16.6/172 164/15.1/91
The values are downstream rate/upstream rate/ping time for only download,
only upload and download and upload at the same time.
To switch cFosSpeed to low-latency mode (and back), click on the tray icon,
then Options, Priorities and flip the big switch there. :)
* cFosSpeed has now a way to set priority to data sent by certain programs!
We added two more traffic classes and a more advanced scheduling to help
you manage your traffic.
The idea is as follows: all regular traffic goes into class default. The
standard filter rules already care to prioritise packets like TCP ACKs etc,
there is no need to change these.
Constant background traffic like peer-to-peer traffic goes into class "lowest".
If there is enough bandwidth, data will be sent out immediately. However if there
is a shortage (maybe, because you are using your connection interactively)
this class will have only reduced bandwidth, so you can surf fast.
VoIP and online gaming packets are sent in class high, since they are time-
critical.
Mail and FTP uploads go into class "low", since they are not as time-critical
as your interactive surfing, but more than peer-to-peer uploads.
You can use our new dialog under Options/Priorities to enter program names
and set priorities.
Technically, new -tcp-prog, -udp-prog, -prog filter rules allow to specify
the name of the program that sent the datagram.
This only works starting with Windows XP (sorry, you Win2k users, no API
for us to use!) AND it only works if the program is running on the same
machine as cFosSpeed.
To manage these rules, new spd commands addkey, delkey and showsect have
been added to add a key to a section, delete a key from a section and
view a section in settings.ini.
* cFosSpeed now manages TCP ACKs and filters unnecessary ACKs! This saves
bandwidth and is sometime essential for high transfer rates.
Usually about 10% of download traffic volume is needed in the upstream
direction to notify the host that the data has arrived correctly (TCP ACKs).
cFosSpeed now filters non-essential TCP ACKs to free up bandwidth in the
upstream direction.
* Skins now support 'icon windows'. You can create a skin window which
is displayed as a tray icon, instead of a normal window. See our sample
skin 'cFosSpeed Icon' for details.
* Added French, Italian, Spanish, Korean and Japanese language support, which
makes a total of 10 languages supported by default (German, English, Polish,
traditional Chinese and simplified Chinese were already supported in v1.08).
Third parties have provided Macedonian, Hungarian, Swedish and Turkish
language support.
See http://www.cfos.de/speed/documentation/mldoc.htm for download and information
how to build your own language file. Thanks for your support!
* Added a first version of TX and RX shaping gain indicators to the regular
(non-numerical) skin.
* cFosSpeed now has a system service. This allows network binding changes,
even if no user is logged in (as admin). Also traffic shaping is now
possible without being logged in. For dial-up connections to be shaped
when no user is logged on you have to set the respective connections to
"yes" in the traffic shaping options dialog.
* Speed settings for traffic classes can now be set in percent. -speed 1000
sets a class to a speed of 1000 bytes/sec, and -speed 10% (or -speed 10perc)
sets a class to 10 per cent of the tx speed. Note that there must be no
space between the number (in this example, "10") and the "%" resp. the
text "perc".
Furthermore, you can specify which priority traffic has when the speed
is exceeded. To do this, use the syntax "-speed ,". Example: one of the standard classes is specified as
"class low -prio 0 -speed 20%,-10", which means that up to a speed of 20% of
the total tx speed traffic is send with priority 0 (which is default),
traffic exceeding this speed is sent with priority -10 (that is, default
traffic is sent first, then then prio -10 traffic).
* New spd command: reload. It will reread filter settings. Classes are not
affected by a reload, though.
x Circumvented a bug in AVM's KEN! that prevented cFosSpeed from working.
x Fixed a bug with remote desktop.
x Fixed a bug that prevented binding of new ports to succeed if done through
the cFosSpeed Traffic Shaping Options dialog. This bug was introduced in
some earlier 1.09 build.
x Fixed a spurious hang of cFosSpeed.exe.
x Fixed a problem where options dialog could not be opened if IE was not the
default browser.
x Timerstyle is by default now set to 2 (performance counter) instead of 1
(TSC). This fixes some rare timing problems.
x Fixed a problem where after some days errors like "SocketException: No buffer
space available" would come up.
x Fixed a bug where cFosSpeed would crash right after a boot when you used it
first.
x Fixed a rare crash if BindAdapter failed (v1.08: at address cfosspeed+14ae1)
x Fixed bugs where files would be copied encrypted to windows system dir
and cFosSpeed destination dir due to an encrypted temp dir. Now all
unpacked files will be decrypted before they are copied to the windows
system dir and the cFosSpeed destination dir. cFosSpeed will not run
correctly if you encrypt its files!
x When up- and downloading at the same time with full speed, with some DSL
connections cFosSpeed would send too fast, thus causing slower downloads.
This problem was introduced in v1.09 and has been fixed now. Thanks to Alex
Varzakanos for reporting and testing.
x Fixed a bug in display of the fastlane arrows, introduced in some earlier
1.09 build.
x Fixed a bug where router connections would open and close all the time.
x Fixed some stupid bug that would switch off traffic shaping after some time.
This would be obvious through an unnatural high count in TCP "Segments w/o
connection."
x Fixed a problem where cFosSpeed would handle outgoing data, but not
incoming. The green indicators would show traffic, whereas the red ones
would not.
x Fixed a bug that caused send speed to drop down more and more. This bug
was introduced in some earlier build. Thanks to Hugo Caeiro for his help.
- Windows XP prior to SP2 has a bug that prevents two NDIS filter drivers
(like cFosSpeed or ProtoWall or maybe other firewalls) from working
together. After installation of the second product everything will work,
but after the next reboot one product will get no more data at all.
If you experience this problem and use Windows XP or SP1, install SP2!
The same holds true for Windows Server 2003. Get the SP1 or its RC to
fix the problem.
- Installer now disables cFosSpeed devices prior to uninstallation.
- Filter and class changes are now saved right away after issuing a spd
command. No more need to use "spd save" after changing. "spd save" (with
no options) will save both filters and classes now.
- Added debug output for detection of VPN connections.
- Just for info: if you have an Ethernet DSL modem, be aware that the modem
works as a network bridge. If you have a cable modem, this may work as
a bridge, too. Some Internet by cable providers flood the accounts with
ARP packets. Now, if you have both bridges and you are only with both
accounts, the ARP packets from the ISP are bridged into your net and then
out again through the DSL modem. They waste bandwidth, though and cause
traffic shaping to behave quite erratic.
Solution: attach both bridges to separate netword cards or use a NAT
router on the cable modem.
cFosSpeed 1.08 -- 17-Sep-2004
* cFosSpeed now supports third party translations. All texts are stored
in multi-language files. If you like to provide a translation
for your language, see http://www.cfos.de/speed/docs/mldoc.htm. We
will then provide your language files in our download section or in
upcoming cFosSpeed distributions.
* UI Language can now be selected through the cFosSpeed context menu.
x cFosSpeed didn't send a proper calibration pulse (burst). Fixed.
x Fixed a problem where cFosSpeed would receive data from a Hauppauge
TV card.
x Fixed a problem with ever growing .INI files introduced in some earlier
1.07 build. Delete CFOSSPEED.INI and reinstall the latest version.
x Fixed a GPF that happened when starting cfosspeed.exe without having
administrator rights.
x Fixed a problem where strange behaviour in some firewalls would prohibit
traffic shaping from working.
x Sometimes the installation failed with error code "Class not registered".
Fixed.
x cFosSpeed's NDIS filterclass ordered below "loadbalance"; this fixes a
problem with Protowall.
x On some machines AUTOCHK would not check the disk cFosSpeed was installed
to at boot time. Fixed.
cFosSpeed 1.06 -- 03-Aug-2004
* We added a numerical skin. Up and downstream speeds are displayed as
numbers.
x Fixed a problem that prohibited connections e.g. to blizzard.com
or battle.net.
x Installation hung on some machines. Fixed.
x Sygate Firewall is now detected and a box is shown that the alleged
"Ping of Death" is of no danger.
cFosSpeed 1.04 -- 21-Jul-2004
x Fixed a problem if your PC got his IP address with DHCP.
x Some people were unable to see the network when cFosSpeed was installed.
Fixed.
x Fixed a bug that sometimes caused the registration of key.cfosspeed
file to fail with the message "Registration failed" ("Registrierung
fehlgeschlagen" in German), but no explanation.
x Some install procedures of cFosSpeed 1.02 hung. Fixed.
cFosSpeed 1.02 -- 15-Jul-2004
* DATA.INI is now saved to disk every 10 minutes and at the end of a
connection.
* You can change the default time a LAN port is considered 'open' without
traffic (default: 5 minutes) by setting port_close_time= in
cfosspeed.ini, section [param].
x Changed behaviour "Auto" router connections are handled. Now the
permanent adding and removing of ports should be avoided.
x Fixed a bluescreen (at address cfosspeed+0x3f27).
x Fixed a problem where internal data could get messed up.
cFosSpeed 1.00 -- 07-Jul-2004
- Initial release.