mdias/rs_asio

ESI MAYA44 eX is working

MicRaving opened this issue · 5 comments

The ESI MAYA44 eX is working. The configuration is:

Driver= ASIO 2.0 - ESI MAYA44 eX

Channel = 0 - first In/Output
Channel = 1 - second In/Output
Channel = 2 - third In/Output
Channel = 3 - forth In/Output

Strangely, RS ASIO only works the first time I launch Rocksmith. Any subsequent launches of the game result in errors that can only be resolved by rebooting my PC.

Anyway, thank you very much for your great work!

mdias commented

Thank you for the report! I've added the interface to the list 👍

Would you mind sharing the log file for when it fails to re-launch the game?
There seems to be a couple of interfaces where this happens, and maybe the log can provide some insight on what's going on.

Also, do you know if any other ASIO-enabled software can use the interface after you've used it with Rocksmith? There's a chance other software "restarts" the drivers in a way that would allow you to re-launch Rocksmith successfuly.

Attached you find a "fail" log. I also attached a log for when it succeeds. Hope that helps.
As far as I can see other software like Cubase is unable to use the driver then, too.
RS_ASIO-log - fail.txt
RS_ASIO-log - success.txt

mdias commented

This seems to be a quirky driver. I've heard before that only some software can recover from such driver state, but it would be nice to figure out what is it that we can tell the driver for it to restart.

I've made 2 different RS_ASIO.dll builds that try to do this, but it's not impossible that they just crash on launch, we'll see... If you're able to test them, please keep your original files and config, and just replace the RS_ASIO.dll file with:
first this one: RS_ASIO.dll test 1
and if it doesn't work, this one: RS_ASIO.dll test 2

If they fail or succeed, please attach also the log files generated for each one. If they both fail, I have no idea tbh... The drivers should shutdown properly when the app exits, but it seems there's the odd interface where this doesn't happen :/

Unfortunately, the DLLs failed, too (log files attached). Starting Cubase didn't work either.
These DLLs seemed to have a different kind of fail state than the "mainline" one, though. During the first unsuccessful launch, Rocksmith prompted an error message that no audio device was attached as usual. In any subsequent unsuccessful launches there was no error prompt an Rocksmith seemed to do a fallback to the normal audio drivers. The error logs were different, too (log file "fail 2").

I can try and reach out for the devs at ESI if you like. No idea if they can help but they are usually extremely responsive and even sent me an unofficial beta driver when I had issues. Is there any information I should provide them on this issue? I'm not a developer myself so I would value noob-friendly instructions :)

RS_ASIO1-log fail 1.txt
RS_ASIO1-log fail 2.txt
RS_ASIO1-log success.txt
RS_ASIO2-log fail.txt
RS_ASIO2-log success.txt

mdias commented

Sorry for the delayed reply, and thank you for the extensive testing.
It seems there isn't much I can do in this case.

Reaching out to the ESI devs is indeed the best idea. As for information to send them, you could just tell them I think just telling them what you're experiencing should be fine. That would be that after using RS_ASIO once and exiting the game the drivers seem to no longer be able to re-open the audio interface. In particular, your driver is outputting the following error when trying to open the device: ESI MAYA44 XTeASIO Open Fails

You could try to see if other applications can also mimick this by using them (before you use RS_ASIO) and then simulating a crash of that application by cusing the windows Task Manager, and then on the "Details" tab, closing the application, like so:
taskmanager

After this, try to re-open the same application and see if there's also an error. If there is, it's probably a best case to send to the devs, specially if it's a popular ASIO application. This will test if the drivers can successfuly recover from some sort of ungraceful uninitialization (which they should).

Also, another workaround you can try is to unplug and then replug your interface's USB cable, as it might force restart the driver. Or it might not. But this is still a workaround and the drivers should ideally be able to handle this.