How To

Speed Test

By using Traffic Shaping cFosSpeed continuously keeps track of the current line speed (receive and send). You can always switch on the line speed display in the Metro skin, so you see the bandwidth which was available for the last download and/or upload. To determine the current maximum speeds, you can download or upload a big file an see how these values change. So you alays stay informed about the current speed of your Internet connection.

We are currently working on a solution, so cFosSpeed conducts a measurement for the maximum connection speed automatically. Until then, the above method gives you a quick way to determine your bandwidth

Prioritize Connections

There are many different options for prioritizing a connection while it is currently running. For all of them, however, you need to right-click on your status window and click on Current Connections

Options

You can now choose whether you want to prioritize a connection, protocol or program temporarily, or permanently prioritize a protocol or program

  • Prioritizing a connection temporarily
  • Prioritizing a protocol temporarily
  • Prioritizing a programme temporarily
  • Prioritizing a protocol permanently
  • Prioritizing a programme permanently
How to use DiffServ/DSCP tagging to label traffic

Differentiated Services (DiffServ) is a Quality of Service (QoS) architecture. Usually, it is supported in closed domains (“DiffServ clouds”) like an organisation or a LAN. With DiffServ you can label each packet with a certain value (called Differentiated Services Code Point, DSCP) and that value is stored inside of the packet. So at the next hop of the packet, the value can be read and taken into account for further routing.
cfosSpeed supports for incoming packets (you can filter on the DSCP value) and on outgoing packets (you can set the DSCP value).

DiffServ labelling is useful in several scenarios:

  • You have multiple machines that access the Internet and you use a router (boxed or Windows machine) to provide the connectivity to the Internet.
  • You are part of an organisation that uses in-house DiffServ to divide its traffic into several classes.
  • You use Windows for your desktop, but a Linux box for routing.

One problem with priorization is that when you want to decide if a packet is to be prioritised or not you don’t have enough data, enough time, computational power or memory to do so. Routers are often small, very constrained embedded systems with few resources. But even if you use a full-grown Windows or Linux machine as a router some information about the data (like which program it was sent from) is already lost, since that information is not transmitted over the network.

So it is a good idea to label your packets at the origin and you can use cfosSpeed’s possibilities to accomplish that efficiently and very fine-grained (filter for programs, protocols, ports or manual filter expressions).

Here is how you do it. We assume that you have a Windows desktop whose traffic you want to prioritise (the “client”) and you have a router that routes your traffic (maybe among other traffic) to the Internet. Hopefully, that other traffic is also DS-labelled.
On your client you use cfosSpeed like everybody uses it and set up protocols, programs, etc. Furthermore, you set up some DSCP values. To do that click Start, programs, cfosSpeed, open console and enter “spd class”: you will see a listing of the traffic classes, like this:

For each class you can set the DSCP value by the command “spd class C -dscp X” (sans quotes), where “C” is the class name and “X” is the DSCP value which is in the range of 0 and 63. The values are arbitrary, but 0 means “no DSCP set”. Other values might be in use in your organisation, ask your net admin. Make sure that class “highest” is sent out the fastest on your router and class “higher” still faster that “high”.
After you have set all the class values, a “spd class” might look like this:

Now we have to switch off the traffic shaping on the client. Enter “spd set fixed 1;set txspeed 2g”. This will set the send speed to almost infinite, so no packets are queued locally.
On your router you can use the DSCP values to put the packets into the corresponding traffic class. Assuming the router uses cfosSpeed, you have to modify the filter settings to make use of the client’s DSCP values. Again (now on the router) click Start, programs, cfosSpeed, open console and enter “spd filter”. You will see a listing of all filter rules. It will contain some lines like this:

Assuming the -highest filter is the first non-firewall filter and has number 18, enter the following commands:

This will sort all packets with DSCP values into the corresponding traffic queues on the router. If you use some other system that Windows/cfosSpeed you have to find out how to use the DSCP value for routing. Under Linux iptables might be able to do that. That’s it! All cfosSpeed settings made have been automatically saved and are active right away.
Additional comments
DSCP tagging can be useful for load balancing as well. If you own a router that can utilise more than one Internet line at the same time, it might have a way to split the traffic on the various lines. A good solution might be to do DSCP tagging of traffic with cFosSpeed on the machine where the traffic originates and for the router to use the DSCP tags to send the traffic to one of the multiple lines to the Internet.
Links:

Merge with games

Since version 2.02 gamer prioritize their games for data transmisson. The settings can be done by selecting »Options » Priorities at the cFosSpeed Kontextmenu.

Add online games to our Priolist!

cFosSpeed, the filesharing solution for P2P networks

Prioritising individual ports

If you know the TCP/UPD source or destination port of your application, you can prioritize its traffic like this:
(edit the section [filter] at the settings.ini file)

TCP Ports

[filters]
; dest port=1234
filter=-tcp-dport 1234 -c high
; source port=5678
filter=-tcp-sport 5678 -c high

UDP Ports

[filters]
; dest port=1234
filter=-udp-dport 1234 -c high
; source port=5678
filter=-udp-sport 5678 -c high

Manual for filter expressions.

Accelerate your online games

How can I accelerate my online games?

Traffic Shaping technology does keep ping times low and transfer rates consistently high at the same time.

Still, to achieve optimal ping times, you should prioritize your game(s) as high as possible. You will find that we have already listed some of the currently most popular games under Program Settings. Should your game not be among the ones listed there, you can simply add it to the list.

A special case is the HTTP stream detection. If the detected protocol is HTTP, cFosSpeed tries to detect, if it is a video or audio stream. This works as follows:

If the user agent is one of the well-known players or has the substring “player” in it, cFosSpeed categorizes the connection as HTTP_STREAM_C or HTTP_STREAM_S. Otherwise if the content-type is audio or video it categorizes the connection as BSTREAM_C or BSTREAM_S. The BSTREAM_C/S connections are prioritized as “normal” so that the actual priority is determined by the program prioritization.

This allows you, for example in uncertain cases, to prioritize it according to your program use.

You can also let us know what online games you would like to have included on that list for future updates as well. Please be careful to prioritize as few data and programs as possible in such a manner. This is because if you were to assign high priority to everything, you would be no better off than having nothing prioritized at all. Alternatively, should the program name itself not be clear, you can also prioritize the ports used by the online game. If the TCP/UDP destination ports of an application are known, you can prioritize their data transfer as follows (by editing the [filter] section of the settings.ini file):

For TCP ports: 
[filters]
; dest port=1234
filter=-tcp-dport 1234 -c high
For UDP ports:
[filters]
; dest port=1234
filter=-udp-dport 1234 -c high

After making those changes and saving them, the new settings still need to be loaded. This is done by opening the console (under Start, Program, cFosSpeed) and entering “spd reload”. Your changes will take (and remain in) effect after the next time you restart your system. >cFosSpeed-Filter Manual (English)

Optimizing Connection Settings

You can specify exactly what transfer medium you use under Connection Settings. The more information about a connection is available to cFos or cFosSpeed, the better ping times will be. Default is “Adaptive”. But if you were for instance using a DSL connection, you should select the appropriate DSL standard or protocol as your medium.

Favor Ping

In addition, you can also use the settings in the context menu or status window to activate “Favor Ping”. A green arrow will then show up on the status window. This setting will have cFos or cFosSpeed do everything to keep ping times to a minimum but at the expense of transfer speed, which may slow down considerably.

Playing While Downloading

If you are playing a game online without Traffic Shaping and run an upload or download at the same time, ping times to your gameserver will rise. Less data traffic means better (i.e., lower) ping. Especially with filesharing programs and other applications that send out lots of data, ping times often skyrocket resulting in serious lag. This will also slow down your in-game reaction time horrendously.
Traffic Shaping alleviates this problem by allowing filesharing and downloads to run in the background while gaming. This may still raise ping times minimally though. Therefore, we recommend you to keep “Favor Ping” activated at such times. By default, filesharing programs are set to very low priority. Now, this should not be taken to mean they are artificially slowed or even altogether stalled. What it does mean, however, is that such data will be briefly delayed when more important data like online game traffic needs to be transmitted. Only this priority scheme makes it possible to have filesharing programs run at maximum transfer rates while still using the same connection for other applications at the same time.

Improve shared connections

How to solve Internet congestion when many users share one Internet connection?

In restaurants, hostels, hotels, guest houses, on university campuses, office environments – whenever a lot of people share the same Internet connection – this Internet connection is often congested and the users experience up to several seconds of delay.

Here cFosSpeed can make a huge difference by prioritizing the traffic to and from the Internet. For example it can detect if a user uploads a bunch of photos or if some device downloads a big software update. cFosSpeed will slightly delay these big data uploads or downloads by reducing the bandwidth by about 1-2%. This reduces the ping time of the whole Internet connection, which allows highly responsive web browsing or even media streaming / VoIP phone calls and game traffic.

The usual state of most shared Internet connections.

This configuration will result in severe connection delays when some of the connected devices start massive up- or downloads, e.g. saving new photos or videos to cloud storage or downloading software updates. The problem can be solved by using the original router (Router A) for the Windows PC only and buying a cheap second WLAN router (WLAN Router B) for shared access.

The new configuration with cFosSpeed prioritizing the entire Internet traffic of the WLAN network.

To improve overall performance, you may want to install an additional Ethernet port on your Windows PC to connect to Router A. We always recommend to use cable connections, since they produce less latency than WiFi.

Extended configuration with cFosSpeed, second LAN connection for improved latency and an additional WLAN Router B2 to increase range.

Connecting the WLAN router

Connect the WAN port of WLAN Router B with the network port of the Windows PC

Setting up the Windows PC

1. Install cFosSpeed, following the installation instructions

2. Press the “Windows” key and type ncpa.cpl

3. Click on the resulting control panel item entry

4. Right-click on the network device you want to share. It is the one that connects the Windows PC to the Internet

5. Click on “Properties”

6. Click on “Sharing”
7. Click on “Check the upper check box to enable connection sharing. You may want to uncheck the lower box, if it isn’t already”
8. Click on “OK”

The Internet connection on this device is shared now

Note: Newer versions of Windows 10 have a bug which may stop Internet Connection Sharing from working after a reboot.

By using our freeware tool >cFosICS you can fix this.

Setting up the WLAN router

This particular instruction is for the ASUS RT-N12E, which we chose for its moderate price and easy setup. Nevertheless, this kind of connection sharing should work with any other WiFi access router available at your place.

  1. Connect to your router using an Ethernet cable or via WiFi. The router will show up as an open network (no password required) with the SSID ASUS_60. Now enter the router IP address (192.168.1.1) in the address bar of your browser to start setup
  2. Click on “Automatic Setting”

3. Enter a Router Login Name and the New Password

4. Click on “Next”

5. Enter a new SSID (e.g. GuestWiFi) and a WiFi password

6. Click on “Apply”

7. The route will now display a screen showing the new WiFi configuration. You may want to write this down, because it will be needed to connect with the router from now on

8. After reconnecting with the newly configured WiFi network, the router will show a page listing its current setup and connection status

Prioritize a port

Maybe the easiest way to prioritize a certain application is to use the programs / prioritization dialog. If this isn’t applicable you can create your own filter rule as follows:
First you have to determine which port your application uses and if it’s TCP or UDP. Use

spd -tcpview

or the cFos / cFosSpeed connection overview dialog to find your application. Then you set up the filter as follows:

filter=-tx -udp-sport / -udp-dport / -tcp-sport / -tcp-dport X -c classname.

You have to decide if it’s a source port or a destination port. In most cases there is a server on the Internet with a certain port, so it’s a destination port (dport). The filter rule would look like this:

filter=-tx -udp-dport X -c classname for UDP
or
filter=-tx -tcp-dport X -c classname for TCP

where X is the server’s port and classname the class you want the traffic sorted into, e.g. high or higher (but never highest) if you want to increase the priority or lower / lowest if you want to decrease the priority.

Now insert this new filter rule into settings.ini, section [filters]. For UDP in most cases it should be at the top of the list of the other filter rules. For TCP it should rather be at the end. You can use “spd fstat” to see if your rule matched.

After changing settings.ini you need a “spd reload” command to let cFos / cFosSpeed reload the filter rules.

Prioritize a program

First cFosSpeed tries to detect the Layer 7 Protocol for each connection. If it is not detected (i.e. the protocol is UNKNOWN) or the priority of the detected protocol is “normal”, then the program detection is used to determine the priority.

A special case is the HTTP stream detection. If the detected protocol is HTTP, cFosSpeed tries to detect, if it is a video or audio stream. This works as follows:

If the user agent is one of the well-known players or has the substring “player” in it, cFosSpeed categorizes the connection as HTTP_STREAM_C or HTTP_STREAM_S. Otherwise if the content-type is audio or video it categorizes the connection as BSTREAM_C or BSTREAM_S. The BSTREAM_C/S connections are prioritized as “normal” so that the actual priority is determined by the program prioritization.

This allows you, for example in uncertain cases, to prioritize it according to your program use.

Prioritization – Your important streams first

You can adjust the priority of the most common network protocols, so all programs using it automatically have the right priority. In addition, you can configure the priority of individual programs. This means downloads don’t cause lag while gaming or viewing videos, for example.

Overview of connections / On-the-fly prioritization of connections

In one glance you see which programs use your bandwidth. cFosSpeed let’s you temporary change the priority to speed up transfers or reduce latency for time-critical applications. 1) Decrease priority 2) Increase priority

Prioritize a program

cFosSpeed stores its settings in the following files:

C:\ProgramData\cFos\cFosSpeed
  • data.ini
  • global.ini
  • settings.ini
  • user.ini
C:\Users\[username]\AppData\Local\cFos\cFosSpeed
  • user_data.ini

You can backup all 5 files.

In addition, if you want to keep the online budget log files you should backup the subdirectory logs: C:\ProgramData\cFos\cFosSpeed\logs.

To restore the settings just restore global.ini, user.ini, data.ini. Settings.ini is overwritten by new installations. Therefore if you also made changes in settings.ini, you need to apply these again in the new settings.ini. Otherwise use the settings.ini from the most recent installed version.

For TCP ports: 
[filters]
; dest port=1234
filter=-tcp-dport 1234 -c high

Generic speed guide

Thank You for using our Speed Guide!

This guide can either help you get the maximum out of your connection or solve problems with speed, ping time or connections.

No pings

cFosSpeed could not receive enough responses to it’s measurement pings. Please make sure your network equipment (firewall, router, etc.) allows ping responses, see Problems with Pings.

Is there traffic from other machines in your network?

If you have several PCs with cFosSpeed you can see the other computers by using the cFosSpeed Console.

C:\Program Files\cFosSpeed>spd ts

Make sure all PCs in the network have cFosSpeed installed. Also for speed tests, make sure only this computer sends/receives data.

Do you currently have control over the network usage for these tests?

Please make sure you have control over your network. Otherwise the speed and/or ping optimizations might be interfered by other PCs in the network.

Calibrate cFosSpeed optimally

Please make sure you have control over your network. Otherwise the speed and/or ping optimizations might be interfered by other PCs in the network.

Watch the video “How to calibrate your Internet connection”

  1. Click “Traffic Shaping > Calibrate line”

Then wait about 2-3 minutes until the status window indicates no or nearly no traffic.

2. Now download with max. speed for at least 20secs.

Next upload with max. speed for 1-2 minutes. Repeat the upload 2-3 times.

3. Open “Options -> Settings”

Then wait about 2-3 minutes until the status window indicates no or nearly no traffic.

4.  The final calibration results are then shown in the Adaptor Info Window

Hint: For the download and uploads you can also use our Speed Test page. Please ignore the values for download/upload speed from the Speed Test as long as cFosSpeed is not calibrated.

Can you calibrate cFosSpeed to 98% or above?

For the line calibration to work, cFosSpeed must receive Ping responses. Please check if “Pongs Received” in the adapter info is at least 50%.

If it is less than 50%, please have a look at our troubleshooting page Problems with Pings, otherwise you can Contact Us.

Speed too low

Traffic Shaping may cost 1-2% speed. This is a necessary consequence of the speed regulation for Traffic Shaping.

Test if the speed is also low with cFosSpeed uninstalled.

Is it still low?

If Yes, then it’s no cFosSpeed problem. In most cases the server you connect to may have speed problems.

Test if the speed is also low with Traffic Shaping disabled.

Is it still low?

The cFosSpeed network driver may cause this problem. Is your computer fast enough for your connection? Otherwise we would like to know about the problem.
Please send us an email, so we can have a closer look at your problem

Check the Low Latency Mode setting

Low Latency Mode active?

Try to turn it off in the cFosSpeed console:

C:\Program Files\cFosSpeed>spd gset latency 2 -save

If this helps, please let us know your network configuration by sending us an email.

Make two speed tests: download and upload. Each for 2-3 Minutes.

Do you get the raw max. speed of your connection?

cFosSpeed can not increase the raw speed of your connection. It cannot make a 11Mbit/s connection out of a 10Mbit/s connection.
cFosSpeed can improve your Internet connection whenever you have several connections at the same time, like a long email send and web-surfing, or filesharing and web-surfing.

Does the cFosSpeed prioritization work for you?
  1. cFosSpeed tries to keep your ping low. cFosSpeed Traffic Shaping should result in max. bandwidth (especially with several simultaneous connections) while having minimal ping times (in fact the ping time should be nearly the ping time you get when not transferring data at all). There may be a trade-off between low ping time and transfer speed. If you can live with a higher ping time, you can try this in the cFosSpeed Console:
For a higher upload speed:
C:\Program Files\cFosSpeed>spd set tx_delay
tx_delay = 10000

Write down the two values.

2. Now double each of them and try the following:

C:\Program Files\cFosSpeed>spd set tx_delay 20000
tx_delay = 20000
C:\Program Files\cFosSpeed>spd set tx_width 2000
tx_width = 2000

 If this doesn’t help, restore the old values.

C:\Program Files\cFosSpeed>spd set tx_delay 10000
tx_delay = 10000
C:\Program Files\cFosSpeed>spd set tx_width 1000
tx_width = 1000
For a higher download speed:
C:\Program Files\cFosSpeed>spd set tx_delay 10000
tx_delay = 10000
C:\Program Files\cFosSpeed>spd set rx_width
rx_width = 1970

Write down the two values.

5. Now double each of them and try the following:

C:\Program Files\cFosSpeed>spd set rx_delay 40000
rx_delay = 40000
C:\Program Files\cFosSpeed>spd set rx_width 3940
rx_width = 3940

6. If this doesn’t help, restore the old values.

C:\Program Files\cFosSpeed>spd set rx_delay 20000
rx_delay = 20000
C:\Program Files\cFosSpeed>spd set rx_width 1970
rx_width = 1970
Did this help?

There are (rare) cases when cFosSpeed RX shaping reduces the download speed.
To solve this problem try the following in the cFosSpeed Console:

C:\Program Files\cFosSpeed>spd gset rx_shape 0 -save

There are (rare) cases when cFosSpeed RX shaping reduces the download speed.
To solve this problem try the following in the cFosSpeed Console:

C:\Program Files\cFosSpeed>spd gset avoid_loss 0 -save
Did this help?

1.Sometimes the speed measurements drifts over time because there is always an extreme amount of connections and a lot of UDP traffic. This can happen in some BitTorrent cases. Calibration works fine, but after a while the connections become slower and slower.

Only in such cases you can set the speed to fixed. Get the current values by using the cFosSpeed Console:

C:\Program Files\cFosSpeed>6spd set maxtxacked
maxtxacked = 537274
C:\Program Files\cFosSpeed>spd set maxtxraw
maxtxraw = 537916

2. Now choose a value between these two numbers and take 90% to 98% of it (510715 in this example).


Set it with:

C:\Program Files\cFosSpeed>spd set fixed 1; set txspeed 510715
fixed = 1
txspeed = 510715
Pings too high

Is the Low latency Mode active?

Low latency Mode active?

Try to turn it on:

C:\Program Files\cFosSpeed>spd gset latency 1 -save
  1. Maybe the high ping times are caused by the server at the other end of the connection. This often happens with game servers. cFosSpeed cannot reduce your ping below the minimum which is determined by your connection / ISP. Whenever you use several connections simultaneously cFosSpeed can reduce the ping time and prioritize your traffic so that you get near minimum ping times while still using nearly all available bandwidth. This allow, for example, uploads / downloads during VoIP calls or online gameplay. Uninstall cFosSpeed or disable Traffic Shaping.

2. Download hrping and – without any other traffic on your connection – try both Uninstall cFosSpeed or disable Traffic Shaping

C:\Program Files\cFosSpeed> hrping atlas-cfosspeed.com
C:\Program Files\cFosSpeed> hrping -u atlas-cfosspeed.com
Is the ping time still high?

Tip: For DSL connections use fastpath. WLAN typically has higher ping times as cable based networks. Mobile Internet may cause additional delay due to bad transfer conditions and/or congestion of the access point.Is there another PC in the network which sends/receives data?

Are your ping times good if this PC doesn’t use the internet?

You can limit this PC’s transfer rate. Install cFosSpeed on it and if this doesn’t help, limit this PC’s upload speed:

C:\Program Files\cFosSpeed> spd set tx_limit [value]

Maybe there is something wrong with the prioritization?
Please open “current connections” and check if each connection has the bandwidth it should have.

Scroll to Top