Today I have successfully upgraded the Samsung M2026W printer to the latest firmware in Linux using Windows 10 in Virtual Machine.
If you wish to do the same, then you will need to install qemu-kvm package and download Windows 10.
I used Windows 10 Single Language (English, 64-bit).
My motherboard is P8Z68-V PRO/GEN3.
Once you downloaded the Windows 10 image, it is time to install it.
For that you will use the qemu-img command to create a virtual disk of 20GiB in size.
I have also used the preallocation parameter to get some decent I/O performance.
Now start the Windows 10 image with 2GiB RAM and give it one more slot so that it can grow up to 4GiB of RAM in case when it is needed.
After the Windows 10 is installed, shut it down and create a backing device from the qcow2 image.
The backing device is highly useful, since all the new changes will be written in that file and if you want to rollback, simply remove that file and create another one.
Now connect your Samsung Printer with the USB cable to your computer.
You should be able to see the device:
The most important part now is to specify -M q35
read more on q35, otherwise if you select Universal Serial Bus controllers -> USB Printing Support in the Device Manager, you will see the yellow triangle with the exclamation mark and clicking on the device tells you:
So this would be a proper way of starting your virtual Windows 10 with the assigned Host USB device to it:
In Windows 10, open up the Samsung M2026W support page and download the Samsung Printer Diagnostics software.
Run it and select Install your software, tick the [x] Samsung M2020 Series printer driver.
Open the Samsung Printer Diagnostics again and now go to Advanced options -> (x) Update Firmware
Follow the instructions and you will get the latest version of the firmware on your Samsung Printer.