Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EMU0204 44kHz and 48kHz working intermittently #112

Open
fuuuckREG opened this issue Jun 30, 2018 · 89 comments
Open

EMU0204 44kHz and 48kHz working intermittently #112

fuuuckREG opened this issue Jun 30, 2018 · 89 comments

Comments

@fuuuckREG
Copy link

hi
0204 works not so good for coreaudio and asio.
i test it on sierra and now on hisierra, it the same.

  1. 44khz it dont work anyway...only for listening in player, not any DAW.
  2. also it lag many times and i need go to driver cont.panel and change freq to different to give it "reset".
    2.1 for tets was be notice that best one is only switch on 192khz.
  3. i test also recording compensate latency with LogicPro I/O tools. it lag many time and anytime give random ping..i just switch freq or buffer, back and it show new numbers..
    i put here (down) some numbers that i test, but it take some time and makes me crazy so its not very full.

so if i can help you to fix it i give you all logs and do any tests that i can do.
so let me know what you need and what i must to do.
best regards.

i/o tools test (- is minus, number is samples)
192khz
1k -63
32 -65
64 -65
128 -60
256 -64

176.4khz
512 +310
32 -57 (random)
256 -56 (random)

96khz
1k -246
32 -275 (-553)
128 -19 (-292)
256 -291 (main?)
512 -19 (-291)

88khz
32 -255
128 -312
256 - 312
1k -312

48khz
32 -1
64 -114
256 - 116
512 -114
1024 -138
@Wouter1
Copy link
Owner

Wouter1 commented Jul 1, 2018

@fuuuckREG

0204 works not so good for coreaudio and asio

My driver is only for coreaudio. I think programs needing asio are on their own, they need to fix it themselves.

There should be no need to compensate for latency. I fine-tuned the driver so that it reports the actual latency very accurately. If that does not work properly, it must be due to something more fundamental in the driver being not working as it should.

Your user name is a bit offending. I suppose you got frustrated that you need to register to post here (I can't help that...) but your point then gets to the wrong person (me)

44khz it dont work anyway...only for listening in player, not any DAW.

Now that's odd. Playback is the most complex part of the driver, it needs the recording part to work to start with.

Does the driver work properly with "the player" at all frequencies?

Did you install driver with standard latency settings?

Can you play and record with audacity?

I have no idea what the io tools output means nor do I see how it would help to fix the issue.

I suggest that you look into the log file to see if it logs important errors

@fuuuckREG
Copy link
Author

my nick its not about you, dont worry, is fucking site dont accept 5 mail.
i lost many time becouse of crazy admins here..
and now it delete accepted one, becouse it not accept mails from site..ofcourse, i dont need this shit..stupid admins. i create it only for this topic///
anyway..sorry for it, i just was very angry, put regform again and again..

  1. so i/o toos it pugin in logic pro x - using for calculate phicycal latency for recording.
    it must be same becouse it calculate how long cables etc..but is random..
    if you dont know look this https://www.youtube.com/watch?v=7oNIq10gA0g
  2. where is log file and which name one you need? or all? say me place i give you everything.
  3. audacity i dont have it if you about DAW.
  4. driver works in players in any freq. just for playback, but in daw - no.
  5. when install i choose yes for qestion about small latency.

@Wouter1
Copy link
Owner

Wouter1 commented Jul 1, 2018

@fuuuckREG Sorry to hear that. But please change your language, I don't like it and the whole world can view it

@1 sorry I don't have time for that and it may be irrelevant
@2 you need to open the console application (Applications folde) and then you can see the logs.
@3 google it, you can download it for free.
@4 sounds then like a daw problem. Recording also works fine?
@5 maybe you can also try normal latency although low latency should work (unless you have old slow compu?)

@fuuuckREG
Copy link
Author

sorry i dont understand "change language"? im not english speaker and dont learn it.

i take a detailed video for you
so as i did it detailed, i notice that i was wrong about players..
i just never open panel and think that is 44khz by default..but it was not..
if you wanna know about players, its not important, i use this, but the same for all..
DAW also the same, cubase with asio - no difference.
so here is the video
https://mega.nz/#!EQ0CWYYL!6oIRByGBq9owl5UyEdDzTC2pPBHqbv7ArbXwFWmJQnQ

  1. sad to hear it..its important for recording vocals..
  2. ok today i come with video, logs i look little later
  3. but i dont use it and dont wont, even if it good work. all my projects in logic and cubase..if you can take some info with it i do? its really can give some logs or etc?...
  4. it was my mistake, look in video, both not works
  5. so sad, if i just unistall and install again it ok? or i can do it without unistall just run installer in master?

@Wouter1
Copy link
Owner

Wouter1 commented Jul 2, 2018

@fuuuckREG

sorry i dont understand "change language"? im not english speaker and dont learn it.

You were using rude words. I ment that you should change that and not use them here.

You should really open the control panel to see what it says. Can you try that and post pic of control panel here?

@3 audacity is using core audio which is what my driver does. I do not know about asio, FAIK asio means that the application itself will do the audio, not my driver.
What happens if you just play audio through quicktime player?

@4 What exactly is not working? BTW Tried to play your video but the online player is not working properly. I hear sound though so something seems working. I can't seem to download it. But if you say it works, then I don't need to hear it.

@5 yes uninstall and then install again. And yes, installing again will work too.

@fuuuckREG
Copy link
Author

fuuuckREG commented Jul 2, 2018

so i dont have any log options in panel and in app container no any log files..
maybe you mean log is just little messages in app window? if yeas so thereis no errors//
anyway i show everthing in video

  1. logicpro is too using coreaduio...asio using only cubase
    quicktime i write before, it same for any player, please look video..
  2. i dont understand BTW? why you cant download o-O?? just click downloadn it without cloud, u dont need some players..it h265 maybie its problem?
    but you need to look it, its not work, you hear sound of another, i show many things very detailed test.
  3. i'll try it after i find log and you see this video, its important.

@Wouter1
Copy link
Owner

Wouter1 commented Jul 2, 2018

@3 I can't help with logicpro, I'm using only coreaudio (quicktime, audacity) and sometimes reaper. I only hear sound with the online video, it stutters, and there's nothing to see

@4 can't download https://mega.nz/#!EQ0CWYYL!6oIRByGBq9owl5UyEdDzTC2pPBHqbv7ArbXwFWmJQnQ,
If I use tor the download starts and seems to complete properly but I get a file of 0 bytes.

Firefox does not get to the player website, it says

MEGA failed to load because of 

Filename: blob:https://mega.nz/854214b2-6c5e-c54a-9dfa-9d3fc656b026:61279
Exception: SecurityError: The operation is insecure.

Please click OK to refresh and try again.

How about my questions? eg "Can you try that and post pic of control panel here?"

@fuuuckREG
Copy link
Author

aa, i know this error, its becouse u use some blockers...im my case it CanvasBlocker..
off it or try another brouther w/o block plugins, thereis no viruses.

i try to put it here, so delete .zip for all files, but no first one and unarchive.
here limit for 10MB i cant upload 1 video...

emu-h264.zip
emu-h264.z01.zip
emu-h264.z03.zip
emu-h264.z02.zip

  1. please read good, Logic pro use COREAUDIO TOO!! Asio - is only for cubase, but in my case it not important becouse it the same results!
  2. your qes, also write before "so i dont have any log options in panel and in app container no any log files..
    maybe you mean log is just little messages in app window? if yeas so thereis no errors//
    anyway i show everthing in video"

@Wouter1
Copy link
Owner

Wouter1 commented Jul 2, 2018

@fuuuckREG I have no blockers.

I can download the files all right but Stuffit expander says "A failure has occured, Unexpected stuffit Engine internal error". gunzip says "unknown suffix. ignored" and I don't see anything unzipped.

Maybe you have special settings used in Logic Pro that are incorrect. I just don't know. I know that you can set problematic settings in Reaper like impossible small buffer sizes.

@4 I don't understand your answer. I'm asking you to post screenshot of the control panel. Not about logs.
The logs you can see in the Console.app in Applications/Utilities. It's standard tool coming with the OS installation.

@fuuuckREG
Copy link
Author

fuuuckREG commented Jul 2, 2018

i write "delete .zip for all files, but no first one and unarchive"
this site i cant put .z01 z02 z03 , so i rename it in .z01.zip, just delete zip, but not touch first one..
in logic no any problem settings, and i special use big buffer, but it not important..
anyway which way i can send you it? in video all you need to know..its crazy...

  1. aa, you must write it before, i look into EMU control panel, that you tell me before, there is no log.
    i can put img offcourse...but is nothing, you need look video.. becouse i change everything to show whats happened...
    emu-h264 mp4

@Wouter1
Copy link
Owner

Wouter1 commented Jul 2, 2018

You wrote "i try to put it here, so delete .zip for all files, but no first one and unarchive. here limit for 10MB i cant upload 1 video..."
I didn't understand that, thanks for your re-explanation.

Great, I can see your video now.

Seems your main problem is with 44kHz? On other rates it seems all working fine? And I see some speedup problem at 192 in your daw.

Can you work around it by using the 48kHz or the 92kHz?

And the control panel is crashing. I know, but nothing I can do about that, creative never released the source code of that. It seems to do the job...

@Wouter1
Copy link
Owner

Wouter1 commented Jul 2, 2018

Tried to attach your video here but it also refuses >10MB and says "Yowza, that's a big file". It's only 32MB, that's not big ...

@Wouter1
Copy link
Owner

Wouter1 commented Jul 2, 2018

@fuuuckREG "aa, you must write it before, i look into EMU control panel, that you tell me before, there is no log."

I'm totally not following you. I never said that there is a log in the control panel. I asked for 2 things: (1) shot of the control panel (which you gave in above screenshot) and (2) log info from console application

@fuuuckREG
Copy link
Author

fuuuckREG commented Jul 2, 2018

nice that you saw it!

  1. yes generally in daw 44khz is main problem. but in player (any player) 48khz also.
  2. speed is not problem is right way, becouse i just change freq, but not reconvert file.
  3. i work on 96khz, but some projects too big, and not many plugins work good, only in 44 so sometimes i need 44khz..
  4. ok i just mix this messages, first i think console it about panel, and after you write panel, and i mix it and mistake..
    but now i got it, i look in console, but i never use it, what i must to do? open it and again test?
    or it saves everything before?

@fuuuckREG
Copy link
Author

fuuuckREG commented Jul 2, 2018

Tried to attach your video here but it also refuses >10MB and says "Yowza, that's a big file". It's only 32MB, that's not big ...

i tell you its crazy site and you dont belive me ;)

@Wouter1
Copy link
Owner

Wouter1 commented Jul 2, 2018

@fuuuckREG

Sounds like you can do most work with a workaround. Maybe I can see something in the logs to get a clue what's going on at 44. Please post the relevant info from the logs.

Yes you open the console and then switch the driver with control panel to 44kHz. The console will show a lot of messages, also from other system tasks. You can set filters to select the EMU, or just have luck if there is no other system task messaging at the same time. Scan the log for relevant info that might point to the problem. It does NOT save anything, you have to copy/paste FAIK

@Wouter1
Copy link
Owner

Wouter1 commented Jul 2, 2018

@fuuuckREG BTW video looks good, nice job on that. Bit weird thought that it only plays in VLC not in Quicktime.

@fuuuckREG
Copy link
Author

thank you! i did it for show everything i can to kill any qestions.
ill try console tomorrow, now is night, im from japan.
just say how put filter for EMU, its command or i can see something like this in options?

@Wouter1
Copy link
Owner

Wouter1 commented Jul 2, 2018

@fuuuckREG Just start it up , switch the audio rate with control panel and check the messages coming up in the console. Check the task name associated with the messages you need and then add a filter for that task name.

@Wouter1 Wouter1 changed the title DAW and bugreporting 44kHz and 48kHz working intermittently Jul 2, 2018
@Wouter1
Copy link
Owner

Wouter1 commented Jul 2, 2018

@fuuuckREG I'm wondering about that performance warning you got in the video. What compu do you have (type, MHz, processor)?

@fuuuckREG
Copy link
Author

I'm wondering about that performance warning

this one was only becouse it error with diffirent freq driver and daw, daw force it back and 44khz not works so it error, in normal case there is no problem, i have new model its skylake i7-6700.

so here is log
i switch to 44/48/192 etc..no so many info, think its can help..
emu-log.txt

@Wouter1
Copy link
Owner

Wouter1 commented Jul 3, 2018

@fuuuckREG thanks for posting the log. Unfortunately you captured the wrong device. This is the log of the control panel. I need the log of the driver itself. When you change the rate in the control panel, the kernel task will respond to that.

@Wouter1
Copy link
Owner

Wouter1 commented Jul 3, 2018

@fuuuckREG >skylake i7-6700

Seems fast enough then, unless they really screwed up with other system components like cheap memory. Is this a mac or a hackintosh?

@fuuuckREG
Copy link
Author

ou, problem;((
is hackintosh, but setting not by newbie, work hard on it, memory ddr4 2133ghz

so i dont saw driver name, i look again, but to be shure can you say real name of driver?

@Wouter1
Copy link
Owner

Wouter1 commented Jul 3, 2018

@fuuuckREG Ok. So it might be some compatibility problem of for instance the USB chipset...

Anyway maybe the log says something useful.

It's something with EMUUSBAudioDevice I believe. I don't have the device here but just turn the filter off and check the messages

@fuuuckREG
Copy link
Author

ok, after mb 3-4hours i come back with it.
p.s. please look also your mail then you put in profile.

@fuuuckREG
Copy link
Author

so there is no another EMU process..
the one most near to it that come if i switch freq is coreaudio.

the first i just filter for you lines, this two comes when switch on 48 after 44

error	02:27:53.924297 +0900	coreaudiod	HALB_UCObject.cpp:399:SetProperty:  HALB_UCObject::SetProperty: got an error from the IORegistry, Error: 0xE00002BC
error	02:27:57.674760 +0900	coreaudiod	HALB_UCObject.cpp:399:SetProperty:  HALB_UCObject::SetProperty: got an error from the IORegistry, Error: 0xE00002BC

and next there is full log of it
when open panel it was 192, so i start switch down 176-96-88-48-44-192
emu-log.txt

@Wouter1
Copy link
Owner

Wouter1 commented Jul 3, 2018

@fuuuckREG No coreaudiod not the one, that's something of osx. I'm pretty sure it's something wit EMU and it spits a lot of logs when you change the rate.

@fuuuckREG
Copy link
Author

but thereis no another emu...
i can put all log after but is many prosess sims to bi too big..

@Wouter1
Copy link
Owner

Wouter1 commented Apr 19, 2019

Getting a warning while committing,
warning: LF will be replaced by CRLF in v11/EMUUSBAudio.kext/Contents/Info.plist.

No idea if this is important, so recording for later if we have issues in that area.

@Wouter1
Copy link
Owner

Wouter1 commented Apr 19, 2019

@fuuuckREG @sauio @sdfsssdf @vizh There now is is a version that attempts to fix this issue with EMU0204

This fix completely untested because I don't have a 0204. I even didn't test on 0404 because I have not enough time right now.

I hope one of you can give it a few tests . Maybe someone can test if it improves the reported problems first. Then we can do more thorough tests later if necessary

TO download it, go to

https://github.com/Wouter1/EMU-driver/tree/develop

instead of the usual https://github.com/Wouter1/EMU-driver

If it does not work as intended or other issues appear, please also report. You can after testing always re-install the master version that is still unchanged.

@Wouter1
Copy link
Owner

Wouter1 commented Apr 23, 2019

@sdfsssdf Thanks for testing.

Can you report what the log files now show ?

That letter 'n' has always been there, since at least 2016... It's just to show the default value if you just press enter.

@Wouter1
Copy link
Owner

Wouter1 commented Apr 25, 2019

@sdfsssdf I can't tell exactly as I have no 0204.

I need the log files around the moment the driver tries to access the problematic settings. I suppose that happens when you try to switch the rate to a specific setting? Or maybe at the moment of turn on?

The text in the log file that I need is this

"%d channel %d bit @ %d Hz is not supported. Suggesting alternate setting %d"

where each %d will be an integer number

@sdfsssdf
Copy link

@Wouter1

just to be clear

  1. play 44khz project in coreaudio logicprox
  2. no sound so i go to change freq in emu panel
  3. i go 48-88-96khz
  4. when i come to 96 sound comes, but for ~20sec and stops.
  5. important - sound stops, and after(!) i stop playing.

so because i saw in log "All playback streams stopped" i think it is important in which time and by whom it was stoped.
logs-develop.zip

@Wouter1
Copy link
Owner

Wouter1 commented Apr 26, 2019

@sdfsssdf thanks for posting the log!

@Wouter1
Copy link
Owner

Wouter1 commented Apr 26, 2019

The relevant snip of the zip file

default	17:06:06.491975 +0900	kernel	
default	17:06:06.491986 +0900	kernel	warning way-out ring wrap position
default	17:06:06.491989 +0900	kernel	
default	17:06:06.530581 +0900	kernel	+ IOAudioStream[<private>]::setProperties(<private>)
default	17:06:06.530591 +0900	kernel	+ IOAudioStream[<private>]::setFormat(<private>, <private>)
default	17:06:06.530593 +0900	kernel	+ IOAudioStream[<private>]::validateFormat(<private>, <private>, <private>)
default	17:06:06.530594 +0900	kernel	  2: streamFormat->fNumChannels = 4
default	17:06:06.530596 +0900	kernel	  0x6c70636d: streamFormat->fSampleFormat = 0x6c70636d
default	17:06:06.530596 +0900	kernel	  0x73696e74: streamFormat->fNumericRepresentation = 0x73696e74
default	17:06:06.530598 +0900	kernel	  24: streamFormat->fBitDepth = 24
default	17:06:06.530599 +0900	kernel	  24: streamFormat->fBitWidth = 24
default	17:06:06.530599 +0900	kernel	  0: streamFormat->fAlignment = 0
default	17:06:06.530600 +0900	kernel	  1: streamFormat->fByteOrder = 1
default	17:06:06.530602 +0900	kernel	  2: streamFormat->fNumChannels = 4
default	17:06:06.530603 +0900	kernel	  0x6c70636d: streamFormat->fSampleFormat = 0x6c70636d
default	17:06:06.530604 +0900	kernel	  0x73696e74: streamFormat->fNumericRepresentation = 0x73696e74
default	17:06:06.530605 +0900	kernel	  24: streamFormat->fBitDepth = 24
default	17:06:06.530606 +0900	kernel	  24: streamFormat->fBitWidth = 24
default	17:06:06.530606 +0900	kernel	  0: streamFormat->fAlignment = 0
default	17:06:06.530607 +0900	kernel	  1: streamFormat->fByteOrder = 1
default	17:06:06.530608 +0900	kernel	  2: streamFormat->fNumChannels = 4
default	17:06:06.530610 +0900	kernel	  0x6c70636d: streamFormat->fSampleFormat = 0x6c70636d
default	17:06:06.530611 +0900	kernel	  0x73696e74: streamFormat->fNumericRepresentation = 0x73696e74
default	17:06:06.530612 +0900	kernel	  24: streamFormat->fBitDepth = 24
default	17:06:06.530613 +0900	kernel	  24: streamFormat->fBitWidth = 24
default	17:06:06.530614 +0900	kernel	  0: streamFormat->fAlignment = 0
default	17:06:06.530615 +0900	kernel	  1: streamFormat->fByteOrder = 1
default	17:06:06.530616 +0900	kernel	  2: streamFormat->fNumChannels = 4
default	17:06:06.530617 +0900	kernel	  0x6c70636d: streamFormat->fSampleFormat = 0x6c70636d
default	17:06:06.530617 +0900	kernel	  0x73696e74: streamFormat->fNumericRepresentation = 0x73696e74
default	17:06:06.530619 +0900	kernel	  24: streamFormat->fBitDepth = 24
default	17:06:06.530619 +0900	kernel	  24: streamFormat->fBitWidth = 24
default	17:06:06.530621 +0900	kernel	  0: streamFormat->fAlignment = 0
default	17:06:06.530621 +0900	kernel	  1: streamFormat->fByteOrder = 1
default	17:06:06.530622 +0900	kernel	  2: streamFormat->fNumChannels = 4
default	17:06:06.530624 +0900	kernel	  0x6c70636d: streamFormat->fSampleFormat = 0x6c70636d
default	17:06:06.530625 +0900	kernel	  0x73696e74: streamFormat->fNumericRepresentation = 0x73696e74
default	17:06:06.530626 +0900	kernel	  24: streamFormat->fBitDepth = 24
default	17:06:06.530626 +0900	kernel	  24: streamFormat->fBitWidth = 24
default	17:06:06.530628 +0900	kernel	  0: streamFormat->fAlignment = 0
default	17:06:06.530628 +0900	kernel	  1: streamFormat->fByteOrder = 1
default	17:06:06.530629 +0900	kernel	  2: streamFormat->fNumChannels = 4
default	17:06:06.530630 +0900	kernel	  0x6c70636d: streamFormat->fSampleFormat = 0x6c70636d
default	17:06:06.530632 +0900	kernel	  0x73696e74: streamFormat->fNumericRepresentation = 0x73696e74
default	17:06:06.530633 +0900	kernel	  24: streamFormat->fBitDepth = 24
default	17:06:06.530633 +0900	kernel	  24: streamFormat->fBitWidth = 24
default	17:06:06.530635 +0900	kernel	  0: streamFormat->fAlignment = 0
default	17:06:06.530635 +0900	kernel	  1: streamFormat->fByteOrder = 1
default	17:06:06.530637 +0900	kernel	  4: streamFormat->fNumChannels = 4
default	17:06:06.530638 +0900	kernel	  0x6c70636d: streamFormat->fSampleFormat = 0x6c70636d
default	17:06:06.530639 +0900	kernel	  0x73696e74: streamFormat->fNumericRepresentation = 0x73696e74
default	17:06:06.530639 +0900	kernel	  24: streamFormat->fBitDepth = 24
default	17:06:06.530641 +0900	kernel	  24: streamFormat->fBitWidth = 24
default	17:06:06.530641 +0900	kernel	  0: streamFormat->fAlignment = 0
default	17:06:06.530642 +0900	kernel	  1: streamFormat->fByteOrder = 1
default	17:06:06.530643 +0900	kernel	  4: streamFormat->fNumChannels = 4
default	17:06:06.530644 +0900	kernel	  0x6c70636d: streamFormat->fSampleFormat = 0x6c70636d
default	17:06:06.530646 +0900	kernel	  0x73696e74: streamFormat->fNumericRepresentation = 0x73696e74
default	17:06:06.530647 +0900	kernel	  24: streamFormat->fBitDepth = 24
default	17:06:06.530668 +0900	kernel	  24: streamFormat->fBitWidth = 24
default	17:06:06.530669 +0900	kernel	  0: streamFormat->fAlignment = 0
default	17:06:06.530670 +0900	kernel	  1: streamFormat->fByteOrder = 1
default	17:06:06.530672 +0900	kernel	- IOAudioStream[<private>]::validateFormat(<private>, <private>, <private>) returns 1
default	17:06:06.530676 +0900	kernel	+ IOAudioEngine[<private>]::pauseAudioEngine()
default	17:06:06.530680 +0900	kernel	+EMUUSBAudioEngine[<private>]::stopUSBStream ()
default	17:06:06.530682 +0900	kernel	
default	17:06:06.571499 +0900	kernel	All playback streams stopped
default	17:06:06.571508 +0900	kernel	
default	17:06:07.531060 +0900	kernel	000971.899852 IOUSBHostFamily::validateEndpointDescriptor: USB 3.0 9.6.7: endpoint 0x01 invalid descriptor length 0 or type 0
default	17:06:07.531092 +0900	kernel	000971.899889 IOUSBHostFamily::validateEndpointDescriptor: USB 3.0 9.6.7: endpoint 0x82 invalid descriptor length 0 or type 0
default	17:06:07.532431 +0900	kernel	-EMUUSBAudioEngine[<private>]::stopUSBStream ()
default	17:06:07.532444 +0900	kernel	
default	17:06:07.532449 +0900	kernel	+-IOAudioEngine[<private>]::setState(0x2. oldState=0x1)
default	17:06:07.532491 +0900	kernel	- IOAudioEngine[<private>]::pauseAudioEngine() returns 0x0
default	17:06:07.532496 +0900	kernel	+-IOAudioEngine[<private>]::performFormatChange(<private>, <private>, <private>, <private>)
default	17:06:07.532506 +0900	kernel	+EMUUSBAudioEngine::performFormatChange existing  sampleRate is 44100 direction 0
default	17:06:07.532508 +0900	kernel	
default	17:06:07.532514 +0900	kernel	fDriverTag = 0x1000e
default	17:06:07.532516 +0900	kernel	
default	17:06:07.532521 +0900	kernel	Changing sampling rate to 48000
default	17:06:07.532524 +0900	kernel	
default	17:06:07.532531 +0900	kernel	Need to adjust input number of channels, cur = 2, new = 4
default	17:06:07.532533 +0900	kernel	
default	17:06:07.532563 +0900	kernel	Bug? EMUUSBAudioConfigObject::GetEndpointPollInterval no endpoint
default	17:06:07.532577 +0900	kernel	4 channel 24 bit @ 48000 Hz is not supported. Suggesting alternate setting 3
default	17:06:07.532579 +0900	kernel	
default	17:06:07.532596 +0900	kernel	Sound assertion "newDirection != usbInputStream.streamDirection" failed in "/Volumes/prive/EMU-driver/EMU-driver/src/EMUUSBAudio/EMUUSBAudioEngine.cpp" at line 1509 goto ((((0x38)&0x3f)<<26)|(((0)&0xfff)<<14)|0x2bc)
default	17:06:07.532598 +0900	kernel	
default	17:06:07.552910 +0900	kernel	-EMUUSBAudioEngine::performFormatChange, result = e00002bc
default	17:06:07.552926 +0900	kernel	
default	17:06:07.552910 +0900	kernel	-EMUUSBAudioEngine::performFormatChange, result = e00002bc
default	17:06:07.552926 +0900	kernel	
default	17:06:07.552929 +0900	kernel	IOAudioStream::setFormat - audio engine unable to change format
default	17:06:07.552937 +0900	kernel	+ IOAudioEngine[<private>]::resumeAudioEngine()
default	17:06:07.552942 +0900	kernel	+-IOAudioEngine[<private>]::setState(0x3. oldState=0x2)
default	17:06:07.552961 +0900	kernel	send commandWakeup on resume for [<private>]
default	17:06:07.552966 +0900	kernel	+ IOAudioEngine[<private>]::stopAudioEngine()
default	17:06:07.552969 +0900	kernel	+-IOAudioEngine[<private>]::setState(0x0. oldState=0x3)
default	17:06:07.552976 +0900	kernel	+ IOAudioDevice[<private>]::audioEngineStopped() - numRunningAudioEngines = 1
default	17:06:07.552980 +0900	kernel	+ IOAudioDevice[<private>]::scheduleIdleAudioSleep: idleSleepDelayTime = 00
default	17:06:07.552985 +0900	kernel	+ IOAudioDevice[<private>]::initiatePowerStateChange(0x0) - current = 2 - pending = 1
default	17:06:07.552989 +0900	kernel	+ IOAudioDevice[<private>]::protectedCompletePowerStateChange() - current = 2 - pending = 1
default	17:06:07.552994 +0900	kernel	- IOAudioDevice[<private>]::protectedCompletePowerStateChange() - current = 1 - pending = 1 returns 0x0
default	17:06:07.552999 +0900	kernel	- IOAudioDevice[<private>]::initiatePowerStateChange(0x0) - current = 1 - pending = 1 returns 0x0
default	17:06:07.553002 +0900	kernel	- IOAudioDevice[<private>]::scheduleIdleAudioSleep: idleSleepDelayTime = 00
default	17:06:07.553008 +0900	kernel	- IOAudioDevice[<private>]::audioEngineStopped() - numRunningAudioEngines = 0
default	17:06:07.553012 +0900	kernel	- IOAudioEngine[<private>]::stopAudioEngine() returns 0x0
default	17:06:07.553014 +0900	kernel	- IOAudioEngine[<private>]::resumeAudioEngine() returns 0x0
default	17:06:07.553022 +0900	kernel	IOAudioStream[<private>]::setFormat(<private>, <private>) returns 0x<private>
default	17:06:07.553070 +0900	kernel	- IOAudioStream[<private>]::setProperties(<private>) returns 0x<private>
default	17:06:11.163804 +0900	kernel	+ IOAudioStream[<private>]::setProperties(<private>)
default	17:06:11.163815 +0900	kernel	+ IOAudioStream[<private>]::setFormat(<private>, <private>)
default	17:06:11.163841 +0900	kernel	  0x6c70636d: streamFormat->fSampleFormat = 0x6c70636d
default	17:06:11.163871 +0900	kernel	
default	17:06:11.163903 +0900	kernel	  0x73696e74: streamFormat->fNumericRepresentation = 0x73696e74
default	17:06:11.163930 +0900	kernel	  0x6c70636d: streamFormat->fSampleFormat = 0x6c70636d
default	17:06:11.163959 +0900	kernel	  2: streamFormat->fNumChannels = 2
default	17:06:11.163962 +0900	kernel	  0x73696e74: streamFormat->fNumericRepresentation = 0x73696e74
default	17:06:11.163962 +0900	kernel	  24: streamFormat->fBitDepth = 24
default	17:06:11.163963 +0900	kernel	  24: streamFormat->fBitWidth = 24
default	17:06:11.163965 +0900	kernel	  0: streamFormat->fAlignment = 0
default	17:06:11.163965 +0900	kernel	  1: streamFormat->fByteOrder = 1
default	17:06:11.163980 +0900	kernel	+ IOAudioEngine[<private>]::sendFormatChangeNotification(<private>)
default	17:06:11.163980 +0900	kernel	- IOAudioEngine[<private>]::sendFormatChangeNotification(<private>)
default	17:06:11.163981 +0900	kernel	+ IOAudioEngine[<private>]::resumeAudioEngine()
default	17:06:11.163983 +0900	kernel	- IOAudioEngine[<private>]::resumeAudioEngine() returns 0x0
default	17:06:11.163985 +0900	kernel	IOAudioStream[<private>]::setFormat(<private>, <private>) returns 0x0
default	17:06:11.163992 +0900	kernel	++about to set output : ourInterfaceNumber = 1 & newAlternateSettingID = 6
default	17:06:11.163993 +0900	kernel	
default	17:06:11.163996 +0900	kernel	+ IOAudioStream[<private>]::validateFormat(<private>, 0x0, <private>)
default	17:06:11.163996 +0900	kernel	  2: streamFormat->fNumChannels = 2
default	17:06:11.163998 +0900	kernel	  0x6c70636d: streamFormat->fSampleFormat = 0x6c70636d
default	17:06:11.163999 +0900	kernel	  0x73696e74: streamFormat->fNumericRepresentation = 0x73696e74
default	17:06:11.164000 +0900	kernel	  24: streamFormat->fBitDepth = 24
default	17:06:11.164001 +0900	kernel	  24: streamFormat->fBitWidth = 24
default	17:06:11.164002 +0900	kernel	  0: streamFormat->fAlignment = 0
default	17:06:11.164003 +0900	kernel	  1: streamFormat->fByteOrder = 1
default	17:06:11.164004 +0900	kernel	  2: streamFormat->fNumChannels = 2
default	17:06:11.164006 +0900	kernel	  0x6c70636d: streamFormat->fSampleFormat = 0x6c70636d
default	17:06:11.164007 +0900	kernel	  0x73696e74: streamFormat->fNumericRepresentation = 0x73696e74
default	17:06:11.164020 +0900	kernel	  24: streamFormat->fBitDepth = 24
default	17:06:11.164021 +0900	kernel	  24: streamFormat->fBitWidth = 24
default	17:06:11.164023 +0900	kernel	  0: streamFormat->fAlignment = 0
default	17:06:11.164024 +0900	kernel	  1: streamFormat->fByteOrder = 1
default	17:06:11.164026 +0900	kernel	  2: streamFormat->fNumChannels = 2
default	17:06:11.164028 +0900	kernel	  0x6c70636d: streamFormat->fSampleFormat = 0x6c70636d
default	17:06:11.164029 +0900	kernel	  0x73696e74: streamFormat->fNumericRepresentation = 0x73696e74
default	17:06:11.164030 +0900	kernel	  24: streamFormat->fBitDepth = 24
default	17:06:11.164032 +0900	kernel	  24: streamFormat->fBitWidth = 24
default	17:06:11.164035 +0900	kernel	  0: streamFormat->fAlignment = 0
default	17:06:11.164036 +0900	kernel	  1: streamFormat->fByteOrder = 1
default	17:06:11.164039 +0900	kernel	- IOAudioStream[<private>]::validateFormat(<private>, 0x0, <private>) returns 1
default	17:06:11.164046 +0900	kernel	+ IOAudioStream[<private>]::setFormat(<private>, <private>)
default	17:06:11.164049 +0900	kernel	+ IOAudioStream[<private>]::validateFormat(<private>, <private>, <private>)
default	17:06:11.164050 +0900	kernel	  2: streamFormat->fNumChannels = 2
default	17:06:11.164052 +0900	kernel	  0x6c70636d: streamFormat->fSampleFormat = 0x6c70636d
default	17:06:11.164054 +0900	kernel	  0x73696e74: streamFormat->fNumericRepresentation = 0x73696e74
default	17:06:11.164056 +0900	kernel	  24: streamFormat->fBitDepth = 24
default	17:06:11.164057 +0900	kernel	  24: streamFormat->fBitWidth = 24
default	17:06:11.164058 +0900	kernel	  0: streamFormat->fAlignment = 0
default	17:06:11.164060 +0900	kernel	  1: streamFormat->fByteOrder = 1
default	17:06:11.164060 +0900	kernel	  2: streamFormat->fNumChannels = 2
default	17:06:11.164062 +0900	kernel	  0x6c70636d: streamFormat->fSampleFormat = 0x6c70636d
default	17:06:11.164064 +0900	kernel	  0x73696e74: streamFormat->fNumericRepresentation = 0x73696e74
default	17:06:11.164066 +0900	kernel	  24: streamFormat->fBitDepth = 24
default	17:06:11.164067 +0900	kernel	  24: streamFormat->fBitWidth = 24
default	17:06:11.164069 +0900	kernel	  0: streamFormat->fAlignment = 0
default	17:06:11.164070 +0900	kernel	  1: streamFormat->fByteOrder = 1
default	17:06:11.164071 +0900	kernel	  2: streamFormat->fNumChannels = 2
default	17:06:11.164073 +0900	kernel	  0x6c70636d: streamFormat->fSampleFormat = 0x6c70636d
default	17:06:11.164075 +0900	kernel	  0x73696e74: streamFormat->fNumericRepresentation = 0x73696e74
default	17:06:11.164077 +0900	kernel	  24: streamFormat->fBitDepth = 24
default	17:06:11.164078 +0900	kernel	  24: streamFormat->fBitWidth = 24
default	17:06:11.164079 +0900	kernel	  0: streamFormat->fAlignment = 0
default	17:06:11.164081 +0900	kernel	  1: streamFormat->fByteOrder = 1
default	17:06:11.164097 +0900	kernel	- IOAudioStream[<private>]::validateFormat(<private>, <private>, <private>) returns 1
default	17:06:11.164101 +0900	kernel	+ IOAudioEngine[<private>]::pauseAudioEngine()
default	17:06:11.164103 +0900	kernel	- IOAudioEngine[<private>]::pauseAudioEngine() returns 0x0
default	17:06:11.164278 +0900	kernel	+ IOAudioEngine[<private>]::updateChannelNumbers ()
default	17:06:11.164282 +0900	kernel	  o=4 i=2
default	17:06:11.164322 +0900	kernel	- IOAudioEngine[<private>]::updateChannelNumbers ()
default	17:06:11.164325 +0900	kernel	+ IOAudioEngine[<private>]::sendFormatChangeNotification(<private>)
default	17:06:11.164326 +0900	kernel	- IOAudioEngine[<private>]::sendFormatChangeNotification(<private>)
default	17:06:11.164341 +0900	kernel	+ IOAudioEngine[<private>]::resumeAudioEngine()
default	17:06:11.164342 +0900	kernel	- IOAudioEngine[<private>]::resumeAudioEngine() returns 0x0
default	17:06:11.164346 +0900	kernel	IOAudioStream[<private>]::setFormat(<private>, <private>) returns 0x0
default	17:06:11.164439 +0900	kernel	+ IOAudioEngine[<private>]::setNumSampleFramesPerBuffer(0x0)
default	17:06:11.164458 +0900	kernel	- IOAudioEngine[<private>]::setNumSampleFramesPerBuffer(0x0)
default	17:06:11.164604 +0900	kernel	+ IOAudioEngine[<private>]::setNumSampleFramesPerBuffer(0x0)
default	17:06:11.164607 +0900	kernel	- IOAudioEngine[<private>]::setNumSampleFramesPerBuffer(0x0)
default	17:06:11.164683 +0900	kernel	+ IOAudioEngine[<private>]::setNumSampleFramesPerBuffer(0x3000)
default	17:06:11.164687 +0900	kernel	- IOAudioEngine[<private>]::setNumSampleFramesPerBuffer(0x3000)
default	17:06:11.165010 +0900	kernel	called setNumSampleFramesPerBuffer with 12288
default	17:06:11.165012 +0900	kernel	
default	17:06:11.165014 +0900	kernel	newFormat->fNumChannels = 2, newFormat->fBitWidth 24
default	17:06:11.165016 +0900	kernel	
default	17:06:11.165032 +0900	kernel	+- IOAudioEngine[<private>]::completeConfigurationChange()
default	17:06:11.165037 +0900	kernel	-EMUUSBAudioEngine::performFormatChange, result = 0

@Wouter1
Copy link
Owner

Wouter1 commented Apr 26, 2019

The codde picks newAlternateSettingsID= 3 which is the good news.
However the new pick is rejected later on in the code, it seems the stream direction is not as expected

@Wouter1
Copy link
Owner

Wouter1 commented Apr 26, 2019

I normally focus on lines with EMUUSBAudioEngine label. However htere are only a few of them

The format information lines are also mixed up with other log texts, strange

It's not clear what settingsID=3 is referring to

@Wouter1
Copy link
Owner

Wouter1 commented Apr 26, 2019

@sdfsssdf I don't know yet, above are just notes for myself, and I was expecting mor eEMUUSBAudioEngine logs, maybe Apple changed something in the logging system.

Wouter1 added a commit that referenced this issue Apr 27, 2019
Wouter1 added a commit that referenced this issue Apr 27, 2019
@Wouter1
Copy link
Owner

Wouter1 commented Apr 27, 2019

@fuuuckREG @sauio @sdfsssdf @vizh I turned on more debug logging, maybe that helps figuring out what exactly is going on. Can someone retry with the latest develop version and report what the EMU driver is logging? Im looking for the text "Suggesting alternate setting" particularly

https://github.com/Wouter1/EMU-driver/tree/develop

@sdfsssdf
Copy link

@Wouter1
text is there but i think it not very helpful, only this line and no another info
log-develop2.zip

@Wouter1
Copy link
Owner

Wouter1 commented Apr 28, 2019

@sdfsssdf thanks!

@Wouter1
Copy link
Owner

Wouter1 commented Apr 28, 2019

EMUUSBAudioConfigObject::GetEndpointPollInterval iis returning 1 if an error occurs.
This is weird as 1 also seems a proper interval. In fact all values betwee 0 and 255 seem ok (https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/content/usbspec/ns-usbspec-_usb_endpoint_descriptor) but high values like 255 seem pointless as everything above 32 seeos treated the same anyway

@Wouter1
Copy link
Owner

Wouter1 commented Apr 28, 2019

That in turn may cause a problem in the actual code we try to fix, because we assume 1 is a VALID value

@Wouter1
Copy link
Owner

Wouter1 commented Apr 28, 2019

Browsing through the log file, I see that we read pollinterval values 3,4 and 8. But we need to be careful, most cases we already have computed 1<<(pollinterval-1) . Only the message EMUUSBAudioConfigObject::GetEndpointPollInterval gives the plain value.

It comes back with either 3 or 4.

4 means every full frame = 8 microframes,

@Wouter1
Copy link
Owner

Wouter1 commented Apr 28, 2019

Found the same buggy test that we had before again

if ((1 != mPollInterval) || (8 != mPollInterval))

, now in EMUUSBAudioEngine line 1541.

@Wouter1
Copy link
Owner

Wouter1 commented Apr 28, 2019

Changed the error value from 1 to to 255 to be sure that this is not screwing up our tests.
I need to test if this works before committing though... Not now as I need the driver right now

@Wouter1
Copy link
Owner

Wouter1 commented Apr 28, 2019

default 18:40:24.014755 +0900 kernel GetIsocEndpointAddress, looking for direction 255

Seems something going wrong. I think direction 255 indicates an error.

The message comes from getEndpointPollInterval as well. Are we passing direction 255 in there?

Yes, we are not checking the valuue for newDirection

    UInt8	newDirection = usbAudio->GetIsocEndpointDirection (usbInputStream.interfaceNumber, newAlternateSettingID);

We should check it, or remove it, but obviously getting direction from non-supported format will not return anything usable.

@Wouter1
Copy link
Owner

Wouter1 commented Apr 28, 2019

Changed the code to determine direction differently if the sample format is not supported on the input side anyway.

Wouter1 added a commit that referenced this issue Apr 28, 2019
…. Fix another code line with always-failing pollinterval test. Determine input direction differently if format not supported.
Wouter1 added a commit that referenced this issue Apr 28, 2019
@Wouter1
Copy link
Owner

Wouter1 commented Apr 28, 2019

@fuuuckREG @sauio @sdfsssdf @vizh I fixed some more questionable code and uploaded a new version of the driver. Can someone test if this makes any difference and post the relevant logs? Thanks!
download this develop/test driver from https://github.com/Wouter1/EMU-driver/tree/develop

@sdfsssdf
Copy link

@Wouter1
nothing changed in work
develop-log3.zip

@Wouter1
Copy link
Owner

Wouter1 commented Apr 29, 2019

@sdfsssdf thanks for testing and reporting again!

@Wouter1
Copy link
Owner

Wouter1 commented May 1, 2019

@fuuuckREG @sauio @sdfsssdf @vizh thanks for all the help but this seems not going to work. II have to spend way too much time figuring out what I had figured out a few days ago and what I changed to figure it out. In short, I need to have the device attached to debug this.

Maybe I come with a better plan but as it's now I am afraid I can't fix this this way.

@sdfsssdf
Copy link

sdfsssdf commented May 2, 2019

@Wouter1
sad to hear it...
so do you have a time plan to rent somebody device or again mb better no wait?
i ask bc i monitoring topic only now for testing..

@Wouter1
Copy link
Owner

Wouter1 commented May 2, 2019

@sdfsssdf I only have access to 0404. I have never even seen a real 0202, 0204 etc.

It seems the best I can do for these other users is to document workarounds reported by other users that tried those devices...

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

No branches or pull requests

4 participants