Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Valued Contributor III
883 Views

Linux gives error while reading micro SD card to mount root filesystem

Hi all, 

 

I've been trying to bring upsocfpga-linux provided by SoC EDS 15.1.1.60 on Altera Arria 10 boardwith my own hardware design. As the kernel comes up and tries to readSD card to mount root filesystem, it gives error, the log of which isgiven below. I've given the entire U-boot dump including theenvironment variables, as attachment. Please help me out as to what the issue is,and what is needed to get over this. Just the relevant snippet from the attachment is given below. For complete details, please refer the attachment. 

 

SynopsysDesignware Multimedia Card Interface Driver 

dwmmc_socfpgaff808000.flash: Using internal DMA controller.  

dwmmc_socfpgaff808000.flash: Version ID is 270a  

dwmmc_socfpgaff808000.flash: DW MMC controller at irq 130, 32 bit host data wio 

mmc_hostmmc0: Bus speed (slot 0) = 50000000Hz (slot req 400000Hz, actual39682) 

dwmmc_socfpgaff808000.flash: 1 slots initialized  

platformleds.2: Driver leds-gpio requests probe deferral  

ledtrig-cpu:registered to indicate activity on CPUs  

usbcore:registered new interface driver usbhid  

usbhid:USB HID core driver  

oprofile:using arm/armv7-ca9  

TCP:cubic registered  

NET:Registered protocol family 10  

sit:IPv6 over IPv4 tunneling driver  

NET:Registered protocol family 17  

NET:Registered protocol family 15  

can:controller area network core (rev 20120528 abi 9)  

NET:Registered protocol family 29  

can:raw protocol (rev 20120528)  

can:broadcast manager protocol (rev 20120528 t)  

can:netlink gateway (rev 20130117) max_hops=1  

8021q:802.1Q VLAN Support v1.8  

Keytype dns_resolver registered  

VFPsupport v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4  

ThumbEECPU extension supported.  

RegisteringSWP/SWPB emulation handler  

platformleds.2: Driver leds-gpio requests probe deferral  

Waitingfor root device /dev/mmcblk0p2...  

mmc_hostmmc0: Bus speed (slot 0) = 50000000Hz (slot req 50000000Hz, actual500) 

mmc0:new high speed SDHC card at address 0007  

mmcblk0:mmc0:0007 SD4GB 3.70 GiB  

mmcblk0: p1 p2 p3  

platformleds.2: Driver leds-gpio requests probe deferral  

dwmmc_socfpgaff808000.flash: data FIFO error (status=00008008)  

mmcblk0:error -5 transferring data, sector 1026057, nr 8, cmd response 0x900,0 

mmcblk0:retrying using single block read
0 Kudos
7 Replies
Highlighted
Valued Contributor III
33 Views

I'm no Linux expert but "ERROR: could not get clock /sopc@0/dma@0xffda1000:apb_pclk(0)" doesn't look good. If DMA isn't working you won't be reading anything from your SD card. I'm not saying this is the case, but it's worth getting a Linux expert to take a look. 

 

I assume your preloader and uboot are both on the SD card. This means the basic SD hardware is working. I think that neither preloader nor uboot use DMA, so the first use of DMA is in the Linux kernel.
0 Kudos
Highlighted
Valued Contributor III
33 Views

 

--- Quote Start ---  

I'm no Linux expert but "ERROR: could not get clock /sopc@0/dma@0xffda1000:apb_pclk(0)" doesn't look good. If DMA isn't working you won't be reading anything from your SD card. I'm not saying this is the case, but it's worth getting a Linux expert to take a look. 

 

Thanks for the reply. 

 

I assume your preloader and uboot are both on the SD card. This means the basic SD hardware is working. I think that neither preloader nor uboot use DMA, so the first use of DMA is in the Linux kernel. 

--- Quote End ---  

 

 

Yes, both preloader and uboot are in SD card. Good information about DMA; Let me check it.
0 Kudos
Highlighted
Valued Contributor III
33 Views

 

--- Quote Start ---  

I'm no Linux expert but "ERROR: could not get clock /sopc@0/dma@0xffda1000:apb_pclk(0)" doesn't look good. If DMA isn't working you won't be reading anything from your SD card. I'm not saying this is the case, but it's worth getting a Linux expert to take a look. 

 

I assume your preloader and uboot are both on the SD card. This means the basic SD hardware is working. I think that neither preloader nor uboot use DMA, so the first use of DMA is in the Linux kernel. 

--- Quote End ---  

 

 

When I got the board, I had a SD card along with it which contains the factory image. This came up fully with linux. It also gave the same error "ERROR: could not get clock /sopc@0/dma@0xffda1000:apb_pclk(0)", but it still came up. When I compared the working log with the non-working log I've attached, I see the Designware MMC driver gives a "data FIFO error" while accessing SD card. The SD card we're using is Kingston SD card. Is this driver compatible with this card? How to find that? But if you look into my attachment, it is able to read the MBR, understand the partitions, and also prints that the rootfs is in the 2nd partition. But when it tries the data, this error comes. I also did a "make mrproper" to recompile linux, but the result is same. But I find quite a few have got this issue. Any pointers? Anyone? Thanks in advance.
0 Kudos
Highlighted
Valued Contributor III
33 Views

After I used a new SD card (Strontium 4 GB), the SD card error vanished, and Linux comes up, but fails to give the prompt. Basically, the systemd gives error; The snippet is given below, and the entire log is attached: 

 

 

 

Welcome to The �Ångstr�öm Distribution v2014.12!  

 

systemd[1]: Set hostname to <arria10>.  

systemd[1]: Failed to isolate default target: Unit basic.target failed to load:. 

[!!!!!!] Failed to isolate default target, freezing.  

 

 

 

Any clues to solve this?
0 Kudos
Highlighted
Valued Contributor III
33 Views

Your problem is likely because of this: 

systemd: Failed to insert module 'autofs4': Function not implemented systemd: Failed to insert module 'ip_tables': Function not implemented 

Make sure the kernel modules named (ip_tables most likely is the problem here) are installed an loaded correctly.
0 Kudos
Highlighted
Valued Contributor III
33 Views

 

--- Quote Start ---  

Your problem is likely because of this: 

systemd: Failed to insert module 'autofs4': Function not implemented systemd: Failed to insert module 'ip_tables': Function not implemented 

Make sure the kernel modules named (ip_tables most likely is the problem here) are installed an loaded correctly. 

--- Quote End ---  

 

 

Thanks for the reply. 

I observed that the toolchain I downloaded is corrupted due to some firewall installed in my company. After I installed a fresh toolchain and compiled, the issue got resolved. Just want to know: Does the toolchain do anything w.r.to inserting the modules autofs4 and iptables? I mean, does the toolchain have any library which the kernel/rootfs makes use of for inserting these modules?
0 Kudos
Highlighted
Valued Contributor III
33 Views

You can also get that message if the module files are missing entirely. A build error that results in bad modules or no modules being created could result from a bad tool chain.

0 Kudos