Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Before Posting...
Please check out the Community Guidelines in the Announcements and Administration Category.

Driver Prototyping Hardware

R0b0t1R0b0t1 Member - All Emails Posts: 132
Hello List,

I've not had much luck using virtual machines for development. I have
had better luck with real hardware. Can anyone recommend hardware to
test on? Ideally, a single board computer would be used. It may not be
possible for me to dedicate a full x86_64 system to development.

So far I'm only aware of the LattePanda.

Alternatively, if anyone has tips for using VMs that would help, but
my issue was I could never deploy properly - my host is Linux, and
nested KVM is broken on my hardware so I can not run VirtualBox inside
my development machine. I tried to deploy over network to the VM, but
was never able to get it working.

Cheers,
R0b0t1

Comments

  • Rebecca_CranRebecca_Cran Member - All Emails Posts: 5
    On 2/13/2018 6:22 PM, xxxxx@gmail.com wrote:
    > Alternatively, if anyone has tips for using VMs that would help, but
    > my issue was I could never deploy properly - my host is Linux, and
    > nested KVM is broken on my hardware so I can not run VirtualBox inside
    > my development machine. I tried to deploy over network to the VM, but
    > was never able to get it working.

    What sort of driver are you developing? If it's for a PCIe device, you
    should be able to use KVM with PCIe passthrough given a machine from
    2012 onwards. If you can dedicate a machine to it, I'd suggest trying
    Proxmox VE (https://pve.proxmox.com/wiki/Main_Page) since it's already
    setup for running VMs. Alternatively, you should be able to boot pretty
    much any Linux system with the kernel parameter "intel_iommu=on", then
    configure passthrough for the IOMMU group that contains the device you
    want, via entries in /proc . Then, run qemu and you should have access
    to the device within Windows within the VM.

    --
    Rebecca
  • R0b0t1R0b0t1 Member - All Emails Posts: 132
    On Tue, Feb 13, 2018 at 11:15 PM, xxxxx@bluestop.org
    <xxxxx@lists.osr.com> wrote:
    > On 2/13/2018 6:22 PM, xxxxx@gmail.com wrote:
    >>
    >> Alternatively, if anyone has tips for using VMs that would help, but
    >> my issue was I could never deploy properly - my host is Linux, and
    >> nested KVM is broken on my hardware so I can not run VirtualBox inside
    >> my development machine. I tried to deploy over network to the VM, but
    >> was never able to get it working.
    >
    >
    > What sort of driver are you developing? If it's for a PCIe device, you
    > should be able to use KVM with PCIe passthrough given a machine from 2012
    > onwards. If you can dedicate a machine to it, I'd suggest trying Proxmox VE
    > (https://pve.proxmox.com/wiki/Main_Page) since it's already setup for
    > running VMs. Alternatively, you should be able to boot pretty much any Linux
    > system with the kernel parameter "intel_iommu=on", then configure
    > passthrough for the IOMMU group that contains the device you want, via
    > entries in /proc . Then, run qemu and you should have access to the device
    > within Windows within the VM.
    >

    Currently a different keyboard transport protocol over USB (prototyped
    with libusb and userspace calls). PCIe is pretty far down on the list
    at the moment. I've gotten PCIe passthrough working, the problem is my
    hardware does not support nested KVM, so I am not able to follow the
    guides that use VirtualBox test targets.

    My question could also be interpreted as "does anyone have a known
    working test configuration?" Despite all my attempts, I can't get
    automated deployment with the WDK working, and have been doing things
    by hand. This is less than ideal.

    Thanks,
    R0b0t1
  • Don_BurnDon_Burn Member - All Emails Posts: 1,625
    The deployment stuff in the WDK has never worked reliably. Most experienced driver developers would never use it, instead install the first time and use .kdfiles in Windbg to update the driver.


    Don Burn
    Windows Driver Consulting
    Website: http://www.windrvr.com



    -----Original Message-----
    From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@gmail.com
    Sent: Wednesday, February 14, 2018 1:56 AM
    To: Windows System Software Devs Interest List <xxxxx@lists.osr.com>
    Subject: Re: [ntdev] Driver Prototyping Hardware

    On Tue, Feb 13, 2018 at 11:15 PM, xxxxx@bluestop.org <xxxxx@lists.osr.com> wrote:
    > On 2/13/2018 6:22 PM, xxxxx@gmail.com wrote:
    >>
    >> Alternatively, if anyone has tips for using VMs that would help, but
    >> my issue was I could never deploy properly - my host is Linux, and
    >> nested KVM is broken on my hardware so I can not run VirtualBox
    >> inside my development machine. I tried to deploy over network to the
    >> VM, but was never able to get it working.
    >
    >
    > What sort of driver are you developing? If it's for a PCIe device, you
    > should be able to use KVM with PCIe passthrough given a machine from
    > 2012 onwards. If you can dedicate a machine to it, I'd suggest trying
    > Proxmox VE
    > (https://pve.proxmox.com/wiki/Main_Page) since it's already setup for
    > running VMs. Alternatively, you should be able to boot pretty much any
    > Linux system with the kernel parameter "intel_iommu=on", then
    > configure passthrough for the IOMMU group that contains the device you
    > want, via entries in /proc . Then, run qemu and you should have access
    > to the device within Windows within the VM.
    >

    Currently a different keyboard transport protocol over USB (prototyped with libusb and userspace calls). PCIe is pretty far down on the list at the moment. I've gotten PCIe passthrough working, the problem is my hardware does not support nested KVM, so I am not able to follow the guides that use VirtualBox test targets.

    My question could also be interpreted as "does anyone have a known working test configuration?" Despite all my attempts, I can't get automated deployment with the WDK working, and have been doing things by hand. This is less than ideal.

    Thanks,
    R0b0t1

    ---
    NTDEV is sponsored by OSR

    Visit the list online at: <http://www.osronline.com/showlists.cfm?list=ntdev>;

    MONTHLY seminars on crash dump analysis, WDF, Windows internals and software drivers!
    Details at <http://www.osr.com/seminars>;

    To unsubscribe, visit the List Server section of OSR Online at <http://www.osronline.com/page.cfm?name=ListServer>;
  • Pavel_APavel_A Member Posts: 2,643
    > It may not be possible for me to dedicate a full x86_64 system to development.

    Just get a new hard drive or SSD, swap it in some real machine. Disks are cheap now.

    -- pa
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!