您尚未登录。

楼主 #1 2018-11-06 09:38:54

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 723
积分: 690

荔枝zero我通过usb去读取SD就是识别不了

荔枝zero我通过usb去读取SD识别不了 不知道还有哪里没有配置

离线

楼主 #5 2018-11-06 10:25:11

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 723
积分: 690

Re: 荔枝zero我通过usb去读取SD就是识别不了

这里因为我们是只接了4根线

我这里是想V3S芯片去读取SD 相当于是主 所以我将那个PF6 也就是ID脚用条线拉高了

离线

楼主 #7 2018-11-06 10:36:46

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 723
积分: 690

Re: 荔枝zero我通过usb去读取SD就是识别不了

我这里只接就是将脚拉低了 在终端会出现这样

多了一个device ID 出来了

离线

楼主 #8 2018-11-06 10:48:46

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 723
积分: 690

Re: 荔枝zero我通过usb去读取SD就是识别不了

晕哥 wrote:

无情一刀 wrote:

这里因为我们是只接了4根线
/files/members/1116/QQ20181106102304.png
我这里是想V3S芯片去读取SD 相当于是主 所以我将那个PF6 也就是ID脚用条线拉高了

接10k电阻到地,强制拉低试一试。

我这边接了一个4.7K的电阻了 拉低了 在media 和mnt里面就是也看不到SD卡里面的文件

离线

楼主 #10 2018-11-06 11:05:40

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 723
积分: 690

Re: 荔枝zero我通过usb去读取SD就是识别不了

晕哥 麻烦你找找哦哦谢谢了

离线

楼主 #12 2018-11-06 14:14:03

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 723
积分: 690

Re: 荔枝zero我通过usb去读取SD就是识别不了

晕哥 wrote:

无情一刀 wrote:

晕哥 麻烦你找找哦哦谢谢了

https://whycan.cn/t_711.html#p2588

我这这边热插拔的SD的时候下面的提示

但是在dev里面还是没有看到任何sd*的盘

离线

楼主 #14 2018-11-06 14:22:42

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 723
积分: 690

Re: 荔枝zero我通过usb去读取SD就是识别不了

晕哥 wrote:

无情一刀 wrote:

我这这边热插拔的SD的时候下面的提示
/files/members/1116/QQ20181106141215.png
但是在dev里面还是没有看到任何sd*的盘

b)配置内核支持
#make menuconfig
选择Device Drivers -->
USB support -->
<*> USB Mass Storage support

USB Mass Storage support
他下面的子节点不要配置是吧 只是USB Mass Storage support这个配置了就可以了

离线

楼主 #16 2018-11-06 15:25:27

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 723
积分: 690

Re: 荔枝zero我通过usb去读取SD就是识别不了

晕哥 wrote:

<*> EHCI HCD (USB 2.0) support
<*> OHCI HCD (USB 1.1) support

这两个你应该勾了.

对这两个我勾选了 我发现我就挂载成功过一次 后面再去mount的时候总是报下面的错误

离线

楼主 #18 2018-11-06 16:34:26

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 723
积分: 690

Re: 荔枝zero我通过usb去读取SD就是识别不了

我现在想按着你的那个文档自动实现加载的

每次热插拔再media里面都找不到SD里面的文件

离线

楼主 #19 2018-11-06 16:38:25

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 723
积分: 690

Re: 荔枝zero我通过usb去读取SD就是识别不了

然后那个mdev 应该是灭有启动成功

离线

楼主 #21 2018-11-06 16:59:25

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 723
积分: 690

Re: 荔枝zero我通过usb去读取SD就是识别不了

晕哥 wrote:

无情一刀 wrote:

然后那个mdev 应该是灭有启动成功
/files/members/1116/medv.png

mdev 不是后台启动驻留的进城,而是一个hotplug信号激活的进城。

那就是比如我在热插拔的时候 就会有一个hotplugx信号激活了
Linux System Utilities --->
mdev
Support /etc/mdev.conf
Support command execution at device addition/removal
这里的配置我没有配置 确实是找了很久不知道在哪里配置

离线

楼主 #22 2018-11-06 17:15:43

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 723
积分: 690

Re: 荔枝zero我通过usb去读取SD就是识别不了

我不是用的busybox这个去创建的文件系统

离线

楼主 #24 2018-11-06 18:13:57

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 723
积分: 690

Re: 荔枝zero我通过usb去读取SD就是识别不了

晕哥 wrote:

参考: https://git.busybox.net/busybox/plain/docs/mdev.txt

Here's a typical code snippet from the init script:

[0] mount -t proc proc /proc
[1] mount -t sysfs sysfs /sys
[2] echo /sbin/mdev > /proc/sys/kernel/hotplug
[3] mdev -s

还需要一个 /etc/mdev.conf 文件:

block devices

([hs]d[a-z]) root:disk 660 >disk/%1/0
([hs]d[a-z])([0-9]+) root:disk 660 >disk/%1/%2
mmcblk([0-9]+) root:disk 660 >disk/mmc/%1/0
mmcblk([0-9]+)p([0-9]+) root:disk 660 >disk/mmc/%1/%2

network devices

(tun|tap) root:network 660 >net/%1

上面的mdev.conf不一定能用,网上找一个能用的吧。

echo /sbin/mdev > /proc/sys/kernel/hotplug这个我已经加了 在rcS中 然后其中的#blockdevice这些也要加是吧
试了之后也是一样

离线

楼主 #26 2018-11-06 19:42:02

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 723
积分: 690

Re: 荔枝zero我通过usb去读取SD就是识别不了

晕哥 wrote:

/sbin/automount.sh:

#! /bin/sh

debugging message

#echo "MDEV=$1 : ACTION=$2 : SUBSYSTEM=$SUBSYSTEM : DEVPATH=$DEVPATH : DEVNAME=$DEVNAME" >> /dev/console

if [ "$1" == "" ]; then
echo "parameter is none" > /tmp/error.txt
exit 1
fi

MNT=$1
#if [ $(echo $1 | grep mmcblk) ]; then

if [ $(echo $1 | grep p[25]) ]; then

MNT=sdcard2

else

MNT=sdcard

fi

#elif [ $(echo $1 | grep sd) ]; then

if [ $(echo $1 | grep p[25]) ]; then

MNT=nandcard2

else

MNT=nandcard

fi

#fi

there is no ACTION, it is for initial population

if [ "$2" = "X" ]; then
mounted=mount | grep $1 | wc -l
if [ $mounted -ge 1 ]; then

mounted, assume the ACTION is remove

#ACT=Xremove

only set add for initial population

ACT=Xadd
else

not mounted, assume the ACTION is add

ACT=Xadd
fi
else
ACT=$2
fi

if [ "$ACT" = "Xremove" ]; then

umount the device

echo "$ACT /mnt/udisk" >> /tmp/mdev.log
if ! umount -l "/mnt/udisk"; then
exit 1
else
rm -f "/mnt/udisk"
echo "[Umount FS]: /dev/$1 -X-> /mnt/udisk" > /dev/console
fi

if ! rmdir "/mnt/udisk"; then
exit 1
fi
else

mount the device

mounted=mount | grep $1 | wc -l
#echo "par=$1,mounted=$mounted,MNT=$MNT" > /dev/console
if [ $mounted -ge 1 ]; then
#echo "device $1 is already mounted" > /dev/console
exit 0
fi

if ! mkdir -p "/mnt/udisk"; then
exit 1
fi

if [ $(echo $1 | grep mtd) ]; then
if mount -t jffs2 "/dev/$1" "/mnt/udisk"; then
echo "[Mount JFFS2]: /dev/$1 --> /mnt/udisk" > /dev/console
echo "$ACT /mnt/udisk" >> /tmp/mdev.log
elif mount -t yaffs2 -o"inband-tags" "/dev/$1" "/mnt/$1"; then
echo "[Mount YAFFS2]: /dev/$1 --> /mnt/udisk" > /dev/console
echo "$ACT /mnt/$1" >> /tmp/mdev.log
elif mount -t ubifs "/dev/$1" "/mnt/udisk"; then
echo "[Mount UBIFS]: /dev/$1 --> /mnt/udisk" > /dev/console
echo "$ACT /mnt/udisk" >> /tmp/mdev.log
else

failed to mount, clean up mountpoint

if ! rmdir "/mnt/udisk"; then
exit 1
fi
fi
else

try vfat only

if mount -t vfat -o noatime,shortname=mixed,utf8 "/dev/$1" "/mnt/udisk"; then

ln -s /mnt/$1 /mnt/udisk

echo "[Mount VFAT]: /dev/$1 --> /mnt/udisk" > /dev/console
echo "$ACT /mnt/udisk" >> /tmp/mdev.log
else

failed to mount, clean up mountpoint

if ! rmdir "/mnt/udisk"; then
exit 1
fi
exit 1
fi
fi
fi

/etc/mdev.conf:

mmcblk([0-9]+)p([0-9]+) 0:0 660 */sbin/automount.sh $MDEV X${ACTION}
mmcblk([0-9]+) 0:0 660 */sbin/automount.sh $MDEV X${ACTION}
sd([a-z]+)([0-9]+) 0:0 660 */sbin/automount.sh $MDEV X${ACTION}
sd([a-z]+) 0:0 660 */sbin/automount.sh $MDEV X${ACTION}

上面两个文件是新唐SDK里面的, 用起来还不错, 你试一试, /sbin/automount.sh 这个要加可执行属性。

mmcblk([0-9]+)p([0-9]+) 0:0 660 */sbin/automount.sh $MDEV X${ACTION}
mmcblk([0-9]+) 0:0 660 */sbin/automount.sh $MDEV X${ACTION}
sd([a-z]+)([0-9]+) 0:0 660 */sbin/automount.sh $MDEV X${ACTION}
sd([a-z]+) 0:0 660 */sbin/automount.sh $MDEV X${ACTION}
这个我直接放到/etc/mdev.comf 没有自己创建文件 里面有这个文件
但是我热插拔的时候还是没有挂载上去就好像这个automount脚本根本就没有执行样

最近编辑记录 无情一刀 (2018-11-06 19:44:23)

离线

楼主 #27 2018-11-06 19:53:21

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 723
积分: 690

Re: 荔枝zero我通过usb去读取SD就是识别不了

无情一刀 wrote:

晕哥 wrote:

/sbin/automount.sh:

#! /bin/sh

debugging message

#echo "MDEV=$1 : ACTION=$2 : SUBSYSTEM=$SUBSYSTEM : DEVPATH=$DEVPATH : DEVNAME=$DEVNAME" >> /dev/console

if [ "$1" == "" ]; then
echo "parameter is none" > /tmp/error.txt
exit 1
fi

MNT=$1
#if [ $(echo $1 | grep mmcblk) ]; then

if [ $(echo $1 | grep p[25]) ]; then

MNT=sdcard2

else

MNT=sdcard

fi

#elif [ $(echo $1 | grep sd) ]; then

if [ $(echo $1 | grep p[25]) ]; then

MNT=nandcard2

else

MNT=nandcard

fi

#fi

there is no ACTION, it is for initial population

if [ "$2" = "X" ]; then
mounted=mount | grep $1 | wc -l
if [ $mounted -ge 1 ]; then

mounted, assume the ACTION is remove

#ACT=Xremove

only set add for initial population

ACT=Xadd
else

not mounted, assume the ACTION is add

ACT=Xadd
fi
else
ACT=$2
fi

if [ "$ACT" = "Xremove" ]; then

umount the device

echo "$ACT /mnt/udisk" >> /tmp/mdev.log
if ! umount -l "/mnt/udisk"; then
exit 1
else
rm -f "/mnt/udisk"
echo "[Umount FS]: /dev/$1 -X-> /mnt/udisk" > /dev/console
fi

if ! rmdir "/mnt/udisk"; then
exit 1
fi
else

mount the device

mounted=mount | grep $1 | wc -l
#echo "par=$1,mounted=$mounted,MNT=$MNT" > /dev/console
if [ $mounted -ge 1 ]; then
#echo "device $1 is already mounted" > /dev/console
exit 0
fi

if ! mkdir -p "/mnt/udisk"; then
exit 1
fi

if [ $(echo $1 | grep mtd) ]; then
if mount -t jffs2 "/dev/$1" "/mnt/udisk"; then
echo "[Mount JFFS2]: /dev/$1 --> /mnt/udisk" > /dev/console
echo "$ACT /mnt/udisk" >> /tmp/mdev.log
elif mount -t yaffs2 -o"inband-tags" "/dev/$1" "/mnt/$1"; then
echo "[Mount YAFFS2]: /dev/$1 --> /mnt/udisk" > /dev/console
echo "$ACT /mnt/$1" >> /tmp/mdev.log
elif mount -t ubifs "/dev/$1" "/mnt/udisk"; then
echo "[Mount UBIFS]: /dev/$1 --> /mnt/udisk" > /dev/console
echo "$ACT /mnt/udisk" >> /tmp/mdev.log
else

failed to mount, clean up mountpoint

if ! rmdir "/mnt/udisk"; then
exit 1
fi
fi
else

try vfat only

if mount -t vfat -o noatime,shortname=mixed,utf8 "/dev/$1" "/mnt/udisk"; then

ln -s /mnt/$1 /mnt/udisk

echo "[Mount VFAT]: /dev/$1 --> /mnt/udisk" > /dev/console
echo "$ACT /mnt/udisk" >> /tmp/mdev.log
else

failed to mount, clean up mountpoint

if ! rmdir "/mnt/udisk"; then
exit 1
fi
exit 1
fi
fi
fi

/etc/mdev.conf:

mmcblk([0-9]+)p([0-9]+) 0:0 660 */sbin/automount.sh $MDEV X${ACTION}
mmcblk([0-9]+) 0:0 660 */sbin/automount.sh $MDEV X${ACTION}
sd([a-z]+)([0-9]+) 0:0 660 */sbin/automount.sh $MDEV X${ACTION}
sd([a-z]+) 0:0 660 */sbin/automount.sh $MDEV X${ACTION}

上面两个文件是新唐SDK里面的, 用起来还不错, 你试一试, /sbin/automount.sh 这个要加可执行属性。

mmcblk([0-9]+)p([0-9]+) 0:0 660 */sbin/automount.sh $MDEV X${ACTION}
mmcblk([0-9]+) 0:0 660 */sbin/automount.sh $MDEV X${ACTION}
sd([a-z]+)([0-9]+) 0:0 660 */sbin/automount.sh $MDEV X${ACTION}
sd([a-z]+) 0:0 660 */sbin/automount.sh $MDEV X${ACTION}
不支持热插拔 就必须要重启上电后 中途热插拔还是有点是问题

离线

楼主 #29 2018-11-06 20:23:11

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 723
积分: 690

Re: 荔枝zero我通过usb去读取SD就是识别不了

晕哥 wrote:

上面脚本是我用在V3s产品的,如果不行检查一下别的问题

我刚才测试了下了 就要间隔一下 就是下一次不能挂载 在插拔下就可以了 挂载了 很有规律
mmcblk([0-9]+)p([0-9]+) 0:0 660 */sbin/automount.sh $MDEV X${ACTION}
mmcblk([0-9]+) 0:0 660 */sbin/automount.sh $MDEV X${ACTION}
sd([a-z]+)([0-9]+) 0:0 660 */sbin/automount.sh $MDEV X${ACTION}
sd([a-z]+) 0:0 660 */sbin/automount.sh $MDEV X${ACTION}
这个我是只接放在/etc/mdev.conf这里文件中

离线

楼主 #31 2018-11-07 11:40:20

无情一刀
会员
注册时间: 2018-09-04
已发帖子: 723
积分: 690

Re: 荔枝zero我通过usb去读取SD就是识别不了


echo "[+++++--------$1]" > /dev/console 这里打印如果是进来顺序是sda sda1然后就可以挂载成功
如果是相反了就挂载不成功
下面就是挂载不成功的

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn


东莞哇酷科技有限公司开发