Showing posts with label Galaxy S4. Show all posts
Showing posts with label Galaxy S4. Show all posts

Monday, December 16, 2013

Android: How to share folder over WiFi and access them from a Windows computer without rooting Android (using a Samba/SMB/CIFS server, a virtual computer, and some port-mapping)

Today I set myself a goal: being able to share a folder over WiFi on my Galaxy S4 (stock, not rooted) and access this shared folder from my computer (running Windows 7).

Everybody will tell you that's not possible because Windows can only access an SMB/CIFS share on the standard TCP port 445, and on a non rooted Android device a normal app can't open port in the 1-1024 range.

On a rooted Android you can use an app like Samba Filesharing for Android and this will start a SMB server on port 445 on you Androi device.
But you need a rooted device, and I don't want to root my Galaxy S4 (not yet).

So on a non-rooted device you can install another SMB server app, like Samba Server, but in this way the SMB service will work on non-standard port, like the TCP port 7777. And Windows computer can't connect to a shared folder on a TCP port other than 445.

But this is only a simple TCP connection on a standard TCP port, so I thought I should be able to map/forward a TCP connection from a port 445 to a port 7777 (the one used by Samba Server), and make it work.

Usually mapping/forwarding a TCP port is a very simple thing on windows, there are tons of free application that can forward a TCP connection.

So the plan looks simple: I will start a connection from my Windows PC to some IP on port 445, then on this IP I should accept this connection and forward it to the IP of the smartphone, on the port 7777.


The question is: where can I setup a service that listen for connections on port 445?
  • On my computer? no, because I need the standard file sharing service up and running to access the shared folder on my smartphone.
  • On my NAS? no, because a nas is meaningless if I can't access it's shared folders.
  • On my router? no, this is not going to work: routers normally will forward connection from WAN to LAN, not from LAN to LAN.
  • On a pfSense running in a Virtualbox? I tried it, but it seem that pfSense have similar limitation of other routers, so forwarding from LAN to LAN doesent works.
  • On a router running DD-WRT? Maybe (I don't know)... as of today the router I use to experiment with DD-WRT it's sitting in my closet waiting for some exciting networking experiment... but not his one: I don't want another hotbox  powered on 24h/day just for accessing a single shared folder on my smartphone...

So I went for another Windows installation, running in VirtualBox.
It turned out that Windows 7 is very attached to it's 445 port, it took me some time to convince Windows to close the 445 TCP port.
But with the help of some post, and some cycle of service-stopping/reboot activity, I've been able to get a Windows PC that doesn't listen on port 445 :-)

Here is a screenshot of the setting/services I modified/disabled in this installation, probably it's not necessary to disable all those service, but I didn't have the time to disable them 1-by-1 and reboot every time...
As you can see from TCPView running in the lower right corner, there are no services listening on port 445 :-)


The rest is easy, fire up a TCP port mapper/forwarder, listen on port 445, forward to port 7777 and you will be able to access the shared folder on your non-rooted android device, from a Windows PC :-)

Here is the portmapper running on my virtualpc
In this experiment I used PortTunnel this is a very-very-old version of the software (when there was free version) but it still works today :-)

As you can guess from the screenshot the IP address of my smartphone is 192.168.157.101, and the IP of my virtualPC is 192.168.157.107.

And in the following screenshot you can see my main computer (192.168.157.110), connected to the shared folder on my Galaxy S4 (192.168.157.101)  (trough the portmapping on the virtualpc (192.168.157.107) )
The address that my computer see is 192.168.157.107, but the data come from the smartphone  (192.168.157.101) trough the portmapping.

and here is a folder with some image, seen from my main PC
and here is the same folder on the smartphone

Here is the configuration of the samba server on the smartphone


For this experiment I've tried different Samba server on android, the only one that worked in this configuration is this one, called Samba Server.

So now I can access the shared folder on my non-rooted Galaxy S4.
There is only a tiny issue... it's a bit slow.
Copying data from the PC to the shared folder transfer data at a speed of 1.2 Mb/sec.
Maybe this is due to the software used for the port-mapping...but now I don't have time to try other port-mapping tools.

Anyway... It's not fats, but it works! :-)

Saturday, November 16, 2013

How to protect your Galaxy S4: UAG Case, Iloome Flex screen protector, ShockSock neoprene pouch, and some cardboard

Some month ago I bought my new smartphone: a Samsung Galaxy S4 (GT-I9505).
There are people that change their smartphone each year: there is nothing wrong with that, but I'm not one of those :-)
My previous phone was an HTC S620 (also know as HTC Excalibur) with Windows Mobile 5, then upgraded to WM 6.5.
I bought it in 2006, and kept it for 7 years.

I waited this much mainly because of my check list for my new smartphone:
  • Quad core CPU
  • 2GB of Ram
  • 32GB of internal storage
  • MicroSD
  • Replaceable battery
  • 5" FullHD screen
  • AMOLED screen
  • Decent camera
  • Good community/hacking support
The Galaxy S4 checked all the points on my list, and when I found an online shop selling the 32Gb version at a reasonable price (580€), I bought it :-)

When I pay 580€ for a comput... ehm... a smartphone, I would like it to last some years, so I need to protect it.
A 5" full HD screen will shatter easily if dropped... and phone drops. My HTC s620 got dropped at least one time at year.

So, how do you protect a Samsung Galaxy S4?
After much researching, forum reading, reviews reading... I made the shopping list for protecting my S4:

The case
Let's be honest: aesthetically speaking the Galaxy S4 isn't exactly the most beautiful smartphone.
But to me a smartphone is a tool to use, not something that need to be nice :-)
And I know that my phone will spend it's entire life inside it's case, so it doesn't matter if it's nice or not, I'll only see a touchscreen in a case.
As a case, I went for the Urban Armor Gear Navigator: It's fantastic!
It's very nice, it looks very cool, and have a very good finish.
 
Here are some photos of the S4 inside the Navigator.

Click the images to see them bigger





Now, some detail of the case so you can see the finish of the product.

The volume rocker, very comfortable to use.

 A detail of the volume rocker.

Here is the power button: I must say that the power button on the case is very comfortable to use.
The power button of the Galaxy S4 is ridiculously thin, its about 1mm x 1cm, ad I find it hard to press. With the case, instead, the power button became confortable to use.

 A detail of the external corner of the case

Here is the lower part, with the micro-USB connection, and the mike.

 This is one of the fake screw that are on the back of the case, very well done.


 And this is the UAG logo, on the back of the case.

On the back of the case there are these 4 tiny feet, and they are very useful feature because they accomplish 2 things:
the phone wont slip, and the white part of the phone will never touch the surface where the phone is resting, so it wont scratch easily.

 


The Screen Protector
I wen for the Iloome Flex (flexible glass) screen protector.
It's very thin (about 0,12mm) and it's compatible with the UAG Case.
Now I don't know if this is really glass, and I don't know if a real glass thick 0,12mm can be made flexible... but surely it seem to be more rigid and protective that the typical plastic-film screen protector.

Now some image of the installed screen protector.


Here is the home button, you can clearly see the very thin screen protector

Here you can see (from center to left) the button, the gorilla glass, the shadow of the screen protector border, and the screen protector. (click the image to see it gibber)

Here is the top part of the phone, the sensor and the camera are all covered by the screen protector: they seem to work without any issue.
 
 

Here you can see the screen protector and the top part of the case.
In my opinion, the screen protector go a bit under the case, but this doesn't seem to cause any issue, the UAG case fit perfectly on the phone with and without the Iloome Flex screen protector.
You can also see the shade of the screen protector.
I would like to pint out that the screen protector is perfectly adhering to the GS4 screen, but in these macro shot you still see the shadow of the border of the screen protector due to the thickness of the gorilla glass of the GS4.

Some other photos, done with natural light.
 

The Pouch
I don't feel right with a smartphone hanging around in my shoulder bag with an exposed screen, so I decided to buy a ShockSock neoprene pouch to give the phone a better protection.
I bought the pouch for the size of the LG Optimus G Pro, that is bigger than the GS4, because my S4 is bigger due to the UAG case.

Here are some photos of the pouch.


 And here you can see the size of the pouch respect the size of the Galaxy S4



The Cardboard
Now, I admit being a bit protective with this phone... :-)
I added a rigid piece of cardboard inside the pouch (I did the same in past for my Nexus 7, ad it worked well) just to give extra protection in front of the screen.
When the phone is hanging around in a shoulder bag between coins, home keys, car key, usb-pen drive, wallet, pen, post-it... the protection is never enough :-)

Here is the cardboard, I cut it out from the box of one of the last Christmas presents:-)
It's shaped in this way so that the GS4 wont get stuck when getting it and out from the pouch.

The cardboard are 2 pieces of rigid cardboard folded, and kepth this way with some scotch.
The total thickness is about 2m.

The cardboard is pretty rigid,  it doesn't flex under the weight of the GS4 :-)

The final result

And here you can see the final result from the top: Galaxy S4 inside UAG Case, The pouch, and the cardboard



Alternative Smartphone Case I tried
I used a Cygnett FlipFiber case  it's a very well done case, very slim, very nice to the touch. But it was not enough protective.
I bought an Otterbox Commuter from eBay for what seemed an honest price: don't do it, I've been ripped off, I received a fake Otterbox. If you want a genuine case, buy it directly form the manufacturer.
Anyway, after trying the fake otterbox I found out that the case design is very slippery, so I finally went for the UAG Navigator.

Alternative Screen protector
I pondered long time over which screen protector buy for my S4.
Spigen have many nice tempered glass screen protector for the S4, but I've not been able to find conclusive information abut the compatibility of Spigen screen protector with UAG Case.
So I finally went for the Iloome Flex, because I also liked the idea of having something a bit more flexible than a thin sheet of tempered glass in front of my S4.


Update: The Drop Test!
I can't believe it... one day after I wrote this post, and I dropped my GS4...
I was speaking at the phone, waiting in a queue at the supermarket.
I removed my scarf... and my S4 flied higher than my head, and then felt on the floor face down.
And it's still perfect! It doesn't have a scratch!
I picked up my phone and continued talking, it didn't even drop the call! :-)

The UAG Case + Iloome screen protector worked flawlessly! :-)


Feel free to ask any question in the comments :-)