Skip to content

Add Wireless PRO Support - #1

Open
zinic wants to merge 1 commit into
LinuxRenaissance:masterfrom
zinic:master
Open

zinic wants to merge 1 commit into
LinuxRenaissance:masterfrom
zinic:master

Conversation

@zinic

@zinic zinic commented Jun 8, 2026

Copy link
Copy Markdown

Hey, found your project and it came in handy at just the right time.

I have a Rode Wireless PRO but discovered that the USB PID is different and that the TX units themselves do not appear to differentiate with high/low PIDs.

This changeset adds the additional device information as a struct to simplify use of the different descriptors in loops. Additionally, because the Rode Wireless PRO doesn't differentiate USB PIDs, I also added a for-loop to enumerate the devices via their hidraw paths.

I updated the documentation accordingly in the README file and also added the krode binary to the .gitignore file to keep it from being checked in.

Tested clean with my Rode Wireless PRO kit. Unsure if I broke any paths for the Rode Interview PRO but I'm going to assume the changes are good on those paths as well.

Let me know what you think and thanks for creating this tool. You just saved me a lot of annoyance.

…D and hidraw path enumeration; documentation updates
@lgnap

lgnap commented Sep 6, 2026

Copy link
Copy Markdown

Independent confirmation, on a second Wireless PRO kit: this works. I arrived
at the same design before noticing your PR (sorry — mine is #3, and I have said
there that yours should land instead).

Two transmitters, PID 0x0056 on both, erased successfully — one connected
directly, one docked in the charging case, which also works and is the
convenient path for everyday use.

One thing you may want to fold in while this is open, because it bites the
Interview PRO too:

The device streams progress, it does not ACK once.

02 4A 41 00     0 %
02 4A 41 05     5 %
   ...
02 4A 41 64   100 %

Byte [3] is a percentage. delete_recordings() reads a single reply, so on
my hardware it printed Done. Recordings deleted. (status: 0) and returned
while the erase was still running — 1.8 s later the device was still working.
The README's "status code of 100" is the device saying 100 % complete.

Looping on hid_read_timeout() until buf[3] >= 100 fixes it. I have that in
#3 if it is useful to lift.

Two more field notes from the same session:

  • Afterwards the transmitter re-enumerates and its storage returns without a
    filesystem
    until the case is unplugged and replugged. I first assumed it
    recovered on its own; it does not.
  • hidraw node numbers are not stable — a replug swapped them between my
    two transmitters. Your approach is immune to this since you open the path
    from the same enumeration, which is another argument for it over
    hid_open(vid, pid, NULL).

Thanks for doing this three months before I needed it.

@LinuxRenaissance

Copy link
Copy Markdown
Owner

Hi both. I got a notification about today’s PRs and noticed that I had completely missed the first one from three months ago. Apologies for that.

I’ll test all three, including the closed one, and take it from there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants