Opened 7 years ago

Last modified 17 months ago

#8649 new bug

Presence of SoundBlaster Live causes Haiku not to finish booting

Reported by: dsuden Owned by: korli
Priority: normal Milestone: R1
Component: Drivers/Audio Version: R1/Development
Keywords: boot-failure Cc:
Blocked By: Blocking: #8507, #9113
Has a Patch: no Platform: x86

Description

With a SB Live card in the PCI slot, I am unable to get my Haiku computer to boot beyond the blue screen. The screen appears, with centered mouse, and then we get no further. I am using Haiku H44242 (though this has happened with other versions as well). The computer is a MSI 870-G46 AM3 motherboard with AMD Athlon II 3.40 Ghz processor and 2 gigs of RAM. SATA hard drives. The motherboard has built-in HDA audio which works fine (for output anyway), but I have to have the second audio output capability of the SB Live so I really need to find the solution to this one. The mystery: What is it about the (card/driver/mobo/OS?) that causes Haiku to stall right before the desktop appears?

Attachments (1)

SYSLOG00.TXT (71.3 KB ) - added by dsuden 7 years ago.
SYSLOG grabbed from boot menu/USB after a stalled boot due to EMUXKI/SB Live issue

Download all attachments as: .zip

Change History (28)

comment:1 by dsuden, 7 years ago

Component: - GeneralAudio & Video
Platform: Allx86
Version: R1/alpha3R1/Development

comment:2 by anevilyak, 7 years ago

Without significantly more information there's pretty much no effective way to debug this. Are you able to grab a syslog to a USB stick via the bootloader after it hangs as detailed at wiki:ReportingBugs#Syslog ? If so, please upload it. Also, does disabling IO-APIC and/or booting in fail-safe video mode make any difference?

comment:3 by anevilyak, 7 years ago

Component: Audio & VideoDrivers/Audio/emuxki
Owner: changed from nobody to korli

comment:4 by korli, 7 years ago

Please also check whether it boots successfully when the emuxki driver isn't present.

by dsuden, 7 years ago

Attachment: SYSLOG00.TXT added

SYSLOG grabbed from boot menu/USB after a stalled boot due to EMUXKI/SB Live issue

comment:5 by dsuden, 7 years ago

I tried disabling IO-APIC and using Fail Safe Video Mode, however there was no improvement...still stalled just before displaying the desktop.

I have attached a syslog that was created using the write-to-fat32 usb option, immediately after experiencing a stalled boot attempt.

Korli's suggestion worked: disabling the driver does allow to finish booting normally.

Let me know if there's any other data I can gather for you.

Last edited 7 years ago by dsuden (previous) (diff)

comment:6 by anevilyak, 7 years ago

Looks like it's stalling while trying to set up the MIDI controller (mpu401). You could try removing just that module rather than emuxki and see if that works.

comment:7 by korli, 7 years ago

@anevilyak I'm surprised with the following:

        [dom 0, bus  3] bus   3, device  6, function  0: vendor 1102, device 0002, revision 07
	PCI:   class_base 04, class_function 01, class_api 00
	PCI:   vendor 1102: Creative Labs
	PCI:   device 0002: SB Live! EMU10k1 (CT4780 SBLive! Value)
	PCI:   info: Multimedia controller (Multimedia audio controller)
	PCI:   line_size 00, latency 40, header_type 80, BIST 00
	PCI:   ROM base host 00000000, pci 00000000, size 00000000
	PCI:   cardbus_CIS 00000000, subsystem_id 8022, subsystem_vendor_id 1102
	PCI:   interrupt_line 0b, interrupt_pin 01, min_grant 02, max_latency 14
	PCI:   base reg 0: host 0000d800, pci 0000d800, size 00000020, flags 01
	PCI:   base reg 1: host 00000000, pci 00000000, size 00000000, flags 00
	PCI:   base reg 2: host 00000000, pci 00000000, size 00000000, flags 00
	PCI:   base reg 3: host 00000000, pci 00000000, size 00000000, flags 00
	PCI:   base reg 4: host 00000000, pci 00000000, size 00000000, flags 00
	PCI:   base reg 5: host 00000000, pci 00000000, size 00000000, flags 00
        PCI:   Capabilities: PM

and (source indicates it is hexadecimal):

emuxki: installing interrupt : 15

comment:8 by anevilyak, 7 years ago

@korli Wouldn't 0x15 be a valid interrupt line when IO-APIC is involved?

address 0x6ffff; pin 0; GSI 21; pci 3:6 pin 1 func mask 1; bios irq: 11; gsi 21; config 0x06

comment:9 by korli, 7 years ago

@anevilyak correct @dsuden could you try to disable SMP (that should disable IOAPIC too)?

comment:10 by dsuden, 7 years ago

Tried disabling SMP but no improvement.

comment:11 by dsuden, 7 years ago

Ah, somewhat of a breakthrough...

With the MPU401 MIDI driver moved out of the way, I AM able to boot! And the Creative card does show up in listdev:

device Input device controller [9|80|0]

vendor 1102: Creative Labs device 7002: SB Live! Game Port

device Multimedia controller (Multimedia audio controller) [4|1|0]

vendor 1102: Creative Labs device 0002: SB Live! EMU10k1

However the card does not show up in media prefs, so it's not presently accessible/useable...BUT we're getting closer!

Last edited 7 years ago by dsuden (previous) (diff)

in reply to:  11 comment:12 by korli, 7 years ago

Replying to dsuden:

Ah, somewhat of a breakthrough...

With the MPU401 MIDI driver moved out of the way, I AM able to boot! And the Creative

Hmm the driver uninits and exits when it doesn't find its mpu401 module dependency.

If you happen to build emuxki yourself you could disable MIDI here: http://cgit.haiku-os.org/haiku/tree/src/add-ons/kernel/drivers/audio/emuxki/emuxki.h#n65

comment:13 by dsuden, 7 years ago

We'll try that and report back, thanks.

comment:14 by dsuden, 7 years ago

We tried commenting out the section related to MIDI and recompiling, but no change. Current status remains: we can now boot with SB LIve card in the slot, and it shows up in listdev, but it doesn't show up in Media Prefs yet.

Last edited 7 years ago by dsuden (previous) (diff)

in reply to:  14 comment:15 by anevilyak, 7 years ago

Replying to dsuden:

We tried commenting out the section related to MIDI and recompiling, but no change. Current status remains: we can now boot with SB LIve card in the slot, and it shows up in listdev, but it doesn't show up in Media Prefs yet.

What if you also try commenting out the block at http://cgit.haiku-os.org/haiku/tree/src/add-ons/kernel/drivers/audio/emuxki/emuxki.c#n2918 ?

in reply to:  14 comment:16 by korli, 7 years ago

Replying to dsuden:

We tried commenting out the section related to MIDI and recompiling, but no change. Current status remains: we can now boot with SB LIve card in the slot, and it shows up in listdev, but it doesn't show up in Media Prefs yet.

Did you put the mpu401 module back for this test?

comment:17 by dsuden, 7 years ago

No, it's still out. Should I put it back and try it again?

in reply to:  17 comment:18 by korli, 7 years ago

Replying to dsuden:

No, it's still out. Should I put it back and try it again?

Yes

comment:19 by dsuden, 7 years ago

I goofed bigtime, Korli! I should have written down where the file had been located before I moved it out. I moved it and also got rid of a link to it that was in another folder. Can you clue me in on where the actual file, and the link, should go? Sorry 'bout that!

comment:20 by korli, 7 years ago

the binary should reside in /system/add-ons/kernel/generic/

comment:21 by ttcoder, 7 years ago

@anevilyak -- commenting out the get_module(B_MPU_401_MODULE_NAME..) block fixed it for Dane ! I made that change in case it was easier than finding the mpu driver ..etc :-) He's now able to boot up and to pick either HDA or SB-Live as its main audio output and that works.

We still don't have our actual final goal though -- being able to play some streams to both primary and secondary at the same time: we get a crash on the 'secondary' (didn't see the backtrace yet, we might file a different ticket).

But I guess this one ticket is now closer to being resolved and could be retitled as "mpu401 driver makes Haiku hang at boot-up" or something.

---

EDIT:

ok the stack crawl is the same-old weird problem we have when compiling TT in BeOS instead of compiling in Haiku, gotta fix that and we should be good with the "no MPU" workaround:

 Center/TuneTracker (216) thread w>TuneTracker (259)]
0x009089ec in __class_type_info::dcast () from /boot/system/lib/libroot.so
(gdb) bt
#0  0x009089ec in __class_type_info::dcast () from /boot/system/lib/libroot.so
#1  0x00909647 in __dynamic_cast () from /boot/system/lib/libroot.so
#2  0x0037da34 in BPrivate::media::BMediaRosterEx::RegisterNode ()
  from /boot/system/lib/libmedia.so
#3  0x0037ee7e in BPrivate::media::BMediaRosterEx::InstantiateDormantNode ()
  from /boot/system/lib/libmedia.so
#4  0x0037f2fd in BMediaRoster::InstantiateDormantNode ()
  from /boot/system/lib/libmedia.so
#5  0x0037f42e in BMediaRoster::InstantiateDormantNode ()
  from /boot/system/lib/libmedia.so
#6  0x00261c4e in MediaSoundcardEnumerator::GetOrMakeMixerFor ()
#7  0x0024319f in BigMainWindow::MessageReceived ()
#8  0x004bc3fb in BLooper::DispatchMessage () from /boot/system/lib/libbe.so
#9  0x00593bc1 in BWindow::DispatchMessage () from /boot/system/lib/libbe.so
#10 0x00597fac in BWindow::task_looper () from /boot/system/lib/libbe.so
#11 0x004bd957 in BLooper::_task0_ () from /boot/system/lib/libbe.so
#12 0x0090e6e3 in thread_entry () from /boot/system/lib/libroot.so
#13 0x780f6fec in ?? ()
Current language:  auto; currently c++
(gdb) 

I am making this text a stealth edit to not trigger unneeded email notification noise, will wait until Dane's positive confirmation first.

Last edited 7 years ago by ttcoder (previous) (diff)

comment:22 by ttcoder, 7 years ago

Component: Drivers/Audio/emuxkiDrivers/Audio

Confirming, the issues central to this ticket are gone:

  • "Haiku does not finish booting": it does now, using our build of the emuxki driver that severs the dependancy to the MIDI/mpu401 driver.
  • additionally, after managing to eventually boot up, the SB-Live was usable only as primary sound device: it's ok now, it may be used as secondary device as well now that we are using a Haiku (not BeOS) binary of tunetracker. There's probably an ABI compatibility issue somewhere, don't care much about that.

So this ticket could go low priority me thinks... Best that Haiku Inc's limited resources be dedicated to issues that do NOT have easy workaround :-) .. Debugging the mpu401 driver's activation/initialization can wait.

P.S. Tried to recategorize this ticket but there is no "Drivers/Audio/MIDI-mpu401" category in Trac.

comment:23 by diver, 7 years ago

Blocking: 9113 added

comment:24 by ttcoder, 7 years ago

Blocking: 8507 added

(In #8507) Just saw this ticket and realized it's likely a dupe of #8649 on the same (?) hardware. 8649 is more recent but has more info, including hints to a resolution, so I guess this older ticket should be the one closed as dupe of the newer 8649...

comment:25 by luroh, 7 years ago

Blocking: 7665 added

comment:26 by waddlesplash, 17 months ago

Keywords: boot-failure added

comment:27 by waddlesplash, 17 months ago

Blocking: 7665 removed
Note: See TracTickets for help on using tickets.