Opened 10 years ago

Closed 6 years ago

#76 closed defect (fixed)

USB AUDIO: ticket #75 followup

Reported by: Lars Erdmann Owned by:
Priority: major Component: USBAUDIO
Version: Keywords:
Cc: eg@…

Description

Continue ticket #75. The issues: 1) USBAUDIO.SYS fails with a full system reboot probably because some stream event fires (stream is stopped or hits the end etc.)

2) no sound or distorted sound at least with some players and/or sound formats

Attachments (4)

svn1068.zip (97.2 KB) - added by Lars Erdmann 10 years ago.
For data structure passed to stream manager during timer tick (interrupt context) place it into data section and not on stack
svn1074.zip (97.5 KB) - added by Lars Erdmann 10 years ago.
miscellanous rework on Audio IOCTLs and buffer return
usbehcd.zip (75.5 KB) - added by Lars Erdmann 10 years ago.
"CancelIsoReq?": isoInfo might be NULL, handle accordingly
svn1082.zip (124.7 KB) - added by Lars Erdmann 10 years ago.
some changes to AUDIO_IOCTL_init routine, MMX implementation of PCM8 to PCM16 + data duplication

Download all attachments as: .zip

Change History (19)

Changed 10 years ago by Lars Erdmann

Attachment: svn1068.zip added

For data structure passed to stream manager during timer tick (interrupt context) place it into data section and not on stack

comment:1 Changed 10 years ago by Lars Erdmann

Cc: eg@… added

comment:2 Changed 10 years ago by Eugene Gorbunoff

tester G reports: the same behavior as previous debug builds

comment:3 Changed 10 years ago by Lars Erdmann

Could you please be more explicit ? Still the trap including system reboot or what ?

Changed 10 years ago by Lars Erdmann

Attachment: svn1074.zip added

miscellanous rework on Audio IOCTLs and buffer return

comment:4 Changed 10 years ago by Lars Erdmann

Try svn1074.zip.

comment:5 Changed 10 years ago by Eugene Gorbunoff

notes about 1068:

tester G:

  • SVN1068 - the same behavior as previous debug builds
  • WAV files are played by OS good
  • PM123 => system traps in the of the sound file.
  • system sounds are .. distorted. wrong sound
  • MMOS2 was initialized, then the driver was installed

comment:6 Changed 10 years ago by Lars Erdmann

If you are ever able to get a trap screen on use of PM123, PLEASE take a screenshot of it and attach it here !

What does that mean "MMOS2 was initialized, then the driver was installed". Is this now good or bad ?

comment:7 Changed 10 years ago by Eugene Gorbunoff

1) help me remember, how to see trap screen? the tester G added REIPL=OFF to config.sys - he doesn't see trap screen.

2) Tester G installed svn1074

  • system sounds on startup - distorted / wrong (as before)
  • Play WAV => OK, the next file - OK
  • !!! PM123 works more stable now, user could listen 3 - 5 audio files without crash. He switches from one audio file to other (usually this immediately causes crash).

The system reboots on the (let's say) 7-th file => system hangs.. 10 seconds pause => reboot

Changed 10 years ago by Lars Erdmann

Attachment: usbehcd.zip added

"CancelIsoReq?": isoInfo might be NULL, handle accordingly

comment:8 Changed 10 years ago by Lars Erdmann

regarding trap:

please backup USBEHCD.SYS/USBEHCD.SYM and use the contents from usbehcd.zip.

comment:9 Changed 10 years ago by Eugene Gorbunoff

  • Tester G:
  • SVN1074

1) testing PM123

  • no reboots, you can play audio files now!
  • after 4 or 5 played tracks the player stops. If click audio files again, it shows message:

MCI Erorr 5032: instance inactive

  • you can click again - it plays files again, Then problem repeats.

2) systems sounds are distorted

3) WAV files - OK. no reboots

Changed 10 years ago by Lars Erdmann

Attachment: svn1082.zip added

some changes to AUDIO_IOCTL_init routine, MMX implementation of PCM8 to PCM16 + data duplication

comment:10 Changed 10 years ago by Lars Erdmann

Try svn1082.zip. This is just to make sure everything still works ok. I still need to completely implement the PCM8 to PCM16 conversion. In other words: point 2) is still a problem.

comment:11 Changed 10 years ago by Eugene Gorbunoff

tester G:

  • USBAUDIO SVN1082
  • System sounds on boot - very quick play
  • WAV files - OK
  • Pm123 - 3-4 files - OK, then hangs. Then it will play one track and hangs again,

comment:12 Changed 10 years ago by Lars Erdmann

1) "System sounds on boot - very quick play": the system sound files are 8-bit PCM, 1 channel, 11025 Hz sampling rate (at least most of them). Most if not all USB audio adapters only support 16-bit PCM, 2 channels, 44100 Hz sampling rate. In other words: functionality needs to be added to convert input format to output format on the fly. I am currently investigating of where to put this code. Until I find a solution, we will have to live with this problem.

2) "pm123 - 3-4 files - OK, then hangs": with "hang" do you only mean that pm123 hangs or does the complete system hang/trap ? Compared to SVN rev 1074 has this now become worse or is it about the same between SVN rev 1082 and svn rev 1074 ? If you still get system traps/hangs, this obviously needs to be fixed first.

You will need to continue to use the updated USBEHCD.SYS driver. It definitely contained a bug that would lead to a system trap on playing isochronous data streams (as are used by USB audio devices).

comment:13 Changed 10 years ago by Eugene Gorbunoff

2) let's call this "freeze", not "hang". The system is alive, PM123 stop playing. Behavior like SVN1074

comment:14 Changed 10 years ago by warpuser

Thanks for the updates on the usbaudio driver. I'm using:

USB Host Controller Driver 197 USB HID driver 197 USB Audio driver svn1082

The system plays system sounds just fine, but the playback speed is too fast. When trying with PM123 its sometime possible to play one file but on the next try the usb stack itself stopped working because mouse and keyboard stopped working - the system doesn't stop working.

comment:15 Changed 6 years ago by Lars Erdmann

Resolution: fixed
Status: newclosed

In the meantime sample rate conversion was added to USBAUDIO.SYS. Numerous other fixes went into USBAUDIO.SYS.

Note: See TracTickets for help on using tickets.