Lars Engels wrote:
> Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 131072 flags 21 data 0
> Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1
> Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 6 arg 2 flags 21 data 0
> Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1
> Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 512
> Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3


This is the first data request. 512 bytes reading. It was finished
successfully: command end + data end = 3.

> Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 0
> Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3


But here is the problem. For some reason you have _zero_ data size.
Controller reports successful competition, but it probably isn't

> Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 0
> Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 18002
> Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 0 flags 53 dlen 0 dflags 2)
> Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command.


Here is the results of the previous. Card still sending something, does
not responds to the command, controller signals error.

> # fdisk /dev/mmcsd0
>
> Nov 6 20:22:57 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 0
> Nov 6 20:22:57 maggie kernel: sdhci0-slot0: got interrupt 3
> Nov 6 20:22:57 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 0
> Nov 6 20:22:57 maggie kernel: sdhci0-slot0: got interrupt 18002
> Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 0 flags 53 dlen 0 dflags 2)


Here is just the same. And you have exactly the same with PIO mode. So
looks like it is not card or driver problem, but sooner, mmc or mmcsd
layer problem and it looks quite strange. Which sources exactly do you
have, are they latest, are they in sync with each other and have you
rebuilt all of them carefully?

If so, you can try to uncomment
// printf("Len %d %lld-%lld flags %#x sz
// ...
lines in mmcsd.c to look what happens.

> Sorry for the lengthy mail


Thanks, I like such mails, it's like a hunting.

--
Alexander Motin
_______________________________________________
freebsd-mobile@freebsd.org mailing list
http://lists.freebsd.org/mailman/lis...freebsd-mobile
To unsubscribe, send any mail to "freebsd-mobile-unsubscribe@freebsd.org"