Arduino无法安装驱动找不到指定文件问题的解决方法
最近一段时间,出现不少客户使用UNO无法安装驱动,我们首先怀疑产品问题,寄回测试又没有任何问题,后来通过网络搜索有达人找到了问题。因为操作系统是精简版本,里面缺少很多有用信息(我们使用thinkpad自带的WIN7测试,安装驱动毫无压力,正版贵啊!大家都懂的)。
很多人使用的win7操作系统是非MSDN发布的纯净正版,使用了ghost版本,精简版,修改版等。导致缺少了系统文件。
以下是从https://www.cnblogs.com/back2earth/archive/2012/12/26/2785388.html 转载,如有侵犯请告知。
可能有人在电脑上第一次使用Arduino时会遇到下面的问题(如图)
https://images.cnitblog.com/blog/187718/201212/27162833-1de5cf6d73e64d92b3e7ea209984bb31.png
提示系统无法找到系统文件
我就遇到了这样的问题,折腾了一晚上问题终于得到了解决,下面我把问题原因和解决方法和大家分享。
问题原因:
我们可以打开 C:\Windows\inf\setupapi.dev 打开硬件安装日志。找到最后一条记录,我们会发现如下错误:
sto: Copying driver package files to 'C:\Users\ADMINI~1\AppData\Local\Temp\{7ff41925-97db-1c6a-d5be-311dd1322b22}'.
inf: Opened INF: 'd:\arduino-1.0.2\drivers\arduino uno.inf' ()
! inf: Could not find include INF file "layout.inf". Error = 0x00000002
! inf: Unable to load INF: 'C:\Windows\System32\DriverStore\FileRepository\mdmcpq.inf_x86_neutral_1b9e317b2982c778\mdmcpq.inf'(00000003)
! inf: Error 3: The system cannot find the path specified.
! inf: Could not find include INF file "mdmcpq.inf". Error = 0x00000003
inf: Opened INF: 'd:\arduino-1.0.2\drivers\arduino uno.inf' ()
这一段记录的意思是无法找到C:\Windows\System32\DriverStore\FileRepository\mdmcpq.inf_x86_neutral_1b9e317b2982c778\mdmcpq.inf这个文件。
那么究竟是什么原因导致了文件的丢失,经过一番搜索之后,发现时部分精简版的Windows系统将该文件精简掉了,这就是部分网友给出重装系统的解决方案的原因。
好了,既然我们已经定位到了缺少的文件,那么我们把它补上就好了。
解决方法:
1. 下载压缩包
32位Win7:点此下载
2. 将压缩包直接解压到C:\Windows\System32\DriverStore\FileRepository\路径下。
(注意:如果按此方法进行到最后一步,仍然报错,你可能需要更改“mdmcpq.inf_x86_neutral_xxxx”这个文件夹的名字,将名字中的xxxx替换为错误日志中提示的文件夹名称,如何找到这个日志文件已在问题分析中提到,很简单的。)
3. 重新安装驱动,安装方法网上有详细介绍,我这里简单给大家说下:
(1) 把Arduino接到USB上,此时可能会提示设备无法正确安装;
(2) 在“设备管理器”中找到Arduino,右键点击,选择“更新驱动程序”;
(3) 定位到你下载的Arduino开发工具目录中找到drivers目录,我的电脑中时这个目录D:\arduino-1.0.2\drivers;
(4) 点击下一步,最后会提示安装成功!
好的,到这里本文的正文也就结束了,我还想跟大家说一句的是,大家在编程或使用计算机的过程中可能会遇到一些十分棘手的问题,虽然也许解决问题的方法并不复杂,但是毫无思路,这时需要我们跳出自己的思维方式,到搜索引擎、论坛等进行大量搜索,尤其是国外的网站(如stackoverflow),会很好的帮助你拓宽思路,甚至直接解决问题。
最后祝大家在Arduino上玩的愉快!
笔者最近使用一台新笔记本安装Arduino驱动,笔记本是windows7家庭版,安装驱动显示驱动未签名,解决办法是将系统升级成旗舰版,然后会遇到上面的错误,根据上面的操作办法即可解决问题。
我的win7的提示是这样的,求解,替换文件mdmcpq.inf_x86_neutral_********也没有用,有高手帮忙解释吗?
>>>
>>>Section start 2014/10/09 21:08:05.207
cmd: "C:\Program Files (x86)\Arduino\drivers\dpinst-amd64.exe" /lm /sw /sa
sto: Importing driver package into Driver Store:
sto: Driver Store = C:\windows\System32\DriverStore (Online | 6.1.7601)
sto: Driver Package = c:\program files (x86)\arduino\drivers\arduino.inf
sto: Architecture = amd64
sto: Locale Name = neutral
sto: Flags = 0x00000000
sto: Copying driver package files to 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}'.
inf: Opened INF: 'c:\program files (x86)\arduino\drivers\arduino.inf' ()
inf: Opened INF: 'C:\windows\System32\DriverStore\FileRepository\mdmcpq.inf_amd64_neutral_b53453733bd795bc\mdmcpq.inf' ()
inf: Opened INF: 'C:\windows\System32\DriverStore\FileRepository\usb.inf_amd64_neutral_efc1d9d1a972acd0\usb.inf' ()
inf: Opened INF: 'c:\program files (x86)\arduino\drivers\arduino.inf' ()
flq: {FILE_QUEUE_COPY}
flq: CopyStyle - 0x00000000
flq: SourceRootPath - 'c:\program files (x86)\arduino\drivers'
flq: SourceFilename - 'arduino.cat'
flq: TargetDirectory- 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}'
flq: {FILE_QUEUE_COPY exit(0x00000000)}
flq: {FILE_QUEUE_COPY}
flq: CopyStyle - 0x00000000
flq: SourceRootPath - 'c:\program files (x86)\arduino\drivers'
flq: SourceFilename - 'arduino.inf'
flq: TargetDirectory- 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}'
flq: {FILE_QUEUE_COPY exit(0x00000000)}
flq: {_commit_file_queue}
flq: CommitQ DelNodes=0 RenNodes=0 CopyNodes=2
flq: {_commit_copy_subqueue}
flq: subqueue count=2
flq: source media:
flq: SourcePath -
flq: SourceFile -
flq: Flags - 0x00000000
flq: {_commit_copyfile}
flq: CopyFile: 'c:\program files (x86)\arduino\drivers\arduino.cat'
flq: to: 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}\SETEBF3.tmp'
flq: MoveFile: 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}\SETEBF3.tmp'
flq: to: 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}\arduino.cat'
flq: {_commit_copyfile exit OK}
flq: {_commit_copyfile}
flq: CopyFile: 'c:\program files (x86)\arduino\drivers\arduino.inf'
flq: to: 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}\SETEC23.tmp'
flq: MoveFile: 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}\SETEC23.tmp'
flq: to: 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}\arduino.inf'
flq: {_commit_copyfile exit OK}
flq: {_commit_copy_subqueue exit OK}
flq: {_commit_file_queue exit OK}
pol: {Driver package policy check} 21:08:05.997
pol: {Driver package policy check - exit(0x00000000)} 21:08:06.007
sto: {Stage Driver Package: C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}\arduino.inf} 21:08:06.007
inf: Opened INF: 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}\arduino.inf' ()
inf: Opened INF: 'C:\windows\System32\DriverStore\FileRepository\mdmcpq.inf_amd64_neutral_b53453733bd795bc\mdmcpq.inf' ()
inf: Opened INF: 'C:\windows\System32\DriverStore\FileRepository\usb.inf_amd64_neutral_efc1d9d1a972acd0\usb.inf' ()
inf: Opened INF: 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}\arduino.inf' ()
sto: Copying driver package files:
sto: Source Path = C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}
sto: Destination Path = C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}
flq: {FILE_QUEUE_COPY}
flq: CopyStyle - 0x00000010
flq: SourceRootPath - 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}'
flq: SourceFilename - 'arduino.cat'
flq: TargetDirectory- 'C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}'
flq: {FILE_QUEUE_COPY exit(0x00000000)}
flq: {FILE_QUEUE_COPY}
flq: CopyStyle - 0x00000010
flq: SourceRootPath - 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}'
flq: SourceFilename - 'arduino.inf'
flq: TargetDirectory- 'C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}'
flq: {FILE_QUEUE_COPY exit(0x00000000)}
flq: {_commit_file_queue}
flq: CommitQ DelNodes=0 RenNodes=0 CopyNodes=2
flq: {_commit_copy_subqueue}
flq: subqueue count=2
flq: source media:
flq: SourcePath -
flq: SourceFile -
flq: Flags - 0x00000000
flq: {_commit_copyfile}
flq: CopyFile: 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}\arduino.cat'
flq: to: 'C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}\SETEEC1.tmp'
flq: MoveFile: 'C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}\SETEEC1.tmp'
flq: to: 'C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}\arduino.cat'
flq: {_commit_copyfile exit OK}
flq: {_commit_copyfile}
flq: CopyFile: 'C:\Users\zuyao.tu\AppData\Local\Temp\{78dfa8e9-89ab-485a-9e14-f933cd137877}\arduino.inf'
flq: to: 'C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}\SETEF00.tmp'
flq: MoveFile: 'C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}\SETEF00.tmp'
flq: to: 'C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}\arduino.inf'
flq: {_commit_copyfile exit OK}
flq: {_commit_copy_subqueue exit OK}
flq: {_commit_file_queue exit OK}
sto: {DRIVERSTORE_IMPORT_NOTIFY_VALIDATE} 21:08:06.367
inf: Opened INF: 'C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}\arduino.inf' ()
sig: {_VERIFY_FILE_SIGNATURE} 21:08:06.387
sig: Key = arduino.inf
sig: FilePath = C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}\arduino.inf
sig: Catalog= C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}\arduino.cat
! sig: Verifying file against specific (valid) catalog failed! (0x800b0109)
! sig: Error 0x800b0109: A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider.
sig: {_VERIFY_FILE_SIGNATURE exit(0x800b0109)} 21:08:06.507
sig: {_VERIFY_FILE_SIGNATURE} 21:08:06.517
sig: Key = arduino.inf
sig: FilePath = C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}\arduino.inf
sig: Catalog= C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}\arduino.cat
sig: Success: File is signed in Authenticode(tm) catalog.
sig: Error 0xe0000242: The publisher of an Authenticode(tm) signed catalog has not yet been established as trusted.
sig: {_VERIFY_FILE_SIGNATURE exit(0xe0000242)} 21:08:06.597
! sto: Driver package signer is unknown but user trusts the signer.
sto: Driver package certificate was successfully installed.
sto: {DRIVERSTORE_IMPORT_NOTIFY_VALIDATE exit(0x00000000)} 21:08:54.511
sto: Verified driver package signature:
sto: Digital Signer Score = 0xFF000000
sto: Digital Signer Name= <unknown>
sto: {DRIVERSTORE_IMPORT_NOTIFY_BEGIN} 21:08:54.521
inf: Opened INF: 'C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}\arduino.inf' ()
sto: Create system restore point:
sto: Description = Device Driver Package Install: Arduino LLC (www.arduino.cc) Ports (COM & LPT)
sto: Time = 94ms
sto: Status = 0x00000422 (FAILURE)
sto: {DRIVERSTORE_IMPORT_NOTIFY_BEGIN: exit(0x00000000)} 21:08:54.621
sto: Importing driver package files:
sto: Source Path = C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}
sto: Destination Path = C:\windows\System32\DriverStore\FileRepository\arduino.inf_amd64_neutral_844213a156728dfe
sto: {Copy Directory: C:\windows\System32\DriverStore\Temp\{1da86f7a-eb6b-2161-22c7-8a4526f1a767}} 21:08:54.631
sto: Target Path = C:\windows\System32\DriverStore\FileRepository\arduino.inf_amd64_neutral_844213a156728dfe
sto: {Copy Directory: exit(0x00000000)} 21:08:54.671
sto: {Index Driver Package: C:\windows\System32\DriverStore\FileRepository\arduino.inf_amd64_neutral_844213a156728dfe\arduino.inf} 21:08:54.671
idb: Registered driver store entry 'arduino.inf_amd64_neutral_844213a156728dfe'.
idb: Published 'arduino.inf_amd64_neutral_844213a156728dfe\arduino.inf' to 'C:\windows\INF\oem89.inf'
idb: Published driver store entry 'arduino.inf_amd64_neutral_844213a156728dfe'.
sto: Published driver package INF 'oem89.inf' was changed.
sto: Active published driver package is 'arduino.inf_amd64_neutral_844213a156728dfe'.
sto: {Index Driver Package: exit(0x00000000)} 21:08:54.861
sto: {DRIVERSTORE_IMPORT_NOTIFY_END} 21:08:54.861
ndv: No system restore point was set earlier.
sto: {DRIVERSTORE_IMPORT_NOTIFY_END: exit(0x00000000)} 21:08:54.871
sto: {Stage Driver Package: exit(0x00000000)} 21:08:54.871
ndv: Doing device matching lookup!
inf: Opened INF: 'C:\windows\System32\DriverStore\FileRepository\arduino.inf_amd64_neutral_844213a156728dfe\arduino.inf' ()
inf: Saved PNF: 'C:\windows\System32\DriverStore\FileRepository\arduino.inf_amd64_neutral_844213a156728dfe\arduino.PNF' (Language = 0409)
sto: Driver package was staged to Driver Store. Time = 49468 ms
sto: Imported driver package into Driver Store:
sto: Filename = C:\windows\System32\DriverStore\FileRepository\arduino.inf_amd64_neutral_844213a156728dfe\arduino.inf
sto: Time = 49873 ms
<<<Section end 2014/10/09 21:08:55.121
<<<
>>>
>>>Section start 2014/10/09 21:08:55.131
cmd: "C:\Program Files (x86)\Arduino\drivers\dpinst-amd64.exe" /lm /sw /sa
inf: Driver Store location: C:\windows\System32\DriverStore\FileRepository\arduino.inf_amd64_neutral_844213a156728dfe\arduino.inf
inf: Published Inf Path: C:\windows\INF\oem89.inf
inf: Opened PNF: 'C:\windows\System32\DriverStore\FileRepository\arduino.inf_amd64_neutral_844213a156728dfe\arduino.inf' ()
inf: Installing catalog arduino.cat as: oem89.CAT
<<<Section end 2014/10/09 21:08:55.271
<<<
>>>
>>>Section start 2014/10/09 21:09:34.526
cmd: "C:\windows\system32\mmc.exe" C:\windows\system32\devmgmt.msc
dvi: {DIF_UPDATEDRIVER_UI} 21:09:34.536
dvi: No class installer for '?????恏?灋礄耂踞辂璃???????????礿???????恋?灏礄耂產??砀??芊莋????????礿????????'
dvi: No CoInstallers found
dvi: Default installer: Enter 21:09:34.546
dvi: Default installer: Exit
dvi: {DIF_UPDATEDRIVER_UI - exit(0xe000020e)} 21:09:34.546
ndv: {Update Driver Software Wizard for USB\VID_2341&PID_00DF\5&11B1FABB&0&3}
ndv: {Update Driver Software Wizard exit(000004c7)}
<<<Section end 2014/10/09 21:10:07.920
<<<
怎么驱动显示是乱码 这个办法很实用啊 原来是这么回事,谢谢楼主解答。 电脑的问题真是千奇百怪,这样有可能解决,也有可能还是有问题。。 ps 为啥没有64位 win7 的 :lol:lol:lol 64位 win7的呢 哪里下载 直接用驱动精灵安装驱动 实用 看看 问题好多,但我用WIN7英文片正常. 重装系统的路过:hug: 请问我这个是什么原因
项目使用了 924 字节,占用了 (2%) 程序存储空间。最大为 32256 字节。
全局变量使用了9字节,(0%)的动态内存,余留2039字节局部变量。最大为2048字节。
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x96
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x96
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x96
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x96
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x96
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x96
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x96
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x96
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x96
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x96
上传出错。查看http://www.arduino.cc/en/Guide/Troubleshooting#upload 获取建议。
mickey 发表于 2013-1-7 13:05
最近一段时间,出现不少客户使用UNO无法安装驱动,我们首先怀疑产品问题,寄回测试又没有任何问题,后来通 ...
下载了那个什么解压文件,还是不行啊
页:
[1]