2015-10-24 13 views
10

मैं WinUsb.sys ड्राइवर का उपयोग करने की कोशिश कर रहा हूं जो विंडोज के साथ आता है (रास्पबेरी पीआई 2 के विंडोज 10 आईओटी सहित)। Devcon.exe का उपयोग करके मैं देख सकता हूं कि जिस यूएसबी का उपयोग करने का प्रयास कर रहा हूं वह जुड़ा हुआ है (इसे USB\VID_1234&PID_ABCD\5&3753427A&0&4 नाम दिया गया है), लेकिन मुझे नहीं पता कि WinUsb.sys ड्राइवर का उपयोग करने के लिए इसे कैसे मजबूर किया जाए।विंडोज 10 पर WinUSB ड्राइवर IoT

मुझे some instructions on microsoft.com मिला लेकिन यह एक मानक विंडोज स्थापना के लिए प्रतीत होता है जहां आपके पास डिवाइस प्रबंधक उपलब्ध है (जो मेरे पास आईओटी पर नहीं है)। इस पृष्ठ पर आईएनएफ फ़ाइल उदाहरण भी एक सीएटी फ़ाइल को संदर्भित करता है, जो मुझे लगता है कि यह किसी प्रकार का चालक हस्ताक्षर है, और मुझे नहीं पता कि इसे कैसे उत्पन्न किया जाए (या अगर मुझे इसकी आवश्यकता भी है)। विंडोज एनटी (Signature = "$Windows NT$") का एक संदर्भ भी है और मुझे नहीं पता कि आईओटी के लिए इसे बदलने की जरूरत है या नहीं (या अगर उस मामले के लिए आईओटी के लिए कुछ और बदलने की जरूरत है)।

तो, devcon.exe और किसी प्रकार की आईएनएफ फ़ाइल का उपयोग करके, मैं WinUsb.sys को यूएसबी डिवाइस के लिए ड्राइवर के रूप में उपयोग करने के लिए विंडोज आईओटी कैसे प्राप्त कर सकता हूं?

+1

यह सुपरयूसर के लिए बेहतर है। ध्यान दें कि आपके ड्राइवरों को एआरएम के लिए संकलित किया जाना चाहिए। क्या यह आपकी समस्या हो सकती है? –

+1

WinUsb-driver जो Windows 10 IoT के साथ पूर्वस्थापित है, पहले ही एआरएम के लिए संकलित है। यह विशिष्ट हार्डवेयर के लिए इस ड्राइवर का उपयोग करने के लिए विंडोज (devcon.exe और एक आईएनएफ फ़ाइल के माध्यम से) को बताने का मामला है। – GTHvidsten

उत्तर

10

बहुत सारे परीक्षण और त्रुटि के बाद मुझे अंततः यह काम मिल गया।


; WinUSB installation file for USB device 

[Version] 
Signature = "$Windows NT$" 
Class  = USBDevice 
ClassGUID = {88BAE032-5A81-49f0-BC3D-A4FF138216D6} 
Provider = %ManufacturerName% 
CatalogFile = WinUSBInstallation.cat 
DriverVer=09/04/2012,13.54.20.543 

; ========== Manufacturer/Models sections =========== 
[Manufacturer] 
%ManufacturerName%=Standard,NTarm 

[Standard.NTarm] 
%DeviceName% =USB_Install, USB\VID_1234&PID_ABCD 

; ========== Class definition =========== 
[ClassInstall32] 
AddReg = ClassInstall_AddReg 

[ClassInstall_AddReg] 
HKR,,,,%ClassName% 
HKR,,NoInstallClass,,1 
HKR,,IconPath,%REG_MULTI_SZ%,"%systemroot%\system32\setupapi.dll,-20" 
HKR,,LowerLogoVersion,,5.2 

; =================== Installation =================== 
[USB_Install] 
Include = winusb.inf 
Needs = WINUSB.NT 

[USB_Install.Services] 
Include =winusb.inf 
Needs = WINUSB.NT.Services 

[USB_Install.HW] 
AddReg=Dev_AddReg 

[Dev_AddReg] 
HKR,,DeviceInterfaceGUIDs,0x10000,"{ec55ee47-5758-4378-926b-68ed0aec8170}" 

; =================== Strings =================== 
[Strings] 
ManufacturerName="The name of the company producing your device" 
ClassName="Universal Serial Bus devices" 
DeviceName="The name of your device" 
REG_MULTI_SZ = 0x00010000 

इसी VID और पीआईडी ​​के साथ विक्रेता आईडी (VID) और उत्पाद आईडी (पीआईडी) [Standard.NTarm] में बदलें: यहां भविष्य में संदर्भ के लिए एक पूर्ण INF-फ़ाइल है यूएसबी आप जोड़ रहे हैं। अंत में निर्माता के नाम और डिवाइस नाम को अपने डिवाइस के लिए सही जानकारी के साथ नीचे रखें।

या तो एसएमबी या एफ़टीपी का उपयोग करके इस फ़ाइल को रास्पबेरी पीआई 2 पर कहीं भी रखें।

रास्पबेरी पीआई 2 में एसएसएच या पावरशेल और उस फ़ोल्डर पर जाएं जहां आपने आईएनएफ फ़ाइल डाली है। निम्न आदेश चलाएँ: devcon dp_add .\<name of your INF file>

आप निम्न परिणाम देखना चाहिए: Driver package 'oem0.inf' added.

अंत में RP2 (SSH/PowerShell से shutdown -r -t 0) को पुनरारंभ करें।

जब RP2 बैक अप लेता है तो आपके डिवाइस को डिफ़ॉल्ट स्टार्टअप ऐप पर "कनेक्टेड डिवाइस" के अंतर्गत सूचीबद्ध किया जाना चाहिए, और अब आप USB डिवाइस के साथ संवाद करने के लिए Windows.Devices.Usb से कार्यक्षमता का उपयोग करने में सक्षम होना चाहिए।