blob: 9c1f72f4b4d6ef74a6244735a787606047f3b308 [file] [log] [blame]
Christina Quast98369332015-03-02 16:08:40 +01001#!/usr/bin/env python3
2
3import usb.core
4import usb.util
5import sys
6
7
8def find_dev():
9 dev = usb.core.find(idVendor=0x03eb, idProduct=0x6004)
10 if dev is None:
11 raise ValueError("Device not found")
12 else:
13 print("Found device")
14 return dev
15
16def find_eps(dev):
17 dev.set_configuration()
18
19 cfg = dev.get_active_configuration()
20 print("Active config: ")
21 print(cfg)
22 intf = cfg[(0,0)]
23
24 ep_in = usb.util.find_descriptor(
25 intf,
26 custom_match = \
27 lambda e: \
28 usb.util.endpoint_direction(e.bEndpointAddress) == \
29 usb.util.ENDPOINT_IN)
30
31 assert ep_in is not None
32
33 ep_out = usb.util.find_descriptor(
34 intf,
35 custom_match = \
36 lambda e: \
37 usb.util.endpoint_direction(e.bEndpointAddress) == \
38 usb.util.ENDPOINT_OUT)
39
40 assert ep_out is not None
41 print("****")
42 print(ep_in)
43 print(ep_out)
44 return (ep_in, ep_out)
45
46# main code
Christina Quastf2582fc2015-03-06 19:09:35 +010047def sniff():
Christina Quast98369332015-03-02 16:08:40 +010048 dev = find_dev()
Christina Quast98369332015-03-02 16:08:40 +010049
50 while True:
51 #ep_out.write("Hello")
52 try:
53 ans = dev.read(0x82, 64, 1000)
54 print("".join("%02x " % b for b in ans))
55 except KeyboardInterrupt:
56 print("Bye")
57 sys.exit()
58 except:
59 print("Timeout")