Kodi Community Forum

Full Version: Lenovo S10-3t - Portable server: Concept made real
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
If you have heard about concept of mobile server this is one of the possible application, while this netbook (with all mods) can serve both as client and server at the same time. Wikipedia provides only very vague info about this kind of server:
http://en.wikipedia.org/wiki/Mobile_Server

I asked myself following questions when I have heard about "portable server":

a) What kind of service can such device offer?
Well - since its portable, with limited or no access to Internet, it can offer solutions on local network. Also even if it has big storage, it can hardly be acessible to the clients because acess to the service can be only temporary. So all i can do is to provide acess to existing files and/or services

b) WIFI or NIC?
Well.. why not both? Each has its own benefits and disadvantages. Wifi does not need connectors but signal or packets may get lost. NIC has (usually) higher speed, less packet loss but at least one switch is needed.

c) Which hardware to use?
Any laptop with Wifi, Nic, HDMI or VGA connector, with low power consumption, small. Replaceable battery, standard disk bay.

How Lenovo S10-3t differs from other netbooks... Most netbooks were not customisable - like SSD was directly on motherboard. This netbook has normal 2,5 inch disk bay, one halfsize mini-PCIe slot and one fullsize mini-PCIe/USB slot. So basically I started with this:

Image

The model I have purchased has dualcore Atom N550, 2gb DDR3 RAM, Wifi, 100Mbit NIC, Bluetooth, 250gb HDD, WebCam and bigger 8 Cell battery. The battery can be replaced while the netbook is on AC adapter and most importantly the batteries are not hidden inside of the device.

Even at that time Jesse B. Andersen already had his blog where he mentioned this netbook, its all Pros and Cons, and he collected and developed some modifications to original configuration.
http://www.jessebandersen.com/2012/03/le...posts.html

I was able to perform some of them and lets mention those which are interesting for XBMC:

a) SSD Drive
Increases performance a bit, and video is not pausing while moving the netbook. Currently I have OCZ Vertex 2 180gb, but new Samsung 840 with 1 terabyte is already ordered.
http://www.jessebandersen.com/2012/02/le...drive.html

b) TV tuner (Avermedia A316/A317) + Antenna mod
First models of S10-3t were delivered with similar Tuner card, so Bios mod was not needed. Also i performed the antenna mod this week. Even when I dont have proper DVB-T antenna, small Wifi Rubber duck antenna is still better as internal.
http://www.jessebandersen.com/2012/02/le...tuner.html

Antenna mod:
Image

c) Crystal HD card
This requires Bios mod, and allow HD/BluRay playback. I was lucky to have newer model - halfsized BCM70015 - so in order to install it I just removed internal Wifi Card, replaced it with CrystalHD card, and purchased USB Wifi.
http://www.jessebandersen.com/2012/02/le...d-for.html
I was able to play original Blu-Ray disc with XBMC and CrystalHD, with AnyDVD decryption.

Now I have internal TV tuner with connection for external antenna, card for HW video decoding, and in near future up to 1 terabyte of internal storage. The antenna mod can be also used also to enhance internal Wifi signal strenght if you dont plan to use TV tuner with Crystal HD card, but you will appreciate better Wifi signal.

d) Jabra BT3030
Simple Bluetooth headset with few buttons. When you use proper driver (at least in windows) you can use this device as audio output, and the buttons as remote control (play, pause, previous, next). XBMC works perfectly with this solution and turns this device into remote control and wireless headset at the same time.
Headset - http://www.jabra.com/support/jabra-stree...3030001-60
Driver - https://www.broadcom.com/support/bluetooth/update.php

OS support:
I personally use Windows 7 (sorry guys), but if you check blog Lenovo S10-3t was tested with various operating systems including Linux and it should be able to work with Meego or Android as well.


Intendet purposes:
Most uses I had for a netbook were "client" uses. Basically it can replace most of home electronics...

- Writing: This netbook has pretty decent keyboard.

- Portable TV/Radio: I dont travel too much, but when I do I like to have acess to the news even without internet connection

- Music/Movies library: The device is quite big for an MP4 player, but it does same job. However no MP4 player can hold all my movie collection. I have a LOT of original DVDs, and I was looking for possibility to carry some of them. Well DVDs can get damaged... Making an ISO is for me the safest way how to protect my original DVDs and still have possibility to watch them.

- Alarm Clock: XBMC has alarmclock plugin, however it does not seem to work correctly with this HW... So for now this purpose I use program called "Alarm clock of justice" and simple screensaver which displays current time and date.

- Gaming: few old games like HOMM 3 or you surely remember Plants VS Zombies

- Since I love movies I used to watch them on projector with friends. CrystalHD card with Blu-Ray USB drive allowed me to play up to 720p.

Note: For touchscreen usage i recommend Re-Touched XBMC skin.


And now we are getting to the application as a Server:
- UPNP server
As you noticed i have ordered 1TB harddrive. I expect that disk controller can handle up to 2 terabyte disks. SSD is better choice - simply because of battery life, and potential shock damage which can be done to standard drives. However its much more expensive choice. 1TB can contain more than 100 DVD ISOs in full quality. So carrying and sharing the library stored within the netbook anywhere is pretty nice possibility. I just planned to carry the netbook with me, watch some movies on the travel, but if somebody wanted to watch something else there was a problem. Now I can just share the data, stream them into private Wifi network, and anyone in that network can watch any movie in the library. Since XBMC is available for many platforms, its only a matter of installing it on the device.

- TV stream server
First I considered backend-frontend behavior of XBMC as an disadvantage, but when I saw image quality and realized possibilies of streaming I have changed my mind. I have tested most of available solutions of backend for XBMC. All of them work pretty decent. Just have to mention that Timeshift support is troublesome on SSD drives and video transcoding (on DVBLink Web Interface) can consume most of CPU resources.


XBMC perfectly transforms any laptop into portable UPNP media server. It can provide acess to stored library while you are "on the move" in train, car or bus for hours even without power plug around. However streaming of DVB-T can be troublesome (weak signal), usage of large media library (and thus large harddrive) is recommended solution. TV streaming is possible only if signal strenght is solid and stable - antenna has to be omnidirectional if you plan to move the netbook while streaming. However that limits the usage only in locations where TV signal is strong. With this solution you can deploy your portable media server anywhere within few minutes, let it run for few hours or days, and take it wherever you want.

What I currently have to develop is "client software distribution". I can establish "my own" wifi network quite easily, but distributing XBMC "from server to clients" in the local network while there is not internet acess still needs to be solved.

Of course - both client and server applications i mentioned can be used on any newer laptop, with higher display resolution, bigger harddrive and longer battery life. S10-3t was my choice because of available TV Tuner, existing CrystalHD and antenna mod - everything is packed in the body of the netbook, so I dont need to sacrifice the mobility (of quite heavy tablet) for the USB TV tuner. Another reason was fact that S10-3t was already used in car:
http://www.jessebandersen.com/2012/03/le...-mods.html

Note: I will make some photos tomorrow and upload them.
So I made one additional screen:

Image

On screen is simple screensaver showing current time and date. You can see also small antenna which is currently used for TV/Radio tuner and one USB slot is currently occupied by WIFI adapter. Since the system has pair of speakers it can act as a radio in this "mode". Any video or visualization can also be seen on the screen, but this small 10 inch screen is meant to use only when travelling and there is no bigger screen available.

At the same moment the netbook is serving as media library via XBMC UPNP feature and is able to stream DVB-T into the network.

If you want to, you can grab whole the netbook and its (quite big) media library with you to travel, connect bigger displays directly to the device, or use the media sharing to watch movies on bigger and better screens, anywhere you travel.

Possibilities:

Act as a client in Network
LAN or Wireless LAN connect - The netbook has 100mbit NIC connector, Wifi offers similar feature without any cabling.

Act as a LAN server:
WIFI allows to switch between client and AP mode. In AP you can choose between Infrastructure or Ad-Hoc network. If you have access to the internet via LAN or 3G network you can also share it via Wifi - many people used similar Wifi adapter and LAN connector on Rapsberry PI to turn raspberry to fully functional Acess point.


Media streaming over Wireless connection:
This is quite troublesome.I did some measurements to check how complicated is to stream data.

a) Low quality DivX
Needs about 300 kbyte/s bandwidth. Even when Wifi signal is not as good as expected its quite easy to stream such data.

b) 720p H.264 Video
Required approx. 500 kbyte/s. Quality is much better as in the first case, but still its quite easy to push the data throught the wifi.

c) DVD quality - SD Mpeg2
In order to keep quality the compression level is quite low - 1000 kbyte/s is required for smooth playback.. DVB-T signal has similar signature.

Higher quality = Higher Bandwidht = Shorter distance in order to stream data
Lower quality = Lower bandwidth = Longer distance ...

Also if decompression of the data is more intense on CPU consumption, it may decrease battery life of the clients. Since I want to share media only in my home network and ocassionally on "portable networks", i have chosen DVD quality. it cannot kill CPU or batteries of client devices, has decent image quality even on bigger screens.

Just to note - I purchased every single DVD i ever added to my movie library.

I have also tested that this small device can work with internal 1TB drives
Great project!

I've thought of doing exaclty the same thing with a 1tb SSD drive that I have at the moment.

I might look at the Lenovo and its 2.5" drive

I do wonder if there is a more powerful device these days that can handle the 720p without additional hardware mods.
Something about price. This device cost about 350 euro when it was new, with 250gb HDD, wifi and Bluetooth. This has NM10 southbridge, and SATA supports AHCI mode. I believe 2tb is surely possible, and higher capacity maybe too = but there are no such SSDs in 2,5 at the moment.

Mods:
Broadcom crystal HD card - about 60 euro
TV tuner - another 60 euro
Antenna mod - 5 euro
1 TB SSD drive - Too much Big Grin. However it cant be used with standard HDD. Severe damage to drive can occur if moving the laptop.
USB wifi adapter - 10 euro

(I am going to grab this one http://www.tp-link.com/en/products/detai...n722n#spec = its not perfect but there is nothing better available. I considered radio strenght in dbm as a factor. I prefer up to 6 clients with tablets/phones/anything else on Wifi, not more)

In one year it was possible to grab S10-3t for about 150 euro on ebay, and some are still available...

Newer Lenovo devices (such as X220) with Intel I5 CPUs and GMA 4000, displays had much better viewing angles. It was certainly leap ahead, but they basically costed about 1000 euro. They were able to play 1080p without any mods. Last models in "ultrabook class" are basically same hardware, cost twice as much and have same hardware with one exception - the battery life is better...

Media server in XBMC does not require CPU power for streaming. Same is true for DVB-T streaming. Thats the reason why I preferred to upgrade this netbook with Atom processor.

I consider this to be a good usage for similar hardware - but as I mentioned before most netbooks in the same class were not moddable at all.


Next steps:

to Modify XBMC Web Inteface
Currently its being used as "remote controller" I would like to use it as a portable repository of latest XBMC clients and as a informational portal in a manner "Hello, this media library will be here until 22:00pm". As this can be considered as re-distribution of your work I would kindly ask for a permission. I will try to make this into installable plugin.


Also I dont recommend MSATA devices. They have Sata controller of their own. Can be cool since it can support even SATA III, but it will increase power consumption as a result.

The biggest problem is WIFI network... You can surely imagine why...
Love the Nixie Tube screen saver.
Tested Wifi TP 722. Impressive range for a wifi stick.

Update on Webserver: Battery check via web browser, should be nice...

Edit:
For now I connected into existing Wifi networks as a client. Its the simple solution, sharing XBMC library is quite easy. I just have to start XBMC after i have obtained IP adress.

The trouble with XBMC is that if IP changes, I have to restart it in order to be able to share library again. So, having static IP address is better solution in "server mode". But to archieve this I have to setup DHCP server unless I dont want to all clients to setup TCP/IP protocol manually Big Grin

Edit 2:
I have tried DVBLink and NextPVR. both worked quite well, but DVB link was not able to stream whole multiplex and NextPVR was causing BSOD. Later I realized that my TV tuner still supports analog TV. When I enabled that module even on DVBLink attemt to tuning was causing BSOD as well. Solution - I upgraded the driver. It simply removes support for Analog TV.

So currently using NPVR. With minor trouble.

Edit 3:
Any linux machine can act as wifi AP its all only matter of proper configuration. If you have Windows you can face several trouble. AP in Infrastructure may not be supported in applications which are bundled with the Wifi hardware. Windows 7 supports softAP or Virtual Ap via netsh commands...

However Win7 does not act as DHCP server, since this feature is not present since Win XP. So even when I setup Virtual AP in windows, I have to run around, and tell to every client, what is gateway, and which IP he can use...

I have to try some SW solutions available:
https://virtualrouter.codeplex.com
http://virtualwifihotspot.codeplex.com

I have been told that those allow internet sharing but not video streams... will see...
So again some update on the project.

Windows 7 supports creation of virtual Wifi card, which can act as AcessPoint, The same techology is used in Virtual Router projects. However Windows 7 nor Virtual router projects have DHCP server. So I had to solve this:

http://www.dhcpserver.de

Assigns IP addresses in local Wifi network and has Web interface to check currently connected clients. When Wifi interface disappears (its USB) it does not attempt to use other interface. Can be executed as Service, or as a Tray application - Actually quite useful since it informs about new clients in the network. Nice and easy to use. And yes, Linux configuration would be much easier. UPNP media library sharing works well.

The Wifi network configured in this way is ALWAYS encrypted in WPA2-Personal AES.

Currently I am working on a script which will enable/disable AP and DHCP...

The mobile server can benefit from web information portal on its own web interface. Crucial information are:

a) Battery life/Plugged in status of the Server
http://blog.teamtreehouse.com/exploring-...status-api

However the API is supported only on Firefox with Aurora plugin.

b) Time when server will be powered off and moved from its current location.

Other info:
- Battery life while streaming is 4 hours.
During last weekend I performed some field tests, mainly to measure how good is the Wifi with 8db antenna. It works surprisingly well = 20 meters radius (65 feet), throught 9 concrete floors Smile. The data transfer for a single client (about 1mbyte per second) will was possible on 10-15 meters radius when there were not obstacles (such as big fridge)...

I expect that typical clients will be Android based phones, or various tablets.

One friend of mine installed XBMC on his Android phone. Previously (two weeks ago) most movies were working well, however there was trouble during last weekend. Only few movies were actually working.

This problem was only on DVD ISO files... All of them were unencrypted. Other media types (avi, whatever) were working well.

Can somebody advice what can cause such trouble?
Nightly builds (wiki) (and the new beta, shhh ;)) should have improved dvd playback.
thanks Smile

Lets share some commands for Windows. Lets say you have notebook with any wifi.

1. Setting up a Hosted network:
netsh wlan set hostednetwork mode=allow ssid="MySSID" key="Mykey" keyUsage=persistent

This command creates Virtual Wifi Miniport driver device. The network will always be Infrastructure with WPA2-PSK AES encryption. Open the Network properties and rename this connection. Lets say to "Test"

2. Starting up Hosted network:
netsh wlan start hosted network

Your wifi adapter start to act as an AccessPoint for the previously defined network. It uses IP 192.168.137.1 by default. If not possible it uses 192.168.173.1. If even this IP cannot be used the adapter may remain without assigned IP.

3. Command to assign static IP address:
netsh interface ip set address name=”Test” static 192.168.137.1 255.255.255.0

"name" equals to name of network connection you used for your Virtual WIFI Miniport. The command allows to define Gateway. This is not necessary since your notebook is going to act as a gateway.

4. Enable DHCP.
DHCP server I used - http://www.dhcpserver.de - is bound to IP address, not to specific network interface.There are more good reasons to have static IP within your own Wifi network. This is just one of them.

Since address for your server is defined manually, just set IP range to 192.168.137.2-255. Smaller range is recommended.

5. Start XBMC/Enable UPNP sharing/Web interface.

All this can be scripted using Autohotkey:
http://www.autohotkey.com

Notes:
- Your wifi still can connect to other APs
- I disabled internet sharing in this case, since streaming is generating a lot of traffic.
- Static IP is required for DHCP, and for XBMC media/web server as well. If it changes due any reason you have to restart XBMC, and all clients as well to re-discover UPNP devices.
- Its also recommended to create new power plan for server purpose. No sleep or hibernate, power button disabled, lowest display backlight.

I will also start to update first post in order to add technical data and possible applications of portable media server. More pictures on the way.

Edit
Lets consider that I will stream 1 megabyte per second to multiple clients...

Known limitations:
USB 2.0
Data transfers over USB WIFI are limited to 480mbit/s. The best Wifi card you can use is 300Mbit with N standard, or if you can try to use AC standard up to 433Mbit. Any designated bandwidth in Wifi will be calculated as 1/3 of real data flow

150Mbit wifi ~ up to 6 clients
300Mbit wifi ~ up to 12 clients
433Mbit wifi ~ up to 18 clients

Build in NIC
100Mbit LAN ~ up to 8-10 clients.
No, this netbook does not have 1gbit NIC port.

USB NIC
There are available devices like this:
http://uk.startech.com/Networking-IO/Ada...USB21000S2

1gbit is not possible even with proper cabling and switch. still similar device can serve for 50 clients on wired network.

Its a paradox, but in theory any USB network device can deliver higher bandwidth and thus serve for more clients.
I learned few things about NextPVR and tried to configure LiveTV buffer in Ramdrive.
http://forum.xbmc.org/showthread.php?tid...pid1661818

Just to note, I am using Dataram RAMdrive.

Also I lacked some skin which could be used for touch screens, both windows and android so I helped with some development.
http://forum.xbmc.org/showthread.php?tid=178956

And to Gotham:
Trouble with DVDs on Android phones seems to be solved... Smile
OK. The build is finished. Lets conclude few things...

We have portable server with 1tb of storage. What clients are expected, and how many?

Devices:
- Tablets
- Mobile Phones
- HTPCs
- SmartTVs
Anything that can use XBMC or UPNP sharing, and utilizes LAN or Wifi.

How many?
If we have DVD quality media expect 1 megabyte / s to keep video smooth.
- 1gbit wired network (or via USB): up to 50, but only for video library. For TV streaming only in case that you can afford SSD which will survive so much Write for some time... So many clients may generate up to 100mb/s combined read/write activity. Standard HDD may not be able to handle this.

- 100mbit wired network: up to 12 clients. For TV streaming we can have same restrictions

- 150mbit Wifi: up to 6-8 clients.

What about distance?
- Wired network has only few limitations. If you want you can stream data over VPN over internet to device you require.
- Wifi with "Extended range" and appropriate antenna has sufficient power to stream in diameter of 20-25 meters. Thats quite large area. XBMC also can pre-buffer quite a lot of movie data, so when you lost signal for a while, movie may not get paused.

In any case such netbook can serve well as XBMC movie library for typical home use.

Configuring TV server:
Its possible. Since you have static IP address, the potential clients may connect without any trouble, however, when the server is unavailable PVR addons may constantly report that TV source is no longer available.

Notes on compression:
- Live TV in SD and DVDs have very similar quality and similar bitrates.
- Transcoding the video on this device is simply not possible due low CPU power.
- Using videos of lower quality/higher compression allows more clients, on longer distance, usually with worse results on larger screens.
- 4gb 720p video has better resolution and lower bitrate as 8gb DVD, but may cause high CPU utilization on client devices.

Notes on card reader:
If data regarding used chip - Realtek RTS5159 are true, this card reader can support up to 2TB SDXC card. However specs provided by various notebook manufacturers (for the same card reader chip| are varying.
Great project!

With the recent reductions in the price of large SSD drives this may be something I might try soon
(2014-03-25, 14:00)zag Wrote: [ -> ]Great project!

With the recent reductions in the price of large SSD drives this may be something I might try soon

In my case I was thinking of device, slightly bigger than Tablet, with full OS. So it can be a server while are you holding the device in your hands and moving with it.

There is "less mobile version".
Similar configuration, with smaller and cheaper drive and with something like this:

Seagate Backup plus (4Tb):
http://www.seagate.com/gb/en/external-ha...esk/#specs

or
WD Passport ultra:
http://www.wdc.com/en/products/products....=1000#tab3

In this case you have to "deploy" the server somewhere.


And now the higher price tags:
http://www.amazon.com/Lexar-Professional...B0090BEWKY

SDXC card with 256gb. This netbook has card reader - I still have to verify if it can handle SDXC cards.

Something more affordable:
http://www.kingstonmemorycards.co.uk/kin...x10v-128gb

2TB SDXC cards are rumored since 2009... Biggest available are 256gb. Not bad for the size factor, and in case you can use it in the netbook, you have just greatly extended your storage and are still mobile.

and something really extreme:
http://www.kingston.com/en/usb/personal_...ss#DTHXP30

USB flash drive with 1TB capacity, at price tag 2x as my harddrive... About 1000 euro now.
One little note on power consumption.

Similar PCs based on Atom, consume 7-15 watts. If the notebook will be always on, and plugged in the costs will be less then 20 euro per year (according to local prices).

As I mention before i plan to use it as Alarm clock, with Skype/ICQ running on background, while i prefer to have my movie library in the same device - available to my home/local network.
Pages: 1 2