#4308 closed bug (fixed)
ATA finds no boot partition
Reported by: | jonas.kirilla | Owned by: | mmlr |
---|---|---|---|
Priority: | high | Milestone: | R1/alpha1 |
Component: | System/Kernel | Version: | R1/pre-alpha1 |
Keywords: | Cc: | marcusoverhagen, nielx | |
Blocked By: | Blocking: | ||
Platform: | All |
Description
After the switch to ATA I can't boot http://haiku-files.org/raw/haiku-pre-alpha-r32591-raw.zip I tried once without DMA and once with all safe mode options turned on, with the same error.
Attachments (16)
Change History (45)
by , 15 years ago
Attachment: | serial.txt added |
---|
by , 15 years ago
Attachment: | beos_listdev.txt added |
---|
by , 15 years ago
Attachment: | beos_idestatus.txt added |
---|
by , 15 years ago
Attachment: | beos_idestatus.2.txt added |
---|
by , 15 years ago
Attachment: | beos_ideinfo.txt added |
---|
by , 15 years ago
Attachment: | serial_r32000_IDE.txt added |
---|
by , 15 years ago
Attachment: | ideinfo_r32000_IDE_ata_0_master_raw.txt added |
---|
by , 15 years ago
Attachment: | ideinfo_r32000_IDE_atapi_1_master_raw added |
---|
by , 15 years ago
Attachment: | idestatus_r32000_IDE_ata_0_master_raw.txt added |
---|
by , 15 years ago
Attachment: | idestatus_r32000_IDE_atapi_1_master_raw.txt added |
---|
comment:1 by , 15 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
by , 15 years ago
Attachment: | serial_r32617_ATA.txt added |
---|
comment:3 by , 15 years ago
I don't really think that hrev32633 makes any difference, but you could still try it and report back if it changes anything.
by , 15 years ago
Attachment: | serial_r32644.txt added |
---|
comment:5 by , 15 years ago
Note the similarity with #4058 (unfortunately i won't be able to do tests until Sep 2)
comment:6 by , 15 years ago
At least booting a Haiku CD off the ATAPI drive works, but that is probably irrelevant.
comment:7 by , 15 years ago
Cc: | added |
---|
comment:8 by , 15 years ago
The IDE syslog indicates that the harddisk is connected as "ata 0 master", I'm assuming this is correct.
According to serial_r32644.txt the ATA stack gets confused and can't select the master (device 0) on bus 0.
439 ata 0 error: device 0 not selected! unused 0x0, mode 0x4, device 1 440 ata 0: cannot select device 0, assuming not present 441 ata 0: signature of device 1: 0x0000 442 ata 0 error: device ready not set 443 ata 0-1 error: sending identify request failed
On bus 1, the ATAPI master is properly recognized
453 ata 1: signature of device 0: 0xeb14 454 ata 1 error: device 1 failed, error code is 0x04 455 atapi 1-0: using DMA mode 0x12 456 ata 1: identified ATAPI device 0
comment:9 by , 15 years ago
Milestone: | R1 → R1/alpha1 |
---|---|
Priority: | normal → high |
comment:10 by , 15 years ago
Yes, the problem seems to be that device selection doesn't work. The thing is that I am unsure of the reason. Two things I could imagine: The device/controller is busy, and we must not check for the selected device until it becomes unbusy (I don't have the specs at hand, so can't verify if this is how it works, I just faintly remember something along those lines) or device selection doesn't work by only writing that single byte on the affected controller, i.e. a complete command is necessary (though I'd see this as unlikely). I have cross-verified with the IDE bus_manager, which is not exactly easy, as it works pretty differently, and have seen that it also uses LBA mode for the device selection. So I conclude that's not the problem at hand.
comment:12 by , 15 years ago
Replying to marcusoverhagen:
Can you please test the selection_patch.diff ? thanks.
To be honest I find those changes too radical. I really would like to solve this with less guessing and assumptions if at all possible. For example that the controller doesn't give us back device 0 as selected device seems strange to me in any case, and I don't really feel OK with just ignoring that fact by assuming a reset selected device 0.
comment:13 by , 15 years ago
Cc: | added |
---|
comment:14 by , 15 years ago
I modified the patch, device selection is now checked after the device is no longer busy.
Please test.
by , 15 years ago
Attachment: | syslog_r32730_plus_selection_patch2.txt added |
---|
comment:16 by , 15 years ago
Replying to jonas.kirilla:
FWIW, it works! Syslog attached.
Cool! Marcus please apply, then. Sadly Alexandre is on vacation, so he can't confirm if it fixes #4058 as well...
comment:17 by , 15 years ago
No ill effect from the patch as far as I can see on my other box - a sata-based C2Q by Fujitsu/Siemens - where ATA already worked well.
follow-up: 23 comment:19 by , 15 years ago
I seem to have the same issue, but it seems to be caused by Intel extended partitions. If I try to boot from the disk that has the extended partitions, I get a kdl with no boot partition found. If I boot from another drive ( with no extended partitions) it boots ok, but cannot see any partitions on the drive with extended partitions.
follow-up: 21 comment:20 by , 15 years ago
Perhaps some serial output will help as I have successfully booted Haiku on logical partitions successfully :) (including beyond 137gb range)
comment:21 by , 15 years ago
Replying to umccullough:
Perhaps some serial output will help as I have successfully booted Haiku on logical partitions successfully :) (including beyond 137gb range)
It would be nice if I had a way of acquiring any serial output. Unfortunately I do not have the tools.
comment:22 by , 15 years ago
You can always hit spacebar prior to boot and use the on-screen debug output with a camera :)
follow-up: 24 comment:23 by , 15 years ago
Replying to bbjimmy:
I seem to have the same issue
That's a completely different issue that just happens to have the same end result (as do other errors). Please open and move this into a separate bugreport.
comment:24 by , 15 years ago
Replying to mmlr:
Replying to bbjimmy:
I seem to have the same issue
That's a completely different issue that just happens to have the same end result (as do other errors). Please open and move this into a separate bugreport.
... and add a syslog from the system that does boot, but doesn't show the logical partitions.
comment:28 by , 15 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Can you please try with a revision >= hrev32616 and update the log?