主题 : 使用USB + vivi 下载失败  secbulk:usb_bulk_msg failed! 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 4875
精华: 0
发帖: 32
金钱: 325 两
威望: 321 点
贡献值: 0 点
综合积分: 64 分
注册时间: 2009-04-01
最后登录: 2010-03-02
楼主  发表于: 2009-04-09 09:51

 使用USB + vivi 下载失败  secbulk:usb_bulk_msg failed!

       看了版主的帖子      [url=read.php?tid-217.html]摆脱DNW蓝屏死机 - 在LINUX环境下使用USB + vivi  
[/url]

想自己亲自试一下,于是安装上面的步骤一步步来作,

前几步都比较顺利,虽然编译的时候会有一些警告

到最后一步:  启动开发板,进入Supervivi,并将开发板和PC用USB电缆连接,此时用dmesg命令可以看到secbulk驱动加载

结果如下
[ 3553.024057] usb 3-1: new full speed USB device using uhci_hcd and address 13
[ 3553.196379] usb 3-1: configuration #1 chosen from 1 choice
[ 3553.201722] secbulk:secbulk probing...
[ 3553.201736] secbulk:bulk out endpoint found!
root@ubuntu:/usr/dnw/dnw_linux/secbulk#
应该也没有问题

可是在下载的时候
.root@ubuntu:/usr/dnw/dnw_linux/dnw# ./dnw /usr/dnw/2440test.bin
file name : /usr/dnw/2440test.bin
file size : 1066184 bytes
Writing data...
failed!
(supervivi的选项我选的[d] Download & Run  )


此时在使用dmesg命令发现
[ 3553.024057] usb 3-1: new full speed USB device using uhci_hcd and address 13
[ 3553.196379] usb 3-1: configuration #1 chosen from 1 choice
[ 3553.201722] secbulk:secbulk probing...
[ 3553.201736] secbulk:bulk out endpoint found!
[ 3676.801320] secbulk:usb_bulk_msg failed!

最后一行应该是错误的原因,应该怎么改正????






级别: 侠客
UID: 944
精华: 3
发帖: 71
金钱: 22760 两
威望: 4838 点
贡献值: 20 点
综合积分: 202 分
注册时间: 2008-06-27
最后登录: 2017-07-16
1楼  发表于: 2009-04-09 10:17

 Re:使用USB + vivi 下载失败 secbulk:usb_bulk_msg failed!

你这样的我没见到过,你可以修改一下secbulk.c文件,在usb_bulk_msg调用后用printk打印ret的值,然后重新编译模块并加载,看到底是什么错误。
级别: 侠客
UID: 944
精华: 3
发帖: 71
金钱: 22760 两
威望: 4838 点
贡献值: 20 点
综合积分: 202 分
注册时间: 2008-06-27
最后登录: 2017-07-16
2楼  发表于: 2009-04-09 14:09

 Re:使用USB + vivi 下载失败 secbulk:usb_bulk_msg failed!

你到这个地方下载试试:
http://c8051f320dev.googlecode.com/files/dnw_linux_latest.tgz
这个版本在usb_bulk_msg 失败后会打印一个错误码
级别: 侠客
UID: 944
精华: 3
发帖: 71
金钱: 22760 两
威望: 4838 点
贡献值: 20 点
综合积分: 202 分
注册时间: 2008-06-27
最后登录: 2017-07-16
3楼  发表于: 2009-04-09 16:27

 Re:使用USB + vivi 下载失败 secbulk:usb_bulk_msg failed!

从 -110看是ETIMEOUT, 发生了超时,不过我也不知道为什么会发生超时
给你几个办法参考一下:
1.使用k烧写kernel看能不能成功
2.将secbulk.c中70行的超时时间改大点试试,原来是3*HZ,你改为5*HZ,甚至10*HZ试试,不过3*HZ已经很大了,这应该不是根本原因。