Jump to content
XPEnology Community

KVM - Virtio Network - Driver extension


speedyrazor

Recommended Posts

Hi, I am trying to get virtio network driver working using in a VM in KVM, as the e1000e network driver (which is working) gives very bad performance.

I am using IG-88's driver extension (extra.lzma), but can't get it working. This is what I have done.

 

I added in 'virtio, virtio_ring and virtio_net' in the EXTRA_MODULES section on the rc.modules file, saved and re-compressed.

On windows I used OSFMount to mount the current 1.03b synoboot.img, mounted partition 1, copied (replaced) current extra.lzma file with new one, in OSFMount - dismount all and exit. Copied new synoboot.img over, created new VM, but cant get http://find.synology.com to find it, even using e1000 network. Creating a VM with the original 1.03b synoboot.img, is working fine with e1000 network.

To check, I then just tried with the standard V1.03b, which works fine with e1000 nic. I then tried my V1.03b with your extra.lzma injected (untouched), and I cant even get that working with e1000 nic.

What I mean by 'cant get it working', is, it seems to load, but I cant see it on the network, meaning the network isn't working, so cant get access.

I have attached my edited extra.lzma file for reference.

Anything you can see what I am doing wrong?

extra.lzma

Link to comment
Share on other sites

  • 3 weeks later...

can you add a virtual serial port and connect with a terminal?

 

i tried your extra.lzma and its nothing wrong with the way its repacked

it not completely comparable but it crashed in a virtualbox vm and its not responding after this

 

did you ever see someone using virtio drivers with a 35615/17 in proxmox

i'm not even sure it would works

cant you run a vm and then after starting insmod the virtio modules for testing?

in the virtual dsm its loaded in this way

insmod /lib/modules/virtio.ko
insmod /lib/modules/virtio_ring.ko
insmod /lib/modules/virtio_pci.ko
insmod /lib/modules/virtio_blk.ko
insmod /lib/modules/virtio_net.ko
insmod /lib/modules/virtio_scsi.ko
insmod /lib/modules/virtio_console.ko

linuxrc.syno executed successfully.
Post init

[   12.873435] tn40xx: Tehuti Network Driver, 0.3.6.17.2
[   12.873482] tn40xx: Supported phys : MV88X3120 MV88X3310 MV88E2010 QT2025 TLK10232 AQR105 MUSTANG
[   13.763343] general protection fault: 0000 [#1] SMP
[   13.763885] Modules linked in: bromolow_synobios(PO) virtio_net(F) xgmac(F) s2io(F) rtl8150(F) r8152(OF) plusb(F) pegasus(F) mcs7830(F) i40evf(OF) et131x(FC) cx82310_eth(F) asix(F) aqc111(OF) vxge(F) bna(F) cxgb4(F) cxgb3(F) cxgb(F) forcedeth(F) ixgb(F) e100(F) atl2(F) evdev(F) button(F) ax88179_178a(F) usbnet(F) tg3(OF) r8169(OF) r8125(OF) r8101(OF) ixgbevf(OF) igbvf(OF) bnx2(F) vmxnet3(F) pcnet32(F) e1000(F) sfc(F) netxen_nic(F) qlge(F) qlcnic(F) qla3xxx(F) pch_gbe(F) ptp_pch(F) sky2(F) skge(F) jme(F) ipg(F) uio(F) alx(F) atl1c(F) atl1e(F) atl1(F) libphy(F) mii(F) exfat(O) btrfs synoacl_vfs(PO) zlib_deflate hfsplus md4 hmac bnx2x(F) libcrc32c(F) mdio(F) mlx5_core(O) mlx4_en(O) mlx4_core(O) mlx_compat(O) compat(O) qede(O) qed(O) atlantic(OF) r8168(OF) tn40xx(OF) i40e(OF) ixgbe(OF) be2net(F) igb(OF) i2c_algo_bit e1000e(OF) dca(F) vxlan fuse vfat fat crc32c_intel aesni_intel glue_helper lrw gf128mul ablk_helper arc4 cryptd ecryptfs sha256_generic sha1_generic ecb aes_x86_64 authenc des_generic ansi_cprng cts md5 cbc cpufreq_conservative cpufreq_powersave cpufreq_performance cpufreq_ondemand mperf processor thermal_sys cpufreq_stats freq_table dm_snapshot crc_itu_t(F) crc_ccitt(F) quota_v2 quota_tree psnap p8022 llc sit tunnel4 ip_tunnel ipv6 zram(C) sg etxhci_hcd virtio_scsi(F) virtio_ring(F) virtio(F) nvme(F) hpsa(F) isci(F) arcmsr(F) mvsas(F) mvumi(F) 3w_xxxx(F) 3w_sas(F) 3w_9xxx(F) aic94xx(F) aacraid(F) sx8(F) mpt2sas(OF) megaraid_sas(F) megaraid(F) megaraid_mbox(F) megaraid_mm(F) BusLogic(F) usb_storage xhci_hcd uhci_hcd ohci_hcd(F) ehci_pci(F) ehci_hcd(F) usbcore usb_common rdlbtjymp(OF) [last unloaded: bromolow_synobios]
[   13.764343] CPU: 0 PID: 6155 Comm: ifconfig Tainted: PF        C O 3.10.105 #24922
[   13.764343] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006
[   13.764343] task: ffff8800790fc800 ti: ffff88007a194000 task.ti: ffff88007a194000
[   13.764343] RIP: 0010:[<ffffffff814cb1e5>]  [<ffffffff814cb1e5>] _raw_spin_lock+0x5/0x30
[   13.764343] RSP: 0018:ffff88007fc03d90  EFLAGS: 00010082
[   13.764343] RAX: 0000000000000100 RBX: ffff880037670e88 RCX: 00000000000000b9
  ...
[   13.764343]  [<ffffffff814ccd11>] ? system_call_after_swapgs+0xae/0x13f
[   13.764343] Code: 66 0f 1f 44 00 00 8d 8a 00 01 00 00 89 d0 3e 66 0f b1 0f 66 39 d0 75 e5 b8 01 00 00 00 c3 0f 1f 84 00 00 00 00 00 b8 00 01 00 00 <3e> 66 0f c1 07 0f b6 d4 38 c2 74 10 0f 1f 80 00 00 00 00 f3 90
[   13.764343] RIP  [<ffffffff814cb1e5>] _raw_spin_lock+0x5/0x30
[   13.764343]  RSP <ffff88007fc03d90>
[   13.764343] ---[ end trace e47f81d11025d608 ]---
[   13.764343] Kernel panic - not syncing: Fatal exception in interrupt
  

 

Link to comment
Share on other sites

  • 1 month later...
  • 2 weeks later...

Hi,

I've tried on proxmox with 1.04b loader for 918+ and with loader 1.03b for ds3617 with the extra drivers provided in this thread

when I load in this order:

virtio

virtio_ring

virtio_pci

virtio_blk

virtio_net

 

after insmod of "virtio_net" I've this error:

 

[  182.396303] general protection fault: 0000 [#1] SMP
[  182.397029] Modules linked in: virtio_net(F) virtio_blk(F) virtio_pci(F) virtio_ring(F) virtio(F) cifs udf isofs loop tcm_loop(O) iscsi_target_mod(O) target_core_ep(O) target_core_multi_file(O) target_core_file(O) target_core_iblock(O) target_core_mod(O) syno_extent_pool(PO) rodsp_ep(O) hid_generic usbhid hid usblp broadwell_synobios(PO) xgmac(F) s2io(F) rtl8150(F) r8152(OF) plusb(F) pegasus(F) mcs7830(F) i40evf(OF) et131x(FC) cx82310_eth(F) asix(F) aqc111(OF) vxge(F) bna(F) cxgb4(F) cxgb3(F) cxgb(F) forcedeth(F) ixgb(F) e100(F) atl2(F) evdev(F) button(F) ax88179_178a(F) usbnet(F) tg3(OF) r8169(OF) r8125(OF) r8101(OF) ixgbevf(OF) igbvf(OF) bnx2(F) vmxnet3(F) pcnet32(F) e1000(F) sfc(F) netxen_nic(F) qlge(F) qlcnic(F) qla3xxx(F) pch_gbe(F) ptp_pch(F) sky2(F) skge(F) jme(F) ipg(F) uio(F) alx(F) atl1c(F) atl1e(F) atl1(F) libphy(F) mii(F) exfat(O) btrfs synoacl_vfs(PO) zlib_deflate hfsplus md4 hmac bnx2x(F) libcrc32c(F) mdio(F) mlx5_core(O) mlx4_en(O) mlx4_core(O) mlx_compat(O) compat(O) qede(O) qed(O) atlantic(OF) r8168(OF) tn40xx(OF) i40e(OF) ixgbe(OF) be2net(F) igb(OF) i2c_algo_bit e1000e(OF) dca(F) vxlan fuse vfat fat glue_helper lrw gf128mul ablk_helper arc4 cryptd ecryptfs sha256_generic sha1_generic ecb aes_x86_64 authenc des_generic ansi_cprng cts md5 cbc cpufreq_conservative cpufreq_powersave cpufreq_performance cpufreq_ondemand mperf processor thermal_sys cpufreq_stats freq_table dm_snapshot crc_itu_t(F) crc_ccitt(F) quota_v2 quota_tree psnap p8022 llc sit tunnel4 ip_tunnel ipv6 zram(C) sg etxhci_hcd nvme(F) hpsa(F) isci(F) arcmsr(F) mvsas(F) mvumi(F) 3w_xxxx(F) 3w_sas(F) 3w_9xxx(F) aic94xx(F) aacraid(F) sx8(F) mpt3sas(OF) mpt2sas(OF) megaraid_sas(F) megaraid(F) megaraid_mbox(F) megaraid_mm(F) BusLogic(F) usb_storage xhci_hcd uhci_hcd ohci_hcd(F) ehci_pci(F) ehci_hcd(F) usbcore usb_common mv14xx(O) gret(OF) [last unloaded: broadwell_synobios]
[  182.397029] CPU: 0 PID: 9372 Comm: snmpd Tainted: PF        C O 3.10.105 #24922
[  182.397029] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.1-0-ga5cab58e9a3f-prebuilt.qemu.org 04/01/2014
[  182.397029] task: ffff880077a54800 ti: ffff880075cfc000 task.ti: ffff880075cfc000
[  182.397029] RIP: 0010:[<ffffffff81401af5>]  [<ffffffff81401af5>] ethtool_get_settings+0x55/0x220
[  182.397029] RSP: 0018:ffff880075cffc58  EFLAGS: 00010246
[  182.397029] RAX: 0000000000000000 RBX: 00007fffce3a9f90 RCX: 0000000000000000
[  182.397029] RDX: 6d757363006f7367 RSI: ffff880075cffc98 RDI: ffff8800817c0000
[  182.397029] RBP: ffff880075cffc98 R08: ffffffffa13bc700 R09: 0000000000000040
[  182.397029] R10: 0000c0fc00000000 R11: 0000000000000246 R12: 00007fffce3a9f90
[  182.397029] R13: 0000000000000000 R14: ffff8800817c0000 R15: ffff8800817c0000
[  182.397029] FS:  00007efda0bb2b80(0000) GS:ffff880088a00000(0000) knlGS:0000000000000000
[  182.397029] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  182.397029] CR2: 00007efda0ba8000 CR3: 00000000767b4000 CR4: 00000000000006f0
[  182.397029] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  182.397029] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[  182.397029] Stack:
[  182.397029]  ffffffff810f3305 0000000000000000 0000000000000000 ffff880076339980
[  182.397029]  ffffffff811669b1 ffff880085b8bc50 ffffea0001529318 ffff880036fa7000
[  182.397029]  0000000000000000 0000000000000000 0000000000000000 0000000000000000
[  182.397029] Call Trace:
[  182.397029]  [<ffffffff810f3305>] ? memcg_check_events+0x85/0x1e0
[  182.397029]  [<ffffffff811669b1>] ? sysctl_head_finish+0x31/0x40
[  182.397029]  [<ffffffff814029cb>] ? dev_ethtool+0x62b/0x1d50
[  182.397029]  [<ffffffff810bc6a8>] ? free_hot_cold_page_list+0x28/0x50
[  182.397029]  [<ffffffff810c0fc2>] ? release_pages+0x1e2/0x200
[  182.397029]  [<ffffffff81458af9>] ? inet_gifconf+0xa9/0x100
[  182.397029]  [<ffffffff81400c80>] ? netdev_run_todo+0x50/0x2d0
[  182.397029]  [<ffffffff81411a4b>] ? dev_ioctl+0x19b/0x5f0
[  182.397029]  [<ffffffff810d2b74>] ? tlb_flush_mmu.part.66+0x44/0x80
[  182.397029]  [<ffffffff813e617d>] ? sock_do_ioctl+0x3d/0x50
[  182.397029]  [<ffffffff813e6588>] ? sock_ioctl+0x1d8/0x2a0
[  182.397029]  [<ffffffff81112e2a>] ? do_vfs_ioctl+0x4aa/0x990
[  182.397029]  [<ffffffff81116f40>] ? dput+0x170/0x2a0
[  182.397029]  [<ffffffff814c2d11>] ? system_call_after_swapgs+0xae/0x13f
[  182.397029]  [<ffffffff814c2d05>] ? system_call_after_swapgs+0xa2/0x13f
[  182.397029]  [<ffffffff814c2d11>] ? system_call_after_swapgs+0xae/0x13f
[  182.397029]  [<ffffffff814c2d05>] ? system_call_after_swapgs+0xa2/0x13f
[  182.397029]  [<ffffffff81113390>] ? SyS_ioctl+0x80/0xa0
[  182.397029]  [<ffffffff814c2d05>] ? system_call_after_swapgs+0xa2/0x13f
[  182.397029]  [<ffffffff814c2dc4>] ? system_call_fastpath+0x22/0x27
[  182.397029]  [<ffffffff814c2d11>] ? system_call_after_swapgs+0xae/0x13f
[  182.397029] Code: 8b 90 70 01 00 00 48 85 d2 0f 84 17 01 00 00 48 8d 6c 24 40 45 31 ed b9 09 00 00 00 4c 89 e8 48 89 ef 48 89 ee f3 48 ab 4c 89 f7 <ff> d2 85 c0 0f 88 e0 00 00 00 48 8d 5c 24 14 4c 89 e8 48 c7 44
[  182.397029] RIP  [<ffffffff81401af5>] ethtool_get_settings+0x55/0x220
[  182.397029]  RSP <ffff880075cffc58>
[  182.475590] ---[ end trace 8683169f9e9255e0 ]---
[  182.477128] init: snmpd main process (9372) killed by SEGV signal
[  182.477763] init: snmpd main process ended, respawning
 

I've tried also to load in this order with the same result:

 

insmod virtio.ko
insmod virtio_ring.ko
insmod virtio_pci.ko
insmod virtio_blk.ko
insmod virtio_net.ko
insmod virtio_scsi.ko
insmod virtio_console.ko

 

 

Edited by brutalibus
Link to comment
Share on other sites

  • 1 month later...
2 hours ago, speedyrazor said:

Anyone get any further with this, would love to get this working.

what image type do you use?

i did new drivers for 918+ 6.2.3 with the new 24922 kernel source

doing 3615/17 is scheduled for the weekend

i guess its best to make a special version for testing with kvm

anything that should not be loaded with kvm? anything special needed beside virtio modules?

can you see over virtual serial port whats happens?

whats the emulated network chip in kvm or what choices you have?

Link to comment
Share on other sites

Hi, just to update on a couple of things.

  1. I guess its best to make a special version for testing with kvm - Yes, a KVM specific version would probably be easier to debug.
  2. anything that should not be loaded with kvm? anything special needed beside virtio modules? - Not that I am aware of no.
  3. can you see over virtual serial port whats happens? - see below for example serial output using a modded 1.02b
  4. whats the emulated network chip in kvm or what choices you have? - That I do not know
                    GNU GRUB  version 2.02~beta2-36ubuntu3.9

 ����������������������������������������������������������������������������Ŀ
 � DS3617xs 6.1 Baremetal with Jun's Mod v1.02b                               � 
 � DS3617xs 6.1 Baremetal with Jun's Mod v1.02b Reinstall                     �
 �*DS3617xs 6.1 VMWare/ESXI with Jun's Mod v1.02b                             �
 �                                                                            �
 �                                                                            �
 �                                                                            �
 �                                                                            �
 �                                                                            �
 �                                                                            �
 �                                                                            �
 �                                                                            �
 �                                                                            �
 �                                                                            � 
 ������������������������������������������������������������������������������

      Use the ^ and v keys to select which entry is highlighted.          
      Press enter to boot the selected OS, `e' to edit the commands       
   The highlighted entry will be executed automatically in 0s.                 
   The highlighted entry will be executed automatically in 0s.                 


[    4.042339] ata5: send port disabled event
[    4.044167] ata6: send port disabled event
[    4.046184] ata7: send port disabled event
[    4.048147] ata8: send port disabled event
[    4.050198] ata9: send port disabled event
[    4.052176] ata10: send port disabled event
patching file etc/passwd
patching file etc/rc
Hunk #1 succeeded at 170 (offset 7 lines).
patching file etc/synoinfo.conf
Hunk #1 succeeded at 280 (offset 4 lines).
patching file linuxrc.syno
Hunk #1 succeeded at 38 (offset 1 line).
Hunk #2 succeeded at 117 with fuzz 2 (offset 1 line).
Hunk #3 succeeded at 445 (offset 61 lines).
patching file usr/sbin/init.post
START /linuxrc.syno
Insert Marvell 1475 SATA controller driver
Insert basic USB modules...
:: Loading module usb-common ... [  OK  ]
:: Loading module usbcore ... [  OK  ]
:: Loading module ehci-hcd ... [  OK  ]
:: Loading module ehci-pci ... [  OK  ]
:: Loading module ohci-hcd ... [  OK  ]
:: Loading module uhci-hcd ... [  OK  ]
:: Loading module xhci-hcd ... [  OK  ]
:: Loading module usb-storage ... [  OK  ]
:: Loading module BusLogic ... [  OK  ]
:: Loading module vmw_pvscsi ... [  OK  ]
:: Loading module megaraid_mm ... [  OK  ]
:: Loading module megaraid_mbox ... [  OK  ]
:: Loading module megaraid ... [  OK  ]
:: Loading module scsi_transport_spi ... [  OK  ]
:: Loading module mptbase ... [  OK  ]
:: Loading module mptscsih ... [  OK  ]
:: Loading module mptspi ... [  OK  ]
:: Loading module mptsas ... [  OK  ]
:: Loading module mptctl ... [  OK  ]
:: Loading module ata_piix ... [  OK  ]
:: Loading module megaraid_sas ... [  OK  ]
:: Loading module mpt2sas ... [  OK  ]
:: Loading module mpt3sas ... [  OK  ]
Insert net driver(Mindspeed only)...
Starting /usr/syno/bin/synocfgen...
/usr/syno/bin/synocfgen returns 0
[    5.013470] md: invalid raid superblock magic on sdc3
[    5.048016] md: invalid raid superblock magic on sdk3
[    5.088861] md: invalid raid superblock magic on sdl3
Partition Version=8
 /sbin/e2fsck exists, checking /dev/md0... 
                                                                               
       34877 inodes used (22.41%, out of 155648)
          68 non-contiguous files (0.2%)
          10 non-contiguous directories (0.0%)
             # of inodes with ind/dind/tind blocks: 0/0/0
             Extent depth histogram: 32046/24
      260990 blocks used (41.92%, out of 622544)
           0 bad blocks
           1 large file

       27954 regular files
        3795 directories
           2 character device files
           0 block device files
           0 fifos
        1225 links
        3117 symbolic links (2797 fast symbolic links)
           0 sockets
------------
       36093 files
/sbin/e2fsck returns 0
Mounting /dev/md0 /tmpRoot
------------upgrade
Begin upgrade procedure
No upgrade file exists
End upgrade procedure
============upgrade
Exit on error [4] Unique not match...
Thr Apr 23 06:37:59 UTC 2020
/dev/md0 /tmpRoot ext4 rw,relatime,journal_checksum,data=ordered 0 0
none /sys/kernel/debug debugfs rw,relatime 0 0
sys /sys sysfs rw,relatime 0 0
none /dev devtmpfs rw,relatime,size=1021876k,nr_inodes=255469,mode=755 0 0
proc /proc proc rw,relatime 0 0
linuxrc.syno failed on 4
starting pid 4586, tty '': '/etc/rc'
:: Starting /etc/rc
:: Mounting procfs ... [  OK  ]
:: Mounting tmpfs ... [  OK  ]
:: Mounting devtmpfs ... [  OK  ]
:: Mounting devpts ... [  OK  ]
:: Mounting sysfs ... [  OK  ]
rc: Use all internal disk as swap.
/etc/rc: /etc/rc: line 108: line 108: /usr/syno/bin/synodiskpathparse: not found
awk: not found
rc: Failed to parse partition sdc2
:: Loading module sg ... [  OK  ]
:: Loading module mdio ... [  OK  ]
:: Loading module fat ... [  OK  ]
:: Loading module vfat ... [  OK  ]
:: Loading module dca ... [  OK  ]
:: Loading module e1000e ... [  OK  ]
:: Loading module i2c-algo-bit ... [  OK  ]
:: Loading module igb ... [  OK  ]
:: Loading module ixgbe ... [  OK  ]
:: Loading module r8168 ... [  OK  ]
:: Loading module libcrc32c ... [  OK  ]
:: Loading module mii ... [  OK  ]
:: Loading module libphy ... [  OK  ]
:: Loading module atl1 ... [  OK  ]
:: Loading module atl1e ... [  OK  ]
:: Loading module atl1c ... [  OK  ]
:: Loading module alx ... [  OK  ]
:: Loading module uio ... [  OK  ]
:: Loading module ipg ... [  OK  ]
:: Loading module jme ... [  OK  ]
:: Loading module skge ... [  OK  ]
:: Loading module sky2 ... [  OK  ]
:: Loading module ptp_pch ... [  OK  ]
:: Loading module pch_gbe ... [  OK  ]
:: Loading module qla3xxx ... [  OK  ]
:: Loading module qlcnic ... [  OK  ]
:: Loading module qlge ... [  OK  ]
:: Loading module netxen_nic ... [  OK  ]
:: Loading module sfc ... [  OK  ]
:: Loading module e1000 ... [  OK  ]
:: Loading module pcnet32 ... [  OK  ]
:: Loading module vmxnet3 ... [  OK  ]
:: Loading module bnx2 ... [  OK  ]
:: Loading module bnx2x ... [  OK  ]
:: Loading module cnic ... [FAILED]
:: Loading module r8169 ... [  OK  ]
:: Loading module tg3 ... [  OK  ]
:: Loading module usbnet ... [  OK  ]
:: Loading module ax88179_178a ... [  OK  ]
:: Loading module button ... [  OK  ]
:: Loading module virtio ... [  OK  ]
:: Loading module virtio_ring ... [  OK  ]
:: Loading module virtio_pci ... [  OK  ]
:: Loading module virtio_net ... [  OK  ]
:: Loading module synobios ... [  OK  ]
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

:: Starting syslogd ... [  OK  ]
:: Starting scemd
:: Starting services in background
Starting findhostd in flash_rd...
Starting services in flash_rd...
Running /usr/syno/etc/rc.d/J01httpd.sh...
Starting httpd:80 in flash_rd...
Starting httpd:5000 in flash_rd...
Running /usr/syno/etc/rc.d/J03ssdpd.sh...
/usr/bin/minissdpd
Usage: /usr/bin/minissdpd [-d] [-6] [-s socket] [-p pidfile] -i <interface> [-i <interface2>] ...

  <interface> is either an IPv4 address such as 192.168.1.42, or an
interface name such as eth0.

  By default, socket will be open as /var/run/minissdpd.sock
and pid written to file /var/run/minissdpd.pid
start SSDPD failed
Running /usr/syno/etc/rc.d/J04synoagentregisterd.sh...
Starting synoagentregisterd...
Running /usr/syno/etc/rc.d/J30DisableNCQ.sh...
Running /usr/syno/etc/rc.d/J80ADTFanControl.sh...
Running /usr/syno/etc/rc.d/J98nbnsd.sh...
Starting nbnsd...
Running /usr/syno/etc/rc.d/J99avahi.sh...
Starting Avahi mDNS/DNS-SD Daemon
cname_load_conf failed:/var/tmp/nginx/avahi-aliases.conf
:: Loading module hid ... [  OK  ]
:: Loading module usbhid ... [  OK  ]
============ Date ============
Thr Apr 23 06:38:07 UTC 2020
==============================
starting pid 6439, tty '': '/sbin/getty 115200 console'
Thu Apr 23 06:38:09 2020

DiskStation login:

 

Link to comment
Share on other sites

  • 2 weeks later...

What kind of performance hit are you guys seeing with the e1000 driver in KVM? I have never noticed any practical difference with my applications.

 

fyi iperf3 gives me an average of 820Mbits/sec with the e1000 in KVM vs an average of 920Mbits/sec with a bare metal. 

Link to comment
Share on other sites

Assuming you have physical nic cards and network switch capable 100G.

 

Disk to Disk doesn't use the network VirtIO driver. OP was looking for VirtIO network driver to work in KVM.

 

 

Edited by trip
Link to comment
Share on other sites

Yes indeed, I am the OP. My point was VirtIO driver showing 100G (I don't have 100G nic or switch, I have 10G), but therefore the Driver is not the bottle neck, where e1000 is.

I have multiple KVM hosts, all with 10G nics, so using an e1000 driver is not great.

Link to comment
Share on other sites

  • 2 weeks later...

You can use VMware -> vmxnet3 network driver - the paravirtualization driver instead of the virtio_net driver for change e1000 network emulation driver.

 

Basic configuration with vmxnet3 driver and full support for 10Gb network speed.

args: -device 'ich9-usb-ehci1,id=usb-ctl-synoboot,addr=0x18' -drive 'id=usb-drv-synoboot,file=/mnt/StorageVM/Images/images/103/synoboot.img,if=none,format=raw' -device 'usb-storage,id=usb-stor-synoboot,bootindex=1,removable=off,drive=usb-drv-synoboot'

balloon: 0
boot: c
bootdisk: sata0
cores: 4
bostpci0: 04:00
memory: 4096
name: xynology.ds.network

net0: vmxnet3=00:11:32:03:FC:31,bridge=vmbr0,tag=255
net1: vmxnet3=D6:0A:3C:58:34:FF,bridge=vmbr0,tag=255
net2: e1000=52:BF:F9:11:69:0C,bridge=vmbr0,tag=100

numa: 0
onboot: 1
ostype: l26
scsihw: megasas
serial0: socket
smbios1: uuid=5251abfb-8118-4dd6-9dea-586dde8b4ebf
sockets: 1
startup: order=0,up=1,down=180
vmgenid: 7f3ddc78-6314-45c1-86b0-90cb9bf9c63e

 

Example:

root@xynology:~# /tmp/iperf -c 192.168.253.1

------------------------------------------------------------

Client connecting to 192.168.253.1, TCP port 5001
TCP window size: 22.5 KByte (default)

------------------------------------------------------------
[  3] local 192.168.253.254 port 33321 connected with 192.168.253.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  6.60 GBytes  5.67 Gbits/sec

 

 

 

 

Link to comment
Share on other sites

I did try this previously and again, I couldn't get it working. Im using 1.04b.

I have an already working Xpenology using e1000e, I shut it down, then instead of e1000e, I manually type vmxnet3, turn on the vm, but I can discover it on my network.

Is there anything I need to do differently?

Link to comment
Share on other sites

Hello @speedyrazor

 

Yes!

1. You must use two interfaces if you are doing a test:
     1. E1000 (no change)
     2. vmxnet3 (for test)

 

3. You should use -> 'Serial Port (serial0) socket' in the xynology server configuration on proxmox

4. You can connect to the terminal using the command -> 'qm terminal ID (your machine ID)' after turning on the server.

 

----

 

I am using:
Loadrer 1.03b
DiskStation DSM 6.2-23739 & DSM_DS3615xs_2373

 

I can test your configuration.
What do you use ?

 

Link to comment
Share on other sites

@speedyrazor

 

And yes! I can successfully install virtio* modules and create an eth0 device with these modules, but after running ifconfig eth0 or eth0 up, I get a kernel panic :)

I think it depends on the original Synology modules that are already loaded, and virtio* modules will not work while the modules from Synology are loaded.

Edited by Evgenii
Link to comment
Share on other sites

@speedyrazor

 

Can use my configuration!

 

Work configuration:

 

MAC:  AA:A8:62:84:F9:86  must be assign to network interface.

Change path: file=/mnt/StorageVM/Images/images/118/synoboot.img

 

root@vm-proxmox:/tmp/synology# cat /etc/pve/nodes/vm-proxmox/qemu-server/118.conf

args: -device 'ich9-usb-ehci1,id=usb-ctl-synoboot,addr=0x18' -drive 'id=usb-drv-synoboot,file=/mnt/StorageVM/Images/images/118/synoboot.img,if=none,format=raw' -device 'usb-storage,id=usb-stor-synoboot,bootindex=1,removable=off,drive=usb-drv-synoboot'

bootdisk: sata0
cores: 4
memory: 4096
name: xynology.dev

net0: vmxnet3=AA:A8:62:84:F9:86,bridge=vmbr0,tag=100

numa: 0
ostype: l26
serial0: socket
smbios1: uuid=190c7a46-fac8-4036-99f6-a333a74f31b6

sockets: 1

vmgenid: 1ef70d37-0e17-4d65-9cbb-71c9e1238f39

 

Synoboot loader 1.03b:

https://nextcloud.almatey.kiev.ua/nextcloud/index.php/s/yweqp9Q3JLBpgtL

DiskStation DSM 6.2-23739 & DSM_DS3615xs_2373

 

After start the xynology server, you must run 'qm term ID' on the

Proxmox server and too look in the dhcp log file, maybe after start server, IP was received

 

 

---- log after apply ---

: Loading module mpt3sas ... [  OK  ]
Insert net driver(Mindspeed only)...
Starting /usr/syno/bin/synocfgen...
/usr/syno/bin/synocfgen returns 0
All disk ready or timeout execeed
Exit on error [1] DISK NOT INSTALLED...
Mon May 25 07:59:05 UTC 2020
none /sys/kernel/debug debugfs rw,relatime 0 0
sys /sys sysfs rw,relatime 0 0
none /dev devtmpfs rw,relatime,size=2013368k,nr_inodes=503342,mode=755 0 0
proc /proc proc rw,relatime 0 0
linuxrc.syno failed on 1
starting pid 3892, tty '': '/etc/rc'
:: Starting /etc/rc
:: Mounting procfs ... [  OK  ]
:: Mounting tmpfs ... [  OK  ]
:: Mounting devtmpfs ... [  OK  ]
:: Mounting devpts ... [  OK  ]
:: Mounting sysfs ... [  OK  ]

udhcpc (v1.16.1) started
eth0      Link encap:Ethernet  HWaddr AA:A8:62:84:F9:86  
          inet addr:10.200.0.2  Bcast:10.200.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:985 (985.0 B)  TX bytes:1620 (1.5 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

:: Starting syslogd ... [  OK  ]
:: Starting scemd
:: Starting services in background
Starting findhostd in flash_rd...
Starting services in flash_rd...
Running /usr/syno/etc/rc.d/J01httpd.sh...
Starting httpd:80 in flash_rd...
Starting httpd:5000 in flash_rd...
Running /usr/syno/etc/rc.d/J03ssdpd.sh...
/usr/bin/minissdpd -i eth0
(15): upnp:rootdevice
(51): uuid:upnp_SynologyNAS-aaa86284f986::upnp:rootdevice
(55): Synology/synology_broadwell_3617xs/6.2-23739/10.200.0.2
(43): http://10.200.0.2:5000/description-eth0.xml
Connected.
done.
/usr/syno/bin/reg_ssdp_service 10.200.0.2 aaa86284f986 6.2-23739 synology_broadwell_3617xs eth0
Running /usr/syno/etc/rc.d/J04synoagentregisterd.sh...
Starting synoagentregisterd...
Running /usr/syno/etc/rc.d/J30DisableNCQ.sh...
Running /usr/syno/etc/rc.d/J80ADTFanControl.sh...
Running /usr/syno/etc/rc.d/J98nbnsd.sh...
Starting nbnsd...
Running /usr/syno/etc/rc.d/J99avahi.sh...
Starting Avahi mDNS/DNS-SD Daemon
cname_load_conf failed:/var/tmp/nginx/avahi-aliases.conf
:: Loading module hid ... [  OK  ]
:: Loading module usbhid ... [  OK  ]
============ Date ============

Mon May 25 08:01:34 UTC 2020

==============================
starting pid 5867, tty '': '/sbin/getty 115200 console'
Mon May 25 08:01:35 2020


DiskStation login:      

 

Link to comment
Share on other sites

Is it libvirt & virt-manager, etc.? I think you should look towards Proxmox as a replacement for KVM   :D

I used it too before. But, as I met Proxmox, I forgot about KVM. Proxmox also uses KVM, but management is simpler.

Proxmox have a support LXC containers too.

 

Good luck in finding a solution although it is under your nose! ;)

Link to comment
Share on other sites

  • 4 weeks later...

I finally bit the bullet and installed Proxmox, followed your idea, assigned an e1000 nic for management, then added a vmxnet3 nic attached to my 10G network, assigned static IP in the synology GUI, but synology only reports the vmxnet3 nic to be 1G (not 10G), and file transfers were also around 1G. I repeated the same exercise in KVM, same results.

So I'm back to the search for working virtIO network drivers.

Anyone have any updates on this front please?

Link to comment
Share on other sites

  • 6 months later...

Hey Speedyrazor, any update? I working a similar problem. I can get connection on my 10gb linux bridge through proxmox to the xpe vm but only at 1gb. I am using the ds918 while the examples above reference ds3615. If you have learned anything further, I'd love to know. If not, well, cheers as we commiserate.

Link to comment
Share on other sites

  • 1 month later...
  • 6 months later...

Dear Members,


I have been struggling a few months ago to get/brought to life virtio drivers under xpenology 918+ or 3617+ under Proxmox 6.4.

I was a little tired to find my failure, I'm sure I do something wrong.

I tried
a) insert drivers based on this article:
https://xpenology.club/compile-drivers-xpenology-with-windows-10-and-build-in-bash/
In this case I could create extra.lzma file with virtio*.ko files, copied to synoboot.iso with zImage and rd.gz files from appropriate pat (I tried 3 times: DSM_DS3617xs_24922.pat or DSM_DS918+_25426.pat or DSM_DS918+_24922.pat) file.
I added in 'virtio, virtio_ring and virtio_net' in the EXTRA_MODULES section on the rc.modules file, saved and re-compressed.
I created custom iso file to boot.

b) Create custom iso file based on this article:

https://xpenology.com/forum/topic/21663-driver-extension-jun-103b104b-for-dsm622-for-3615xs-3617xs-918/

where I downloaded required files:
https://archive.synology.com/download/DSM/release/6.2.2/24922/DSM_DS3617xs_24922.pat
http://www.filedropper.com/extra3617v05test
and 1.03b_mod loader.

... and created custom iso file to boot.


In neither case I could load virtio network card. I have to use virtio network card for 10G network under Proxmox.

I can use Intel e1000 and vmxnet NIC only with 1Gbit speed.

 

Please could someone help me?

I would be grateful for any help or guideline.

Thank you,

Edited by bgabika
Link to comment
Share on other sites

  • 3 months later...

Hi, I have the same issue, please tell me what did you do to fix that.

 

1. standard V1.03b works fine with e1000 nic.

2. V1.03b with IG88's extra.lzma injected, the network isn't working

 

My environment is PVE 7.1-7, and I downloaded extra.lzma from this topic 

 

https://xpenology.com/forum/topic/28321-driver-extension-jun-103b104b-for-dsm623-for-918-3615xs-3617xs/

 

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...