Driver Prototyping Hardware

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

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

On Tue, Feb 13, 2018 at 11:15 PM, xxxxx@bluestop.org
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

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
Subject: Re: [ntdev] Driver Prototyping Hardware

On Tue, Feb 13, 2018 at 11:15 PM, xxxxx@bluestop.org 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:

MONTHLY seminars on crash dump analysis, WDF, Windows internals and software drivers!
Details at http:

To unsubscribe, visit the List Server section of OSR Online at http:</http:></http:></http:>

> 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