Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FS#646 - MMC/SD - mount/read/write not possible -> kernel errors #5864

Closed
openwrt-bot opened this issue Mar 20, 2017 · 4 comments
Closed

FS#646 - MMC/SD - mount/read/write not possible -> kernel errors #5864

openwrt-bot opened this issue Mar 20, 2017 · 4 comments
Labels

Comments

@openwrt-bot
Copy link

camel:

Supply the following if possible:

  • Device problem occurs on
  • Software versions of LEDE release: Powered by LuCI Master (git-17.078.53745-180f2d6) / LEDE Reboot SNAPSHOT r3792-0685f2a

reproduce:

MMC card found on boot:
root@router:~# logread|grep -i mmc
Mon Mar 20 12:54:57 2017 kern.info kernel: [ 6.680000] mmc0: new high speed SDHC card at address 0001
Mon Mar 20 12:54:57 2017 kern.info kernel: [ 6.690000] mmcblk0: mmc0:0001 00000 29.8 GiB

but if i try to mount/read/write to it ... still not possible and kernel errors ....
root@router:~# fdisk -l

Disk /dev/mmcblk0: 29.8 GiB, 32010928128 bytes, 62521344 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

root@router:~# fdisk /dev/mmcblk0

Welcome to fdisk (util-linux 2.28).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0xf924301d.

Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-62521343, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-62521343, default 62521343):

Created a new partition 1 of type 'Linux' and of size 29.8 GiB.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

##################
logcat ....
Mon Mar 20 15:58:53 2017 kern.err kernel: [ 393.680000] msdc-1 -> cmd<13> resp<0xe00> <- msdc_check _busy() : L<2065> PID<mmcqd/0><0x1a1>
Mon Mar 20 15:58:53 2017 kern.err kernel: [ 393.690000] msdc-1 -> cmd<13> resp<0x900> <- msdc_check _busy() : L<2065> PID<mmcqd/0><0x1a1>
Mon Mar 20 15:58:53 2017 kern.err kernel: [ 393.700000] msdc-1 -> TUNE_BWRITE DSPL<0> DATWRDL Y<-1> MSDC_DAT_RDDLY0<0x1e101010> <- msdc_tune_bwrite() : L<1996> PID<mmcqd/0><0x1a1>
Mon Mar 20 15:58:53 2017 kern.err kernel: [ 393.710000] msdc-1 -> TUNE_BWRITE DSPL<1> DATWRDL Y<27> MSDC_DAT_RDDLY0<0x1e101010> <- msdc_tune_bwrite() : L<1996> PID<mmcqd/0><0x1a1>
Mon Mar 20 15:58:53 2017 kern.err kernel: [ 393.730000] msdc-1 -> TUNE_BWRITE DSPL<0> DATWRDL Y<27> MSDC_DAT_RDDLY0<0x1e101010> <- msdc_tune_bwrite() : L<1996> PID<mmcqd/0><0x1a1>
Mon Mar 20 15:58:53 2017 kern.err kernel: [ 393.740000] msdc-1 -> TUNE_BWRITE DSPL<1> DATWRDL Y<28> MSDC_DAT_RDDLY0<0x1e101010> <- msdc_tune_bwrite() : L<1996> PID<mmcqd/0><0x1a1>
Mon Mar 20 15:58:53 2017 kern.err kernel: [ 393.750000] msdc-1 -> TUNE_BWRITE DSPL<0> DATWRDL Y<28> MSDC_DAT_RDDLY0<0x1e101010> <- msdc_tune_bwrite() : L<1996> PID<mmcqd/0><0x1a1>
Mon Mar 20 15:58:53 2017 kern.err kernel: [ 393.770000] msdc-1 -> TUNE_BWRITE DSPL<1> DATWRDL Y<29> MSDC_DAT_RDDLY0<0x1e101010> <- msdc_tune_bwrite() : L<1996> PID<mmcqd/0><0x1a1>
Mon Mar 20 15:58:53 2017 kern.err kernel: [ 393.780000] msdc-1 -> TUNE_BWRITE DSPL<0> DATWRDL Y<29> MSDC_DAT_RDDLY0<0x1e101010> <- msdc_tune_bwrite() : L<1996> PID<mmcqd/0><0x1a1>
Mon Mar 20 15:58:53 2017 kern.err kernel: [ 393.790000] msdc-1 -> TUNE_BWRITE DSPL<1> DATWRDL Y<30> MSDC_DAT_RDDLY0<0x1e101010> <- msdc_tune_bwrite() : L<1996> PID<mmcqd/0><0x1a1>
Mon Mar 20 15:58:53 2017 kern.err kernel: [ 393.810000] msdc-1 -> TUNE_BWRITE DSPL<0> DATWRDL Y<30> MSDC_DAT_RDDLY0<0x1e101010> <- msdc_tune_bwrite() : L<1996> PID<mmcqd/0><0x1a1>
Mon Mar 20 15:58:53 2017 kern.err kernel: [ 393.820000] msdc-1 -> TUNE_BWRITE DSPL<1> DATWRDL Y<31> MSDC_DAT_RDDLY0<0x1e101010> <- msdc_tune_bwrite() : L<1996> PID<mmcqd/0><0x1a1>
Mon Mar 20 15:58:53 2017 kern.err kernel: [ 393.830000] msdc-1 -> TUNE_BWRITE DSPL<0> DATWRDL Y<31> MSDC_DAT_RDDLY0<0x1e101010> <- msdc_tune_bwrite() : L<1996> PID<mmcqd/0><0x1a1>
Mon Mar 20 15:58:53 2017 kern.err kernel: [ 393.840000] msdc-1 -> TUNE_BWRITE DSPL<1> DATWRDL Y<0> MSDC_DAT_RDDLY0<0x1e101010> <- msdc_tune_bwrite() : L<1996> PID<mmcqd/0><0x1a1>
Mon Mar 20 15:58:53 2017 kern.err kernel: [ 393.860000] msdc-1 -> TUNE_BWRITE DSPL<0> DATWRDL Y<0> MSDC_DAT_RDDLY0<0x1e101010> <- msdc_tune_bwrite() : L<1996> PID<mmcqd/0><0x1a1>
Mon Mar 20 15:58:53 2017 kern.err kernel: [ 393.870000] msdc-1 -> TUNE_BWRITE DSPL<1> DATWRDL Y<1> MSDC_DAT_RDDLY0<0x1e101010> <- msdc_tune_bwrite() : L<1996> PID<mmcqd/0><0x1a1>
Mon Mar 20 15:58:53 2017 kern.err kernel: [ 393.880000] msdc-1 -> TUNE_BWRITE DSPL<0> DATWRDL Y<1> MSDC_DAT_RDDLY0<0x1e101010> <- msdc_tune_bwrite() : L<1996> PID<mmcqd/0><0x1a1>
Mon Mar 20 15:58:53 2017 kern.err kernel: [ 394.160000] msdc-1 -> TUNE_BREAD dcrc<0x0> DATRDD LY0/1<0x1e101010><0x0> dsmpl<0x1> <- msdc_tune_bread() : L<1871> PID<mmcqd/0><0x1a1>

@openwrt-bot
Copy link
Author

camel:

see also:
https://bugs.lede-project.org/index.php?do=details&task_id=307
still not implemented correct

@openwrt-bot
Copy link
Author

camel:

can someone change the subject ?
from: MMC/SD - mount/read/write not possible -> kernel errors
to: ZBT-3526 (mt7621)-> MMC/SD - mount/read/write not possible -> kernel errors

(as i tested it now on ZBT-WE826 (mt7620), where it is working on newest LEDE trunk)

thx cu Erwin

@openwrt-bot
Copy link
Author

mkresin:

Please test the latest snapshot. Some sd/mmc card related fixes were committed.

@openwrt-bot
Copy link
Author

sidepipe:

I believe this may be down to the mmc driver setting the max clock to 50000000 - changing it to 48000000 as used on other SoCs seems to work. It's strange, because all versions of the driver I've tried seem to have the same issue, but changing the clock definitely fixed this for me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant