Web MiniDisc Pro on Windows 11 w/out Zadig (cheating w/WSL)

Since the internet is full of answers to questions that no one asked... Here's my contribution. (I've also added this to the wiki)

Web MiniDisc Pro is a great way to manage your NetMD MiniDisc device for recording or simply titling discs since even the best remotes aren't as fast as typing on a keyboard! You can do this within Windows, but it requires the installation of a utility (Zadig) to manage your USB drivers. More info here.

For those that want to manage their MiniDisc recorder under Windows, but don't want to install the Zadig driver manager (for whatever reason), you can use Windows Subsystem for Linux 2 (WSL2) to do it! Perhaps you're already a WSL2 user and use it for other things and doing a few more steps to get things running are no big deal.

Install WSL2 under Windows 11:

Open a PowerShell prompt under Windows 11 by right-clicking on the Start button and choosing Windows Terminal (Admin). Accept the warning and you'll see the PowerShell window pop up with "Administrator" in the top left.

Next, install WSL by typing the following in the PowerShell window:
wsl --install
Just wait a few minutes and after it's complete, reboot when you're ready.

After a reboot, you'll see terminal window that asks you to set a username and password. These are for the instance of Ubuntu running in the WSL, so they don't need to correlate to your Windows login.

Next, let's check for updates. In the WSL2 terminal, use "sudo apt update" to update the list of packages in this Ubuntu distro.

Passing USB device info to WSL2

Since passing through USB devices from Windows to the WSL instance isn't supported natively (yet?), you'll need to install something for USB support.

Install USB support for WSL2 (from Microsoft / USBIPD-WIN)
In Windows: Download the .msi from here and install it

Check your USB devices in Windows after install with the following command:
PS C:\Users\username> usbipd wsl list
BUSID  VID:PID    DEVICE                                         STATE
1-3    8087:0029  Intel(R) Wireless Bluetooth(R)                 Not attached
1-4    0c45:672c  Integrated Webcam                              Not attached
2-1    046d:c332  USB Input Device                               Not attached
2-2    054c:00c9  Net MD Walkman                                 Not attached
2-3    187c:0550  USB Input Device                               Not attached
2-4    0d62:3740  WinUsb Device, USB Input Device                Not attached
4-3    19f7:001c  USB Input Device, RĂ˜DE VideoMic GO II          Not attached

Note the "BUSID" listed above, see how 2-2 lines up with the Net MD Walkman?

We'll use that to pass that device info to WSL2. So from your PowerShell, type the following where X-Y is substitited by the proper BUSID. In this case, it would be 2-2.
usbipd wsl attach --busid X-Y
If you didn't attach the device in Windows first, you'd see the following in WSL2:
user@M15R5:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

After attaching the USB device Windows, you'd see the following in WSL2:
user@M15R5:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 054c:00c9 Sony Corp. Net MD
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Udev is a tool to manage devices in Linux and it's not started by default in WSL2. We need to start udev or you'll run into an error later. Type the following in your WSL2 terminal window:

/lib/systemd/systemd-udevd --daemon

Getting WSL2 configured to access your MiniDisc device

Now we do what it says at the WMP site under Linux:

  • Find your device using "sudo lsusb" and note the output (see the output above)
  • Create a file at /etc/udev/rules.d/50-md.rules by using vi or other editor to allow the device you saw in the "lsusb" output (again, see the WMD page)
  • update udevadm (sudo udevadm control --reload-rules)
  • trigger udevadm (sudo udevadm trigger)

Then open up Chrome (google-chrome or on the Start Menu as Ubuntu > Google Chrome [Ubuntu]) and go to web.minidisc.wiki (if you need to install Chrome - see below)

From here, press Connect and select your NetMD device!

Reconnecting after a reboot:

First, connect your NetMD device via USB cable.
Admin Windows PowerShell:
 usbipd wsl attach --busid 2-2 (Optionally usbipd wsl list - to find device)

WSL2/Ubuntu terminal:
lsusb (confirm you see your device)
make sure udev is started (sudo /lib/systemd/systemd-udevd --daemon)
trigger the rules (sudo udevadm trigger)

Open Chrome and go to web.minidisc.wiki and Connect your device!

Surely this can be scripted out better, but these are the manual steps. If I continue using this method, I'll update the post to make this more permanent!

To install the Google Chrome for Linux (from Microsoft):

  • Change directories into the temp folder: cd /tmp
  • Use wget to download it: sudo wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
  • Get the current stable version: sudo dpkg -i google-chrome-stable_current_amd64.deb
  • Fix the package: sudo apt install --fix-broken -y
  • Configure the package: sudo dpkg -i google-chrome-stable_current_amd64.deb
  • To launch, enter: google-chrome
  • To launch, optionally look at your Start Menu for Google Chrome (Ubuntu)