View unanswered posts | View active topics It is currently Mon May 20, 2019 11:24 pm



Reply to topic  [ 12 posts ]  Go to page 1, 2  Next
 network emulation not working 
Author Message

Joined: Fri Jan 13, 2017 9:59 pm
Posts: 5
Post network emulation not working
I am trying to set up the utilite to simulate packet loss. I tried using the standard sudo tc qdisc add dev eth1 root netem loss 25% (an several variations of that)
each time I get:
RTNETLINK answers: Operation not supported

I have done this successfully on Ubuntu server dozens of times. it simply just works on every linux device except the Utilite.

Can someone point me in the right direction? I have googled this and been in the Ubuntu forums for the last 3 hours and I can find nothing. My only hunch is that maybe the utilite being ARM has something to do with it? Or maybe the way the kernel was compiled or something?


Fri Jan 13, 2017 10:14 pm
Profile

Joined: Sat May 14, 2016 1:24 pm
Posts: 56
Post Re: network emulation not working
Hi,

since netem is a kernel feature I guess it is a kernel issue. Which kernel (version) is installed on your Utilite? The precompiled kernel from CompuLab is (like every ARM vendor kernel I have encountered so far) configured by the paradigm "Let's enable some options we consider useful and that's hopefully all our users will ever need" (which is never true) rather than just taking a fully fledged distribution config.

The netem website lists the config option to enable netem: https://wiki.linuxfoundation.org/networking/netem .

It seems to work on my Utilite; though I have not tested if your command has any effect, I can execute it without getting any error message:
Code:
chris@snowflake ~ % sudo tc qdisc add dev eth1 root netem loss 25%
chris@snowflake ~ % echo $?
0
chris@snowflake ~ % sudo tc -d qdisc show dev eth1
qdisc netem 8001: root refcnt 9 limit 1000 loss 25%


So I think we can exclude any hardware or architecture limitiations (which would be rather odd because netem seems to be a software feature).

Cheers,
Christopher

P.S.: I'm using a mainline kernel (4.10-rc3) with a slightly modified ArchLinux kernel config.


Sat Jan 14, 2017 10:17 pm
Profile

Joined: Fri Jan 13, 2017 9:59 pm
Posts: 5
Post Re: network emulation not working
I really appreciate your response!

I think I'm on 3.0.35-cm-fx6-6.3. Its the default one that comes on the device. I a not a big linux guy other than setting up Ubuntu servers and relying heavily on google to configure them. Could you point me in the right direction so that I could load a similar Kernel to what you have? Basically I need a desktop (to configure Wifi), Internet connection sharing, and netem.

What I am trying to do is create a device that connects to wifi and then I NAT that wifi connection to the 2 onboard NIC's. The I want to use netem to create packet loss on one NIC and then increase the latency on the other. I work for a VPN company and I am trying to come up with a way that my sales people can demo our technology. We add parity to the packet stream and can recreate packets that are dropped or severely delayed. The idea is that the sales person can demo this with and without the VPN running through the utilite. Without the VPN the video stream will be choppy and with the VPN running it will be perfect. The Kernel not supporting netem has thrown a wrench in my plan.

If i can get this working my plan is to buy 10-15 of these devices and hopefully clone one them (not sure how yet) and distribute them to my sales staff.


Sun Jan 15, 2017 3:25 am
Profile

Joined: Sat May 14, 2016 1:24 pm
Posts: 56
Post Re: network emulation not working
Hi,
slampman22 wrote:
I think I'm on 3.0.35-cm-fx6-6.3. Its the default one that comes on the device. I a not a big linux guy other than setting up Ubuntu servers and relying heavily on google to configure them. Could you point me in the right direction so that I could load a similar Kernel to what you have? Basically I need a desktop (to configure Wifi), Internet connection sharing, and netem.

Unfortunately, wifi is one of the few features not supported by the mainline kernel on the Utilite, yet. So according to the description of your scenario it is not an option for you. But you can try to reconfigure/compile the old CompuLab kernel. There are instructions on the wiki:
http://www.compulab.co.il/utilite-compu ... or_Utilite .
(you can skip the cross-compile instructions if you are building the kernel directly on the Utilite itself but then it will cost you a night/a few hours)

There are also two other kernels you might try: the 3.10 beta from Utilite and the 3.14 imx/yocto kernel. But for both some more knowledge is required (e.g. I think the bootloader has to be configured differently) and I don't have any experience with them myself. In particular, I don't know if all the features you need work flawlessly.

slampman22 wrote:
What I am trying to do is create a device that connects to wifi and then I NAT that wifi connection to the 2 onboard NIC's. The I want to use netem to create packet loss on one NIC and then increase the latency on the other. I work for a VPN company and I am trying to come up with a way that my sales people can demo our technology. We add parity to the packet stream and can recreate packets that are dropped or severely delayed. The idea is that the sales person can demo this with and without the VPN running through the utilite. Without the VPN the video stream will be choppy and with the VPN running it will be perfect. The Kernel not supporting netem has thrown a wrench in my plan.

If i can get this working my plan is to buy 10-15 of these devices and hopefully clone one them (not sure how yet) and distribute them to my sales staff.

If it turns out that the software available for the Utilite is too old two alternatives might be Globalscale's ExpressoBin and Solidrun's Clearfog Base. Both feature (at least) two ethernet ports and mpcie wifi. Furthermore, they are based on Amrada SoC's which are optimized for throughput. That is, they can saturate both ethernet lines while the Utilite cannot. The disadvantage with these boards might be the absence of display/graphics support. You need some kind of remote interface in order to configure the wifi with these boards.

Cheers,
Christopher


Sun Jan 15, 2017 2:51 pm
Profile

Joined: Fri Jan 13, 2017 9:59 pm
Posts: 5
Post Re: network emulation not working
Well unfortunately I am a bit lost... The only thing that makes a little sense to me is rebuilding the Kernel. If I start at the section after the cross compiler do I do all of those steps on the utilite itself? I am thinking the answer is yes.

My theory is that I would just add the modules that are needed for netem and then recompile. I can get a list of them I dont think that is an issue. My question is where would I put them to be recompiled? The utilite works perfect for me as is with the exception of the lack of netem support so if I can recompile with the needed modules I think i will be ok.


Sun Jan 15, 2017 4:47 pm
Profile

Joined: Fri Jan 13, 2017 9:59 pm
Posts: 5
Post Re: network emulation not working
Sorry to be such a noob but if I recompile and select the following in the menu options when compiling the kernel it should work in theory correct?

"If you run a current 2.6 distribution, (Fedora, OpenSuse, Gentoo, Debian, Mandriva, Ubuntu), then netem is already enabled in the kernel and a current version of iproute2 is included. The netem kernel component is enabled under:

Networking -->
Networking Options -->
QoS and/or fair queuing -->
Network emulator"


Sun Jan 15, 2017 5:37 pm
Profile

Joined: Sat May 14, 2016 1:24 pm
Posts: 56
Post Re: network emulation not working
slampman22 wrote:
Sorry to be such a noob but if I recompile and select the following in the menu options when compiling the kernel it should work in theory correct?

That's the idea. Concerning the instructions to compile the kernel on the Utilite itself you must skip the "export CROSS_COMPILE=arm-none-linux-eabi-" step. Otherwise, it may not find the comiler. Speaking of compiler make sure that build-essentials is installed.
Finally, there is no reason to excuse; it's your first time compiling a kernel!

Cheers,
Christopher


Sun Jan 15, 2017 9:45 pm
Profile

Joined: Fri Jan 13, 2017 9:59 pm
Posts: 5
Post Re: network emulation not working
OK I think I am calling it quits. The OS load on this device is slow and buggy and while trying to start this process the device quits loading anything. now I just get a black screen. So I though maybe I can restore. I look in the manual and go to the link that it instructs me to "for a full system recovery image". First problem is it doesnt have a download link. Then I find a post from the manufacturer that says the recovery image is a work in progress. I finally found something that resembles a recovery image with about 50 steps and you need another linux computer to set it up. Sigh.... Also all of the images and everything else are a couple of years old. It seems like there is no more development on this device anymore?

All i want is wifi, 2 nic's and netem. If anyone can make me this image with a build that works I would be happy to pay. Otherwise this piece of junk is getting returned.


Tue Jan 17, 2017 8:21 pm
Profile

Joined: Sat May 14, 2016 1:24 pm
Posts: 56
Post Re: network emulation not working
That's unfortunate news. If you can return the unit then I recommand to do it. There are far more modern devices with wifi + 2x ethernet available. In fact, another alternative (besides the already mentioned Clearfog Base and EspressoBin) is ComuLab's Mintbox which has all the interfaces you need and a case. Since it is based on an amd64 cpu the software support should be a lot better.

Concerning development efforts for the Utilite it looks like CompuLab has silently given up. In fact, even for the Utilite 2 there hasn't been any anncouncement/news for a long time. I guess that CompuLab came to the (correct) conclusion that it is far too much effort to maintain a Linux distribution for ARM devices and switched to the x86/amd64 architecture (i.e. the Mintbox). The underlying reason is the lack of upstream Linux support for ARM SoCs which is slowly improving but still there is no distribution supporting more than a few devices (in contrast to x86 where almost all devices are supported by all distributions).

Still there are some people left in the community trying to bring up *the* Linux kernel on the Utilite. But the process is slow and it is uncertain if in the end all features will be supported.

Cheers,
Christopher


Tue Jan 17, 2017 10:20 pm
Profile

Joined: Tue Jan 07, 2014 12:07 am
Posts: 138
Location: Edinburgh, Scotland
Post Re: network emulation not working
I'm not entirely surprised. If support for something like this continues for more than a year or so, it feels like a bonus. I place my trust in the community and thankfully they have largely delivered but unless the device has a large following, it will still mostly be a case of putting the pieces together yourself. Once you have the kernel built, you can install whichever distro has the necessary support. I use Gentoo. Arch, Fedora, Debian, and Ubuntu should all work to varying degrees. Some of these can boot quite fast with a minimal setup and some fine tuning. I appreciate this isn't straightforward though, even for fairly seasoned Linux users.


Tue Jan 17, 2017 10:28 pm
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 12 posts ]  Go to page 1, 2  Next

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by STSoftware for PTF.