Aw: Re: SD card wont work with dw_mmc driver in linux. Error -84 EILSEQ

2017-12-02 Thread John Smith
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

2017-11-28 Thread John Smith

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

2016-12-03 Thread John Smith
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

2013-03-01 Thread John Smith
 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?

2013-02-01 Thread John Smith
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?

2013-01-03 Thread John Smith
   /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