Conversation
Wireless PRO transmitters answer the same delete command, unchanged, both connected directly and docked in the charging case. Tested on two of them. Two things had to change to support them. Both Wireless PRO transmitters share PID 0x0056, where the Interview PRO gives its two units distinct PIDs. hid_open(vid, pid, NULL) therefore returns whichever enumerated first and cannot reach the other one, so devices are now enumerated and opened by path. A serial can be passed to target one transmitter, and 'krode list' shows what is connected. Opening by path matters beyond that: hidraw node numbers are not stable, and were observed to swap between two transmitters across a replug. Resolving the path in the same enumeration that produced the serial keeps the two consistent. The reply is also not a single ACK. The device streams progress reports, 0x02 0x4A 0x41 <percent>, stepping to 100 — the 'status 100' in the README is the device reporting 100 % complete. Reading only the first reply announced success before the erase had finished; krode now waits for 100, and shows progress on a terminal (quietly when redirected). Documented alongside: the transmitter re-enumerates afterwards and its volume returns without a filesystem until a replug, and the serial happens to be the FAT volume UUID of that transmitter's storage, which is a practical way to tell two identical transmitters apart. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
I should have looked at the open PRs before sending this — #1 got here three It is also better than mine in places: distinguishing What does not overlap is the progress handling, and I think that one is The device does not answer once. It streams So: happy to close this and reopen a small PR containing only the progress fix, The other findings from #2 (replug needed before the volume returns, hidraw |
Follows up on #2, where I reported that the Wireless PRO answers the same
delete command. It does, unchanged — so this adds it, plus two fixes that the
second transmitter forced out into the open.
Tested on two Wireless PRO transmitters, one connected directly and one docked
in the charging case. Both erased. I do not have an Interview PRO, so that path
is unchanged by design and untested by me.
Both Wireless PRO transmitters share PID
0x0056Interview PRO gives its two units distinct PIDs, so trying each PID in turn
reaches both. Wireless PRO does not:
hid_open(vid, pid, NULL)returnswhichever transmitter enumerated first, and the other is unreachable.
Devices are now enumerated with
hid_enumerate()and opened withhid_open_path().krode deletestill erases everything connected; passing aserial targets one transmitter, and
krode listshows what is there.Node numbers are not stable
Opening by path matters beyond addressing. Replugging the charging case
swapped the two transmitters'
hidrawnumbers:Resolving the path in the same enumeration that produced the serial keeps the
two consistent, so a targeted delete cannot land on the wrong microphone.
The reply is progress, not a status code
This one is a real bug in the current behaviour, not just a Wireless PRO
concern. The device does not answer once — it streams:
Byte
[3]is a percentage. Reading only the first reply printsDone. Recordings deleted. (status: 0)while the erase is still running.krodenow waits for 100, and shows progress on a terminal — quietly whenredirected, so logs do not fill with percents.
Also documented
a filesystem until a replug. I initially thought it recovered on its own;
it does not, and someone following the old procedure would wait indefinitely.
a practical way to tell two identical transmitters apart: mount the volume,
read a filename.
Notes
-Wall -Wextra, no new dependencies.krodebinary is left untouched — this changes onlykrode.cand
README.md.Happy to adjust anything, including splitting the progress fix out if you would
rather take it separately from the device support.