Jump to content
XPEnology Community

Tutorial: DSM 6.x on Proxmox


fonix232

Recommended Posts

On 3/18/2019 at 1:40 PM, hellbondz said:

Hi everyone. After a grate help from 'dodo-dk' (You're the best man) and a lot of try and errors i managed to run DSM 6.2.1u6 on Proxmox 5.3-11. I'll share my insights and maybe it'll be useful for someone. Proxmox does have 4 LAN cards model to chose from the list, but as we all know Synology dropped drivers for some devices (e1000, vmware3...) so new version of DSM stopped working on Proxmox. But Proxmox allows you to chose different models (not shown in choosing list) , we just have to add it to 'args:' parameters, just like we did with usb boot key. For this to work you need to know few things:

1) This won't work on OVS bridge/bond - it has to be Linux bridge/bond

2) The Linux bridge/bond has to have gateway set

When we are adding LAN card from 'args:'  it looks like the  LAN card chooses bridge/bond on which the gateway is set, so that's why it's needed to be set.

 

First thing you may check it's if e1000e LAN card is available in your kvm. So in Proxmox shell write command:

kvm -device help

 

Under 'Network devices' you should see line:
name "e1000e", bus PCI, desc "Intel 82574L GbE Controller"

 

The next step is to find your 'args:' parameters. To do this we need to use another command:

qm showcmd YOUR-VM-ID

 

YOUR-VM-ID - is ID of your Xpenology machine with added e1000 LAN card. From the output you need to copy two arguments: netdev and device. In my case it looks like this:

-netdev 'type=tap,id=net0,ifname=tap100i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown'

-device 'e1000,mac=00:11:32:2c:a7:85,netdev=net0,bus=pci.0,addr=0x12,id=net0'

 

For this to work you have to remove the 'script' parts from 'netdev'' and change model from 'e1000' to 'e1000e' in device argument. you can also remove the " ' " signs. After changes it should look like this:

-netdev type=tap,id=net0,ifname=tap100i0

-device e1000e,mac=00:11:32:2c:a7:85,netdev=net0,bus=pci.0,addr=0x12,id=net0

 

Next you need to add changed arguments in to the VM config file (/etc/pve/qemu-server/YOUR-VM-ID.conf). In my case 'args:' line looks like this:

args: -device ich9-usb-ehci1,id=usb,multifunction=on,bus=pci.0,addr=0xa -drive file=/var/lib/vz/images/103/vm-103-USB103b.raw,format=raw,if=none,id=drive-usb-disk2,cache=writeback -device usb-storage,bus=usb.0,port=2,drive=drive-usb-disk2,id=usb-disk2,bootindex=1,removable=off -netdev type=tap,id=net0,ifname=tap103i0 -device e1000e,mac=BA:E2:8A:3B:AC:3E,netdev=net0,bus=pci.0,addr=0x12,id=net0

 

The last thing is to remove the 'net' device from config file, so just comment or remove the line with 'net' device. In Proxmox web interface the LAN device wont be visible, but it will work.

So, summing things up, I'm not Proxmox specialist so i didn't knew all of that. One more time thank you 'dodo-dk' for your knowledge and time. God bless all Xpenology enthusiasts, Xpenology devs and Proxmox for being best free virtualization tool i know.

 

It works, thank you

Proxmox 5.3-5

DS3617xs

 

DSM 6.2.2-24922 Update 2

Loader V1.03b for DSM 6.2 (current)

 

Link to comment
Share on other sites

After successful testing of the @hellbondz's method, I found that my second network interface in the DSM is inaccessible from my LAN (I use multi-homed network).

This was happened because: 

Quote

For this to work you have to remove the 'script' parts from 'netdev''  ...

 

Without this script PVE will add both netdev into default bridge - vmbr0 (a public bridge in my case).

 

I patched two PVE scripts to be able add network interface with Proxmox GUI and staying out from edit config manually (what somebody can't do it correctly).

 

So my method of using Network Driver Intel e1000e with Proxmox, which required to be able upgrade to the the latest DSM version (current up to DSM 6.2.2-24922 Update 2) and keep network worked:

 

1) Make DSM VM backup as usual!

 

2) Make PVE scripts backup:

cp /usr/share/perl5/PVE/QemuServer.pm /usr/share/perl5/PVE/QemuServer.pm.default
cp /usr/share/pve-manager/js/pvemanagerlib.js /usr/share/pve-manager/js/pvemanagerlib.js.default 

 

3.1) Open /usr/share/perl5/PVE/QemuServer.pm

find needed block with keyword 'e1000 (or 'vmxnet3' - less results than for '1000')

 

replace:

 

my $nic_model_list = ['rtl8139', 'ne2k_pci', 'e1000', 'pcnet',  'virtio',
		      'ne2k_isa', 'i82551', 'i82557b', 'i82559er', 'vmxnet3',
		      'e1000-82540em', 'e1000-82544gc', 'e1000-82545em'];

to (add 'e1000e'):

 

my $nic_model_list = ['rtl8139', 'ne2k_pci', 'e1000', 'e1000e', 'pcnet',  'virtio',
		      'ne2k_isa', 'i82551', 'i82557b', 'i82559er', 'vmxnet3',
		      'e1000-82540em', 'e1000-82544gc', 'e1000-82545em'];

 

3.2) Open/find/replace  /usr/share/pve-manager/js/pvemanagerlib.js

	    if ((match_res = p.match(/^(ne2k_pci|e1000|e1000-82540em|e1000-82544gc|e1000-82545em|vmxnet3|rtl8139|pcnet|virtio|ne2k_isa|i82551|i82557b|i82559er)(=([0-9a-f]{2}(:[0-9a-f]{2}){5}))?$/i)) !== null) {
		res.model = match_res[1].toLowerCase();

 

to:

	    if ((match_res = p.match(/^(ne2k_pci|e1000|e1000e|e1000-82540em|e1000-82544gc|e1000-82545em|vmxnet3|rtl8139|pcnet|virtio|ne2k_isa|i82551|i82557b|i82559er)(=([0-9a-f]{2}(:[0-9a-f]{2}){5}))?$/i)) !== null) {
		res.model = match_res[1].toLowerCase();

 

next replace block:

 

Ext.define('PVE.form.NetworkCardSelector', {
    extend: 'Proxmox.form.KVComboBox',
    alias: 'widget.pveNetworkCardSelector',
    comboItems: [
	['e1000', 'Intel E1000'],
	['virtio', 'VirtIO (' + gettext('paravirtualized') + ')'],
	['rtl8139', 'Realtek RTL8139'],
	['vmxnet3', 'VMware vmxnet3']
    ]
});

 

to:

 

Ext.define('PVE.form.NetworkCardSelector', {
    extend: 'Proxmox.form.KVComboBox',
    alias: 'widget.pveNetworkCardSelector',
    comboItems: [
	['e1000', 'Intel E1000'],
	['e1000e', 'Intel e1000e'],
	['virtio', 'VirtIO (' + gettext('paravirtualized') + ')'],
	['rtl8139', 'Realtek RTL8139'],
	['vmxnet3', 'VMware vmxnet3']
    ]
});

 

4) Run 'service pveproxy restart' and reload PVE admin interface - you will be able to change the Network driver of your DSM VM from e1000 to e1000e.

 

photo_2019-08-01_21-02-39.jpg.1e746675593f5bdd7be8ad4f9e168cf8.jpg

 

5) Save copies of edited scripts to somewhere else to be able restore/compare scripts versions after Proxmox upgrades.

 

Again -  make backups before run any test from my tutorial.

 

Good luck

Edited by blessendor
add screenshot
  • Thanks 1
Link to comment
Share on other sites

UPD: After Linux/proxmox upgrade some patched script will also be upgraded (as was expected) and you can't just restore your patched version by replacing a new.

 

You need to edit a new version of this script because old will not be compatible with pveproxy service.

 

In my case after today Linux/proxmox upgrade, I patched again only QemuServer.pm.

 

So always make a backup of the original proxmox scripts before patching.

 

UPD2: Looks like you must restart pvedaemon with pveproxy service also (step 4 in my previous post).

 

 

Edited by blessendor
Link to comment
Share on other sites

It was the first reboot after starting Upgrade DSM  - so my version was 6.2.2-24922 - but with not yet finished upgrade.

 

There were two problems:

 

1)  boot from USB img failed - fixed by replacing ich9-usb-ehci1 to nec-usb-xhci (found examples on the proxmox wiki page),

2) next I was must remove 'scsihw: megasas' string (I have 6 SATA and 2 SCSI disks attached to this VM, so I played with different SCSI controller model in the past on first-time setup).
 

Solved.

 

  • Thanks 1
Link to comment
Share on other sites

1 hour ago, hellbondz said:

Hi that's great solution also. In my case i just created a bond from few network cards. And pass every virtual LAN card trough this bond. Also work's good and it's more "update proof" ;).

 

 

I'm not sure how bond  can be configured in my case, because I must separate public (Internet) from private (Local) networks.
 

 

Link to comment
Share on other sites

If your DSM works as an internet router with DHCP server and is accessible from internet, than bond configuring would be complicated (if not impossible). But if that's the case i strongly suggest against it, especially considering recent events - https://xpenology.com/forum/announcement/21-very-important-brute-force-attack-against-synology-nas/. My proxmox\synology stands behind DD-WRT router so it isn't accessible from internet.

Edited by hellbondz
Link to comment
Share on other sites

On 8/1/2019 at 6:34 PM, hellbondz said:

Ok three things. I'm not sure that usb drive still works on piix3-usb-uhci. Please change it to ich9-usb-ehci1. Example:

 -device ich9-usb-ehci1,id=usb,multifunction=on,bus=pci.0,addr=0xa -drive file=/var/lib/vz/images/100/synoboot.img,format=raw,if=none,id=drive-usb-disk2 -device usb-storage,bus=usb.0,port=2,drive=drive-usb-disk2,id=usb-disk2,bootindex=1,removable=off

and verify if path: /var/lib/vz/images/100/synoboot.img is really available.

 

Next thing is that you have comma sign on end of "-device..." declaration and before "-netdev..." declaration (-device usb-storage,id=synoboot,drive=synoboot,-netdev), so please remove it and insert "space": (...)drive=s ynoboot -netdev(...)

 

Last thing is that you have ",bootindex=200" option at the end of the net device declaration. I don't know what this option does but i don't have it (it may be irrelevant).

 

Please let me know i this will work for you.

 

it looked like it worked when i removed the comma sign and also switched up to the new usb args parameters... it was found at find.synology.com... however when trying to install latest DSM DSM_RS3617xs+_24922.pat from the internet and after the installation was done and had to reboot it... it was no longer booting up... So i trought maybe it was too recent of a version, so i wanted to reinstall/reconfigure.. with a different DSM version.. but i was no longer able to find it find.synology.com...  i have since then deleted the VM and re-created the VM again however... no i'm no longer able to find it via find.synology.com 

 

new vm config...

 

root@hme:~# qm showcmd 100
/usr/bin/kvm -id 100 -name Xpen -chardev 'socket,id=qmp,path=/var/run/qemu-server/100.qmp,server,nowait' -mon 'chardev=qmp,mode=control' -chardev 'socket,id=qmp-event,path=/var/run/qmeventd.sock,reconnect=5' -mon 'chardev=qmp-event,mode=control' -pidfile /var/run/qemu-server/100.pid -daemonize -smbios 'type=1,uuid=6dfc36c7-4a1c-40d4-8963-4967a50f211e' -smp '4,sockets=1,cores=4,maxcpus=4' -nodefaults -boot 'menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg' -vnc unix:/var/run/qemu-server/100.vnc,password -cpu kvm64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,enforce -m 8096 -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' -device 'vmgenid,guid=5f10fea5-b40b-47c1-aac5-393f84e006b0' -device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' -device 'usb-tablet,id=tablet,bus=uhci.0,port=1' -device 'VGA,id=vga,bus=pci.0,addr=0x2' -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3' -iscsi 'initiator-name=iqn.1993-08.org.debian:01:f1f0352bab22' -drive 'if=none,id=drive-ide2,media=cdrom,aio=threads' -device 'ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=200' -device 'ahci,id=ahci0,multifunction=on,bus=pci.0,addr=0x7' -drive 'file=/dev/pve/vm-100-disk-0,if=none,id=drive-sata0,format=raw,cache=none,aio=native,detect-zeroes=on' -device 'ide-hd,bus=ahci0.0,drive=drive-sata0,id=sata0' -drive 'file=/dev/disk/by-id/ata-WDC_WD80EZAZ-11TDBA0_7HKSV3MJ,if=none,id=drive-sata1,format=raw,cache=none,aio=native,detect-zeroes=on' -device 'ide-hd,bus=ahci0.1,drive=drive-sata1,id=sata1' -machine 'type=pc' -device 'ich9-usb-ehci1,id=usb,multifunction=on,bus=pci.0,addr=0xa' -drive 'file=/var/lib/vz/images/100/synoboot.img,format=raw,if=none,id=drive-usb-disk2,cache=writeback' -device 'usb-storage,bus=usb.0,port=2,drive=drive-usb-disk2,id=usb-disk2,bootindex=1,removable=off' -netdev 'type=tap,id=net0,ifname=tap103i0' -device 'e1000e,mac=22:0A:2E:76:0F:FD,netdev=net0,bus=pci.0,addr=0x12,id=net0'

 

root@hme:~# qm config 100
args: -device ich9-usb-ehci1,id=usb,multifunction=on,bus=pci.0,addr=0xa -drive file=/var/lib/vz/images/100/synoboot.img,format=raw,if=none,id=drive-usb-disk2,cache=writeback -device usb-storage,bus=usb.0,port=2,drive=drive-usb-disk2,id=usb-disk2,bootindex=1,removable=off -netdev type=tap,id=net0,ifname=tap103i0 -device e1000e,mac=22:0A:2E:76:0F:FD,netdev=net0,bus=pci.0,addr=0x12,id=net0
cores: 4
ide2: none,media=cdrom
memory: 8096
name: Xpen
numa: 0
ostype: l26
sata0: local-lvm:vm-100-disk-0,size=5G
sata1: /dev/disk/by-id/ata-WDC_WD80EZAZ-11TDBA0_7HKSV3MJ,size=7814026584K
scsihw: virtio-scsi-pci
smbios1: uuid=6dfc36c7-4a1c-40d4-8963-4967a50f211e
sockets: 1
vmgenid: 5f10fea5-b40b-47c1-aac5-393f84e006b0
Edited by Polanskiman
Added code tag
Link to comment
Share on other sites

Please start small. Change bootloader to 1.3b version for ds3617xs from this link : https://mega.nz/#!zcogjaDT!qIEazI49daggE2odvSwazn3VqBc_wv0zAvab6m6kHbA, Next find.syno.... and install this file: https://global.download.synology.com/download/DSM/release/6.2.2/24922/DSM_DS3617xs_24922.pat?model=DS3617xs&bays=12&dsm_version=6.2.2&build_number=24922. There's a difference with ds3617xs and ds3617xs+ version.

Link to comment
Share on other sites

8 minutes ago, hellbondz said:

Please start small. Change bootloader to 1.3b version for ds3617xs from this link : https://mega.nz/#!zcogjaDT!qIEazI49daggE2odvSwazn3VqBc_wv0zAvab6m6kHbA, Next find.syno.... and install this file: https://global.download.synology.com/download/DSM/release/6.2.2/24922/DSM_DS3617xs_24922.pat?model=DS3617xs&bays=12&dsm_version=6.2.2&build_number=24922. There's a difference with ds3617xs and ds3617xs+ version.

yea i noticed i had incorrect due to the xs and xs+...

i have updated my previous post... any idea to the new situation/issue?

Link to comment
Share on other sites

6 minutes ago, kladze said:

yea i noticed i had incorrect due to the xs and xs+...

i have updated my previous post... any idea to the new situation/issue?

 

Add to your vmid.conf

serial0: socket

 

Then

qm start vmid 

qm terminal vmid

 

You will see more information during start

 

If you see 'DiskStation' greeting login - your DSM in the setup stage...

 

 

Link to comment
Share on other sites

2 hours ago, blessendor said:

 

Add to your vmid.conf

serial0: socket

 

Then

qm start vmid 

qm terminal vmid

 

You will see more information during start

 

If you see 'DiskStation' greeting login - your DSM in the setup stage...

 

 

 

 

This is my output... looks like a kernel panic?

 

Quote

[    0.000000] CPU: vendor_id 'AuthenticAMD' unknown, using generic init.
[    0.000000] CPU: Your system may be unstable.
patching file etc/rc
patching file etc/synoinfo.conf
Hunk #1 FAILED at 261.
1 out of 1 hunk FAILED -- saving rejects to file etc/synoinfo.conf.rej
patching file linuxrc.syno
Hunk #3 succeeded at 552 (offset 1 line).
patching file usr/sbin/init.post
cat: can't open '/etc/synoinfo_override.conf': No such file or directory
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[    1.582115] kernel tried to execute NX-protected page - exploit attempt? (uid: 0)
[    1.582917] BUG: unable to handle kernel paging request at ffff88022f379700
[    1.583082] IP: [<ffff88022f379700>] 0xffff88022f3796ff
[    1.583082] PGD 1ac2067 PUD 1ac5067 PMD 800000022f2000e3 
[    1.583082] Oops: 0011 [#1] SMP 
[    1.583082] Modules linked in: ehci_pci(F+) ehci_hcd(F) usbcore usb_common mv14xx(O) vhpgndtl(OF)
[    1.583082] CPU: 0 PID: 3418 Comm: insmod Tainted: GF          O 3.10.105 #23824
[    1.583082] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.1-0-ga5cab58e9a3f-prebuilt.qemu.org 04/01/2014
[    1.583082] task: ffff88022f338800 ti: ffff88022aa9c000 task.ti: ffff88022aa9c000
[    1.583082] RIP: 0010:[<ffff88022f379700>]  [<ffff88022f379700>] 0xffff88022f3796ff
[    1.583082] RSP: 0000:ffff88022aa9fb78  EFLAGS: 00010046
[    1.583082] RAX: ffff88022f3f7010 RBX: 0000000000000006 RCX: 0000000000000002
[    1.583082] RDX: 0000000000000006 RSI: 0000000000000000 RDI: ffff88022ec40000
[    1.583082] RBP: ffff88022ec40000 R08: ffff88022aa9fb84 R09: 000000000000fffb
[    1.583082] R10: 0000000000000000 R11: 626d756e20737562 R12: 0000000000000000
[    1.583082] R13: ffff88022aa9fbbe R14: 0000000000000246 R15: ffffffffa00ebb40
[    1.583082] FS:  00007f522a2f4700(0000) GS:ffff880239c00000(0000) knlGS:0000000000000000
[    1.583082] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[    1.583082] CR2: ffff88022f379700 CR3: 000000022b0c2000 CR4: 00000000000006b0
[    1.583082] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[    1.583082] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[    1.583082] Stack:
[    1.583082]  ffffffff81292f25 000000002aa9fbd8 000000000000001a 000000000000000a
[    1.583082]  ffff88022ec437f8 0000000000000000 ffff88022ec43890 ffffffff81298046
[    1.583082]  0000000000000001 ffff88022ec437f8 ffffffff8129808b 0000000000000000
[    1.583082] Call Trace:
[    1.583082]  [<ffffffff81292f25>] ? pci_bus_read_config_word+0x65/0x90
[    1.583082]  [<ffffffff81298046>] ? __pci_bus_find_cap_start+0x16/0x40
[    1.583082]  [<ffffffff8129808b>] ? pci_find_capability+0x1b/0x50
[    1.583082]  [<ffffffffa00eb09d>] ? ehci_pci_setup+0x9d/0x5a0 [ehci_pci]
[    1.583082]  [<ffffffffa00aac4d>] ? usb_add_hcd+0x1bd/0x660 [usbcore]
[    1.583082]  [<ffffffffa00b99d3>] ? usb_hcd_pci_probe+0x363/0x410 [usbcore]
[    1.583082]  [<ffffffff8129bd80>] ? pci_device_probe+0x60/0xa0
[    1.583082]  [<ffffffff8130575a>] ? really_probe+0x5a/0x220
[    1.583082]  [<ffffffff813059e1>] ? __driver_attach+0x81/0x90
[    1.583082]  [<ffffffff81305960>] ? __device_attach+0x40/0x40
[    1.583082]  [<ffffffff81303a53>] ? bus_for_each_dev+0x53/0x90
[    1.583082]  [<ffffffff81304ef8>] ? bus_add_driver+0x158/0x250
[    1.583082]  [<ffffffffa00ed000>] ? 0xffffffffa00ecfff
[    1.583082]  [<ffffffff81305fe8>] ? driver_register+0x68/0x150
[    1.583082]  [<ffffffffa00ed000>] ? 0xffffffffa00ecfff
[    1.583082]  [<ffffffff810003aa>] ? do_one_initcall+0xea/0x140
[    1.583082]  [<ffffffff8108baf4>] ? load_module+0x1a04/0x2120
[    1.583082]  [<ffffffff81088cb0>] ? store_uevent+0x40/0x40
[    1.583082]  [<ffffffff8108c2a1>] ? SYSC_init_module+0x91/0xc0
[    1.583082]  [<ffffffff814c0dc4>] ? system_call_fastpath+0x22/0x27
[    1.583082]  [<ffffffff814c0d11>] ? system_call_after_swapgs+0xae/0x13f
[    1.583082] Code: 88 ff ff 00 70 3f 2f 02 88 ff ff 70 63 69 30 30 30 30 3a 30 30 00 f0 66 3d 00 40 74 69 49 8b 7a 28 48 8b 14 24 48 89 ee 4c 89 54 <70> 63 69 30 30 30 30 3a 30 30 00 08 f0 41 80 0a 01 be ba 04 00 
[    1.583082] RIP  [<ffff88022f379700>] 0xffff88022f3796ff
[    1.583082]  RSP <ffff88022aa9fb78>
[    1.583082] CR2: ffff88022f379700
[    1.583082] ---[ end trace cff6b0ffda8b383f ]---
 ... [FAILED]
:: Loading module ohci-hcd[    1.625608] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
 ... [  OK  ]
:: Loading module uhci-hcd[    1.631316] uhci_hcd: USB Universal Host Controller Interface driver

 

 

  • Thanks 1
Link to comment
Share on other sites

On 8/2/2019 at 4:06 PM, hellbondz said:

Please start small. Change bootloader to 1.3b version for ds3617xs from this link : https://mega.nz/#!zcogjaDT!qIEazI49daggE2odvSwazn3VqBc_wv0zAvab6m6kHbA, Next find.syno.... and install this file: https://global.download.synology.com/download/DSM/release/6.2.2/24922/DSM_DS3617xs_24922.pat?model=DS3617xs&bays=12&dsm_version=6.2.2&build_number=24922. There's a difference with ds3617xs and ds3617xs+ version.

Thanks alot for the help!

Link to comment
Share on other sites

  • 1 month later...

- Outcome of the update:  SUCCESSFUL

- DSM version prior update: DSM 6.2.23739

- DSM version after update: DSM 6.2.2-24922-update 3

- Loader version and model: JUN'S LOADER v1.03b

- Using custom extra.lzma: NO

- Installation type: VM Proxmox 6.0.7 running on Asus P6T Deluxe / 24 Go Ram / CPU Intel core I7 990X

- Additional comment: Achieving to GUI select e1000e network card led to success after many kernel panic !

 

On 8/1/2019 at 7:46 PM, blessendor said:

After successful testing of the @hellbondz's method, I found that my second network interface in the DSM is inaccessible from my LAN (I use multi-homed network).

This was happened because: 

 

Without this script PVE will add both netdev into default bridge - vmbr0 (a public bridge in my case).

 

I patched two PVE scripts to be able add network interface with Proxmox GUI and staying out from edit config manually (what somebody can't do it correctly).

 

So my method of using Network Driver Intel e1000e with Proxmox, which required to be able upgrade to the the latest DSM version (current up to DSM 6.2.2-24922 Update 2) and keep network worked:

 

1) Make DSM VM backup as usual!

 

2) Make PVE scripts backup:

cp /usr/share/perl5/PVE/QemuServer.pm /usr/share/perl5/PVE/QemuServer.pm.default
cp /usr/share/pve-manager/js/pvemanagerlib.js /usr/share/pve-manager/js/pvemanagerlib.js.default 

 

3.1) Open /usr/share/perl5/PVE/QemuServer.pm

find needed block with keyword 'e1000 (or 'vmxnet3' - less results than for '1000')

 

replace:

 


my $nic_model_list = ['rtl8139', 'ne2k_pci', 'e1000', 'pcnet',  'virtio',
		      'ne2k_isa', 'i82551', 'i82557b', 'i82559er', 'vmxnet3',
		      'e1000-82540em', 'e1000-82544gc', 'e1000-82545em'];

to (add 'e1000e'):

 


my $nic_model_list = ['rtl8139', 'ne2k_pci', 'e1000', 'e1000e', 'pcnet',  'virtio',
		      'ne2k_isa', 'i82551', 'i82557b', 'i82559er', 'vmxnet3',
		      'e1000-82540em', 'e1000-82544gc', 'e1000-82545em'];

 

3.2) Open/find/replace  /usr/share/pve-manager/js/pvemanagerlib.js


	    if ((match_res = p.match(/^(ne2k_pci|e1000|e1000-82540em|e1000-82544gc|e1000-82545em|vmxnet3|rtl8139|pcnet|virtio|ne2k_isa|i82551|i82557b|i82559er)(=([0-9a-f]{2}(:[0-9a-f]{2}){5}))?$/i)) !== null) {
		res.model = match_res[1].toLowerCase();

 

to:


	    if ((match_res = p.match(/^(ne2k_pci|e1000|e1000e|e1000-82540em|e1000-82544gc|e1000-82545em|vmxnet3|rtl8139|pcnet|virtio|ne2k_isa|i82551|i82557b|i82559er)(=([0-9a-f]{2}(:[0-9a-f]{2}){5}))?$/i)) !== null) {
		res.model = match_res[1].toLowerCase();

 

next replace block:

 


Ext.define('PVE.form.NetworkCardSelector', {
    extend: 'Proxmox.form.KVComboBox',
    alias: 'widget.pveNetworkCardSelector',
    comboItems: [
	['e1000', 'Intel E1000'],
	['virtio', 'VirtIO (' + gettext('paravirtualized') + ')'],
	['rtl8139', 'Realtek RTL8139'],
	['vmxnet3', 'VMware vmxnet3']
    ]
});

 

to:

 


Ext.define('PVE.form.NetworkCardSelector', {
    extend: 'Proxmox.form.KVComboBox',
    alias: 'widget.pveNetworkCardSelector',
    comboItems: [
	['e1000', 'Intel E1000'],
	['e1000e', 'Intel e1000e'],
	['virtio', 'VirtIO (' + gettext('paravirtualized') + ')'],
	['rtl8139', 'Realtek RTL8139'],
	['vmxnet3', 'VMware vmxnet3']
    ]
});

 

4) Run 'service pveproxy restart' and reload PVE admin interface - you will be able to change the Network driver of your DSM VM from e1000 to e1000e.

 

photo_2019-08-01_21-02-39.jpg.1e746675593f5bdd7be8ad4f9e168cf8.jpg

 

5) Save copies of edited scripts to somewhere else to be able restore/compare scripts versions after Proxmox upgrades.

 

Again -  make backups before run any test from my tutorial.

 

Good luck

 

I have spent almost 2 weeks to try to get Synology last update to work with proxmox 6.0.7. Hours and hours trying thousands of different options !  Until I found this post (to be honest, I tried it a week ago, without success, maybe I did it wrong!!??) Then it finally happened ... Xpenology using 6.2.2-24922 (last update as of 09/11 !!!). I would never thank enough @blessendor for the hack he published in order to use Intel e1000e network card within Proxmox. I first tried everything with the '-arg:' command line in vmid.conf to define e1000e as default network card, including great @hellbondz 's trick, but it never really worked out for me. Hacking the QemuServer.pm/pvemanagerlib.js files allowed me to select e1000e in the Proxmox GUI and then my virtual DS3617xs finally accepted last update without crashing ! I could not believe it !

 

... Now I have to succeed in passing through my 2 sata controller cards and my 8 hdd disks - which is another story!

 

Thanks again @blessendor for your sharing, you saved my last few weeks, and also for all the people using or developing Xpenology, and specially for @jun the master !

 

 

 

 

 

Capture.PNG

Edited by vinceg77
Link to comment
Share on other sites

Alright ive determined its something with my hardware that doesnt like 6.2. I tried a 6.1 loader and it worked. It also showed me on the find.synology.com prompt that it actually reads a booting kernel message. This doesnt happen when trying 6.2.

 

Hardware is Dell r610 x5670. What could the problem be?

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...