imx6 ata initialize question

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx6 ata initialize question

626 Views
rudolphhsueh
Contributor III

Hi all,

     I recently porting the SATA with imx6(quad-core). But I always can't get the right volume information.

I'm  ensure that my sata had been set in kernel init period. Here is the kernel message:

==================================================================================

[ 1677.724423] ata1: hard resetting link

[ 1678.685972] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)

[ 1678.692856] ata1.00: ATA-8: SSE032GPTC0-S81, S8FM04.3, max UDMA/100

[ 1678.699665] ata1.00: 62533296 sectors, multi 16: LBA48 NCQ (depth 31/32)

[ 1678.707025] ata1.00: configured for UDMA/100

[ 1678.711476] ata1: EH complete

[ 1680.226612] scsi 0:0:0:0: Direct-Access     ATA      SSE032GPTC0-S81  S8FM PQ: 0 ANSI: 5

[ 1680.238112] sd 0:0:0:0: [sda] 62533296 512-byte logical blocks: (32.0 GB/29.8 GiB)

[ 1680.247428] sd 0:0:0:0: [sda] Write Protect is off

[ 1680.252503] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00

[ 1680.257932] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA

[ 1680.269009]  sda: sda1

E/DirectVolume( 2341): [DirectVol[ 1680.272993] sd 0:0:0:0: [sda] Attached SCSI disk

==================================================================================

It is similar to the documents what I reference named i.MX_6_Linux_Reference_Manual.pdf.

But I'm not sure whether sata initialize is correctly or not. I just see only one node show in /dev/block/vold/8:1

I take the USB disk to compare with SATA. USB disk always show two node in /dev/block/vold/8:16 and 8:17

And vold daemon will get the /dev/block/vold/8:16 to check devtype. After check devtype it will get 8:17 to mount USB partition.

But SATA doesn't have another node to let vold determine devtype. So my android always not get correct message from kernel.

May I have any suggestions, If there anyone knows it, please tell me how to make like USB disk in /dev/block/vold to show correct node.

2 Replies

444 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hi Rudolph,

   From log,  your SATA disk should work normally, you can test it like this : copy files from SATA to SD, or save a movie file on SATA and play it .

   try it , please !

Regards,

Weidong

444 Views
rudolphhsueh
Contributor III

Thanks Weidong. I found why android frameworks can not get correct information from vold daemon.

After I format SATA to FAT filesystem. It won't create two node in /dev/block/vold(8:1) so that volume daemon can not determine devtype.

But after I format SATA to FAT32/ext4 filesystem. It will create two node in /dev/block/vold (8:0/8:1). Then volume daemon can detect devtype and mount automatically.

I not sure why it can't work in FAT filesystem.

By the way it maybe a another issue result in my android frmaeworks won't get correct information.

I saw that kernel message had printed the SATA initialized information. But it only tried to read SATA information in five times.

Read times is define in /kernel/include/linux/libata.h

After I download image, first time to boot the device. It doesn't have enough times to get SATA initialized information.

So I modify the value(ATA_EH_MAX_TRIES) more than 5. Then it can initial correctly. Maybe it's a another issue result in my android won't get correct information from volume daemon.

0 Kudos