Problem running server on a MIPS OpenWRT

Hi!

I'm having problems starting the 2.0 server on my TP-Link TP-WR1043ND router running OpenWRT Attitude Adjustment: when I'm trying to start it, it just sits on the console waiting for ^C doing nothing (it doesn't print any banners, setting any switch like -h does not make any difference).

This is the result of running strace on it:

# strace -f ./vhusbdmips
execve("./vhusbdmips", ["./vhusbdmips"], [/* 11 vars */]) = 0
set_thread_area(0x776ba8) = 0
set_tid_address(0x76faf8) = 1708
open("/proc/version", O_RDONLY|O_LARGEFILE) = 3

Am I doing something wrong?

By the way, there is a typo in the URL of server compiled for mipsel architecture: there is an extra "t" in the filename (vhusbdtmipsel when it should be just vhusbdmipsel).

Regards,

Michal

#2

Thanks, fixed the typo... Checking here http://wiki.openwrt.org/toh/tp-link/tl-wr1043nd#hardware seems there is two editions of that router and the first one uses big endian mips and the second one uses little ending mipsel. Could you try the mipsel version of the virtualhere server. Perhaps you have the second edition. My router (ASUS RT-66AU) has the 74k chipset and i run vhusbdmipsel on it fine (with the stock asus firmware)...

#3

Hi!

its the v1 - big endian version. Below are results of running file on /bin/busybox:
file /bin/busybox
/bin/busybox: ELF 32-bit MSB executable, MIPS, MIPS32 rel2 version 1, dynamically linked (uses shared libs)

For comparison, here is the result for vhusbdmips:
file vhusbdmips
vhusbdmips: ELF 32-bit MSB executable, MIPS, MIPS-I version 1 (SYSV), statically linked, with unknown capability 0x41000000 = 0xf676e75, with unknown capability 0x10000 = 0x70401, stripped

and mipsel:
file vhusbdmipsel
vhusbdmipsel: ELF 32-bit LSB executable, MIPS, MIPS-I version 1 (SYSV), statically linked, with unknown capability 0xf41 = 0x756e6700, with unknown capability 0x70100 = 0x1040000, stripped

The strange thing is, running
ldd vhusbdmips

also stalls. Can it be related to no hardware FP on the processor? (I found the following message in the log:

FPU emulator disabled, make sure your toolchainwas compiled with software floating point support (soft-float)

Best regards,

Michal

#4

OK, i think i recompiled it with soft-float only, i tried running it on qemu and it worked. Its on the server download page now...

#6

Could you give some dummy instructions for installing this on an Asuswrt router? I have attempted an install on an RT-AC68 router running the merlin variant of asuswrt thinking that it would be virtually the same as your ac66 router. I don't seem to have sudo installed (or opkg for that matter) so probably need to get those. But if I try to run the ./vhusbdmipsel file without sudo I get:
./vhusbdmipsel: line 1: syntax error: unexpected "("

#7

if it says expecting "(" thats linux saying you are using the wrong endian, you need big endian so try this

wget http://www.virtualhere.com/sites/default/files/usbserver/vhusbdmips
chmod +x ./vhusbmips
./vhusbdmips -b

Then start the client on your windows/osx/linux machine and you will see the router usb listed there and right click on the USB device to use it.
You dont need any libraries, and dont need to use opkg etc. just use wget to get the binary and run it.

#8

Hmm. I tried the other file you linked to but I get the same error! It's saying there is an unexpected "(" in line 1.

btw, my previous attempt was with the vhusbdmipsel file (which you probably knew based on my copy/paste of the error in my previous post) so I think I've tried both variations.

Any thoughts?

btw, you left out the "d" in the chmod statement above. (this is for the benefit of others who may try to run these commands at some later date.)

#9

type cat /proc/cpuinfo and paste the output here, it might not even be a mips processor... i checked on the broadcom website just then it it seems its an arm processor..

#10

Yup! ARMv7

ASUSWRT-Merlin RT-AC68U_3.0.0.4 Fri Jul 17 03:17:04 UTC 2015
admin@RT-AC68U-5520:/tmp/home/root# cat /proc/cpuinfo
Processor : ARMv7 Processor rev 0 (v7l)
processor : 0
BogoMIPS : 1599.07

processor : 1
BogoMIPS : 1599.07

Features : swp half thumb fastmult edsp
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part : 0xc09
CPU revision : 0

Hardware : Northstar Prototype
Revision : 0000
Serial : 0000000000000000

#12

Yeah, after your last post I purged the two mips files and installed the arm one. It worked right away. My purpose for this is to run a wireless keyboard/trackball unit because it's rather flaky where the usb dongle has been living. My only way to get the dongle in the same room has been to run it over my only spare cat5 run or put it over the network. Anyway, it was working great until I realized that the keyboard wasn't working; only the trackball and it's buttons were working. I went back to the VH app to see if maybe the keyboard and trackball were showing up as separate devices but they weren't. In the process of messing with it I double clicked the device again and it hung. The trackball no longer worked. I tried restarting the client app but no go. So I rebooted the router. After the reboot I tried to run the vhusbdarm file but it said "not found". So I downloaded/installed it with the wget command and it worked again, and this time both the keyboard and the trackball worked. I'll give it a few more days and see how stable it is but I'm hopeful. Thanks for the work on this! It's a great idea and I'm glad someone took up the mantle.

#13

I think the asus run the old linux like 2.32 or something can you do uname -a and see what it says...

#14

Linux RT-AC68U-5520 2.6.36.4brcmarm #1 SMP PREEMPT Thu Jul 16 23:26:07 EDT 2015 armv7l GNU/Linux

#15

Yeah they tend to use really old kernels (that one was released 5 years ago) and keep patching them as technology moves on...so ideally you would want something at least 3.2 or more, or you might get weird issues like you seem to be getting.

#17

ok thanks for the feedback, so you run openwrt on one of the netapp appliances? And run virtualhere server on that?