Aw: Re: SD card wont work with dw_mmc driver in linux. Error -84 EILSEQ
I figured out it, was a HW issue, caused of bad connections on the datalines. These results a CRC and EBE (End-Bit-Error) and make read/write operations fail. Hope it helps anybody. Best, john s. ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
SD card wont work with dw_mmc driver in linux. Error -84 EILSEQ
CMD18 Multiblockread and CMD17 Single block read are failing during driver initialisation sequence.. I can not figure out, what the problem is. These CMDs return with -84, which means: * EILSEQ Basic format problem with the received or sent data * (e.g. CRC check failed, incorrect opcode in response * or bad end bit) I am able to load files from the sd card in uboot and most of the CMDs are also working in the dw_mmc driver as you can see below. Clock is set to 25MHz, tested are two different sd cards (=same result). ARMv7, Kernel 4.0, dw_mmc driver device: 'mmc.0': device_add bus: 'platform': add device mmc.0 bus: 'mmc': registered device class 'mmc_host': registering Driver 'mmcblk' needs updating - please use bus_type methods bus: 'mmc': add driver mmcblk bus: 'platform': add driver dw_mmc bus: 'platform': add driver dwmmc_adi bus: 'platform': driver_probe_device: matched device mmc.0 with driver dwmmc_adi bus: 'platform': really_probe: probing driver dwmmc_adi with device mmc.0 pinctrl-adi2 pinctrl-adi2.0: found group selector 21 for mmc0grp pinctrl-adi2 pinctrl-adi2.0: request pin 76 (PE12) for mmc.0 pinctrl-adi2 pinctrl-adi2.0: request pin 77 (PE13) for mmc.0 pinctrl-adi2 pinctrl-adi2.0: request pin 78 (PE14) for mmc.0 pinctrl-adi2 pinctrl-adi2.0: request pin 79 (PE15) for mmc.0 pinctrl-adi2 pinctrl-adi2.0: request pin 80 (PF0) for mmc.0 pinctrl-adi2 pinctrl-adi2.0: request pin 81 (PF1) for mmc.0 pinctrl-adi2 pinctrl-adi2.0: request pin 82 (PF2) for mmc.0 pinctrl-adi2 pinctrl-adi2.0: request pin 83 (PF3) for mmc.0 pinctrl-adi2 pinctrl-adi2.0: request pin 87 (PF7) for mmc.0 pinctrl-adi2 pinctrl-adi2.0: request pin 84 (PF4) for mmc.0 pinctrl-adi2 pinctrl-adi2.0: request pin 44 (PC12) for mmc.0 dwmmc_adi mmc.0: num-slots property not found, assuming 1 slot is available dwmmc_adi mmc.0: obtain a copy of previously claimed pinctrl dwmmc_adi mmc.0: IDMAC supports 32-bit address mode. dwmmc_adi mmc.0: Using internal DMA controller. dwmmc_adi mmc.0: Version ID is 270a dwmmc_adi mmc.0: DW MMC controller at irq 73, 32 bit host data width, 1024 deep fifo dwmmc_adi mmc.0: No vmmc regulator found dwmmc_adi mmc.0: No vqmmc regulator found dwmmc_adi mmc.0: GPIO lookup for consumer wp dwmmc_adi mmc.0: using device tree for GPIO lookup of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/scb/mmc@0x3101[0]' of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/scb/mmc@0x3101[0]' dwmmc_adi mmc.0: using lookup tables for GPIO lookup dwmmc_adi mmc.0: lookup for GPIO wp failed mmc_host mmc0: card is non-removable. device: 'mmc0': device_add mmc0: clock 0Hz busmode 2 powermode 1 cs 0 Vdd 21 width 0 timing 0 dwmmc_adi mmc.0: Initial signal voltage of 3.3v mmc0: clock 40Hz busmode 2 powermode 2 cs 0 Vdd 21 width 0 timing 0 dwmmc_adi mmc.0: 1 slots initialized driver: 'dwmmc_adi': driver_bound: bound to device 'mmc.0' bus: 'platform': really_probe: bound device mmc.0 to driver dwmmc_adi mmc0: mmc_rescan_try_freq: trying to init card at 40 Hz mmc0: starting CMD52 arg 0c00 flags 0195 mmc0: req done (CMD52): -110: mmc0: starting CMD52 arg 8c08 flags 0195 mmc0: req done (CMD52): -110: mmc0: clock 40Hz busmode 2 powermode 2 cs 1 Vdd 21 width 0 timing 0 mmc0: starting CMD0 arg flags 00c0 mmc0: req done (CMD0): 0: mmc0: clock 40Hz busmode 2 powermode 2 cs 0 Vdd 21 width 0 timing 0 mmc0: starting CMD8 arg 01aa flags 02f5 mmc0: req done (CMD8): 0: 01aa mmc0: starting CMD5 arg flags 02e1 mmc0: req failed (CMD5): -110, retrying... mmc0: req failed (CMD5): -110, retrying... mmc0: req failed (CMD5): -110, retrying... mmc0: req done (CMD5): -110: 01aa mmc0: starting CMD55 arg flags 00f5 mmc0: req done (CMD55): 0: 00400120 mmc0: starting CMD41 arg flags 00e1 mmc0: req done (CMD41): 0: 00ff8000 mmc0: clock 40Hz busmode 2 powermode 2 cs 1 Vdd 21 width 0 timing 0 mmc0: starting CMD0 arg flags 00c0 mmc0: req done (CMD0): 0: mmc0: clock 40Hz busmode 2 powermode 2 cs 0 Vdd 21 width 0 timing 0 mmc0: starting CMD8 arg 01aa flags 02f5 mmc0: req done (CMD8): 0: 01aa mmc0: starting CMD55 arg flags 00f5 mmc0: req done (CMD55): 0: 0120 mmc0: starting CMD41 arg 4020 flags 00e1 mmc0: req done (CMD41): 0: 00ff8000 mmc0: starting CMD55 arg flags 00f5 mmc0: req done (CMD55): 0: 0120 mmc0: starting CMD41 arg 4020 flags 00e1 mmc0: req done (CMD41): 0: 80ff8000 mmc0: starting CMD2 arg flags 0067 mmc0: req do
Re: Kernelnewbies Digest, Vol 73, Issue 3
Hi Andrey, Can you help post some good/still relevant links? Call me stupid, I did google, found a few websites, and most of them are kind of out of contexts(don't know how to follow). For beginners, step-by-step tutorials are the best. so far, sounds like kgdb is promising, but it requires a lot of backgrounds to start with. I still have not figured out the exact steps. Thank you, Message: 1 Date: Fri, 2 Dec 2016 23:15:44 + From: Andrey Utkin Subject: Re: Debugging tool for Linux kernel and driver development To: Teoh Choon Zone Cc: kernelnewbies Message-ID: <20161202231544.gb23...@dell-m4800.home> Content-Type: text/plain; charset=us-ascii On Fri, Dec 02, 2016 at 03:27:01PM +0800, Teoh Choon Zone wrote: > What are some widely used industrial tools (software/ hardware) for > debugging Linux kernel and driver? Recently my company allocate a budget > for purchasing this kind of tools, so I would like what are the tools that > would greatly ease our development. You'd better budget some time to google a bit and watch conference videos showing debugging techniques :) There are fine videos from past Kernel Recipes conferences. ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: relocatable modules' symbols
what linear address is the virtual address 0xc000 respondable to ? the highest 10 bits 0x300 is pde , which means the 0x300th entry of the page dir. As I know ,at boot stage , that pde has not been ever filles . then how does the kernel code been addressed? 2013/3/1 Prabhu nath : > In principle, the linker will associate the kernel code/data to the Kernel > virtual address space i.e. between 0xC000_ to 0x_ and > the same linker will associate the Application's code/data to the user > virtual address space i.e. between 0x_ to 0xBFFF_. > > Linker itself cannot distinguish between the kernel code/data and user > code/data but it is the linker script that will guide the linker to > associate the code/data to the respective addresses. > > What you are seeing is the linker script provided to the linker with -T > option when building the kernel. > > To build the user application the linker uses its default linker script > which you get it by executing > $ ld --verbose. > > To compare between the two just juxtapose the readelf output of both kernel > executable (vmlinux) and any user application executable (a.out) > > $ readelf -a vmlinux > $ readelf -a a.out > > Just inspect the section header and program header of both the outputs you > will get the difference. > > Regards, > Prabhu > > > > On Fri, Mar 1, 2013 at 11:07 AM, Arun KS wrote: >> >> Hi Horseriver, >> >> On Sun, Feb 24, 2013 at 7:26 AM, horseriver wrote: >> > On Sun, Feb 24, 2013 at 04:00:37PM +0700, Mulyadi Santosa wrote: >> >> On Sat, Feb 23, 2013 at 6:45 AM, horseriver >> >> wrote: >> >> > hi: >> >> > >> >> > I have built vmlinux at the top dir of kernel source ,then I use >> >> > objdump to look into >> >> > its section information.I find the statup_32 which is the start >> >> > routine of kernel , >> >> > locats at 0xc010. I know the 0x10 is the defined address >> >> > for locating >> >> > protect-mode code .But which I can not understand is the 0xc prefix >> >> > .where does it come from? >> >> >> >> If my guess is right, that's because kernel mode code start at >> >> 0xc00 a.k.a a bit above 3 GiB on x86 32 bit machine >> > >> > I have find this answer . >> > It is defined in lds script file . >> > >> > here is the code : >> > SECTIONS >> > { >> > . = 0xC000 + 0x10; >> > /* read-only */ >> > _text = .;/* Text and read-only data */ >> > >> > >> > why use 0xC000 as its start ? why not just use 0x10 only ? >> > if use 0xC000,every linked symbole will be prefixed by 0xc , what >> > is the purpose ? >> >> Usually, user kernel space split is 3G:1G. >> ie 1G for kernel space. And this starts from 0xC000_ till 0x_ >> >> All the address below 0xC000_(ie 3G from 0x0 to 0xBFFF_) is >> used for user space. >> >> Thanks, >> Arun >> > >> > thanks! >> > >> > >> > >> > -- >> >> regards, >> >> >> >> Mulyadi Santosa >> >> Freelance Linux trainer and consultant >> >> >> >> blog: the-hydra.blogspot.com >> >> training: mulyaditraining.blogspot.com >> > >> > ___ >> > Kernelnewbies mailing list >> > Kernelnewbies@kernelnewbies.org >> > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies >> >> ___ >> Kernelnewbies mailing list >> Kernelnewbies@kernelnewbies.org >> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > > ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
help with grub rescue?
hi: Excuse me ! Can you help me with my grub error? After I upgrade grub to grub2 , my linux can not boot up. When load from hd1. screen prints this: symbol not found :"grub-putchar" entering rescu mode ... grub rescue > I searched google for solutions.It seems that I shoude repair my grub files. But in this mode ,I only can use "ls" and "set" command . can not use "insmode" command ? so I feel difficulty to fix it . Is there any method to activate all the commands? Can I use a bootable floppy image to boot my linux ? I have download a bootgrub image file , I can use this file directly as a floppy device .and can boot from it , only to see a boot list on the screen . I should select which item to boot ? or something other additional to do? thanks! ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
what does this error mean?
/usr/bin/ld: arch/i386/kernel/vsyscall-int80.so: Not enough room for program headers, try linking with -N ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies