This is why we need Maidsafe. Servers are deprecated and only create trouble.
I run a Trezor off a bitcoin node that runs in my house. The Trezor talks to an electrum 2.0 beta client and the electrum 2.0 beta client talks to an electrum server which talks to the bitcoin node. The electrum server and the bitcoin node are physically in my home office.
It all works. It's very fast. It's easy to use. The Trezor is presently connected via USB to a Windows 7 workstation and the Electrum server and bitcoin node are running on a small Linux machine that I had lying around.
Have you written up how you set this up? It would be nice to see some docs about how to do this.
The biggest part of the problem was becoming familiar with compiling software and installing it on the operating systems that were involved: Ubuntu 14.04 and Windows 7. Initially, I just focused on Ubuntu. I started out running it in a VMware virtual machine (free version) that ran under Window 7, but this was interfering with the performance of other things I use the machine for, so I spend $300 and put together an Atom based Intel NUC system with 120 GB SSD and 8 GB of RAM. I installed Ubuntu 14.04 LTS on this machine. Initially I was using a spare keyboard and mouse and VGA display, but after I got the system running OK and set up SSH I have managed the system headless using PUTTY from my Windows 7 machine.
I went to the Electrum web site and then to Github and found the instructions for installing Electrum Server, which involve building it from source. This was pretty straightforward, just involved tracing down some dependencies. I am no Linux expert, so a certain amount of Googling was needed to interpret error messages and figure out how to do things, such as increasing the number of open files. The first part of the directions was to build a bitcoin node from source on this machine. After I got this working, and installed on the system and it seemed to be working OK, I moved on to the electrum server and got it to work with electrum clients on one of my other machines (the release version, not the Trezor version. At this point I was running a couple of PUTTY terminal windows. The last thing to do on this box was to rig it so that bitcoind and Electrum server started up automatically at boot. The machine runs unattended and draws almost no power (less than 15 watts) and sits behind a UPS, so it does not glitch with my frequent power interruptions. The Electrum Server is not very robust and if the system is shut down without waiting for the Electrum server to finish processing, the database can be corrupted and this can take hours to recover, so don't do this.
The next step was to get an Electrum 2.0 client running. I did this first under an Ubuntu virtual machine on my Windows system. The directions are at the Electrum git-hub site. Again, some tracing down dependencies and loading them with apt-get. At this point the next step was to get the Trezor running. This requires installation of appropriate routines to allow Python programs to access the Trezor via the USB. This is the Python Trezor code, also available from Github. It includes a "hello world" test program to verify that a Python program can talk to the Trezor. I ran into one obscure problem getting this to work. I had to find the utility to see what was going on on the (virtual) USB, bypassing the "Cython" wrapper that connected Python to the C code that talked to the USB. I thought something was seriously broken, but then I discovered that everything worked fine so long as I was running as root. Once I set up the USB protections so the account used for the my normal login was permitted to access the Trezor (both read and write) then everything was fine. At this point it was just a matter of starting with no wallets in the .electrum directory and Electrum 2.0 prompted me for the rest and my Trezor based wallet showed up.
I ran this way for a month. Eventually, I got bored and curious and figured out how to get Electrum 2.0 to run under Windows 7. This involved installing Python, Python-Qt and a development environment for C code. This was another learning experience on my part, but it was all possible by downloading free software. I got waylaid for a few hours until I realized that the free C compiler I had used was only 32 bits, and so I had to redownload and reinstall the appropriate versions of Python and Python-Qt.
For someone with more skill that I had, all of this would be an easy process. The longest time required was the time for the initial download and block sync of bitcoind and the downloading of the electrum server database and initial sync of the electrum server. If all you want to do is use Trezor via Electrum, none of this server work is needed, but then you will have to trust the electrum servers, which means you had better not be paranoid.
I deliberately picked a low end Intel Nuc (1.4 GHz single core) for a server machine to see if it would be fast enough. It takes less than 10 percent of CPU time for bitcoind to keep up with the network, even where 1 MB blocks are back to back. I can't say as much for the Electrum Server. The CPU seems to be saturated and uses about 30-40 percent of the CPU on this slow machine for large blocks. This seems unnecessary, as I understand it, but I don't know enough about Python to know how to profile the software and speed it up. (I'm sure that this can be done, because running an Electrum Server doesn't involve verifying transactions in the block chain, which is the time consuming part of bitcoin processing. The server is just doing database processing which ought to be lightening fast with 8 GB of RAM and an SSD.)
I would not recommend doing this if you aren't already an expert or (as in my case) you "enjoy" learning experiences. :-)
https://github.com/spesmilo/electrum-serverhttps://github.com/spesmilo/electrumhttps://github.com//trezor/python-trezor