proxy socks via tunnel SSH avec Synology, Putty et C# .NET

Suite à l’excellent tuto (qui date un peu mais excellent quand même ! ) :

Voici la même chose, mais automatisée en C#: n’oubliez pas de remplacer YOUR_SYNOLOGY_DNS_OR_IP_HERE  par l’adresse ou le dns name de votre synology

et aussi le mot de passe admin de votre syno à la place de YOUR_SYNOLOGY_PASSWORD_HERE

on peut légèrement modifier le code pour ne pas mettre en dur le mot de passe et l’entrer à chaque nouvelle connexion (Console.ReadLine()… et supprimer:

Sony NWZ-E430, NWZ-E350, NWZ-E460 Service Menu

If anything goes wrong during the process, press the reset button on the back of the device in order to reset it.  Unfortunately there is no guarantee that the reset will work.  So please use this at your own discretion. 

1. Make sure you are on the main menu.
2. Put the player on Hold
3. Press the following keys in order:


4. If done right the machine will turn off and back on and load a colour bar, press any button to get off the colour bar and into the service menu.

1. Go to the main menu of the player
2. turn Hold ON
3. now press these keys in order


The player should restart and go into the service menu, turn Hold OFF and then find the Audio settings menu.

To exit the Test mode, go the main selection screen then press
up –> down and select EXITTEST then press right and select SURE, finally press the play/pause button, turn the power off and release the test mode

I am not responsible if your player stops working or if you encounter any errors.



upgrading the synology DS 107 firmware to 4.2 or more

synology DS107 latest official firmware is (and should officially remain) 3.1 ( DSM_DS107_1613.pat )

you can upgrade it to 4.2 firmware!

how to ?
1) connect to your diskstation web interface: (typically : http://diskstation:5000/webman/index.cgi)

2) activate TELNET/SSH in Control Panel/Network Services/Terminal

3) if you don’t have Putty (free Telnet Client), download it to access diskstation with telnet :

4) run putty.exe , and for host, write : diskstation, select telnet and click “Open”


then a console window should open:

type ‘root’ and then your diskstation usual password (the same as to connect on the web interface) then press ‘enter’ key


note: the password will not show when you type

5) type

cd ..
cd etc.defaults

(press ‘enter’ key at the end of each line)

6)Edit the file synoinfo.conf. This can be done using the built in editor vi. Simply type:
vi synoinfo.conf

to start the editor.
Now… vi is not exactly the most typical editor so you might end up with some troubles here. A quick guide is:

  • The vi editor has a command mode, and and input mode.
  • You switch to input mode by pressing the i key.
  • When you are in input mode everything you type is inserted as normal into the document.
  • You go back into the command mode by pressing escape.
  • The cursor keys navigate the document.
  • The x key will delete characters under the cursor when you are in command mode.

You need to change the first line from:


Now, to save the file, make sure you are in command mode (Press escape if in doubt.) and type:


This tells vi to write and quit. If you messed something up just type:

and the editor will quit without saving. Then start over by typing vi synoinfo.conf again. (Usually you can just press the cursor up key, and then enter, to reissue the command.)If you need more help with vi it might be helpful to read the Mastering the vi editor guide.

7) Now you can exit the telnet session again if you want. Just type exit and the connection will close.

8) DON’T REBOOT YOUR SYNOLOGY NOW! (or you will have to reinstall the old DS-107 firmware with this assistant)
Now your Synology device will think its a DS109J model. This enables you to download the firmware for the DS-109j and apply it using the web interface just as usual. The firmware can be downloaded from Synology download site

update DSM 4.2 : install directly DSM 4.2 from synology web interface ; Download link :

You will first have to install firwmare 3.2 ; the updgrade file is called DSM_DS109j_1955.pat (link :
then you will have to install firmware 4.0 ; the updgrade file is called DSM_DS109j_2228.pat (link :
then you can install 4.2 : link :

To install these firmwares, don’t use synology assistant, but use synology web interface (in Control Panel /DSM update) with Manual update

If you install latest DSM version (4.2 beta) : don’t forget to update audio,download station, itunes server and other packages packages in web interface (beta channel update) after installation:


———— DONE 🙂
note : you synology is now like a DS109j

this trick may work with few modification on other x-07 – and maybe other – synology diskstation but you’ll have to check which processor you have inside your syno:

other useful links:

Master Data Services Excel Add-in Query updater


This small tool allows you to Load, Edit, and save MDS queries with operators that are not available in current mds add-in
you can download the source code (.Net C# 4.0 Client Profile, VS2010) of my tool here (FREE) HERE
binary only: HERE

very easy to use:

Load your already generated query

then choose a new Operator and edit the criteria

and then save the updated query

you can use all these operators:
[Description(“”)] NotSpecified,
[Description(“=”)] IsEqual,
[Description(“<>“)] IsNotEqual,
[Description(“LIKE”)] Like,
[Description(“NOT LIKE”)] NotLike,
[Description(“>”)] GreaterThan,
[Description(“< ")] LessThan, [Description(">=”)] GreaterThanOrEqual,
[Description(“< =")] LessThanOrEqual, [Description("MATCH")] Matches, [Description("NOT MATCH")] NotMatches, [Description("REGEX")] ContainsPattern, [Description("NOT REGEX")] NotContainsPattern, [Description("IS NULL")] IsNull, [Description("IS NOT NULL")] IsNotNull, [Description("IN")] In, [Description("NOT IN")] NotIn, [Description("DIRECT DECENDANTS")] DirectDecendants, [Description("ALL DECENDANTS")] AllDecendants, More info on sql mds 2012 MSDN blog

NWZ-E463/E463HK/E463K/E464/E464K/E465 sony walkman sound unlocking


here is a new post about these models:

How to use the destination setting tool
Note 1: Please use this tool after closing other application software.

Model : NWZ-E463/E464/E465

Destination setting (DEST)
The destination setting, language information, and sound pressure
regulation information are written in the NAND fl ash memory.

Note: Not used for the servicing.

Nevertheless, you can try the testmode with the service manual here:

(I will NOT be liable to you for any damages, including without limitation, direct, indirect, special, incidental, punitive, or consequential damages that may occurs to your product)

Master Data Services : Display entity members with good sort order when code is numeric

a MDS user recently asked me this question:

When looking at entity contents via web UI in the column code, 10 and each code that starts with 1 (10,11..19) always goes before 2 and so on. Is there any way to fix it? I don’t believe that’s the right order.



so I’ve started to investigate..

first (easy solution)

the easiest way is to add at least one zero before code “1” and code  “2” and so on

but if your code size is huge, you will have to add a lot of “0” behind your code

so I’ve tried to find a custom hack in MDS stored procedure: and finally I’ve found it 🙂

second (hard way) solution:

after a few search on google, I’ve found this post :

but I had to find where to place this code hack

after a few search on mds (by sorting entity members in Web UI and looking at SQL profiler)

i’ve found that a call was made to this stored procedure:


after looking into udpEntityMembersGet, I’ve found that another stored procedure was called : mdm.udpMembersGet, a huge one!

so I’ve tried to update this SP code and finally it works!

be carefull, this hack could slow down the entitymembers get request, and it is only for testing purpose, and if you update MDS with cumulative update, it could be erased!

you just have to replace every instance of (there should be 3 of them) :






 right click here and ‘save as’ to download the customized stored procedure


Complete programmatic WCF service client wrapper in C#

Hi,the goal of this class was to avoid to use a app config file for the WCF object model so as to not have to restart my application (MDSManager) when updating endpoint url it is now done and you can update the endpoint on the fly!

 note: this post is based on Steve Wilkes’ article (see here)

 download the latest version of this class file (right click and ‘save as’ )


private void DisposeExistingServiceClientIfRequired() { if (this._serviceClient != null) { try { if (this._serviceClient.State == CommunicationState.Faulted) { this._serviceClient.Abort(); } else { this._serviceClient.Close(); } } catch { this._serviceClient.Abort(); } this._serviceClient = null; } } update october 29 : added 2 catch blocks so as to catch the REAL error message, please see this post:

and your app.config “serviceModel” section will be reduced to: (and could be reduced even more..)

update details (@Oct 16,2011):

programatic bindind in C#

update 2011/10/19: added a binding type switch