On 2016-12-13, peter green wrote:
> On 13/12/16 21:42, peter green wrote:
>> I would guess at this point either a race condition or a power glitch
>> (maybe powering the HDD off one of the USB ports wasn't such a good
>> idea).
>>
> OK, I found that adding ahci-imx.hotplug=1 to the kernel command line
> made it work.
>
> Checking the schematic I notice that the USB ports seem to have power
> control, I wonder if they are power-cycled at some point during the boot
> process.
Had a similar issue on a Cubox-I4pro, and your ahci-imx.hotplug=1
workaround also worked for me.
Maybe it's not loading the USB drivers in the initramfs... or maybe it's
just a race condition.
A different (more cumbersome) workaround is making sure all the drivers
are available in the initramfs. I use this from time to time when adding
support to debian for new arm systems. Why it worked in this case seems
surprising... but... well...
/etc/initramfs-tools/hooks/all-drivers:
#!/bin/sh
# must be marked executable, e.g. chmod +x
PREREQS=""
prereqs() { echo "$PREREQS"; }
case "$1" in
prereqs)
prereqs
exit 0
;;
esac
. /usr/share/initramfs-tools/hook-functions
copy_modules_dir kernel/drivers
lsmod from initramfs shell where it failed to mount the rootfs on sata:
Module Size Used by Tainted: G
ci_hdrc_imx 6936 0
ci_hdrc 35216 1 ci_hdrc_imx
extcon_core 13223 1 ci_hdrc
ahci_imx 6207 0
ehci_hcd 64996 1 ci_hdrc
libahci_platform 6494 1 ahci_imx
libahci 23377 2 ahci_imx,libahci_platform
udc_core 26444 1 ci_hdrc
libata 192873 3 ahci_imx,libahci_platform,libahci
usbcore 195888 2 ci_hdrc,ehci_hcd
sdhci_esdhc_imx 12147 0
sdhci_pltfm 3338 1 sdhci_esdhc_imx
scsi_mod 187963 1 libata
sdhci 39324 2 sdhci_esdhc_imx,sdhci_pltfm
usb_common 3659 3 ci_hdrc,udc_core,usbcore
i2c_imx 15436 0
usbmisc_imx 6594 1 ci_hdrc_imx
anatop_regulator 4712 1
phy_mxs_usb 6386 2
at803x 4176 0
lsmod on a successfully booted system:
Module Size Used by
snd_soc_imx_spdif 1954 0
sg 23603 0
snd_soc_fsl_spdif 16193 2
imx_pcm_dma 1244 1 snd_soc_fsl_spdif
snd_soc_core 144850 3 snd_soc_fsl_spdif,imx_pcm_dma,snd_soc_imx_spdif
snd_pcm_dmaengine 3583 1 snd_soc_core
snd_pcm 83374 2 snd_pcm_dmaengine,snd_soc_core
snd_timer 20317 1 snd_pcm
snd 55403 3 snd_timer,snd_soc_core,snd_pcm
soundcore 5571 1 snd
ip_tables 12425 0
x_tables 14826 1 ip_tables
autofs4 32792 2
ext4 551118 2
crc16 1274 1 ext4
jbd2 94046 1 ext4
crc32c_generic 1862 2
fscrypto 15747 1 ext4
ecb 2191 0
mbcache 5508 3 ext4
dm_mod 103345 7
sd_mod 32731 3
brcmfmac 240005 0
brcmutil 5789 1 brcmfmac
cfg80211 475128 1 brcmfmac
rfkill 16819 2 cfg80211
imx_ipuv3_crtc 10746 0
ahci_imx 6207 2
libahci_platform 6494 1 ahci_imx
libahci 23377 2 libahci_platform,ahci_imx
libata 192873 3 libahci_platform,libahci,ahci_imx
ci_hdrc_imx 6936 0
imx_ipu_v3 75709 1 imx_ipuv3_crtc
ci_hdrc 35216 1 ci_hdrc_imx
scsi_mod 187963 3 sd_mod,libata,sg
extcon_core 13223 1 ci_hdrc
ehci_hcd 64996 1 ci_hdrc
udc_core 26444 1 ci_hdrc
i2c_imx 15436 0
sdhci_esdhc_imx 12147 0
sdhci_pltfm 3338 1 sdhci_esdhc_imx
usbcore 195888 3 ehci_hcd,brcmfmac,ci_hdrc
sdhci 39324 2 sdhci_pltfm,sdhci_esdhc_imx
usbmisc_imx 6594 1 ci_hdrc_imx
usb_common 3659 3 udc_core,usbcore,ci_hdrc
ir_lirc_codec 5112 0
anatop_regulator 4712 1
phy_mxs_usb 6386 2
imx2_wdt 4189 0
dw_hdmi_imx 3203 0
dw_hdmi 14062 1 dw_hdmi_imx
imxdrm 5486 1 imx_ipuv3_crtc
drm_kms_helper 117326 4 imx_ipuv3_crtc,dw_hdmi,imxdrm
lirc_dev 8715 1 ir_lirc_codec
etnaviv 66053 0
pwm_imx 3678 1
drm 276288 7 imx_ipuv3_crtc,etnaviv,dw_hdmi,dw_hdmi_imx,imxdrm,drm_kms_helper
evdev 12740 0
leds_pwm 3220 0
gpio_ir_recv 3212 0
at803x 4176 0
live well,
vagrant
Attachment:
signature.asc
Description: PGP signature