Opened 10 years ago

Closed 10 years ago

#3853 closed bug (invalid)

EHCI bug prevent Apple products from booting Haiku

Reported by: kvdman Owned by: mmlr
Priority: normal Milestone: R1
Component: Drivers/USB Version: R1/pre-alpha1
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

Please see the ticket #1599 for relevant info.

I believe there's an EHCI error in Haiku, which makes it impossible to boot Haiku on Apple hardware (see the screenshot Z.jpg).

I cannot get a backtrace because the keyboard doesn't work on both Apple machines I've tested (MacPro, and MacBook). It is the exact same EHCI error btw.

From the ReactOS project:

'ReactOS development builds (trunk) have run fine now for two days on Intel Mac (with Bootcamp installed) computers. Intel Mac's consist of standard hardware but there are some differences which had made it impossible to run ReactOS before. Intel Mac's don't have PS/2 keyboard controllers. GRUB as well as Darwin's BIOS loader had similar problems sometime ago, good that it has been fixed in ReactOS too. Intel Mac's BIOS has a "serial port" bug, it reports that COM1 exist, but no one is there physically. Two other BIOS bug are related to reading CD/DVD drives. ReactOS does support HID-compliant devices, especially USB keyboard and mouse which is relevant for Intel Mac. We want to thank Michael Steil for making this possible. Stay tuned for ReactOS 0.3.1 which will incorporate these improvements and will be released in late december 2006.'

Attachments (2)

Z.JPG (279.5 KB ) - added by kvdman 10 years ago.
A.jpg (181.2 KB ) - added by kvdman 10 years ago.

Download all attachments as: .zip

Change History (17)

by kvdman, 10 years ago

Attachment: Z.JPG added

comment:1 by kvdman, 10 years ago

The link to that news item from ReactOS (can run on Macs since 2006 apparently) is here:

http://www.reactos.org/en/news_page_28.html

I think the guy that solved the bug for ReactOS is the founder of the Xbox Linux project:

http://www.michael-steil.de/

comment:2 by mmlr, 10 years ago

No, there is no bug. I'm absolutely sure that this is not related to USB and just a coincidence that the EHCI finisher is active. Please verify that by removing all USB drivers and the USB bus_manager. This is the classical ide stack crash. Please make sure that you really are using the ata bus_manager and ensure that you haven't installed both of them, because in that case the ide one will be used.

Also there is no problem with USB and Macs. USB itself works just fine. The problem is that the interrupt routing doesn't work. The non IO-APIC interrupt model we are using doesn't route through the PCI interrupts. Therefore the USB controllers won't be able to interrupt and all transfers will simply time out. I know that because I have reportedly working Haiku on a Mac Book with USB in polling mode.

Please verify the above points so this one can be closed.

comment:3 by marcusoverhagen, 10 years ago

There is a KDL module, not included by default in the image, which is called "auto_stack_trace". Please include it in the image to get more debug information.

comment:4 by mmlr, 10 years ago

It's unlikely that the kernel debugger modules are already loaded at this point. What you should be able to do though is to enable on screen debug output and hit "P" to disable paging so that it won't stop when the USB controllers take over.

comment:5 by kvdman, 10 years ago

How can I hit 'p' when the keyboard doesn't work?

I'll verify that I'm using the ATA bus manager by deleting the IDE drivers tomorrow, but I enabled it in the UserBuildConfig, as described by mmu_man.

In any case, the Haiku image as is (haiku-files.org), does not work on Apple products.

comment:6 by kvdman, 10 years ago

Hi Michael,

Perhaps these tickets are both irrelevant (#1599, and #3853), and can be closed. Then a new one opened regarding:

'The problem is that the interrupt routing doesn't work. The non IO-APIC interrupt model we are using doesn't route through the PCI interrupts. Therefore the USB controllers won't be able to interrupt and all transfers will simply time out. I know that because I have reportedly working Haiku on a Mac Book with USB in polling mode.'

comment:7 by anevilyak, 10 years ago

There isn't really a need for a new ticket for that, it's already a quite well known issue.

comment:8 by stippi, 10 years ago

Karl, from reading through your Live-CD comments on haikuware, it looks like you have tested your Macs with this Live-CD you made. But the problem is that when you enable the ATA stack the way Francois has prepared, it will still not be installed correctly for the boot CD (the floppy image part). I hope to make a patch today which fixes this.

comment:9 by stippi, 10 years ago

In hrev30557, I've now applied the enabling of the ATA stack via HAIKU_ATA_STACK = 1 ; in the UserBuildConfig also to generating the boot CD. You can create a boot CD with the command jam -q haiku-cd. *Only* this command will create a proper boot CD with write and attribute file system overlays, so that a ISO file-system, single-track Live-CD is created where programs think they can write to the CD. I don't know how you created the Senryu boot CD, but please check with a plain Haiku boot CD, in order to rule out any errors specific to your Senryu distro.

in reply to:  5 comment:10 by mmlr, 10 years ago

Replying to kvdman:

How can I hit 'p' when the keyboard doesn't work?

If you are able to navigate the boot menu to enable on-screen debug output (I heard it is troublesome due to it loosing keystrokes, but it should work with some persistence) you should also be able to press "p" through legacy keyboard emulation. You just have to press "p" before the USB controllers are initialized as that will kick out any remaining emulation. You can hit it after the first page of output.

comment:11 by kvdman, 10 years ago

I've used a new ISO CD as per Stephan's patch hrev30557.

Michael was right.

It now boots, but stops with a new error. It's also the same error in Qemu, as the two Macs.

Attached > A.jpg.

by kvdman, 10 years ago

Attachment: A.jpg added

comment:12 by anevilyak, 10 years ago

Blocked By: 3847 added
Resolution: invalid
Status: newclosed

That would be ticket #3847. Closing this one as it no longer serves any purpose of its own.

comment:13 by oco, 10 years ago

Blocked By: 3847 removed

(In #3847) I reproduce it on my new laptop with hrev30563. This laptop is a dual-core with 4 Gb of memory. I am not able to reproduce it on my older one with 512 Mb.
I is my own build, compiled under Haiku. I boot from a USB hard drive. I will add some more informations later (syslog and threads).

comment:14 by anevilyak, 10 years ago

Blocked By: 3847 added

(In #3847) Probably an accidental edit on oco's part. Reinstated previous blocker list.

comment:15 by axeld, 10 years ago

Blocked By: 3847 removed

(In #3847) Those bugs have *nothing* to do with this bug, so removing from the blocking ones.

Note: See TracTickets for help on using tickets.