@@ -56,10 +56,8 @@ features.
56
56
57
57
# Building the Project:
58
58
59
- This project was developed with Visual Studio 2015, the Windows SDK,
60
- and the Windows Driver Kit (WDK). At the time of writing, there is not
61
- a stable WDK for Visual Studio 2017, but this project should build
62
- with the new WDK and Visual Studio when it is available.
59
+ This project is developed with Visual Studio 2017, the Windows SDK,
60
+ and the Windows Driver Kit (WDK).
63
61
64
62
The WDK is only required for creating the signed WinUSB inf file. The
65
63
WDK may also provide the headers for WinUSB.
@@ -102,50 +100,18 @@ A simple tool for testing J2534 drivers is DrewTech's 'J2534-1 Bus Analysis
102
100
Tool' available in the 'Other Support Applications' section of their
103
101
[ Download Page] ( http://www.drewtech.com/downloads/ ) .
104
102
105
- # Dealing with self signed drivers :
103
+ # Installing WinUSB driver :
106
104
107
- Installation would be straightforward were it not for the USB Driver
108
- that needs to be setup. The driver itself is only a WinUSB inf file
109
- (no actual driver), but it still needs to be signed.
105
+ Installation automatically happens for Windows 8 and Windows 10 because the panda
106
+ firmware contains the USB descriptors necessary to auto-install the WinUSB driver.
110
107
111
- Driver signing is a requirement of Windows starting in 8 (64 bit
112
- versions only for some reason). If your Windows refuses to install
113
- the driver, there are three choices:
108
+ Windows 7 will not auto-install the WinUSB driver. You can use Zadig to install
109
+ the WinUSB driver. This software is not tested on anything before 7.
114
110
115
- - Self Sign the Driver.
116
- - Disable Driver Signature Verification
117
- - Purchase a certificate signed by a trusted authority.
118
-
119
- Since self signed certificates have no chain of trust to a known
120
- certificate authority, if you self sign, you will have to add your
121
- cert to the root certificate store of your Windows' installation. This
122
- is dangerous because it means anything signed with your cert will be
123
- trusted. If you make your own cert, add a password so someone can't
124
- copy it and screw with your computer's trust.
125
-
126
- Disabling Signature Verification allows you to temporarily install
127
- drivers without a trusted signature. Once you reboot, new drivers will
128
- need to be verified again, but any installed drivers will stay where
129
- they are. This option is irritating if you are installing and
130
- uninstalling the inf driver multiple times, but overall, is safer than
131
- the custom root certificate described above.
132
-
133
- Purchasing a signed certificate is the best long term option, but it
134
- is not useful for open source contributors, since the certificate will
135
- be kept safe by the comma.ai team. Developers should use one of the
136
- other two options.
137
-
138
- ** Note that certificate issues apply no matter if you are building
139
- from source or running an insaller .exe file.**
140
-
141
- Some people have reported that the driver installs without needing to
142
- disable driver signing, or that visual studio correctly sets up a
143
- temporary signing key for them. I call witchcraft because I have not
144
- had that happen to me. The signed certificate is still the correct
145
- thing to do in the end.
146
-
147
- Windows 7 will not force driver signing. This software is not tested
148
- on anything before 7.
111
+ More details here:
112
+ [ WinUSB (Winusb.sys) Installation] ( https://docs.microsoft.com/en-us/windows-hardware/drivers/usbcon/winusb-installation )
113
+ [ WCID Devices] ( https://github.com/pbatard/libwdi/wiki/WCID-Devices )
114
+ [ Zadig for installing libusb compatible driver] ( https://github.com/pbatard/libwdi/wiki/Zadig )
149
115
150
116
# Developing:
151
117
@@ -154,8 +120,6 @@ on anything before 7.
154
120
155
121
# ToDo Items:
156
122
157
- - Get official signing key for WinUSB driver inf file.
158
- - Implement TxClear and RxClear. (Requires reading vague specifications).
159
123
- Apply a style-guide and consistent naming convention for Classes/Functions/Variables.
160
124
- Send multiple messages (each with a different address) from a given connection at the same time.
161
125
- Implement ISO14230/KWP2000 FAST (LIN communication is already supported with the raw panda USB driver).
0 commit comments