]> sigrok.org Git - libsigrok.git/blob - contrib/60-libsigrok.rules
contrib: add udev rule for Keysight USBTMC
[libsigrok.git] / contrib / 60-libsigrok.rules
1 ##
2 ## This file is part of the libsigrok project.
3 ##
4 ## Copyright (C) 2010-2013 Uwe Hermann <uwe@hermann-uwe.de>
5 ##
6 ## This program is free software; you can redistribute it and/or modify
7 ## it under the terms of the GNU General Public License as published by
8 ## the Free Software Foundation; either version 2 of the License, or
9 ## (at your option) any later version.
10 ##
11 ## This program is distributed in the hope that it will be useful,
12 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
13 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 ## GNU General Public License for more details.
15 ##
16 ## You should have received a copy of the GNU General Public License
17 ## along with this program; if not, see <http://www.gnu.org/licenses/>.
18 ##
19
20 #
21 # These rules do not grant any permission by itself, but flag devices
22 # supported by libsigrok.
23 # The access policy is stored in the 61-libsigrok-plugdev.rules and
24 # 61-libsigrok-uaccess.rules.
25 #
26 # Note: Any syntax changes here will need to be tested against the
27 # 'update-device-filter' Makefile target in the sigrok-androidutils
28 # repo, since that parses this file.
29 #
30
31 #
32 # Please keep this list sorted alphabetically by vendor/device name.
33 #
34
35 ACTION!="add|change", GOTO="libsigrok_rules_end"
36 SUBSYSTEM!="usb|usbmisc|usb_device|hidraw", GOTO="libsigrok_rules_end"
37
38 # Agilent USBTMC-connected devices
39 # 34405A
40 ATTRS{idVendor}=="0957", ATTRS{idProduct}=="0618", ENV{ID_SIGROK}="1"
41 # 34410A
42 ATTRS{idVendor}=="0957", ATTRS{idProduct}=="0607", ENV{ID_SIGROK}="1"
43 # DSO1000 series
44 ATTRS{idVendor}=="0957", ATTRS{idProduct}=="0588", ENV{ID_SIGROK}="1"
45 # MSO7000A series
46 ATTRS{idVendor}=="0957", ATTRS{idProduct}=="1735", ENV{ID_SIGROK}="1"
47
48 # ASIX SIGMA
49 # ASIX SIGMA2
50 ATTRS{idVendor}=="a600", ATTRS{idProduct}=="a000", ENV{ID_SIGROK}="1"
51
52 # Braintechnology USB-LPS
53 ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0498", ENV{ID_SIGROK}="1"
54
55 # Brymen BU-86X adapter (e.g. for Brymen BM867/BM869 and possibly others).
56 ATTRS{idVendor}=="0820", ATTRS{idProduct}=="0001", ENV{ID_SIGROK}="1"
57
58 # ChronoVu LA8 (new VID/PID)
59 # ChronoVu LA16 (new VID/PID)
60 ATTRS{idVendor}=="0403", ATTRS{idProduct}=="8867", ENV{ID_SIGROK}="1"
61
62 # CWAV USBee AX
63 # ARMFLY AX-Pro (clone of the CWAV USBee AX)
64 # ARMFLY Mini-Logic (clone of the CWAV USBee AX)
65 # EE Electronics ESLA201A (clone of the CWAV USBee AX)
66 # HT USBee-AxPro (clone of the CWAV USBee AX)
67 # MCU123 USBee AX Pro clone (clone of the CWAV USBee AX)
68 # Noname LHT00SU1 (clone of the CWAV USBee AX)
69 # XZL_Studio AX (clone of the CWAV USBee AX)
70 ATTRS{idVendor}=="08a9", ATTRS{idProduct}=="0014", ENV{ID_SIGROK}="1"
71
72 # CWAV USBee DX
73 # HT USBee-DxPro (clone of the CWAV USBee DX), not yet supported!
74 # XZL_Studio DX (clone of the CWAV USBee DX)
75 ATTRS{idVendor}=="08a9", ATTRS{idProduct}=="0015", ENV{ID_SIGROK}="1"
76
77 # CWAV USBee SX
78 ATTRS{idVendor}=="08a9", ATTRS{idProduct}=="0009", ENV{ID_SIGROK}="1"
79
80 # CWAV USBee ZX
81 ATTRS{idVendor}=="08a9", ATTRS{idProduct}=="0005", ENV{ID_SIGROK}="1"
82
83 # Cypress FX2 eval boards without EEPROM:
84 # Lcsoft Mini Board
85 # Braintechnology USB Interface V2.x
86 # fx2grok-tiny
87 ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="8613", ENV{ID_SIGROK}="1"
88
89 # Dangerous Prototypes Buspirate (v3)
90 # ChronoVu LA8 (old VID/PID)
91 # ChronoVu LA16 (old VID/PID)
92 # ftdi-la (FT232R)
93 ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ENV{ID_SIGROK}="1"
94
95 # Dangerous Prototypes Buspirate (v4)
96 ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="fb00", ENV{ID_SIGROK}="1"
97
98 # DreamSourceLab DSLogic
99 ATTRS{idVendor}=="2a0e", ATTRS{idProduct}=="0001", ENV{ID_SIGROK}="1"
100 # DreamSourceLab DSLogic Pro
101 ATTRS{idVendor}=="2a0e", ATTRS{idProduct}=="0003", ENV{ID_SIGROK}="1"
102 # DreamSourceLab DScope
103 ATTRS{idVendor}=="2a0e", ATTRS{idProduct}=="0002", ENV{ID_SIGROK}="1"
104 # DreamSourceLab DSLogic Plus
105 ATTRS{idVendor}=="2a0e", ATTRS{idProduct}=="0020", ENV{ID_SIGROK}="1"
106 # DreamSourceLab DSLogic Basic
107 ATTRS{idVendor}=="2a0e", ATTRS{idProduct}=="0021", ENV{ID_SIGROK}="1"
108
109 # GW-Instek GDM-9061 (USBTMC mode)
110 ATTRS{idVendor}=="2184", ATTRS{idProduct}=="0059", ENV{ID_SIGROK}="1"
111
112 # HAMEG HO720
113 ATTRS{idVendor}=="0403", ATTRS{idProduct}=="ed72", ENV{ID_SIGROK}="1"
114
115 # HAMEG HO730
116 ATTRS{idVendor}=="0403", ATTRS{idProduct}=="ed73", ENV{ID_SIGROK}="1"
117
118 # Hantek DSO-2090
119 # lsusb: "04b4:2090 Cypress Semiconductor Corp."
120 # lsusb after FW upload: "04b5:2090 ROHM LSI Systems USA, LLC"
121 ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="2090", ENV{ID_SIGROK}="1"
122 ATTRS{idVendor}=="04b5", ATTRS{idProduct}=="2090", ENV{ID_SIGROK}="1"
123
124 # Hantek DSO-2150
125 # lsusb: "04b4:2150 Cypress Semiconductor Corp."
126 # lsusb after FW upload: "04b5:2150 ROHM LSI Systems USA, LLC"
127 ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="2150", ENV{ID_SIGROK}="1"
128 ATTRS{idVendor}=="04b5", ATTRS{idProduct}=="2150", ENV{ID_SIGROK}="1"
129
130 # Hantek DSO-2250
131 # lsusb: "04b4:2250 Cypress Semiconductor Corp."
132 # lsusb after FW upload: "04b5:2250 ROHM LSI Systems USA, LLC"
133 ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="2250", ENV{ID_SIGROK}="1"
134 ATTRS{idVendor}=="04b5", ATTRS{idProduct}=="2250", ENV{ID_SIGROK}="1"
135
136 # Hantek DSO-5200
137 # lsusb: "04b4:5200 Cypress Semiconductor Corp."
138 # lsusb after FW upload: "04b5:5200 ROHM LSI Systems USA, LLC"
139 ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="5200", ENV{ID_SIGROK}="1"
140 ATTRS{idVendor}=="04b5", ATTRS{idProduct}=="5200", ENV{ID_SIGROK}="1"
141
142 # Hantek DSO-5200A
143 # lsusb: "04b4:520a Cypress Semiconductor Corp."
144 # lsusb after FW upload: "04b5:520a ROHM LSI Systems USA, LLC"
145 ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="520a", ENV{ID_SIGROK}="1"
146 ATTRS{idVendor}=="04b5", ATTRS{idProduct}=="520a", ENV{ID_SIGROK}="1"
147
148 # Hantek 6022BE, renumerates as 1d50:608e "sigrok fx2lafw", Serial: Hantek 6022BE
149 ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="6022", ENV{ID_SIGROK}="1"
150
151 # Hantek 6022BL, renumerates as 1d50:608e "sigrok fx2lafw", Serial: Hantek 6022BL
152 ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="602a", ENV{ID_SIGROK}="1"
153
154 # Hantek 4032L
155 ATTRS{idVendor}=="04b5", ATTRS{idProduct}=="4032", ENV{ID_SIGROK}="1"
156
157 # IKALOGIC Scanalogic-2
158 ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="4123", ENV{ID_SIGROK}="1"
159
160 # IKALOGIC ScanaPLUS
161 # ftdi-la (FT232H)
162 ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014", ENV{ID_SIGROK}="1"
163
164 # ftdi-la (TIAO USB Multi Protocol Adapter (TUMPA))
165 ATTRS{idVendor}=="0403", ATTRS{idProduct}=="8a98", ENV{ID_SIGROK}="1"
166
167 # Kecheng KC-330B
168 ATTRS{idVendor}=="1041", ATTRS{idProduct}=="8101", ENV{ID_SIGROK}="1"
169
170 # Keysight USBTMC-connected devices
171 # 34465A
172 ATTRS{idVendor}=="2a8d", ATTRS{idProduct}=="0101", ENV{ID_SIGROK}="1"
173
174 # Kingst LA2016
175 ATTRS{idVendor}=="77a1", ATTRS{idProduct}=="01a2", ENV{ID_SIGROK}="1"
176
177 # Lascar Electronics EL-USB-2
178 # Lascar Electronics EL-USB-CO
179 # This is actually the generic SiLabs (Cygnal) F32x USBXpress VID:PID.
180 ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="0002", ENV{ID_SIGROK}="1"
181
182 # LeCroy LogicStudio16
183 ATTRS{idVendor}=="05ff", ATTRS{idProduct}=="a001", ENV{ID_SIGROK}="1"
184 ATTRS{idVendor}=="05ff", ATTRS{idProduct}=="a002", ENV{ID_SIGROK}="1"
185
186 # LeCroy WaveRunner
187 # 05ff:1023: 625Zi
188 ATTRS{idVendor}=="05ff", ATTRS{idProduct}=="1023", ENV{ID_SIGROK}="1"
189
190 # Link Instruments MSO-19
191 ATTRS{idVendor}=="3195", ATTRS{idProduct}=="f190", ENV{ID_SIGROK}="1"
192
193 # Logic Shrimp
194 ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="fa95", ENV{ID_SIGROK}="1"
195
196 # MiniLA Mockup
197 # ftdi-la (FT2232H)
198 ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", ENV{ID_SIGROK}="1"
199
200 # ftdi-la (FT4232H)
201 ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6011", ENV{ID_SIGROK}="1"
202
203 # MIC 98581
204 # MIC 98583
205 # Tondaj SL-814
206 ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", ENV{ID_SIGROK}="1"
207
208 # Microchip PICkit2
209 ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="0033", ENV{ID_SIGROK}="1"
210
211 # Openbench Logic Sniffer
212 ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="000a", ENV{ID_SIGROK}="1"
213
214 # Rigol DS1000 series
215 ATTRS{idVendor}=="1ab1", ATTRS{idProduct}=="0588", ENV{ID_SIGROK}="1"
216
217 # Rigol 1000Z series
218 ATTRS{idVendor}=="1ab1", ATTRS{idProduct}=="04ce", ENV{ID_SIGROK}="1"
219
220 # Rigol DS2000 series
221 ATTRS{idVendor}=="1ab1", ATTRS{idProduct}=="04b0", ENV{ID_SIGROK}="1"
222
223 # Rigol DS4000 series
224 ATTRS{idVendor}=="1ab1", ATTRS{idProduct}=="04b1", ENV{ID_SIGROK}="1"
225
226 # Rigol DG4000 series
227 ATTRS{idVendor}=="1ab1", ATTRS{idProduct}=="0641", ENV{ID_SIGROK}="1"
228
229 # Rigol DG1000z series
230 ATTRS{idVendor}=="1ab1", ATTRS{idProduct}=="0642", ENV{ID_SIGROK}="1"
231
232 # Rigol DG800 and DG900 series
233 ATTRS{idVendor}=="1ab1", ATTRS{idProduct}=="0643", ENV{ID_SIGROK}="1"
234
235 # Rigol DP800 series
236 ATTRS{idVendor}=="1ab1", ATTRS{idProduct}=="0e11", ENV{ID_SIGROK}="1"
237
238 # Rigol MSO5000 series
239 ATTRS{idVendor}=="1ab1", ATTRS{idProduct}=="0515", ENV{ID_SIGROK}="1"
240
241 # Rohde&Schwarz HMO series mixed-signal oscilloscope (previously branded Hameg) VCP/USBTMC mode
242 ATTRS{idVendor}=="0aad", ATTRS{idProduct}=="0117", ENV{ID_SIGROK}="1"
243 ATTRS{idVendor}=="0aad", ATTRS{idProduct}=="0118", ENV{ID_SIGROK}="1"
244 ATTRS{idVendor}=="0aad", ATTRS{idProduct}=="0119", ENV{ID_SIGROK}="1"
245
246 # Sainsmart DDS120 / Rocktech BM102, renumerates as 1d50:608e "sigrok fx2lafw", Serial: Sainsmart DDS120
247 ATTRS{idVendor}=="8102", ATTRS{idProduct}=="8102", ENV{ID_SIGROK}="1"
248
249 # Saleae Logic
250 # EE Electronics ESLA100 (clone of the Saleae Logic)
251 # Hantek 6022BL in LA mode (clone of the Saleae Logic)
252 # Instrustar ISDS205X in LA mode (clone of the Saleae Logic)
253 # Robomotic MiniLogic (clone of the Saleae Logic)
254 # Robomotic BugLogic 3 (clone of the Saleae Logic)
255 # MCU123 Saleae Logic clone (clone of the Saleae Logic)
256 ATTRS{idVendor}=="0925", ATTRS{idProduct}=="3881", ENV{ID_SIGROK}="1"
257
258 # Saleae Logic16
259 ATTRS{idVendor}=="21a9", ATTRS{idProduct}=="1001", ENV{ID_SIGROK}="1"
260
261 # Saleae Logic Pro 16
262 ATTRS{idVendor}=="21a9", ATTRS{idProduct}=="1006", ENV{ID_SIGROK}="1"
263
264 # Siglent USBTMC devices.
265 # f4ec:ee3a: E.g. SDS1052DL+ scope
266 # f4ec:ee38: E.g. SDS1104X-E scope
267 # f4ed:ee3a: E.g. SDS1202X-E scope or SDG1010 waveform generator
268 ATTRS{idVendor}=="f4ec", ATTRS{idProduct}=="ee3a", ENV{ID_SIGROK}="1"
269 ATTRS{idVendor}=="f4ed", ATTRS{idProduct}=="ee3a", ENV{ID_SIGROK}="1"
270
271 # sigrok FX2 LA (8ch)
272 # fx2grok-flat (before and after renumeration)
273 ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="608c", ENV{ID_SIGROK}="1"
274
275 # sigrok FX2 LA (16ch)
276 ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="608d", ENV{ID_SIGROK}="1"
277
278 # sigrok FX2 DSO (2ch)
279 ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="608e", ENV{ID_SIGROK}="1"
280
281 # sigrok usb-c-grok
282 ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="608f", ENV{ID_SIGROK}="1"
283
284 # SiLabs CP210x (USB CDC) UART bridge, used (among others) in:
285 # CEM DT-8852
286 # Manson HCS-3202
287 # MASTECH MS2115B
288 # MASTECH MS5308
289 # MASTECH MS8250D
290 # PeakTech 3330
291 # Voltcraft PPS-11815
292 ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", ENV{ID_SIGROK}="1"
293
294 # SiLabs CP2110 (USB HID) UART bridge, used (among others) in:
295 # UNI-T UT612
296 # UNI-T UT-D09 multimeter cable (for various UNI-T and rebranded DMMs)
297 ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea80", ENV{ID_SIGROK}="1"
298
299 # Sysclk LWLA1016
300 ATTRS{idVendor}=="2961", ATTRS{idProduct}=="6688", ENV{ID_SIGROK}="1"
301
302 # Sysclk LWLA1034
303 ATTRS{idVendor}=="2961", ATTRS{idProduct}=="6689", ENV{ID_SIGROK}="1"
304
305 # Sysclk SLA5032 ("32CH 500M" mode)
306 ATTRS{idVendor}=="2961", ATTRS{idProduct}=="66b0", ENV{ID_SIGROK}="1"
307
308 # Testo 435
309 ATTRS{idVendor}=="128d", ATTRS{idProduct}=="0003", ENV{ID_SIGROK}="1"
310
311 # UNI-T UT-D04 multimeter cable (for various UNI-T and rebranded DMMs)
312 # UNI-T UT325
313 ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="e008", ENV{ID_SIGROK}="1"
314
315 # V&A VA4000 multimeter cable (for various V&A DMMs)
316 ATTRS{idVendor}=="04fc", ATTRS{idProduct}=="0201", ENV{ID_SIGROK}="1"
317
318 # Victor 70C
319 # Victor 86C
320 ATTRS{idVendor}=="1244", ATTRS{idProduct}=="d237", ENV{ID_SIGROK}="1"
321
322 # YiXingDianZi MDSO
323 ATTRS{idVendor}=="d4a2", ATTRS{idProduct}=="5660", ENV{ID_SIGROK}="1"
324
325 # ZEROPLUS Logic Cube LAP-C series
326 # There are various devices in the ZEROPLUS Logic Cube series:
327 # 0c12:7002: LAP-16128U
328 # 0c12:7009: LAP-C(16064)
329 # 0c12:700a: LAP-C(16128)
330 # 0c12:700b: LAP-C(32128)
331 # 0c12:700c: LAP-C(321000)
332 # 0c12:700d: LAP-C(322000)
333 # 0c12:700e: LAP-C(16032)
334 # 0c12:7016: LAP-C(162000)
335 # 0c12:7025: LAP-C(16128+)
336 # 0c12:7100: AKIP-9101
337 ATTRS{idVendor}=="0c12", ATTRS{idProduct}=="7002", ENV{ID_SIGROK}="1"
338 ATTRS{idVendor}=="0c12", ATTRS{idProduct}=="7007", ENV{ID_SIGROK}="1"
339 ATTRS{idVendor}=="0c12", ATTRS{idProduct}=="7009", ENV{ID_SIGROK}="1"
340 ATTRS{idVendor}=="0c12", ATTRS{idProduct}=="700a", ENV{ID_SIGROK}="1"
341 ATTRS{idVendor}=="0c12", ATTRS{idProduct}=="700b", ENV{ID_SIGROK}="1"
342 ATTRS{idVendor}=="0c12", ATTRS{idProduct}=="700c", ENV{ID_SIGROK}="1"
343 ATTRS{idVendor}=="0c12", ATTRS{idProduct}=="700d", ENV{ID_SIGROK}="1"
344 ATTRS{idVendor}=="0c12", ATTRS{idProduct}=="700e", ENV{ID_SIGROK}="1"
345 ATTRS{idVendor}=="0c12", ATTRS{idProduct}=="7016", ENV{ID_SIGROK}="1"
346 ATTRS{idVendor}=="0c12", ATTRS{idProduct}=="7025", ENV{ID_SIGROK}="1"
347 ATTRS{idVendor}=="0c12", ATTRS{idProduct}=="7100", ENV{ID_SIGROK}="1"
348
349 LABEL="libsigrok_rules_end"