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. s.th. 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):
- 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.
- 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.
- 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.
- 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).
- 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.
- 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.
- 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.
Code:
$ 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
1000baseT/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
Code:
$ 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: graphical.target Compilers: gcc: N/A Shell: bash v: 5.0.7 running in: konsole inxi: 3.0.32
Code:
$ 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
Code:
$ 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
[global]
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
[TW-AVs-I-shared]
comment = I in AVs shared
force user = myself
path = /home/myself/AVs/I
read only = No
valid users = myself
[TW-VMs-V-shared]
comment = VMs in VMs shared
force user = myself
path = /home/myself/VMs/VMs
read only = No
valid users = myself
[TW-XCs-X-shared]
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
https://forums.opensuse.org/showthre...-the-local-LAN was most helpful - thanks for providing this.
I did also consult this very recent thread here
https://forums.opensuse.org/showthre...ows(dual-boot), 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.