failed to read native max adress (err_mask=0x4) during boot

I did a upgrade from opensuse 10.3 to 11.1. I used a DVD. First I had some problems with the method of mounting devices (This method is not save… please start the old system and change) the upgrade process worked fine, lasting about one and a half hours.

After rebooting a bad surprise: The system is searching for the HDDs, but they won’t respond. The repair function on the DVD can’t find any error in the boot system (fsck) or the fstab.

Screen messages:


scsi subsystem initialized
scsi0: pata_via
scsi1: pata_via
ata1: PATA max UDMA/66 cmd 01f0 ctl 0x3f6 bmdma 0xd800 irq 14
ata2: PATA max UDMA/66 cmd 01f0 ctl 0x3f6 bmdma 0xd800 irq 15
ata1.00: qc timeout (cmd 0x27)
ata1.00: failed to read native max adress (err_mask=0x4)
ata1.00: qc timeout (cmd 0x27)

Then the system tries all PIO modes, but nothing will work.

The correct message for ata1 and ata2 should be:

ata1.00: ATA-7: Maxtor 6Y160P0, YAR41BW0, max UDMA/133
ata1.00: 320173056 sectors, multi 16: LBA48
ata1.01: ATAPI: HL-DT-ST DVDRAM GSA-4163B, A105, max UDMA/33
ata1.00: configured for UDMA/66
ata1.01: configured for UDMA/33

What’s the reason for this problem an how I can solve it? I have the capability to read an edit every configuration files on the drive, from an other opensuse machine. If you will need more information, I will give it to you. Please tell me the file name and path.

Opensuse 10.3 worked well on the same hardware. It’s a software problem, may be the wrong driver.

The problem may lay in the fact that an ‘upgrade’ from 10.3 - 11.1 would not be recommended.

They key may be in /etc/fstab

give us that and

fdisk -l

Thank you for your answer. I managed to start an old opensuse on another HDD (IBM-DTLA-307030), so I’m able to read and edit my defective 11.1 HDD (Maxtor_6Y160P0).

Here are the fstab from the defective 11.1 Maxtor_6Y160P0:

**/dev/disk/by-id/ata-Maxtor_6Y160P0_Y489VPVE-part1 swap swap defaults 0 0

/dev/disk/by-id/ata-Maxtor_6Y160P0_Y489VPVE-part2 / ext3 data=writeback,acl,user_xattr 1 1**
/dev/disk/by-id/ata-WDC_WD3200JB-00KFA0_WD-WCAMR2971191-part1 /Windows98SE vfat user,users,gid=users,umask=0002,utf8=true 0 0
/dev/sdc1 /WIN98_online vfat user,users,gid=users,umask=0002,utf8=true 0 0
/dev/disk/by-id/ata-WDC_WD3200JB-00KFA0_WD-WCAMR2971191-part5 /webfiles vfat user,users,gid=users,umask=0002,utf8=true 0 0
/dev/disk/by-id/ata-Maxtor_6Y080L0_Y2QHRKYE-part5 /webfiles_alt vfat user,noauto,users,gid=users,umask=0002,utf8=true 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs noauto 0 0
debugfs /sys/kernel/debug debugfs noauto 0 0
usbfs /proc/bus/usb usbfs noauto 0 0
devpts /dev/pts devpts mode=0620,gid=5 0 0
/dev/fd0 /media/floppy auto noauto,user,sync 0 0
/dev/fd1 /media/floppy1 auto noauto,user,sync 0 0

Note: There is a swap partition and one common opensuse partition (ext3) on the first HDD, sda. The second (sdb) and the third (sdc) HDDs are vFAT (Win98SE).

For comparing purposes: On the following drive sda there are a swap, a programm and a data partition. Here are the fstab from the running HDD (IBM with opensuse 10.3). sdb and sdc are still in the system.

/dev/disk/by-id/scsi-SATA_IBM-DTLA-307030_YKEYKV4M476-part2 / ext3 acl,user_xattr 1 1
/dev/disk/by-id/scsi-SATA_IBM-DTLA-307030_YKEYKV4M476-part3 /home ext3 acl,user_xattr 1 2
/dev/disk/by-id/scsi-SATA_IBM-DTLA-307030_YKEYKV4M476-part1 swap swap defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs noauto 0 0
debugfs /sys/kernel/debug debugfs noauto 0 0
usbfs /proc/bus/usb usbfs noauto 0 0
devpts /dev/pts devpts mode=0620,gid=5 0 0
/dev/fd0 /media/floppy auto noauto,user,sync 0 0
/dev/fd1 /media/floppy1 auto noauto,user,sync 0 0
/dev/disk/by-id/ata-WDC_WD3200JB-00KFA0_WD-WCAMR2971191-part1 /windows/C vfat users,gid=users,umask=0002,iocharset=iso8859-15 0 0
/dev/disk/by-id/ata-WDC_WD3200JB-00KFA0_WD-WCAMR2971191-part5 /windows/E vfat users,gid=users,umask=0002,iocharset=iso8859-15 0 0
/dev/disk/by-id/ata-Maxtor_6Y080L0_Y2QHRKYE-part1 /windows/D vfat users,gid=users,umask=0002,iocharset=iso8859-15 0 0
/dev/disk/by-id/ata-Maxtor_6Y080L0_Y2QHRKYE-part5 /windows/F vfat users,gid=users,umask=0002,iocharset=iso8859-15 0 0

After the upgrade from 10.3 to 11.1 the fstab looked as following. The error message failed to read native max adress (err_mask=0x4) was the same. I tried to edit the fstab, with no success.

/dev/disk/by-id/scsi-SATA_Maxtor_6Y160P0_Y489VPVE-part1 swap swap defaults 0 0

LABEL=opensuse_ext3 / ext3 data=writeback,acl,user_xattr 1 1
/dev/sdc1 /WIN98_online vfat user,users,gid=users,umask=0002,utf8=true 0 0
/dev/sdb1 /Windows98SE vfat user,users,gid=users,umask=0002,utf8=true 0 0
/dev/sdb5 /webfiles vfat user,users,gid=users,umask=0002,utf8=true 0 0
/dev/disk/by-id/scsi-SATA_Maxtor_6Y080L0_Y2QHRKYE-part5 /webfiles_alt vfat user,noauto,users,gid=users,umask=0002,utf8=true 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs noauto 0 0
debugfs /sys/kernel/debug debugfs noauto 0 0
usbfs /proc/bus/usb usbfs noauto 0 0
/dev/fd0 /media/floppy auto noauto,user,sync 0 0
/dev/fd1 /media/floppy1 auto noauto,user,sync 0 0
devpts /dev/pts devpts mode=0620,gid=5 0 0

fdisk -l output. The opensuse 11.1 HDD (Maxtor_6Y160P0) is connected via USB and listed as sdd (last entry). Every HDD is bootable.

Disk /dev/sda: 30.7 GB, 30738677760 bytes
255 heads, 63 sectors/track, 3737 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000

Device Boot Start End Blocks Id System
/dev/sda1 1 131 1052226 82 Linux swap / Solaris
/dev/sda2 * 132 1567 11534670 83 Linux
/dev/sda3 1568 3737 17430525 83 Linux

Disk /dev/sdb: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000

Device Boot Start End Blocks Id System
/dev/sdb1 * 1 38392 308383708+ c W95 FAT32 (LBA)
/dev/sdb2 38393 38912 4176900 f W95 Ext’d (LBA)
/dev/sdb5 38393 38912 4176868+ b W95 FAT32

Disk /dev/sdc: 81.9 GB, 81964302336 bytes
255 heads, 63 sectors/track, 9964 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000

Device Boot Start End Blocks Id System
/dev/sdc1 * 1 9483 76172166 c W95 FAT32 (LBA)
/dev/sdc2 9484 9963 3855600 f W95 Ext’d (LBA)
/dev/sdc5 9484 9963 3855568+ b W95 FAT32

Disk /dev/sdd: 163.9 GB, 163928604672 bytes
255 heads, 63 sectors/track, 19929 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0009f914

Device Boot Start End Blocks Id System
/dev/sdd1 1 571 4586526 82 Linux swap / Solaris
/dev/sdd2 * 572 19929 155493135 83 Linux

The problem is not in fstab - the kernel is throwing the error trying to access the disk controller. I suspect that the problem lies in changes in the kernel between 10.3 and 11.1 (especially if your 10.3 kernel is the original version, 2.6.18).

Since the machine uses a via chipset, the first suspect is faulty MSI (“message signal interrupts”). Try adding this to the Boot Options on the grub menu:

pci=nomsi

If that doesn’t work, check the kernel modules that are built into the initrd. They are listed in /etc/sysconfig/kernel. And you may need to rebuild the initrd.

I can’t find the file mtab in /etc on the opensuse 11.1 installation, but of course nobody asked for.

Would anybody help me to solve my boot problem? Or have I to kill my whole installation and do a new (clean) one? I that case, is it possible to keep (rescue) my recent settings, e. g. for the gnome desktop or the network?

Sorry,I didn’ read your post from 22:42 yesterday.

Now I tried the boot option pci=nomsi, without any effect.

My 10.3 Kernel release is 2.6.22.5-31

The file /etc/sysconfig/kernel shows the following commands:

INITRD_MODULES=“processor thermal pata_pdc202xx_old pata_via ata_generic pdc202xx_old via82cxxx ide_pci_generic fan jbd ext3 edd”

DOMU_INITRD_MODULES=“xennet xenblk”

MODULES_LOADED_ON_BOOT=""

ACPI_DSDT=""

SCHED_MINTIMESLICE=""

SCHED_MAXTIMESLICE=""

SKIP_RUNNING_KERNEL=""

The board is an Asus A7V, the CPU an Athlon 1200, chipset VIA

There is another interesting thing: I tried boot installed system from the opensuse 11.1 DVD menu. The message: No Linux root partition found.

Can you compare the 11.1 and 10.3 /etc/sysconfig/kernel files to see if the initrd modules are the same?

I did the comparison and noticed some minor differences in line INITRD_MODULES:

10.3 INITRD_MODULES=“pata_via pata_pdc202xx_old ata_generic via82cxxx pdc202xx_old ide_pci_generic jbd ext3 usb_storage

11.1 INITRD_MODULES=“processor thermal pata_pdc202xx_old pata_via ata_generic pdc202xx_old via82cxxx ide_pci_generic fan jbd ext3 edd

I highlighted the differences. The running system is 10.3 and the 11.1 HDD is connected via usb.

What is the initrd? I can’t find such a file. An how may I rebuild them?

Would an edit of /etc/sysconfig/kernel take effect after a reboot?

When you installed 11.1, was it connected via USB? When you used 10.3, was it connected via USB? Are you booting with the bios configured to boot from USB?

My machine isn’t able to boot from usb. The HDDs were always connected internal as parallel ata drive, primary master, called sda by opensuse.

External usb connection is only for backup and, in this case, for servicing purposes. The configuration files refer always to sda.

So when you installed 11.1 this drive was then on an internal IDE channel, and not connected via USB as it is now?

Yes, it is so. 10.3 was running well on this drive until it crashed. So I did the upgrade.

Out of topic:
On my first attemp to install opensuse in spring 2008 I had a bad experience. I connected an external drive during install, because I hoped it would be recognized and mounted automatically. Yes, it was so.
Then I shut down the PC and disconnected the usb drive. Opensuse refused to boot: There is at least one drive with a fault in the file system (or so).
Because I had no knowledge about linux and fstab, I had to repeat the whole installation procedure, without an external HDD connected.

@ mingus725: You went offline. Are you giving up?

I have to go to bed immediately. Thanks for helping!

No, I haven’t given up. I saw that the initrd did not have kernel module necessary for booting from USB, and thought that might be the problem. Now, I think probably the problem has to do with the right setup for your via chipset - I seem to recall reading about changes in the kernel modules for it. Via chipsets have been a real pain. So . . . do you know what the chipset is?

For just now . . . dinner calls!

Here are the Chipset Information, gathered by WCPUID:

Host Bridge: VIA Apollo KT133x
Vendor: 1106
Device:0305
Revision: 03
SubSystem: 80331043

South Bridge: VIA VT82C686A
Vendor: 1106
Device: 0686
Revision: 22
SubSystem: 80331043

The Controller is capable of doing up to UDMA/66, the Maxtor drives up to UDMA/133, the Western Digital Drive (sdb) up to UDMA/100.

There is an additional Controller from Promise on the A7V, named PDC 20265, capable up to UDMA/100. The third HDD (sdc) is connected to it.

That’s the reason for e. g. this messages:
ata1.00: ATA-7: Maxtor 6Y160P0, YAR41BW0, max UDMA/133
ata1.00: 320173056 sectors, multi 16: LBA48
ata1.01: ATAPI: HL-DT-ST DVDRAM GSA-4163B, A105, max UDMA/33
ata1.00: configured for UDMA/66
ata1.01: configured for UDMA/33

Try each of the following boot arguments separately:

ide=nodma

noapic

Result?

I also found this . . . Hard Disks Not Found Issue with OpenSUSE 11

This user found that his system needed to use the via82cxxx driver rather than pata_via. Your initrd has both, and you are getting the error on pata_via. It would be helpful to know which 10.3 was using (requires booting 10.3 and using “lsmod” command as root) - but even if it was pata_via, there could still be a regression or other type problem with it in the new kernel. So what you could do is remove pata_via from the 11.1 /etc/sysconfig/kernel list and recreate the initrd (as the above user did).

One more kernel argument to use in Boot Options:

irqpoll