8

I have a PC Oscilloscope Instrustar ISDS205X which I used on Windows 10. Now that I have switched to Linux, I am unable to find the respective drivers for it. I have tried installing it on PlayOnLinux but the software doesn't install and so do its drivers.

Is there any method to convert such Windows drivers to run on Linux?

(My CPU is i5-4570 and Distro is Debian 10 KDE Plasma)

4
  • 4
    There are plans for Sigrok Firmware to support this device (sigrok.org/wiki/Instrustar_ISDS205X), but currently, I don't see a way to use it in Linux without a Windows VM
    – eike
    Commented Oct 2, 2019 at 13:04
  • 1
    On the general question "Installing Proprietary Windows Drivers on Linux", the answer depends on the type of drivers. For some network drivers ndiswrapper does exactly that, for example. Commented Oct 2, 2019 at 13:46
  • IIRC, ndiswrapper is intended for use with Win XP drivers, and not for modern drivers.
    – K7AAY
    Commented Oct 2, 2019 at 23:29
  • Hi Nabeel, welcome on SuperUser. You should ask to the producer if it exists a version for Linux of their software. It is even possible they have a version for Matlab (or compatible) even if it is not probable they will share it. Moreover, you may want to separate the data acquisition moment from the possibility to manage (command) the device from the computer. They may suggest a procedure to acquire data from Linux and/or give the list of command codes to manage the device through other programs.
    – Hastur
    Commented Oct 3, 2019 at 8:07

1 Answer 1

14

In short: no.

To go further, a driver is a piece of software that interact with the kernel of the operating system. When you're working in kernel world, interoperability doesn't exist. POSIX neither. Everything is totally OS-specific: the architecture, the sub-systems and the way they have been built and designed, the standard library offered by the kernel to driver writer, there's nothing in common between Linux and Windows.

The only ways you can get your oscilloscope working under linux is:

  • by using a Windows virtual machine and forwarding the USB device to it (possible with virtualbox or qemu).

  • by doing reverse engineering when using it with a Windows workstation: analyse USB exchanges, try to guess the protocol used and the command passed to achieve this or this operation... it's a very hard and long job ...

5
  • 4
    Another alternative is doing it the other way around, i.e. flashing a new firmware on the device that is natively supported by Linux.
    – eike
    Commented Oct 2, 2019 at 13:11
  • 2
    A lot of Windows "drivers" are actually a package of a true device driver and a firmware blob that has to be pushed to the hardware at initialization time, loading it into RAM rather than storing on (EEP)ROM/flash. (They may actually have a separate file for the firmware blob, making the reverse engineering easier). I remember having devices on a dual-boot system that I could let the Windows driver initialize, then do a warm reboot into Linux, and the Linux driver worked fine until the system was shut down and the hardware lost that blob from memory. Commented Oct 2, 2019 at 21:23
  • @binarym: are you sure? Couldn't the OP use the NDIS Wrapper? Commented May 27, 2023 at 21:36
  • @WhitequillRiclo NDIS stands for "Network Driver Interface Specification". So, unless the driver is for a network card, it isn't supposed to apply for OP question. Moreover, NDIS is actually just an emulation, with all the limits it implies. To finish, last version of NDIS Wrapper was released on 2020-05-03 ... i think the project is dying: the problem it was supposed to solve (drivers availability for Wifi devices) doesn't really exists anymore.
    – binarym
    Commented May 29, 2023 at 8:09
  • okay. I was looking for wifi drivers a long time ago. back when driver support was mostly non-existent on Linux. I should have looked up what NDIS did before commenting. Commented Jun 2, 2023 at 3:04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .