Results 1 to 10 of 33

Thread: Workgroup LAN via ethernet achieves less than 50% of expected Gigabit speed between two PCs & Samba

Threaded View

  1. #1

    Default Workgroup LAN via ethernet achieves less than 50% of expected Gigabit speed between two PCs & Samba

    I am working to set up a local network between my two laptops for file sharing. Figured that a wired Gigabit ethernet connection should be fastest (1000 Gbit/s, i.e. like 110 MiB/s in practice), and this connection should be the bottleneck. Hard disks are SSDs (>500 MiB/s). Both laptops have Intel Gigabit cards; connection is done with a short CAT. 5E ethernet cable, no crossed cable needed since the cards are good enough.

    Up front: When running both laptops on Windows (8.1 in my case) with the ethernet card drivers left in their default installation states, everything works well. I am getting 110 MiB/s when copying large iso files in any direction (from A to B and B to A, fetching and sending). In this case, all hard disk partitions involved are NTFS.

    Going to the real case now: Running Linux on one machine, either Tumbleweed or Manjaro (dual bootable). Sticking to Windows 8.1 on the other machine. Same ethernet cable, hard disk partitions on the Linux side either ext4 or ntfs. Bottom line: The resulting file transfer speeds are not exactly acceptable, I am getting approx. 50 MiB/s only. Seldomly it's 55, mostly just below 50, quite often only 40. This is the case with both Tumbleweed and Manjaro, and I am out of clues now after consulting many websites and even two textbooks.

    What I did is as follows (short summary, this holds for both TW and Manjaro):
    1. On the Linux side, I configured a Link-Local ethernet connection using Network Manager. I can use whatever setting for the card speed is GUI available here (use auto-negotiation set to auto or manual, full duplex or half duplex) - same result.
    2. On the Linux side, avahi-daemon is running to do zeroconf. On the Windows side, zeroconf is handled by Bonjour with the two well-known Apple drivers extracted from iTunes and installed.
    3. At this stage, each laptop can ping the other one using either their 169.254.x.x zeroconf private IPV4 addresses, their IPV6 addresses, or their computer names.
    4. In order to share files residing on the Windows machine to the Linux machine, I set up the usual file sharings and access permissions in Windows Explorer. On the Linux machine, a Samba Client is being run. For both Tumbleweed and Manjaro, this works quite easily using just the file managers (Dolphin/Krusader in TW KDE Plasma, Thunar in Manjaro Xfce).
    5. In order to share files residing on the Linux machine to the Windows machine, I set up a Samba Server. This was the most complicated part for me, but I got it set up. Within this task, I went through an unproductive period until I realized that setting things up as root in /etc/samba/smb.conf and fiddling simultaneously with file sharing in the file managers as user is absolutely not advisable. So I have the Samba Server set up cleanly as root in /etc/samba/smb.conf only. Windows can connect to the Linux Samba shares using Windows Explorer.
    6. Firewalls are set up appropriately, too. In Tumbleweed, firewalld is preset nicely and comprehensively, and one just needs to assign a firewalld zone to the Link Local connection in Network Manager. In Manjaro, ufw with the gufw interface is used, and it takes opening the pre-configured samba ports.
    7. At this point in time, I think things are basically set up. I figure I will have to read more on how to make this local workgroup network as safe as possible beyond the defaults.

    So now, I would need some help to find out why my file transfers within this littel LAN workgroup are so **** slow.

    What can I provide to help you diagnose and hopefully solve this issue? All terminal commands were run while Link Local was connected.
    $ sudo ethtool enp0s25
    [sudo] Passwort für root: 
    Settings for enp0s25:
            Supported ports: [ TP ]
            Supported link modes:   10baseT/Half 10baseT/Full 
                                    100baseT/Half 100baseT/Full 
            Supported pause frame use: No
            Supports auto-negotiation: Yes
            Supported FEC modes: Not reported
            Advertised link modes:  1000baseT/Full 
            Advertised pause frame use: No
            Advertised auto-negotiation: Yes
            Advertised FEC modes: Not reported
            Speed: 1000Mb/s
            Duplex: Full
            Port: Twisted Pair
            PHYAD: 1
            Transceiver: internal
            Auto-negotiation: on
            MDI-X: off (auto)
            Supports Wake-on: pumbg
            Wake-on: d
            Current message level: 0x00000007 (7)
                                   drv probe link
            Link detected: yes
    $ inxi -Fdxxxz
    System:    Host: susytmblwdke8570 Kernel: 5.2.10-1-default x86_64 bits: 64 compiler: gcc v: 9.2.1 
               Desktop: KDE Plasma 5.16.4 tk: Qt 5.13.0 wm: kwin_x11 dm: SDDM Distro: openSUSE Tumbleweed 20190829 
    Machine:   Type: Laptop System: Hewlett-Packard product: HP EliteBook 8570w v: A1028C1100 serial: <filter> Chassis: 
               type: 10 serial: <filter> 
               Mobo: Hewlett-Packard model: 176B v: KBC Version 50.1F serial: <filter> UEFI: Hewlett-Packard 
               v: 68IAV Ver. F.71 date: 04/19/2019 
    Battery:   ID-1: BAT0 charge: 66.9 Wh condition: 66.9/66.9 Wh (100%) volts: 17.0/14.8 model: Hewlett-Packard Primary 
               type: Li-ion serial: <filter> status: Full 
               Device-1: hidpp_battery_0 model: Logitech M705 serial: <filter> charge: 60% rechargeable: yes 
               status: Discharging 
    CPU:       Topology: Quad Core model: Intel Core i7-3720QM bits: 64 type: MT MCP arch: Ivy Bridge rev: 9 
               L2 cache: 6144 KiB 
               flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 41502 
               Speed: 1198 MHz min/max: 1200/3600 MHz Core speeds (MHz): 1: 1198 2: 1197 3: 1197 4: 1197 5: 1198 6: 1204 
               7: 1198 8: 1197 
    Graphics:  Device-1: NVIDIA GK107GLM [Quadro K1000M] vendor: Hewlett-Packard driver: nouveau v: kernel 
               bus ID: 01:00.0 chip ID: 10de:0ffc 
               Display: x11 server: X.Org 1.20.5 driver: nouveau unloaded: fbdev,modesetting,vesa alternate: nv,nvidia 
               compositor: kwin_x11 resolution: 1600x900~60Hz 
               OpenGL: renderer: NVE7 v: 4.3 Mesa 19.1.5 direct render: Yes 
    Audio:     Device-1: Intel 7 Series/C216 Family High Definition Audio vendor: Hewlett-Packard driver: snd_hda_intel 
               v: kernel bus ID: 00:1b.0 chip ID: 8086:1e20 
               Device-2: NVIDIA GK107 HDMI Audio vendor: Hewlett-Packard driver: snd_hda_intel v: kernel bus ID: 01:00.1 
               chip ID: 10de:0e1b 
               Sound Server: ALSA v: k5.2.10-1-default 
    Network:   Device-1: Intel 82579LM Gigabit Network vendor: Hewlett-Packard driver: e1000e v: 3.2.6-k port: 5040 
               bus ID: 00:19.0 chip ID: 8086:1502 
               IF: enp0s25 state: up speed: 1000 Mbps duplex: full mac: <filter> 
               Device-2: Intel Centrino Advanced-N 6205 [Taylor Peak] driver: iwlwifi v: kernel port: 4000 
               bus ID: 25:00.0 chip ID: 8086:0082 
               IF: wlo1 state: up mac: <filter> 
    Drives:    Local Storage: total: 5.46 TiB used: 1.50 TiB (27.5%) 
               ID-1: /dev/sda vendor: Samsung model: SSD 860 EVO 2TB size: 1.82 TiB speed: 6.0 Gb/s serial: <filter> 
               rev: 2B6Q scheme: GPT 
               ID-2: /dev/sdb vendor: Samsung model: SSD 860 EVO 4TB size: 3.64 TiB speed: 6.0 Gb/s serial: <filter> 
               rev: 2B6Q scheme: GPT 
               Message: No Optical or Floppy data was found. 
    Partition: ID-1: / size: 100.00 GiB used: 20.87 GiB (20.9%) fs: btrfs dev: /dev/sda4 
               ID-2: /home size: 48.97 GiB used: 2.02 GiB (4.1%) fs: ext4 dev: /dev/sda5 
               ID-3: /opt size: 100.00 GiB used: 20.87 GiB (20.9%) fs: btrfs dev: /dev/sda4 
               ID-4: /tmp size: 100.00 GiB used: 20.87 GiB (20.9%) fs: btrfs dev: /dev/sda4 
               ID-5: /var size: 100.00 GiB used: 20.87 GiB (20.9%) fs: btrfs dev: /dev/sda4 
               ID-6: swap-1 size: 18.00 GiB used: 0 KiB (0.0%) fs: swap dev: /dev/sda14 
    Sensors:   System Temperatures: cpu: 50.0 C mobo: N/A gpu: nouveau temp: 127 C 
               Fan Speeds (RPM): N/A 
    Info:      Processes: 256 Uptime: 1h 15m Memory: 15.59 GiB used: 1.51 GiB (9.7%) Init: systemd v: 242 runlevel: 5 
               target: Compilers: gcc: N/A Shell: bash v: 5.0.7 running in: konsole inxi: 3.0.32
    $ sudo hwinfo --netcard
    12: PCI 2500.0: 0282 WLAN controller                            
      ... <omitted> ...
      Attached to: #17 (PCI bridge)
    18: PCI 19.0: 0200 Ethernet controller
      [Created at pci.386]
      Unique ID: IDxx.xxxxxxx <edited out>
      SysFS ID: /devices/pci0000:00/0000:00:19.0
      SysFS BusID: 0000:00:19.0
      Hardware Class: network
      Model: "Intel 82579LM Gigabit Network Connection (Lewisville)"
      Vendor: pci 0x8086 "Intel Corporation"
      Device: pci 0x1502 "82579LM Gigabit Network Connection (Lewisville)"
      SubVendor: pci 0x103c "Hewlett-Packard Company"
      SubDevice: pci 0x176b 
      Revision: 0x04
      Driver: "e1000e"
      Driver Modules: "e1000e"
      Device File: enp0s25
      Memory Range: 0xd9400000-0xd941ffff (rw,non-prefetchable)
      Memory Range: 0xd943b000-0xd943bfff (rw,non-prefetchable)
      I/O Ports: 0x5040-0x505f (rw)
      IRQ: 34 (136310 events)
      HW Address: xx:xx:xx:xx:xx:xx <edited out>
      Permanent HW Address: xx:xx:xx:xx:xx:xx <edited out>
      Link detected: yes
      Module Alias: "pci:v00008086d00001502sv0000103Csd0000176Bbc02sc00i00"
      Driver Info #0:
        Driver Status: e1000e is active
        Driver Activation Cmd: "modprobe e1000e"
      Config Status: cfg=no, avail=yes, need=no, active=unknown
    $ testparm
    Load smb config files from /etc/samba/smb.conf
    Loaded services file OK.
    Server role: ROLE_STANDALONE
    Press enter to see a dump of your service definitions
    # Global parameters
            logon drive = P:
            logon home = \\%L\%U\.9xprofile
            logon path = \\%L\profiles\.msprofile
            map to guest = Bad User
            name resolve order = bcast host lmhosts wins
            netbios name = TMBLWD-8570
            preferred master = Yes
            server string = ""
            usershare allow guests = Yes
            usershare max shares = 100
            workgroup = LRLINWINGRP
            idmap config * : backend = tdb
            include = /etc/samba/dhcp.conf
            comment = I in AVs shared
            force user = myself
            path = /home/myself/AVs/I
            read only = No
            valid users = myself
            comment = VMs in VMs shared
            force user = myself
            path = /home/myself/VMs/VMs
            read only = No
            valid users = myself
            comment = X in XCs shared
            force user = myself
            path = /home/myself/XCs/X
            read only = No
            valid users = myself
    Remarks: For setting up the Samba Servers on both Linuxes, the sticky post by swerdna here was most helpful - thanks for providing this.
    I did also consult this very recent thread here, but despite the promising title I couldn't get much help for my problem from it.

    I have a couple of questions or doubts regarding my procedure right away: Is it correct to have zeroconf (as avahi/Bonjour) running at the same time as Samba (netBIOS)? Is the "name resolve order = bcast host lmhosts wins" in /etc/samba/smb.conf the best possible way; it was taken from swerdna's post cited above.

    Any help is gratefully apreciated in advance.
    Last edited by malcolmlewis; 04-Sep-2019 at 06:29. Reason: Add samba reference

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts