Ubuntu < > WD TV Live - Slow network connection

Hello there,

I have a WD TV Live connected to my network. Sending files from a Windows box to a hard disk attached to the device goes fine, around 8-9 MB/s. However, from a Ubuntu box is rather slow, usually less than 1 MB/s.

I have the same PLC adaptor and cable in both machines. I have also used two different network cards. It seems more a software issue than anything else. Actually another user has reported the same speed differences with a dual boot PC.

Sending files from the Windows machine to Ubuntu also goes fine. So it seems like the WD TV Live and Ubuntu do not like much each other…

Any hints? Thanks!

Sergio

That’d be interesting, since the WDTV’s are based on UBUNTU, also!  :)

What version of SAMBA is on your Ubuntu box?

I believe it was Samba 3. And I say “was” because I just did a dist-upgrade… purged samba, reboot and installed Samba4 (Version 4.0.0alpha9-GIT-9733816)… and still the same issue. Speed transferring files is around 900 KiB/s.

Next step I’m going to try is different linux live versions.

Thanks for your help, Tony.

Sergio

Last time I looked, the SAMBA version on the Lives was 3.5.4.

Thanks for your answer.

I’ve been doing some more tests, without any improvement :-(…

I have tried different live cd versions. In Kubuntu live I have the same problem (it is the sytem I’m using). I managed to try Mandriva, but with several different problems, so I’m not sure about the results. In Knoppix it worked pretty well (is not using KDE though, is LXDE), similar to the windows box.

The only difference I found between both is the smbclient version:

Knoppix: 3.5.6

Kubuntu: 3.4.7

So I guess next step should be to try to install a newer version of Samba…

This problem is taking too much of my time. Is not funny to try to solve it anymore… :mansad:

Thanks,

Sergio

Ok, still the same problem.

Just an update on my most recent actions… I have unplugged the NIC and now I’m using the one integrated on the motherboard, completely different chipset (Nvidia). Still the same issue.

I have uninstalled, purged and manually deleted all samba related files and installed samba again. Just a bit better, but still not enough (around 1.4 Mb/s).

I have tried Slax live version and i have the same issue.

If I copy two files, each of them will go at 1 Mb/s approximately, if three files… 3 Mb/s. So it does not seem like a network problem, more likely is some kind of limitation on a file basis.

I’m just thinking about buying a NAS to attach to the WD and not streaming through the network. I would like to find the solution, though… just out of curiosity.

Thanks!

Sergio

Wow.  That’s bizarre.

The top-end speed I’ve measured was about 8 or 9 MegaBYTES per second on a single file.

The fact that you get increasing speed with increasing “threads” is telling.    It almost sounds like there’s a TCP driver issue;  but the fact that you’ve tried so many clean builds with the same results would tend to nullify that, and the fact that you’ve moved from the NIC to the LOM and getting the same results would tend to toss out a kernel driver issue.

But just for giggles, make sure that the Kernel Module being loaded with the NIC versus the LOM are actually different.

SAMBA’s default configs should give you AMPLE performance; no limitations there.

Go look at your Network Stats.   Make sure they’re absolutely CLEAN as a whistle:

[root@mars ~]# ethtool -S eth0
NIC statistics:
     tx_bytes: 4029640
     rx_bytes: 12321135
     tx_broadcast: 5
     rx_broadcast: 11645
     tx_multicast: 32
     rx_multicast: 2915
     tx_unicast: 16529
     rx_unicast: 18021
     tx_mac_pause: 0
     rx_mac_pause: 0
     collisions: 0
     multi_collisions: 0
     aborted: 0
     late_collision: 0
     fifo_underrun: 0
     fifo_overflow: 0
     rx_toolong: 0
     rx_jabber: 0
     rx_runt: 0
     rx_too_long: 0
     rx_fcs_error: 0

Everything below and including the line “collisions” would be considered an error.   If they’re non-zero numbers, there’s something going on.

If a packet gets tossed due to ANY kind of error, it can slow down TCP performance DRAMATICALLY.

Also, use “netstat -s”

Tcp:
    31 active connections openings
    8 passive connection openings
    9 failed connection attempts
    1 connection resets received
    2 connections established
    15007 segments received
    13371 segments send out
    54 segments retransmited
    0 bad segments received. 11 resets sent

My numbers are pretty low here because I had to reboot my Linux box last night and I haven’t really done much on it since then; but the interesting number here is the “Segments Retransmitted.”

Again, 

   A high percentage of Segments Retransmitted versus Segments Send Out is a bad sign   It doesn’t have to be ZERO (though that would be ideal) but for every retransmit, that indicates an error or a timeout which slows down the thread.

Thanks a lot for your time Tony, I do really appreciate it.

I have done the tests you proposed, but I haven’t seen anything interesting…

sergio@samsam:~/Temp$ cat ethtoolWD 
NIC statistics:
     tx_bytes: 3292353
     tx_zero_rexmt: 41359
     tx_one_rexmt: 0
     tx_many_rexmt: 0
     tx_late_collision: 0
     tx_fifo_errors: 0
     tx_carrier_errors: 0
     tx_excess_deferral: 0
     tx_retry_error: 0
     rx_frame_error: 0
     rx_extra_byte: 0
     rx_late_collision: 0
     rx_runt: 0
     rx_frame_too_long: 0
     rx_over_errors: 0
     rx_crc_errors: 0
     rx_frame_align_error: 0
     rx_length_error: 0
     rx_unicast: 72885
     rx_multicast: 60
     rx_broadcast: 10
     rx_packets: 72955
     rx_errors_total: 0
     tx_errors_total: 0
     tx_deferral: 0
     tx_packets: 41359
     rx_bytes: 104480016
     tx_pause: 0
     rx_pause: 0
     rx_drop_frame: 0
     tx_unicast: 4118
     tx_multicast: 1432
     tx_broadcast: 4898499596

Tcp:
    44 active connections openings
    35 passive connection openings
    6 failed connection attempts
    2 connection resets received
    6 connections established
    97589 segments received
    55649 segments send out
    120 segments retransmited
    0 bad segments received.
    8 resets sent

I rebooted the computer and started copying a file the first thing.

Actually yesterday I did another test, as  I have a third machine (windows 7) in the network. The only combination that is slow is ubuntu < > wdtv live, sending files windows < > wdtv AND ubuntu < > windows works fine… isn’t it weird?

My next action (I’m running out of options) will be to install custom firmware in the WDTV Live, just in case. I’ll try with WDLXTV… if Samba does still not work at least I will have different options.

Thanks once more!

Sergio

What’s up with the HUGE number of tx_broadcasts?

Also, how are you connecting to the WD to do these tests?

Are you MOUNTING it?   If so, what options?

Or are you using SMBCLIENT?

That’s true… I didn’t notice it.

I use smbclient to connect to the WD… then I do “get” to copy a file.

I install custom WDLXTV and still the same issue… so I give up! I’ll try a different way to connect both :-(. Trying to find the solution was more a matter of learning than anything else.

Thanks once more for your help!

Sergio

Hmmmm.

This is Fedora Core 14 to my WDTV Live Hub:

/home/tony> smbclient -a ‘//wdtvlivehub/wdtvlivehub’

Enter tony’s password:

Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.5.6]

Server not using user level security and no password supplied.

smb: > get Wall-E.mkv

getting file \Wall-E.mkv of size 812535554 as Wall-E.mkv (7638.7 KiloBytes/sec) (average 7394.9 KiloBytes/sec)

and here it is on my WDTV Live:

/home/tony> smbclient -a ‘//wdtvlive/hp_v100w’

Enter tony’s password:

Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.5.1]

Server not using user level security and no password supplied.

smb: > get wdtvlivehub.bin

getting file \wdtvlivehub.bin of size 84805680 as wdtvlivehub.bin (7206.0 KiloBytes/sec) (average 6890.3 KiloBytes/sec)

So I’m getting pretty good throughput…   What happens if you just do a CIFS Mount to the device instead of SMBCLIENT?

Hi Tony,

This seems like good news… at last! Thanks for your message. I did a test with smbclient and speed was not satisfactory at all. The point is that I managed to mount the directory through NFS and I was neither getting more than 2 mb/s.

I didn’t know how to measure speed in a gnome environment, so I didn’t use Fedora for my tests. Now I did and…

getting file \cine\test.vob of size 1073709056 as test.vob (5869.6 KiloBytes/sec) (average 5869.6 KiloBytes/sec)

So if I’m not wrong this seems like 6 MB/s, right? which should be more or less fine for the kind of files I use.

Now I can do two things…

  1. Install Fedora. I have been using Ubuntu for a few years now (previously I was using Debian). I gave a try to Fedora some years ago, but I didn’t feel quite comfortable. I can give it a second try. From what I’ve seen in this live version it seems to have improved.

  2. Try to find the differences between Ubuntu and Fedora, and maybe (who knows!) find the source of the problem, which has affecting different generations throughout the human history :smileyvery-happy: (there are some very old posts in forums). To do so I can try to check: samba versions, kernel modules… something else?

Thanks once more,

Sergio

Yeah, that’s MUCH better.   

You might just go ask on the Ubuntu forums for help…  

I feel about Ubuntu the same as you feel about Fedora… LOST.  :)

This is WEIRD indeed… The situation is the following. I install Fedora 14 in a second hard drive… I open Krusader, copy a file and… HORROR! speed is around 1Mb/s, same situation using Nautilus, how can this be? So I open a console and I do the “get” test… 7 Mb/s!!! It seems like KDE is limiting the speed.

Weird enough… I come back to Ubuntu and… 1,4 Mb/s in Krusader, 2 Mb/s with smbclient. This does not make any sense at all… ???

At least now I have some different options… whatever.

Thanks!

Sergio