Hi all,
I've just plugged a SATA-HD to my new Nitrogen6x board and it looks U-Boot detects fine the HD but linux doesn't.
This is an excerpt of the console output from U-Boot:
_____________________________________________________________________________
U-Boot 2014.04-00119-g8a29f55 (Apr 25 2014 - 11:00:09)
CPU: Freescale i.MX6Q rev1.2 at 792 MHz
Reset cause: POR
Board: Nitrogen6X
I2C: ready
DRAM: 1 GiB
MMC: FSL_SDHC: 0, FSL_SDHC: 1
SF: Detected SST25VF016B with page size 256 Bytes, erase size 4 KiB, total 2 MiB
*** Warning - bad CRC, using default environment
No panel detected: default to HDMI
Display: HDMI (1024x768)
In: serial
Out: serial
Err: serial
Net: using phy at 6
FEC [PRIME], usb_ether
Hit any key to stop autoboot: 0
AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
flags: ncq stag pm led clo only pmp pio slum part
SATA Device Info:
S/N: K11ET7325C46
Product model number: FUJITSU MHW2080BH
Firmware version: 0000001C
Capacity: 156301488 sectors
SATA device 0: Model: FUJITSU MHW2080BH Firm: 0000001C Ser#: K11ET7325C46
Type: Hard Disk
Supports 48-bit addressing
Capacity: 76319.0 MB = 74.5 GB (156301488 x 512)
... is now current device
** Unrecognized filesystem type **
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
SATA device 1: unknown device
** Bad device sata 1 **
_____________________________________________________________________________
Linux boots fine, but the only mention to "sata" in dmesg is:
No sata disk.
Everything is just out of the box; I'm just running the SD that comes with the board.
U-Boot > version
U-Boot 2014.04-00119-g8a29f55 (Apr 25 2014 - 11:00:09)
arm-linux-gnueabihf-gcc (Ubuntu/Linaro 4.8.2-16ubuntu4) 4.8.2
GNU ld (GNU Binutils for Ubuntu) 2.24
# uname -a
Linux nitrogen6x 3.0.35-ts-armv7l #1 SMP PREEMPT Thu Aug 8 14:44:15 EDT 2013 armv7l GNU/Linux
My question is, does this kernel have SATA support enabled?
Regards,
Gonzalo.
Solved! Go to Solution.
Hello.
As far as I know, linux 3.0.35 for imx6q Sabre SDP well supports SATA HD, but it needs a patch to fix some SATA recognition bugs. I don't konw whether your board have updated it.
Hello.
As far as I know, linux 3.0.35 for imx6q Sabre SDP well supports SATA HD, but it needs a patch to fix some SATA recognition bugs. I don't konw whether your board have updated it.
Hello Tao,
Do you have a specific reference to patches?
Many thanks, Tao!
It's my pleasure!
Hi Tao,
thanks for pointing that - I didn't know about that SATA recognition bug.
So I've come back to Boundary's website and have found this image: yocto-3.10.17-beta-20140303.img.gz
I've burned it in a new SD and now it looks ok:
- U-Boot detects the HD:
AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
flags: ncq stag pm led clo only pmp pio slum part
SATA Device Info:
S/N: K11ET7325C46
Product model number: FUJITSU MHW2080BH
Firmware version: 0000001C
Capacity: 156301488 sectors
SATA device 0: Model: FUJITSU MHW2080BH Firm: 0000001C Ser#: K11ET7325C46
Type: Hard Disk
Supports 48-bit addressing
Capacity: 76319.0 MB = 74.5 GB (156301488 x 512)
... is now current device
- Linux detects the HD:
ahci: SSS flag set, parallel bus scan disabled
ahci ahci: AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl platform mode
ahci ahci: flags: ncq sntf stag pm led clo only pmp pio slum part ccc apst
scsi0 : ahci_platform
ata1: SATA max UDMA/133 mmio [mem 0x02200000-0x02203fff] port 0x100 irq 71
and /dev/sda is present.
root@nitrogen6x:~# uname -a
Linux nitrogen6x 3.10.173.10.17_beta+yocto+g9260843 #1 SMP Sun Mar 2 15:16:18 MST 2014 armv7l GNU/Linux
That's enough for me. I can continue evaluating the processor and board capabilities.
Thanks sooooo much !!!
Gonzalo.
Hi Gonzalo,
The cards we ship with Nitrogen6x should absolutely support SATA out of the box (including booting to SATA).
The kernel messages related to SATA are normally prefixed with ahci:
ahci: SSS flag set, parallel bus scan disabled
ahci ahci.0: AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl platform mode
ahci ahci.0: flags: ncq sntf stag pm led clo only pmp pio slum part ccc apst
scsi0 : ahci_platform
ata1: SATA max UDMA/133 mmio [mem 0x02200000-0x02200fff] port 0x100 irq 71
If things are working, you should see devices named "/dev/sda*". From the messages above, it appears that you haven't yet partitioned the drive, so nothing will try to mount.
Thanks for your answer, Eric.
I don't see any kernel message as in your post; only No sata disk, and /dev/sda is not present in my system.
I'm not sure what's going on, as it looks U-Boot detects correctly the HD. Do you have any clue about what to look for? Just try a different HD?
Gonzalo.
There's no indication that the hard drive is a problem, since U-Boot sees it.
Can you double-check the kernel configuration?
# zcat /proc/config.gz | grep AHCI
CONFIG_IMX_HAVE_PLATFORM_AHCI=y
# CONFIG_SATA_AHCI is not set
CONFIG_SATA_AHCI_PLATFORM=y
# CONFIG_SATA_ACARD_AHCI is not set
My kernel configuration matches yours:
# zcat /proc/config.gz | grep AHCI
CONFIG_IMX_HAVE_PLATFORM_AHCI=y
# CONFIG_SATA_AHCI is not set
CONFIG_SATA_AHCI_PLATFORM=y
# CONFIG_SATA_ACARD_AHCI is not set
Hi Gonzalo,
I'm confused by the kernel version shown above. We ship kernels built out of a git tree which have a direct git reference (in "uname" or /proc/version).
Is this an SD card image that you got from Timesys? All of theirs should also have SATA support, but something is clearly wrong, and it seems to be kernel related, even though your CONFIG settings above look right.
Can you run a quick test against this image?
http://boundarydevices.com/yocto-dora-release-mx6/
Please advise,
Eric
Hi Eric,
I didn't get anything from Timesys - I just bought the board from Arrow and it came with that SD card (in a, let's say, poor packaging !!!!).
I've run the image you've pointed and the result is the same:
- U-Boot detects the HD
- Linux says "No sata disk".
root@nitrogen6x:~# uname -a
Linux nitrogen6x 3.0.35-4.1.0+yocto+g5809938 #1 SMP PREEMPT Sat Sep 28 12:11:23 MST 2013 armv7l GNU/Linux
Regards,
Gonzalo.