Boot failure: failed: command IDENTIFY PACKET DEVICE

I just built a new computer and bumped into the same issue - and found an answer to it.

Most people seem to have symptoms of slow boot-up times, but I could not boot 90% of the times. When the system did boot, it seemed to work. If you do manage to boot, you should be able to trigger the problem with command: /lib/udev/ata_id --export /dev/sr0. Beware, if that truly is the problem, your system will freeze.

The command will send an ATAPI command to the optical drive. The problem is, the SATA controller (ASM1061 in your case) does not support these ATAPI commands, resulting in a frozen system.

There are two solutions to the issue:

  1. Copy the file /lib/udev/rules.d/60-persistent-storage.rules to /etc/udev/rules.d/60-persistent-storage.rules so that edits are not overwritten from updates. Remove the warning message at the top about not editing the file. Find the line containing word "ATAPI". Comment out the next line. This way, udev will not touch ATAPI. Save and run the command update-initramfs -u to finalize the changes.

  2. Change the SATA port for the optical drive. I used this method, as booting any Linux other than one with the modified udev rule results in freeze otherwise.

In my case, the motherboard is ASRock Z77 Extreme4 with the same ASMedia ASM1061 chip for two SATA3 ports. I had a DVD drive in one of them and got the error. Switched the DVD drive to a SATA port handled by the Z77 chip and everything works.