Opened 13 years ago
Last modified 6 years 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 | |
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)
Change History (28)
comment:1 by , 13 years ago
Component: | - General → Audio & Video |
---|---|
Platform: | All → x86 |
Version: | R1/alpha3 → R1/Development |
comment:2 by , 13 years ago
comment:3 by , 13 years ago
Component: | Audio & Video → Drivers/Audio/emuxki |
---|---|
Owner: | changed from | to
comment:4 by , 13 years ago
Please also check whether it boots successfully when the emuxki driver isn't present.
by , 13 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 , 13 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.
comment:6 by , 13 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 , 13 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 , 13 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 , 13 years ago
@anevilyak correct @dsuden could you try to disable SMP (that should disable IOAPIC too)?
follow-up: 12 comment:11 by , 12 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!
comment:12 by , 12 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
follow-ups: 15 16 comment:14 by , 12 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.
comment:15 by , 12 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 ?
comment:16 by , 12 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?
follow-up: 18 comment:17 by , 12 years ago
No, it's still out. Should I put it back and try it again?
comment:18 by , 12 years ago
comment:19 by , 12 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:21 by , 12 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.
comment:22 by , 12 years ago
Component: | Drivers/Audio/emuxki → Drivers/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 , 12 years ago
Blocking: | 9113 added |
---|
comment:24 by , 12 years ago
Blocking: | 8507 added |
---|
comment:25 by , 12 years ago
Blocking: | 7665 added |
---|
comment:26 by , 6 years ago
Keywords: | boot-failure added |
---|
comment:27 by , 6 years ago
Blocking: | 7665 removed |
---|
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?