PROXMOX and Windows ROK license for DELL

Discussion in 'Proxmox VE: Installation and configuration' started by Stefano Giunchi, Apr 9, 2019.

  1. Stefano Giunchi

    Proxmox Subscriber

    Joined:
    Jan 17, 2016
    Messages:
    36
    Likes Received:
    1
    I have a new DELL server, and installed PROXMOX without a problem.
    I'm now installing W2016 ROK, but it hangs in ROK license check, that is the check that it's real DELL hardware.

    I already dealt with this problem with HP hardware, and resolved using SMBIOS parameters. With Dell I'm not able to make it work.

    This is my dmidecode output:

    System Information
    Manufacturer: Dell Inc.
    Product Name: PowerEdge T330
    Version: Not Specified
    Serial Number: 4xxxxxx2
    UUID: 4C4C4544-0030-3910-8042-B4C04F465632
    Wake-up Type: Power Switch
    SKU Number: SKU=NotProvided;ModelName=PowerEdge T330
    Family: Not Specified

    And these are the settings.

    upload_2019-4-9_19-44-0.png

    I also tried to leave empty in Version, SKU and Family.
     
  2. wolfgang

    wolfgang Proxmox Staff Member
    Staff Member

    Joined:
    Oct 1, 2014
    Messages:
    4,707
    Likes Received:
    312
    Hi,

    this has nothing to do with Proxmox VE and I guess the only one who can help you is DELL or Mircosoft.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. Stefano Giunchi

    Proxmox Subscriber

    Joined:
    Jan 17, 2016
    Messages:
    36
    Likes Received:
    1
    Hi Wolfgang,
    thank you for your answer.

    Maybe you have never dealt with ROK licenses, they work on bare metal but not with virtualized.
    To make it to work, in vmware there is the Smbios.reflecthost flag in the vmx file, and Hyper-v has a solution too.
    Proxmox also has the solution, which is to edit the SMBIOS1 options I have shown.
    With HP hardware it works, with Dell it doesn't.

    I *think* the problem stays in the fact that the manufacturer name is "Dell Inc.", with a space.
    Anyway I tried to put "DellInc.", "Dell Inc.", "Dell\ Inc." in the configuration file (via interface spaces are forbidden), but it never works.

    I will ask to Dell support too, but I think to have more chances to get and answer for this problem in this forum.

    Stefano
     
  4. wolfgang

    wolfgang Proxmox Staff Member
    Staff Member

    Joined:
    Oct 1, 2014
    Messages:
    4,707
    Likes Received:
    312
    I think your right.

    The main problem is that this is all undocumented stuff.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  5. Stefano Giunchi

    Proxmox Subscriber

    Joined:
    Jan 17, 2016
    Messages:
    36
    Likes Received:
    1
    With a bit of luck, I managed to make it work but I need a patch in PVE.
    I explain everything, hoping to be helpful to others.

    After mounting Dell's Win2016 ISO, and mounting sources/install.wim with wimtools, I opened the windows\system32\rok.vbe file using https://master.ayra.ch/vbs/vbs.aspx (online vbe decoder).
    In the rok.vbs file I found that the error was in reading the value OEMStringArray.
    I found out, using a win livecd in a vm, that that value is indeed empty, while in the host it contains some string values. These values are NOT used to check the license, it only need not to be empty.

    Here I found that the value OEMStringArray is supported by qemu, using -smbios type=11. Starting kvm directly, with the next commandline, made it work (see last two lines):

    /usr/bin/kvm \
    -id 100 \
    -name x \
    -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 \
    -smp 1,sockets=1,cores=1,maxcpus=1 \
    -nodefaults \
    -boot menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg \
    -vnc unix:/var/run/qemu-server/100.vnc,x509,password \
    -no-hpet \
    -cpu kvm64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,hv_spinlocks=0x1fff,hv_vapic,hv_time,hv_reset,hv_vpindex,hv_runtime,hv_relaxed,hv_synic,hv_stimer,enforce \
    -m 8192 \
    -device pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e \
    -device pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f \
    -device vmgenid,guid=c8271096-79e8-4548-b013-8bc84571bf9f \
    -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 \
    -iscsi initiator-name=iqn.1993-08.org.debian:01:fe16a6772e8 \
    -drive file=/var/lib/vz/template/iso/WIN_2016_ROK.iso,if=none,id=drive-ide0,media=cdrom,aio=threads \
    -device ide-cd,bus=ide.0,unit=0,drive=drive-ide0,id=ide0,bootindex=200 \
    -drive file=/var/lib/vz/template/iso/virtio-win.iso,if=none,id=drive-ide2,media=cdrom,aio=threads \
    -device ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=201 \
    -drive file=/var/lib/vz/images/100/vm-100-disk-0.qcow2,if=none,id=drive-virtio1,format=qcow2,cache=none,aio=native,detect-zeroes=on \
    -device virtio-blk-pci,drive=drive-virtio1,id=virtio1,bus=pci.0,addr=0xb \
    -netdev type=tap,id=net0,ifname=tap100i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown \
    -device e1000,mac=FA:77:A8:4F:53:F1,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300 \
    -rtc driftfix=slew,base=localtime \
    -machine type=pc \
    -global kvm-pit.lost_tick_policy=discard \
    -smbios type=11,value=x \
    -smbios type=1,uuid=94af935d-c66a-4224-a83e-855b8f00865d,manufacturer=Dell\ Computer\ Corporation


    The started vm is manageable by proxmox. After win install, the -smbios type=11 is not needed anymore, but the -smbios type=1 can't be edited in webgui because it contains spaces, which are not allowed.

    So I edited /etc/pve/qemu-server/100.conf manually:
    balloon: 0
    bootdisk: ide0
    cores: 1
    ide0: local:iso/WIN_2016_ROK.iso,media=cdrom,size=7897440K
    ide2: local:iso/virtio-win.iso,media=cdrom,size=309208K
    memory: 8192
    name: x
    net0: e1000=FA:77:A8:4F:53:F1,bridge=vmbr0
    numa: 0
    ostype: win10
    scsihw: virtio-scsi-pci
    smbios1: uuid=94af935d-c66a-4224-a83e-855b8f00865d,manufacturer=Dell\ Computer \Corporation
    sockets: 1
    virtio1: local:100/vm-100-disk-0.qcow2,size=32G
    vmgenid: c8271096-79e8-4548-b013-8bc84571bf9f

    I need two patches from Proxmox:
    1) allow spaces in smbios input fields (and replace with "\ " in conf files)
    2) allow all smbios types supported by qemu

    Stefano
     
  6. Stefano Giunchi

    Proxmox Subscriber

    Joined:
    Jan 17, 2016
    Messages:
    36
    Likes Received:
    1
    Sorry for the wording:
    Not "I need patches" but "I kindly ask proxmox developers to consider these patches"

    :)
     
  7. dcsapak

    dcsapak Proxmox Staff Member
    Staff Member

    Joined:
    Feb 1, 2016
    Messages:
    3,519
    Likes Received:
    318
    could you open a feature request for the spaces in smbios? https://bugzilla.proxmox.com/
    as for the type=11

    you can do this via the 'args' parameter already just add
    Code:
    args: '-smbios type=11,value=x'
    
    to the config (this also works with the api, e.g. qm set ID -args '-smbios type=11,value=x'
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
    fireon likes this.
  8. Stefano Giunchi

    Proxmox Subscriber

    Joined:
    Jan 17, 2016
    Messages:
    36
    Likes Received:
    1
    Yes, sure, I will do.
    Yes, it's what I did but it is removed if I enter in smbios webgui after that. I post it in bugzilla.
     
  9. dcsapak

    dcsapak Proxmox Staff Member
    Staff Member

    Joined:
    Feb 1, 2016
    Messages:
    3,519
    Likes Received:
    318
    that works here without problems, the 'args' line should not be touched by other setings
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  10. Stefano Giunchi

    Proxmox Subscriber

    Joined:
    Jan 17, 2016
    Messages:
    36
    Likes Received:
    1
    fireon likes this.
  11. poma

    poma New Member

    Joined:
    Feb 20, 2019
    Messages:
    1
    Likes Received:
    0
    For me it's not working. When i only write string in arg option it's worked:
    Code:
    args: -smbios type=11,value=x -smbios type=1,uuid=356ff16d-4185-4f05-8513-bc6911d6b5ad,manufacturer=Dell\ Computer\ Corporation
    and the rok.vbe script was in the boot.wmi image (WS2016-DC-STD_MUI_amd64_d5.iso)
     
    #11 poma, May 9, 2019
    Last edited: May 10, 2019
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice