Tips EdgeRouter X - Speed limited to 250Mbps instead of 1Gbps

I have upgraded my Internet abonnement from 100Mbps to 1000Mbps but couldn't get more than 250Mbps. The reason was not an issue with the fiber or the modem but a limitation on my EdgeRouter X.

Click to Read More

I bought this Ubiquiti router to have the capability to view the bandwidth on each port as well as to fine-tune the configuration if required. Its OS "EdgeMAX" is indeed very flexible and powerful. Obviously, I did check that it was capable to deliver 1Gbps. 

It was clear for me that it would be "1Gbps for all ports" (4 ports). But as the Router is connected on a Switch "1Gbps per port", that was not an issue for my LAN (And it was much cheaper).

Nevertheless, having max 250Mbps was disappointing.

 

This throughput was reached with defaults settings, as I didn't fine tune anything so far.

The solution was to disable the "hardware offload" as well as the "flow-accounting (NetFlow)" (NB.: QoS may also not be used, but it was the case).

To disable these features, click on 'CLI' in the upper-right corner to open a console and login with your administrator account. Then type:

configure
set system offload hwnat enable
delete system flow-accounting
commit
save
exit
reboot

Once the router as completed the reboot, you get the maximum bandwidth !

Et voilà.

Tips PC Windows 10 is very slow although CPU, RAM, GPU and Disk usage is low

There are many many reasons why a PC can be lagging and very slow. But the worst was is when you look at the Task Manager and you see that both CPU and GPU are low, there are still plenty of free RAM and there is no high disk activity. In my case the problem was due to CPU Frequency being reduced.

Click to Read More

First thing to check, the CPU/GPU/Ram and Disk Usage. Press CTRL-SHIFT-ESC to open the Task Manager.

You see that everything is low. So what ?

Run now the Resource Monitor by pressing Windows-R and typing: resmon

Very interesting. We see that the CPU runs at 19% of its maximum Frequency. So, something has reduced the CPU frequency. Indeed, with Intel speedstep, power saving and everything else disabled, this should always read 100%.

So, the problem can be the "power plan" or some "failed" overclocking...

You can test this by adding some load on the CPU with "CPU Grab" or "CPU Stres". Here under, using CPU Grab to load the CPU at 100%, we can see that the CPU is still limited to ~20%:

NB.: You can also give a try to Intel® Extreme Tuning Utility

Regarding SpeedStep and Power Saving, you can edit your Power Plan Option. Press Windows-R and enter: powercfg.cpl, then click "Change plan settings" > "Change advanced power settings". Set all limits to 100%.

NB.: For laptop, there are distinct settings "On Battery" or "Plugged in"...

NB.: Keep the "System cooling policy" on "Active" to avoid your PV to burn :)

If this does not help, then give a try to Throttle Stop (Basically, uncheck the BD PROCHOT checkbox an click Save)

 

Possibly, disable manually the Intel Processor Power Management feature (ippm). Run a cmd prompt as Administrator and execute this command before restarting your PC :

sc config intelppm start=disabled

NB.: To to re-enable "intelppm", execute the command

sc config intelppm start=demand

Possible values are : {boot | system | auto | demand | disabled | delayed-auto}.

 

Also look here for disabling DPTF ( "Intel(R) Dynamic Platform and Thermal Framework"). Windows has it's own built-in processor speed and thermal management already, which is sufficient on its own.

Update the drivers of your Processor, pressing Windows-R and typing: devmgmt.msc

 

Check the settings in your Bios. If you have an option "CPU Power Management" set on "ENABLED", Windows will ignore the minimum CPU power setting and clock down to the default frequency but clock up when required. If you have an option "Intel Speed Step Technology" set on "DISABLED" at the same time, the maximum frequency will be that of what it is advertised for your CPU, instead of maximum turbo boost.

Finally, you can also check your RAM just in case, by pressing Windows+R then and typing in mdsched.exe. Then restart the PC.

Finally, you should have solved the maximum Frequency:

NB.: here above, my CPU been overclocked, you see more than 100% CPU available

SynologyTips How to download playlists from YouTube using Synology

It's really easy to download playlists from YouTube with the Download Station of Synology. I do this to get locally new "No Copyright Music's", to be used later within my video's.

Click to Read More

I am using the "Download Station" as it simply works, opposite to many free or paid software's which pretend to work but usually fail (and are full of advertisements...)

Bref... Assume that you want to get all the free music's from the excellent YouTube Channel "VLOG No Copyright":

  • Visit their "PLAYLISTS" in your Browser (All such channels have a tab "PLAYLISTS" as you can see in the screenshot bellow).
  • Right-click on the link "VIEW FULL PLAYLIST" of the desired playlist.
    • This is important: don't use any URL from the "HOME" tab or from any tail representing a playlist (with the "PLAY ALL"). It would only download one video and not all the playlist. 
  • Select the menu "Copy link address"
    • The copied url should be like this : "https://www.youtube.com/playlist?list=xxxxxxxxxx"

 

Now, go to your "Synology Download Station" and:

  • Click on the large blue sign "+". It opens a window to create new download tasks.
  • Go to the tab "Enter URL".
  • Paste there the URL of the playlist copied previously.
    • A subfolder with the name of the playlist will automatically  be created under the destination folder and the video will be saved in that subfolder
  • Select the option "Show Dialog to select..." if you when to download only some of the video's. Otherwise you can unselect that option.
  • Click "Ok".

 

You should now see a line as illustrated here below, "waiting" to start:

 

You have to wait until the Download Station has crawled across the whole playlist and found all the files to be downloaded... Then, you will see the list of music's:

 

During the download, you could see some failed tasks, with a status "Error". It happens from time to time, but this is usually a temporary issue. Sort the list within the Download Station on the "Status" column and select all the "Error" . Then, right-click the list and select the menu "Resume".

 

Personally, as soon as the "music video's" are downloaded, I extract the sound tracks and keep only those. There are many software to do this. But one of my favorite option is to use ffmpeg directly on the Synology (you have to install that package). Simply type this command in a console, in the download path were are saved the video's: 

for i in *.mp4; do ffmpeg -i "$i" -codec:a libmp3lame -q:a 0 -map a "${i%.*}.mp3"; done

To process mp4 in all subfolders in the download path, I use the command:

for d in *; do cd "$PWD/$d/"; for i in *.mp4; do ffmpeg -i "$i" -codec:a libmp3lame -q:a 0 -map a "${i%.*}.mp3"; done; cd ..; done

 

If you are using Chrome, I can suggest some extensions to help in downloading Playlists..

1. The extension "Copy Selected Links". Using that one, you can copy the URL's of all the playlists of a Channel, at once. Select the whole text under the tab PLAYLISTS (it will then appear highlighted in blue as illustrated on the screenshot here under). Next, right-click in an empty area and select the menu "Copy selected Links".

Now go into Notepad++, as we have to keep only the playlists. Paste the Clipboard into a new tab of Notepad++. Press CTRL-Home to come back to the top. Press CTRL-H to open the "Replace" window. Select "Regular Expression" at the bottom of that window and click the "Replace All" button once you have entered this into the field "Find What":  .*watch.*\n (or .*watch.*\r\n if it does not work properly)

Now, you have two options. If you have no more than 50 playlists, you can paste them directly into the Download Station via the button "+" and the tab "Enter URL" as explained previously. Otherwise, you have to save with all your URL's into a .txt file (with Notepad++) and upload that file via the tab "Open a file" instead of the tab "Enter URL". 

 

2. The extension "Download Station" (or this version in Chrome Web Store) to more easily download the playlists. Same principle as above, but instead of right-clicking "View Full PlayList" to copy the playlist URL, you now have a extra menu "Synology download Station" (or Download with "Download Station").

 

Another trick, when available in the PLAYLISTS tab of a Channel: select and download the Playlists "Sorted by Mood" or "Sorted by Genre". This will help you when you search for a particular type of music for your video. Ex.: with the Channel "Audio Library":

 

Adive: each time you add a playlist in the Download Station, check that the amount of new download tasks match with the amount of tracks in the playlist. Indeed, it happens that not all the video's are added into the Download Station as it has limits(a total of max 2048 download tasks <= reason why you have to clean-up all downloaded tasks before downloading new long playlists. There is also a limit of 256 links per "file" uploaded and a limit for a playlist of "2048 - amount of current download tasks").

Don't forget that for most "No Copyright Music's", you have to mention the author in your video's or posts. Often, in YouTube, you have to click on "Show More" under the video to see the details of the license:

The License is usually clear. Ex.:

To find again later the video's on YouTube and check the type of license, it's important to keep:

  • The original name of the video when converting into mp3
  • The name of the playlist
  • The name of the channel

To do so, the easiest is to add some metadata into the mp3 extracted with ffmpeg. Once downloaded by the "Download Station", your video's should be in subfolders which have the name of their playlists. And the filenames usually contain the Author, the name of the song and the name of the YouTube Channel. So, it's easy to create the metadata. Ex.: the playlist "Dance & Electronic Music | Vlog No Copyright Music" of Vlog has been downloaded into a subfolder named "Dance & Electronic Music _ Vlog No Copyright Music" and the video's are all named like "Artist- Title (Vlog No Copyright Music).mp4"

So, to process that subfolder, I will use the command:

for i in *.mp4; do playlist=${PWD##*/}; artist=${i% - *}; other=${i##* - }; title=${other% (Vlog*}; ffmpeg -i "$i" -codec:a libmp3lame -q:a 0 -map a -metadata artist="${artist}" -metadata title="${title}" -metadata album="Playlist: ${playlist}"  -metadata Publisher="From YouTube Channel: Vlog No Copyright" "${artist} - ${title}.mp3"; done

As you can see, I am using the "Publisher" to store the Channels and the "album" for the playlist... This is a personal choice! (More details on ID3 tags and ffmpeg here)

Regarding the pattern matching used in shell, it's not always that simple and you will have to be creative... Just about the pattern matching:

  • variable2=${variable1%xyz*} => variable2 is the shortest left part of variable1 before a substring xyz.
  • variable2=${variable1%%xyz*} => variable2 is the longest left part of variable1 before a substring xyz.
  • variable2=${variable1#*xyz} => variable2 is the shortest right part of variable1 after a substring xyz.
  • variable2=${variable1##*xyz} => variable2 is the longest right part of variable1 after a substring xyz.
  • in xyz, x and z may be blanks (in my case, "xyz" was " - ")

As there are many duplicates in those playlists, I have written my own script to replace such duplicates by hardlinks (on my Synology). I can't use jdupes or rmlint as those are doing "binary comparisons" and due to the conversion via ffmpeg, it doesn't work. Instead, I search for duplicates based on the filename and size only (per channel, they are usually unique anyway). Here is my script for illustration purpose. It must be stored in an ANSI file (ex.: dedup.sh) and run with: sh dedup.sh go

echo "Start looking for duplicates"

find . -iname "*.mp3" -printf "%p ~ %f\n" | sort -f -k2 | uniq -Di -f1 > list.dup

echo "Duplicates found"

test="$1"
previous=""
previouspath=""
skip=true
while read p; do
mp3name="${p#* ~ }"
mp3path="${p%% ~ *}"
if [[ "$mp3name" == "$previous" ]]; then
mp3new="${mp3path%%.mp3}"
node=$(ls -l "$mp3path" | grep -Po '^.{11}\s1\s.*$')
if [[ "$node" == "" ]]; then
echo " $mp3path is already a hardlink"
else
skip=false
if [[ "$test" == "go" || "$test" == "test" ]]; then
SIZE1=$(stat -c%s "$mp3path")
SIZE2=$(stat -c%s "$previouspath")
#Delta=$(awk "BEGIN{ printf \"%d\n\", sqrt((100 * ($SIZE2 - $SIZE1) / $SIZE1)^2)}")
#if [[ $Delta > 1 ]]; then
Delta=$(awk "BEGIN{ printf \"%d\n\", ($SIZE2 - $SIZE1)}")
if [[ "$Delta" == "0" ]]; then
mv "$mp3path" "$mp3new.old"
ln "$previouspath" "$mp3path"
echo " $mp3path now linked to original"
else
echo " $mp3path seems different from $previouspath"
fi
else
echo " mv $mp3path $mp3new.old"
echo " ln $previouspath $mp3path"
fi
fi
else
if [[ "$test" != "test" ]] || [[ "$skip" = true ]]; then
previous=$mp3name
previouspath=$mp3path
echo "$mp3name has duplicate(s) (original in $mp3path)"
else
break
fi
fi
done <list.dup

 

Note: Facebook will possibly remove the audio from your video even if they is a "No Copyright Music". When you get such a notification from FB, you can simply click to restore the audio if you did mention the Author in your post or video.

Some YouTube Channels with "No Copyright Music's":

 

Tips How to download Adobe Pro X

I bought the version X which is now obsolete and would like to reinstall it using my license. Problem: I don't have the setup anymore... Where to download this version ?

Click to Read More

There is no link anymore on the web or on Adobe Web Site to download that version.

The trick:

  1. Log in into Adobe Web Site: https://www.adobe.com/
  2. Paste this url in your browser: http://trials3.adobe.com/AdobeProducts/APRO/10/win32/AcrobatPro_10_Web_WWEFD.exe 
  3. Run this web downloader and let it install Acrobat Pro 10

Some other obsolete stuff can be found on Adbe's FTP : ftp.adobe.com

Example:

Tips Low dialog volume with DTS movies on RealTek compared to AC3

A simple trick to fix the low dialog volumes of a DTS audio track played with a Realtek is to use the Loudness Equalization.

Click to Read More

I am using Home Media Player Classic x64 v1.9.8 (24-10-2020) to play movies on my Windows 10.  My Motherboard is a Z270 Gaming Pro Carbon with a Realtek® ALC1220 Codec.

When playing movies with a DTS audio track, the volume is always really low compared to movies with an AC3 audio track, especially regarding the dialogs.

It was not the case when I initially installed Windows so I presume that this is a regression due to some driver updates... But a simple trick was to enable the Loudness Equalization via the Realtek HD Audio Manager.

If you don't know how to open the Realtek HD Audio Manager, open it directly from Windows Explorer or with Win+R: C:\Program Files\Realtek\Audio\HDA\RtkNGUI64.exe

[EDIT 23/05/2021] This trick didn't solve the issues with Netflix. The voices were really inaudible. I had to switch the sound of Netflix from 5.1 to 2.0. I am sure there is another solution. But I didn't find it yet.

Et voilà,

Tips Easy replacement or upgrade of HTC Vive Headset's lenses

I did scratch the lenses of my HTC Vive Pro while keeping my glasses to play. I couldn't find original replacements lenses but realize that I could simply use the lenses of my Samsung GearVR instead. And the result is amazing !

Click to Read More

As you know if you googled for information about the lenses of the HTC Vive, those are "Fresnel lenses". I.e.: a set of flat surfaces with different angles. Many people suffers of "God Ray" artifacts with those lenses. I personally found indeed the visual experience as quite poor for such a high-end headset.

The good news is that it's very easy to replace those lenses. And it can be done:

  1. Not only with cheap 3D printed adaptors to reuse the lenses of a old Samsung GearVR.
  2. But also with prescription lenses adapted to your eyes if required.

First, a lot of information can be found on Google with the keywords : HTC Vive GearVR lens Mod.

If you need prescription lenses, simple google for HTC Vive prescription lenses. There are plenty of serious sites and they provide both the lenses and the adaptors:

If you want to reuse the lenses of an old Samsung GearVR:

  • You need to print your own adaptors. Plans can be found on Thingiverse. Ex.: here or here.
  • Or you can buy them on internet. There are plenty on eBay (with or without lenses). Search for HTC Vive Mod Upgrade Kit
  • The adapters are the same for the HTC Vive, HTC Vive Pro and HTC Cosmos also.
  • The Samsung GearVR lenses MAY NOT BE those from the 2015 version (the white model). Those are smaller. You need a dark blue version of 2016 or 2017!

There are many How-to on the web, such as this video which is quite complete for HTC Vive or this one for HTC Cosmos.

Notice next that opposite to what is illustrated on some video, I had no need to unscrew anything to pop out the lenses. Neither on the GearVR, nor on the HTC Vive.

The result is really fairly dramatic!

Et voilà.

Tips VMWare Workstation not compatible with Windows 10

Starting a VM this morning, I got a new message "VMware Workstation and Device/Credential Guard are not compatible". To be able to run my VM, I had to disable this Credential Guard.

Click to Read More

Credential Guard uses virtualization to store credentials in protected containers separate from the OS. As a result, the information Credential Guard protects is safe even if malware or some other malicious attack penetrates an organization's network.

But it prevents VMWare to run VM's.

To disable it, copy this script in a file named "disableCG.ps1" in your personal home folder C:\Users\<Your Name>\

Run next a PowerShell as Administrator:

Pay Attention that this will reboot automatically your PC !!

In this PowerShell, execute: cd ~

Next execute : .\disableCG.ps1 -Disable -AutoReboot

You will see errors displayed in Red in the PowerShell. This won't be a problem. And after a minute, the PC will reboot.

During the reboot, you will be prompted to confirm that you really want to disable the Windows Defender Credential Guard. Press the Windows Key or F3 to confirm.

 

Other options : https://windowsreport.com/disable-credential-guard-windows-10/

Ex. Execute in a PowerShell run as Administrator: bcdedit /set hypervisorlaunchtype off

 

I also had to remove "Guarded Host" and "Hyper -V" via the Control Panel > Programs > Turn Windows features on or off

But now, Docker does not run anymore on my PC as it needs Hyper-V :(

Tips Use HDMI output of Lenovo ideapad Yoga 500 to get Dual Screen

When I connected for the first time my Lenovo Yoga on my TV, using a HDMI cable, I couldn't extend my Desktop to this second screen, using the F10 key. The solution was to do via the Intel Graphics Settings.

Click to Read More

  • Right Click on the Desktop to access its Display menu:

  • Click on the button "Detect":

  • Once the second screen has been detected, click either on "Clone Displays" or "Extended Desktop" and then Click "Yes" to apply the change:

 

Notice: I also had an issue with the HDMI port. I think this issue results from the pulling force exerted the each time one opens or closes it (the hdmi port is really next the lid). The "contacts" of the port are faulty (Loose contacts). As a solution, I had to push up the cable lightly up to force a good contact.

Tips Cannot use inventory in Vivecraft

My daughter suddenly couldn't use the inventory anymore in Vivecraft, once opened. She couldn't pick or move items in there. The cause was that Vivecraft's window was not active on the PC at that moment.

Click to Read More

Vivecraft is a mod that turns Minecraft into an exceptional VR experience. Concretely, I use it to run the game from SteamVR and play with it using my HTC Vive pro setup (Be sure to setup and run the game as explained here. Launching the game from the VR Room or Steam does not work).

When my daughter experienced her issue with the inventory, I was working on the PC at the same time. Vivecraft works indeed fine if someone else is using the PC, as long as you don't need the mouse to interact with the game. And this is the case  when you want to use the inventory or use some menus.

Concretely, on the screenshot here under, the cursor + will only appear if, on the PC, the window of the game is activated. I.e.: if you clicked on it with the mouse or used Alt-Tab to give it the focus.

Vivecraft inventory

Vivecraft inventory

So, each time my daughter want to use the inventory, I temporarily give the focus to the window of ViveCraft by switching to it with Alt -Tab. I can next continue to work...

Et voilà.