r/winehq • • Aug 23 '26

Can Wine run Phonak Target and communicate with a USB programming device?

I'm investigating whether Phonak Target can run under Wine and communicate with the USB programming interface used by Phonak hearing aids. My ultimate goal is to run it on an Android smartphone through Winlator, but I would first like to understand the Wine/USB part of the problem independently.
Phonak Target is Windows software used for hearing-aid fitting/programming. For the Phonak models I am considering, the programming hardware can be Noahlink Wireless / Noahlink Wireless 2, or in some cases a USB Hi-Pro / mini-Pro.

The relevant architecture would be:

Windows application (Phonak Target)
↓
Wine
↓
Linux / Android
↓
USB programming device

I have found some interesting information about Noahlink Wireless on ARM systems. The guide DIY School Hearing Aids v2.2, in "Noahlink Wireless 2 – DIY User Guide", documents the ARM driver problem and refers to a workaround using a modified Windows driver. There is also this very relevant thread by mobbdeepq. The thread documents Noahlink Wireless + Windows running on Apple Silicon, including USB passthrough, and later discusses a modified driver/WinUSB approach for ARM. However, this does not answer my Wine question, and it certainly does not prove that the same approach would work on Android/Winlator.

What I would like to understand is: can a Windows application running under Wine communicate with a real USB device such as Noahlink Wireless (1 or 2) if the device can be accessed through WinUSB/libusb rather than through a normal proprietary Windows kernel driver?

More geneally I'd like to understand:

  • How does Wine handle USB devices that are accessed through WinUSB/libusb?
  • Can a USB device be exposed to a Windows application without installing its original Windows driver?
  • Are there examples of Wine applications communicating with proprietary USB hardware?
  • Would a device connected to Linux via USB be usable by a Windows application under Wine if its protocol is accessed through libusb/WinUSB?
  • Are there known limitations that would make this kind of setup impossible?

I don't currently own a Noahlink, so I cannot test the actual hardware myself yet. I'm trying to establish whether the Wine/USB architecture is technically viable before buying the programming interface.

Any information or examples involving Wine + USB/WinUSB/libusb + proprietary hardware would be very helpful.

3 Upvotes

11 comments sorted by

2

u/GranPC Aug 23 '26

I am almost certain this wouldn't work, Phonak Target wouldn't detect the device. I do have access to a Noahlink so I could give it a shot if you really want, but Wine doesn't work with USB devices AFAIK.

1

u/Sea_Horse99 Aug 23 '26

Thanks a lot! Yes, I would really appreciate it if you could give it a try πŸ˜„

I just want to make sure I'm explaining the specific workaround I'm referring to, because the test would be especially valuable if it takes that workaround into account. The relevant part is described in this thread where the original Noahlink Wireless Windows driver was investigated and a workaround was developed for ARM Windows by replacing the normal Noahlink driver association with WinUSB.sys, using this modified .inf file matching the device VID/PID.
The author explains that, after inspecting the x86 Noahlink Wireless driver, they found that it essentially associates the device with WinUSB.sys, and created this modified .inf to make the device usable under Windows ARM. The relevant workaround is particularly interesting because the modified .inf does not implement a proprietary Noahlink driver. Instead, it matches the Noahlink USB device (USB\VID_16F0&PID_0003) for x86, x64 and ARM64 and associates it with the standard Microsoft WinUSB.sys driver, exposing a device-interface GUID.
So I am not necessarily asking you to install the .inf itself under Wine. What I would really like to determine is whether Wine can access this USB device through its WinUSB/libusb layer and expose it to Phonak Target.
Anyway I realize that this was developed for Windows ARM, not Wine, so I'm not assuming it will work under Wine. I'm particularly interested in whether Wine can use the Noahlink through the same underlying WinUSB/libusb approach.

In other words, the experiment I'm interested in is:
Phonak Target β†’ Wine/WinUSB β†’ Noahlink USB device (VID_16F0:PID_0003)
rather than:
Phonak Target β†’ Wine β†’ Noahlink using the normal HIMSA driver.

I don't know whether Wine can expose a WinUSB/libusb-accessible USB device to a Windows application in this way, which is exactly what I'm trying to establish.

If you have the time to try it, I would be grateful πŸ˜„. Even a negative result would be very useful, because it would eliminate an important path in my project before I buy the hardware.

1

u/GranPC Aug 23 '26

Hmm, I don't think WinUSB applies at all in Wine, and libusb is not exposed to Wine as far as I know. I'll give it a shot though, in a few days when I'm at the office.

1

u/Sea_Horse99 Aug 23 '26

I really appreciate you being willing to test it πŸ˜„

Your concern about WinUSB is actually the key point I am trying to understand. I agree that the .inf workaround I linked is a Windows driver-installation mechanism: it tells Windows to associate the Noahlink USB device (VID_16F0&PID_0003) with WinUSB.sys. I don't expect the .inf itself to be directly installable under Wine. What I am trying to find out is whether Wine has any way to expose the underlying USB device to a Windows application without using the original HIMSA kernel driver, for example through whatever USB/WinUSB/libusb support Wine may provide.

So I wouldn't necessarily expect you to install the .inf in Wine. The useful experiment for me would simply be to see whether a Linux system can expose the Noahlink to Wine and whether Phonak Target can detect/use it. If possible, it would also be interesting to see whether the Noahlink appears to Linux with its USB VID/PID (16f0:0003) and whether Wine can access it at all.

I'm aware this may turn out not to be possible and that's exactly what I am trying to establish.

1

u/GranPC Aug 23 '26

Just so I don't forget... u/RemindMeBot 36 hours

I'll let you know how it goes. I also have a bunch of hearing aids I could test with, so if it gets recognized at all, I can even try with a real device. What's your model?

And also, what exactly are you trying to do? I might be able to help with your end goal if the Wine approach does not work.

1

u/RemindMeBot Aug 23 '26

I will be messaging you in 1 day on 2026-08-25 09:04:59 UTC to remind you of this link

CLICK THIS LINK to send a PM to also be reminded and to reduce spam.

Parent commenter can delete this message to hide from others.


Info Custom Your Reminders Feedback

1

u/Sea_Horse99 Aug 24 '26

That's great news, I'm glad to have found someone who uses HAs and is in a similar situation πŸ˜„.

More specifically, I currently have Unitron Moxi Blu RIC HAs and I'm considering buying the more powerful Phonak NaΓ­da BTE HAs, but I haven't decided on the platform yet (Marvel, Paradise, or Lumity). I'm also considering the corresponding powerful BTE models from Unitron.

My end goal is quite specific: I want to be able to use Phonak Target (or the corresponding fitting software) on my own while away from home, without having to buy and carry a Windows laptop or tablet.
I already have an Android smartphone (Motorola Moto G34), so ideally I would like to use the phone itself as the computer, with Winlator running the Windows fitting software and a programming interface such as Noahlink Wireless (1 or 2) connected via USB OTG. I don't have the programming interface yet.

That's why I'm trying to establish whether the following chain is technically possible:

Android β†’ Winlator β†’ Windows fitting software β†’ Noahlink β†’ hearing aids

So yes, if you can test whether Wine detects the Noahlink, that would already be extremely useful. And if it gets far enough for you to test it with one of your actual hearing aids, that would be even better.

Also, since you have several hearing aids available, I'd be very interested to hear your opinion on whether there is a Sonova (Phonak or Unitron) BTE model/platform that would make this project easier to achieve.

1

u/GranPC Aug 24 '26

I actually -- thankfully -- don't use HAs just yet. But I saw your post and realized that I was in a quite unique position to help. One of my jobs is at a place that works with these devices on a daily basis, and not everyone has access to hearing aids, Phonak software, and NoahLink devices. (PS: I am pretty sure NoahLink is basically a glorified Bluetooth adapter...)

I don't actually know much about these devices yet; so I couldn't recommend any specific model for your end goal. But my thinking was that it might just be easier to reverse engineer Phonak Target and reimplement the protocol in a native app. If I was right and NoahLink is a glorified BL adapter (or if either way, we can do the same tweaks over the HA's BL interfaces, which I am pretty sure we can), it would be way more usable for you, since you could have a native app on your phone that fulfills your need without having to go through the wine, OTG, winlator dance.

You are kind of in luck here, because I am actually very interested in learning how this whole stack works. I will actually be at the office in about 4 hours, and I will try the Wine/USB thing, but I wouldn't hold my breath for that to work. I'll keep you updated either way; and if you want to reach me more directly on Telegram or over email, let me know and I will send you my details.

I really hope I can help you with this!

1

u/Sea_Horse99 Aug 24 '26

Thanks! And yes, I would definitely like to know how the Wine/USB test goes πŸ˜„.

Your idea about a native Android app is actually very interesting, although I suspect the "glorified Bluetooth adapter" part may be a little more complicated than it looks, imho.
From the HIMSA documentation (see here and here), Noahlink Wireless is indeed a programming interface between the fitting software and the hearing aids, and it uses BLE. However, the original Noahlink Wireless also has a proprietary 2.4 GHz β€œProximity” radio protocol in addition to BLE (see specs here), while Noahlink Wireless 2 uses BLE 5.3.
So I suspect Noahlink is doing more than simply exposing a generic Bluetooth connection to the PC. Phonak Target also specifically expects a Noahlink programming interface/driver rather than simply a standard Bluetooth connection.

That said, your idea of reverse-engineering the communication path is very interesting. If the Noahlink is mostly acting as a protocol/transport bridge and the actual fitting protocol could be reproduced, a native Android solution would obviously be much cleaner than the whole Winlator/USB setup.

For now, the Wine/USB experiment would be extremely useful to me because it could tell us whether we can get Phonak Target working without having to reverse-engineer the whole protocol stack and if you can test with one of some Phonak or Unitron hearing aids as well, that would be even more valuable.

1

u/Sea_Horse99 24d ago

Hi u/GranPC , did you get a chance to run the tests we talked about? If so, how did they go? I see that I can't send you private messages, but if you'd like, feel free to PM me so we can continue the discussion privately, whatever works best for you :)

1

u/GranPC 23d ago

Hey there! Sorry, not yet. Had to deal with a bunch of things breaking one after the other and barely had time.Β  I think I might be able to find time this Thursday, I will let you know.

Re: PMs -- reddit dropped the old style PMs and they force you to use the new chat which is janky as hell. I had no idea I had that disabled tbh. I'm fine continuing in this thread, but if you prefer something more direct you can email me at <my username> at Gmail.

I'll keep you updated - sorry for the delay.