Opened 10 years ago

Closed 2 years ago

#4050 closed bug (not reproducible)

ATA driver cannot recognize 2nd HDD

Reported by: mt Owned by: marcusoverhagen
Priority: normal Milestone: R1
Component: Drivers/Disk/ATA Version: R1/Development
Keywords: Cc:
Blocked By: Blocking: #4535
Has a Patch: no Platform: x86

Description

With IDE driver, system can recognize 2nd HDD's BFS partitions. But, with ATA driver cannot recognize 2nd HDD's BFS partitions. (See DriveSetup screenshots)
Tested hrev31322, gcc4/gcc2 hybrid
HDDs are connected via JMB363 SATA card, not on board SATA.

Attachments (10)

DriveSetup_ide.png (42.5 KB ) - added by mt 10 years ago.
DriveSetup_ata.png (33.1 KB ) - added by mt 10 years ago.
syslog_ide.txt (77.7 KB ) - added by mt 10 years ago.
syslog_ata.txt (65.2 KB ) - added by mt 10 years ago.
listdev.txt (2.5 KB ) - added by mt 10 years ago.
DriveSetup_ata_r32984.png (34.0 KB ) - added by mt 10 years ago.
syslog_ata_r32984.txt (68.1 KB ) - added by mt 10 years ago.
Drivesetup_hrev48280.png (31.1 KB ) - added by mt 5 years ago.
syslog_ata_hrev48280.txt (137.7 KB ) - added by mt 5 years ago.
listdev_hrev48280.txt (2.1 KB ) - added by mt 5 years ago.

Download all attachments as: .zip

Change History (32)

by mt, 10 years ago

Attachment: DriveSetup_ide.png added

by mt, 10 years ago

Attachment: DriveSetup_ata.png added

by mt, 10 years ago

Attachment: syslog_ide.txt added

by mt, 10 years ago

Attachment: syslog_ata.txt added

by mt, 10 years ago

Attachment: listdev.txt added

comment:1 by marcusoverhagen, 10 years ago

Cc: mmrl added

The jmicron controller is running in IDE/ATA compatibility mode, so AHCI is not relevant here. Also partition type being BFS is not relevant.

It looks like we properly detect the harddisk, but then fail whenever trying a read access.

Relevant parts from logfile:

208 KERN: PCI: [dom 0, bus  3] bus   3, device  0, function  0: vendor 197b, device 2363, revision 02 
209 KERN: PCI:   class_base 01, class_function 01, class_api 85 
210 KERN: PCI:   vendor 197b: JMicron Technologies, Inc. 
211 KERN: PCI:   device 2363: JMicron 20360/20363 AHCI Controller 
212 KERN: PCI:   info: Mass storage controller (IDE interface) 
213 KERN: PCI:   line_size 04, latency 00, header_type 00, BIST 00 
214 KERN: PCI:   ROM base host edfe0000, pci edfe0000, size 00010000 
215 KERN: PCI:   cardbus_CIS 00000000, subsystem_id 2363, subsystem_vendor_id 197b 
216 KERN: PCI:   interrupt_line 0a, interrupt_pin 01, min_grant 00, max_latency 00 
217 KERN: PCI:   base reg 0: host 0000e800, pci 0000e800, size 00000010, flags 09 
218 KERN: PCI:   base reg 1: host 0000e400, pci 0000e400, size 00000010, flags 0d 
219 KERN: PCI:   base reg 2: host 0000e000, pci 0000e000, size 00000010, flags 09 
220 KERN: PCI:   base reg 3: host 0000d800, pci 0000d800, size 00000010, flags 0d 
221 KERN: PCI:   base reg 4: host 0000d400, pci 0000d400, size 00000010, flags 01 
222 KERN: PCI:   base reg 5: host edffe000, pci edffe000, size 00002000, flags 00 
223 KERN: PCI:   Capabilities: PM, PCIe 


556 KERN: PCI-IDE: Controller in native mode: cmd 0xe800, ctrl 0xe402, irq 10 
557 KERN: PCI-IDE: init channel... 
558 KERN: PCI-IDE: channel index 0 
559 KERN: PCI-IDE: bus master base 0xd400 
560 KERN: PCI-IDE: init channel done 
561 KERN: usb hub 2: port 0: new device connected 
562 KERN: ata 4: signature of device 0: 0x0000 
563 KERN: ata 4: signature of device 1: 0x0000 
564 KERN: ata 4-0: using DMA mode 0x16 
565 KERN: ata 4: identified ATA device 0 
566 KERN: ata 4-1: using DMA mode 0x16 
567 KERN: ata 4: identified ATA device 1 
568 KERN: ata 4 error: command failed, error bit is set: 0x04 
569 KERN: publish device: node 0x80fbdf50, path disk/ata/4/master/raw, module drivers/disk/scsi/scsi_disk/device_v1 
570 KERN: ata 4 error: command failed, error bit is set: 0x04 
571 KERN: publish device: node 0x80fc4190, path disk/ata/4/slave/raw, module drivers/disk/scsi/scsi_disk/device_v1 
572 KERN: ata 4 error: invalid target device 
573 KERN: Last message repeated 12 times. 


686 KERN: KDiskDeviceManager::_ScanPartition(/dev/disk/ata/4/slave/raw) 
687 KERN: intel: ep_std_ops(0x1) 
688 KERN:   trying: partitioning_systems/intel/extended/v1 
689 KERN:   returned: -1 
690 KERN: intel: ep_std_ops(0x2) 
691 KERN:   trying: partitioning_systems/intel/map/v1 
692 KERN: intel: pm_identify_partition(0, 1: 0, 80026361856, 512) 
693 KERN: usb hub 22: port 0: device removed 
694 KERN: das_read(): request.Wait() returned: Device timeout 
695 KERN:   returned: -1 
696 KERN:   trying: file_systems/bfs/v1 
697 KERN: das_read(): request.Wait() returned: Device timeout 
698 KERN:   returned: -1 
699 KERN:   trying: file_systems/devfs/v1 
700 KERN:   returned: -1 
701 KERN:   trying: file_systems/rootfs/v1 
702 KERN:   returned: -1 


790 KERN: device 1: /dev/disk/ata/4/slave/raw 
791 KERN:   media status:      No error 
792 KERN:   device flags:      2 
793 KERN:   offset:            0 
794 KERN:   size:              80026361856 (76319.85 MB) 
795 KERN:   content size:      0 
796 KERN:   block size:        512 
797 KERN:   child count:       0 
798 KERN:   index:             -1 
799 KERN:   status:            2 
800 KERN:   flags:             1 
801 KERN:   volume:            -1 
802 KERN:   disk system:       <NULL> 
803 KERN:   name:              <NULL> 
804 KERN:   content name:      <NULL> 
805 KERN:   type:              <NULL> 
806 KERN:   content type:      <NULL> 
807 KERN:   params:            <NULL> 
808 KERN:   content params:    <NULL> 

comment:2 by marcusoverhagen, 10 years ago

Milestone: R1R1/alpha1

comment:3 by marcusoverhagen, 10 years ago

Can you please tell me the brand and type number of the harddisks?

comment:4 by mmlr, 10 years ago

Cc: mmrl removed

The relevant lines seem to be:

686	KERN: KDiskDeviceManager::_ScanPartition(/dev/disk/ata/4/slave/raw)
687	KERN: intel: ep_std_ops(0x1)
688	KERN:   trying: partitioning_systems/intel/extended/v1
689	KERN:   returned: -1
690	KERN: intel: ep_std_ops(0x2)
691	KERN:   trying: partitioning_systems/intel/map/v1
692	KERN: intel: pm_identify_partition(0, 1: 0, 80026361856, 512)
694	KERN: das_read(): request.Wait() returned: Device timeout
695	KERN:   returned: -1
696	KERN:   trying: file_systems/bfs/v1
697	KERN: das_read(): request.Wait() returned: Device timeout

Looks like a timeout or possibly a stall. Tuning some of the timeout values could proof this.

It's mmlr btw. but I'm on the bugs-list anyway, so no CC is required.

in reply to:  3 comment:5 by mt, 10 years ago

Replying to marcusoverhagen:

Can you please tell me the brand and type number of the harddisks?


HDD0: Hitachi HDP725050GLA 500GB
HDD1: Hitachi HDS721680PLA 80GB

I hope this may help you.

comment:6 by marcusoverhagen, 10 years ago

Blocked By: 4058 added
Priority: normalhigh

Looks very similar to issue 4050, improper error recovery

comment:7 by marcusoverhagen, 10 years ago

please try hrev32978 from trunk

comment:8 by mt, 10 years ago

Hi, I tested hrev32984. It seems that 2nd HDD still is not recognized.

by mt, 10 years ago

Attachment: DriveSetup_ata_r32984.png added

by mt, 10 years ago

Attachment: syslog_ata_r32984.txt added

comment:9 by marcusoverhagen, 10 years ago

This is a strange problem. There are no further ata related errors in the syslog, except those two in the beginning. I think that error recovery is working for those two. I analyzed them yesterday, it's a failing "check media status". This should not affect further operation.

575 KERN: ata 4 error: command failed, error bit is set. status 0x51, error 0x04 
576 KERN: publish device: node 0x80fcf000, path disk/ata/4/master/raw, module drivers/disk/scsi/scsi_disk/device_v1 
577 KERN: ata 4 error: command failed, error bit is set. status 0x51, error 0x04 
578 KERN: publish device: node 0x80fcf230, path disk/ata/4/slave/raw, module drivers/disk/scsi/scsi_disk/device_v1 

Haiku can mount disk/ata/4/master/raw and read it successfully, while disk/ata/4/slave/raw generates those errors, without generating any ata debug output.

The error message seems to be returned by the io_scheduler in scsi_disk.cpp, but there is no accompanying ata error message.

KERN: das_read(): request.Wait() returned: Device timeout

comment:10 by marcusoverhagen, 10 years ago

Blocked By: 4058 removed

(In #4058) This isn't the same issue as 4050.

comment:11 by marcusoverhagen, 10 years ago

Owner: changed from marcusoverhagen to nobody

comment:12 by scottmc, 10 years ago

Milestone: R1/alpha1R1/alpha2

comment:13 by marcusoverhagen, 10 years ago

Blocking: 4535 added

(In #4535)

comment:14 by bonefish, 10 years ago

Priority: highnormal

comment:15 by scottmc, 9 years ago

Milestone: R1/alpha3R1/beta1
Version: R1/pre-alpha1R1/Development

sliding this one out to R1/beta1.

comment:16 by pulkomandy, 5 years ago

Is this still reproducible, or did it get fixed in the last 5 years?

comment:17 by pulkomandy, 5 years ago

Component: Drivers/DiskDrivers/Disk/ATA
Owner: changed from nobody to marcusoverhagen

comment:18 by mt, 5 years ago

Hi, I tested hrev48280 gcc4/gcc2 hybrid, this issue still reproduced.

by mt, 5 years ago

Attachment: Drivesetup_hrev48280.png added

by mt, 5 years ago

Attachment: syslog_ata_hrev48280.txt added

by mt, 5 years ago

Attachment: listdev_hrev48280.txt added

comment:19 by pulkomandy, 4 years ago

Milestone: R1/beta1R1

comment:20 by kallisti5, 2 years ago

Is this system still available to perform another test with a recent image?

in reply to:  20 comment:21 by mt, 2 years ago

Replying to kallisti5:

Is this system still available to perform another test with a recent image?

Sorry, I do not have this system. So, could you close the ticket?

comment:22 by kallisti5, 2 years ago

Resolution: not reproducible
Status: newclosed
Note: See TracTickets for help on using tickets.