TPLINK TL-MR3040

Hi,

I just tested Virtualhere with my Raspberry Pi B+ and it works perfectly
I can now remotely control my CANON DSLR CAMERA !
The only problem : I need an external power source for the PI

I have another option
I have a TL-MR3040 router with included battery
As mentionned here, this router can be flashed with OPENWRT
http://wiki.openwrt.org/toh/tp-link/tl-mr3040
Is it possible to install virtualhere server on this device ?
What kind of CPU does it include ? ARM / MIPS ? I'm a little bit confused with all that.
Spare me some time and tell me if this is possible.
I don't want to flash the device for nothing...

Thanks in advance for your replies

#2

That uses a MIPS, try the MIPS (not mipsel) version, if that doesnt work then i will probably need to compile soft float as that processor may not have a floating point unit.

#4

Yes i think so. I added the soft-float version for MIPS

Could you download it from http://www.virtualhere.com/usb_server_software (Mips big endian soft-float)

Run logcat on your openwrt, to see the messages it outputs. I tried running it in openwrt mips soft-float big endian under qemu and it runs ok.

#5

I just tested the MIPS SOFT FLOAT version and it's working very well
I get better wifi speed with my MR3040 than with the raspberry pi
It's quite strange since the MR3040 has a slower CPU, less ram, and no hard-float
I'll stay with that solution which allows my DSLR CAMERA to run wirelessly with no external power supply !

#6

Great!. Yes the pi shares its usb with the network USB wifi whereas i think the MR3040 uses a different dedicated bus so it can do two things at once.

#8

I updated my 3040 with OpenWrt and installed the VirtualHere server (mips, soft-float).
All works fine. But only if my camera is connected before vhusbdmips starts. If i start the server and then connect the camera it doesnt work. And the logfile says "permission denied".

And second question: what's to do for autostart vhusbmips on router boot (sorry, linux noob)?

#9

My vhusbdmips installation is lost. It seems /tmp is a tmpfs drive and all installed files are lost on power off. But i can't find another volume with enough space for the huge vhusbdmips file.
@Metallian
How did you installed vhusbdmips on your 3040?

#10

Hi Manfred, thats correct, routers dont have permanent storage so you need to copy over the vhusbdmips binary on every reboot, or you need to make an openwrt image with that file in it already if you want it to boot with that file immidately available for starting on boot.

Hi Michael

Thank you for the answer.
An OpenWrt image with vhusbdmips builtin would be the best solution. But this will not work because the MR3040 has only 4MB Flash.
Any idea about the "permission denied" error?

In reply to by Manfred

#12

OK, i dont know how the other guy did it but it seems to work ok for him. Im thinking the lack of flash or filedescriptors or something on your board is causing the permission denied issue.

Thank you Michael
I tested the smaller image. It works but it's still to large.
I will try to create a firmware version without web interface. Maybe then is enough space left for the server.

#16

Hi,

I didn't find any solution to that problem
I need to reinstall VIRTUALHERE every time the device reboots

#17

I create my own image with usb support and without luci,ppp,ipv6,lua.
I append the vhusbdmipssf server into the image because the file is compressed in this case.
But it doesnt work, on build a "images are too big" error occurs.
I don't know which packages i can additionally remove from build (without brick my 3040).

#18

Are the json packages needed?
The crypto packages?
Whats about the firewall?

#19

Hey guys i am in the same situation...

what about this:

a custom build with a startup script, that downloads and runs the file over the lan.. if you set up the wifi to act as a client it will connect to your existing router and be in your home lan with internet access.. would that be an option?

#21

I am building my own openwrt package and going the inverse path.. Instead of remobing packages i start at the bare minimum and add only what i need... Id like to have the interface (gui) installed... Currently i have 3 megs free and will have to add a few things.. I think i can implement the 1 meg version that has been posted previozsly...

#22

Actually i removed that 1Mb binary. Basically i just ran the vhusbdmipssf binary through upx and that compressed it.

Note that when you compress it via upx with some architectures it wont work, hence i dont post that as the standard build, but try it anyway if you have trouble fitting everything in flash.

#23

i changed my mind on this, i will enter a script in the startup script that downloads the file on every boot.. 4 megs isnt a problem at all so it will simply start, download, run and be online after a few seconds.. at least thats the plan.. :) an alternative would be to use a startup stick.. i connect a usb stick with the file, a script copies it to temp and runs it, then i can un plug the script and connect the camera.. would be nice to be able to control the leds to comunicate when things are up and running..

#24

It works!

here is how i have set up my system and it works great:

What you need:
TP-LINK MR3040 with OPENWRT
Wireless home network WITH INTERNET ACCESS
camera ofcourse
PC to set everything up
lan cable
usb cable to connect the camera.
------------------------------------------
Set up openwrt following any guide you find online.
connect the tplink to the pc via lan cable and set your ip address to anyhing matching the tplinks address (192.168.1.1)
telnet to the router and use "passwd root" to set a password in order to enable ssh
close and ssh to the router and type "wget -P /etc/hotplug.d/iface/ http://www.mad-sharky.com/99-download". this will download a script that is executed automatically when the tplink connects to a wifi network.
now type the ip address of the router in your browser, and access luci with the password.
Go to network->wifi and hit "scan". select your existing wifi lan and connect to it. type the password if needed.. Be sure to call the interface wwan, else it wont work.
now save and apply settings and go to interfaces. edit wwan, go to firewall tab and assign "lan" firewall settings.
save and apply settings and go to interfaces again. edit lan this time. Assign an IP address that matches your existing wifi network's ip address range. for me the wifi router hadthe address 192.168.0.1 so i assigned the address 192.168.0.200.
save and apply settings.
the next block between the lines is optional, but it ensures that you wont have to hard reset your tplink in case you screw it up (happened twice to me!!)
-------------
connect the TP link to your home router via lan cable, and ensure that you can access the TP link via both ip addresses. The one set up for the cable in the previous step, and the WIFI IP assigned by your router via DHCP. if both work then go on to the next step, if one of them does not work DO NOT go to the next step and try to troubleshoot what is wrong...
-------------
For some reason, even if the above step works and you can connect on both ip addresses, you wont be able to connect again to both if you unplug the lan cable. no clue why, but it just is so.. To fix this we will have to totally disable the LAN cable and be able to access it only via wifi. In order to do so we need both our interfaces to use the WIFI.
Go to interfaces and edit LAN.
Now go to physical settings and set the check at wireless network, and be sure to remove it from ethernet adapter.
save and apply.

you wont be able to connect for a few seconds.

Now reboot your tplink. after about 1 minute it will have finished downloading the virtualhere server and will have launched it. your computer will automatically detect it. BUT BE SURE BEFORE YOU TURN IT ON THAT YOUR CAMERA IS ALREADY CONNECTED. else it wont detect the camera.

Have fun!

My next step will be to place the file onto the camera memory, so once it detects the file it downloads it to tmp from the camera on its own and just starts without the need to have internet access...

byeeee

#26

I am releasing a similar device in the next few weeks which has more battery life, is fully supported by virtualhere and is less than $100. Keep an check on my website...

#28

Sorry i got distracted with the osx server and im currently writing the virtualhere windows usb server.

I have got the hardware and written the software for the portable hub also, but i need to implement an automatic firmware restore system which will take some time as the manufacture didnt properly do this so i need to retrofit. This is what caused the delay.

So at this point it will be in about 1 month time. I will update this thread with status when im back working on the portable usb hub.

#29

1 Month is long ago. :)
Any News?

#30

Yeah sorry i havent done much since then as its been christmas and ive been working with steam gaming to get virtualhere on their boxes.

After getting the embedded router and building the firmware etc, I have realized that actually its much more practical to just use a mobile android phone instead of having to have a separate embedded board.

The mobile phone is more powerful and has a screen and USB host support and most people have a reasonable recent android phone now anyway. They usually have a good battery now and an easy to use GUI.

Thats part of the reason ive been working a lot on the android virtualhere server recently. Its much better now, and works well with most devices However when connecting a webcam to my phone it doesnt work over wifi. I think the speed is not fast enough (I think wifi latencies are too high which is preventing isochronous video data being transmitted correctly)

However a USB speaker connected to my phone working over virtualhere , works over wifi but its not ideal, but basically i think this is much easier for users to work with virutalhere if i get it running well on an android device instead of a custom embedded device so thats my focus.

#31

No problem.
I have two MR3040 with the image from sharkyenegery and it works perfect for me (Canon camera control from windows tablet with my DSLRmaster).

#32

Actually manfred i can tell you how I built the portable router,

I just went to http://www.alibaba.com/product-detail/power-bank-3g-wifi-router-support… and bought these,

Then i got the latest trunk of openwrt and built it for HAME-A2

then i just loaded my binary for 24Kec on there and added a few extra scripts to turn on/off the radio/lan etc and it worked pretty well.

Perhaps if you are good with configuration you could try that, and its 5200mah.

The problem that held up the development of this was there was no access to the CPU serial port so it was too easy to brick the device. You can get the manufacturer listed there at alibaba to send you a special USB OTG cable for US$25 that you plugin to the charging port and you can get direct serial access to restore things if you brick it. I bricked 3 of them before i got the cable thats why i was so reluctant to ship the device formally.